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

Sprout from master 2003-01-28 18:20:31 UTC Tod Creasey <tod> 'Fix for 30413'
Cherrypick from master 2003-01-27 19:48:47 UTC Nick Edgar <nick> 'Bug 30002 [View Mgmt] Support for Show In...':
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/navigator/ResourceNavigator.java
Delete:
    bundles/org.eclipse.ui.win32/.classpath
    bundles/org.eclipse.ui.win32/.cvsignore
    bundles/org.eclipse.ui.win32/.project
    bundles/org.eclipse.ui.win32/about.html
    bundles/org.eclipse.ui.win32/build.properties
    bundles/org.eclipse.ui.win32/fragment.xml
    bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/OleEditor.java
    bundles/org.eclipse.ui.workbench/.classpath
    bundles/org.eclipse.ui.workbench/.cvsignore
    bundles/org.eclipse.ui.workbench/.project
    bundles/org.eclipse.ui.workbench/Eclipse UI Editor Support/org/eclipse/ui/internal/editorsupport/ComponentSupport.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionBars.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionDelegate.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionDelegate2.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionDelegateWithEvent.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionFilter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ICapabilityInstallWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ICapabilityUninstallWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ICapabilityWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IContainmentAdapter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IContributorResourceAdapter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IDecoratorManager.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorActionBarContributor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorActionDelegate.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorDescriptor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorInput.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorLauncher.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorPart.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorReference.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorRegistry.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorSite.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IElementFactory.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IExportWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IFileEditorInput.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IFileEditorMapping.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IFolderLayout.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IImportWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IKeyBindingService.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IMarkerActionFilter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IMarkerHelpRegistry.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IMarkerResolution.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IMarkerResolutionGenerator.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IMemento.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INavigationHistory.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INavigationLocation.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INavigationLocationProvider.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INewWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INullSelectionListener.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IObjectActionDelegate.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPageLayout.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPageListener.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPageService.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPartListener.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPartListener2.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPartService.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPersistableElement.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPerspectiveDescriptor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPerspectiveFactory.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPerspectiveListener.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPerspectiveRegistry.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPlaceholderFolderLayout.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IProjectActionFilter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPropertyListener.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IResourceActionFilter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IReusableEditor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISelectionListener.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISelectionService.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISharedImages.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IStartup.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IStorageEditorInput.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewActionDelegate.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewPart.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewReference.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewSite.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWindowListener.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbench.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchActionConstants.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPart.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartDescriptor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartReference.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartSite.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPreferenceConstants.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPreferencePage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPropertyPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchSite.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchWindow.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchWindowActionDelegate.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchWindowPulldownDelegate.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchWindowPulldownDelegate2.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkingSet.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkingSetManager.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/NavigationLocation.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/PartInitException.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/PlatformUI.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ResourceWorkingSetFilter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/SubActionBars.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/WorkbenchException.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/XMLMemento.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ActionContext.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ActionDelegate.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ActionGroup.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/AddBookmarkAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/BuildAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CloseResourceAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CopyFilesAndFoldersOperation.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CopyProjectAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CopyProjectOperation.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CopyResourceAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CreateFileAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CreateFolderAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CreateProjectAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/DeleteResourceAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ExportResourcesAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/GlobalBuildAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ImportResourcesAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/LabelRetargetAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/MoveFilesAndFoldersOperation.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/MoveProjectAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/MoveResourceAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/NewProjectAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/NewWizardAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/NewWizardMenu.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenFileAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenInNewWindowAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenNewPageMenu.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenNewWindowMenu.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenPerspectiveMenu.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenResourceAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenSystemEditorAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenWithMenu.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/PartEventAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/PerspectiveMenu.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ReadOnlyStateChecker.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/RefreshAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/RenameResourceAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/RetargetAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ScrubLocalAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/SelectionListenerAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/SelectionProviderAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ShowInAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/SimpleWildcardTester.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/TextActionHandler.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/WorkingSetFilterActionGroup.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/WorkspaceAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/WorkspaceModifyDelegatingOperation.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/WorkspaceModifyOperation.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/package.html
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/AbstractElementListSelectionDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/CheckedTreeSelectionDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ContainerGenerator.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ContainerSelectionDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ElementListSelectionDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ElementTreeSelectionDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FileEditorMappingContentProvider.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FileEditorMappingLabelProvider.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FileSelectionDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FileSystemElement.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FilteredList.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IOverwriteQuery.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ISelectionStatusValidator.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ISelectionValidator.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IWorkingSetEditWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IWorkingSetPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IWorkingSetSelectionDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ListDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ListSelectionDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/MarkerResolutionSelectionDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/NewFolderDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ProjectLocationMoveDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ProjectLocationSelectionDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/PropertyDialogAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/PropertyPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ResourceListSelectionDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ResourceSelectionDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/SaveAsDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/SelectionDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/SelectionStatusDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/TwoArrayQuickSorter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/TwoPaneElementSelector.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/TypeFilteringDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardDataTransferPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardExportPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardExportResourcesPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardImportPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardNewFileCreationPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardNewFolderMainPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardNewLinkPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardNewProjectCreationPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardNewProjectReferencePage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardResourceImportPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/YesNoCancelListSelectionDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/package.html
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/DialogPageContextComputer.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/IContextComputer.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/ViewContextComputer.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/WorkbenchHelp.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/package.html
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AboutAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AboutInfo.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AboutItem.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AbstractPartSelectionTracker.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AbstractSelectionService.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AcceleratorMenu.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionDescriptor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionExpression.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionPresentation.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionSetActionBars.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionSetContributionItem.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionSetMenuManager.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionSetSeparator.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActivateEditorAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActiveEditorAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/BaseSaveAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CTabPartDragDrop.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ChangeToPerspectiveMenu.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CloseAllAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CloseAllPerspectivesAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CloseAllSavedAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CloseEditorAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ClosePerspectiveAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ConfigurationInfo.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ContainerPlaceholder.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolBarContributionItem.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolBarLayout.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolBarManager.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolItemMultiToolBarManager.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolItemPosition.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolItemToolBarManager.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CycleEditorAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CyclePartAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CyclePerspectiveAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/DefaultContributorResourceAdapter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/DetachedPlaceHolder.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/DetachedWindow.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditActionSetsAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorActionBars.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorActionBuilder.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorArea.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorAreaDropAdapter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorHistory.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorHistoryItem.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorList.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorManager.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorMenuManager.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorPane.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorPluginAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorPresentation.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorSite.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorView.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorWorkbook.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ExceptionHandler.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FolderLayout.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IActionSetContributionItem.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IHelpContextIds.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IInternalPerspectiveListener.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ILayoutContainer.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IMarkerImageProvider.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IObjectActionContributor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IObjectContributor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IPartDropListener.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IPartDropTarget.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IPerspectiveService.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IPreferenceConstants.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IWorkbenchConstants.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IWorkbenchGraphicConstants.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/KeyBindingService.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/KeyTable.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LabelDecoratorAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LayoutPart.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LayoutPartSash.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LayoutTree.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LayoutTreeNode.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LinkedResourceDecorator.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LockToolBarAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/MessageLine.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/MultiEditorInnerPane.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/MultiEditorOuterPane.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NavigationHistory.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NavigationHistoryAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NavigationHistoryEntry.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NewConfigurationInfo.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NewWizardDropDownAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NewWizardShortcutAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectActionContributor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectActionContributorManager.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectActionContributorReader.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectContributorManager.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectFilterTest.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectPluginAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/OpenPreferencesAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/OpenedPerspectivesMenu.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PageEventAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PageLayout.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PageListenerList.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PagePartSelectionTracker.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PageSelectionService.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartDragDrop.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartDropEvent.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartDropTarget.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartListenerList.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartListenerList2.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartPane.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartPlaceholder.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartPluginAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartSashContainer.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartSite.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartTabFolder.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/Perspective.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveContributionItem.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveHistory.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveListenerList.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveListenerListOld.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectivePresentation.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PinEditorAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PlaceholderFolderLayout.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PlatformUIPreferenceListener.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionBuilder.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionContributionItem.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionSet.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionSetBuilder.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionSetReader.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PopupMenuExtender.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ProblemImageProvider.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/QuickStartAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/QuitAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ReferenceCounter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ReopenEditorMenu.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ResetPerspectiveAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ResourcePerspective.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/RootLayoutContainer.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SaveAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SaveAllAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SaveAsAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SavePerspectiveAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SelectionEnabler.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/Semaphore.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SetPagePerspectiveAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SharedImages.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShortcutBarPart.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShortcutBarPartDragDrop.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowFastViewContribution.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowPartPaneMenuAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowViewAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowViewMenu.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowViewMenuAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SwitchToWindowMenu.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SystemSummaryEditorInput.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SystemSummaryEditorInputFactory.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ToggleEditorsVisibilityAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/UISynchronizer.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/UIWorkspaceLock.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewActionBars.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewActionBuilder.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewFactory.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewPane.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewPluginAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewSite.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewerActionBuilder.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WWinActionBars.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WWinKeyBindingService.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WWinPartService.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WWinPerspectiveService.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WWinPluginAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WWinPluginPulldown.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WelcomePageSelectionDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WindowPartSelectionTracker.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WindowSelectionService.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/Workbench.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchActionBuilder.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchColors.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchConfigurationInfo.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchEditorsAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchImages.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchMessages.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPartLabelProvider.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPartReference.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPlugin.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchShowInAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchWindow.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSet.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSetComparator.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSetFactory.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSetManager.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSetMenuContributionItem.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/actions/ClearWorkingSetAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/actions/EditWorkingSetAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/actions/OpenWorkspaceFileAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/actions/SelectWorkingSetAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/ImageFactory.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/Item.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/PreferencePage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/PreferencePage.properties
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/Registry.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/RegistryReader.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/Util.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/Capture.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/CaptureListener.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/Direction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/Gesture.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/Point.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/PreferencePage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/Util.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/Binding.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/DialogCustomize.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/DialogCustomize.properties
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/ImageFactory.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/KeyMachine.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/KeyManager.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/KeySequence.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/KeyStroke.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/Match.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/Node.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/Path.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/PreferencePage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/RegionalBinding.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/Registry.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/RegistryReader.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/State.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DeclarativeDecorator.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationBuilder.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationReference.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationResult.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationScheduler.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecoratorDefinition.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecoratorManager.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecoratorOverlayIcon.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecoratorRegistryReader.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/FullDecoratorDefinition.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/LightweightActionDescriptor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/LightweightDecoratorDefinition.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/LightweightDecoratorManager.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/OverlayCache.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/AboutDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/AboutFeaturesDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/AboutPluginsDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ActionSetContentProvider.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ActionSetDialogInput.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ActionSetLabelProvider.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ActionSetSelectionDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ActionSetSorter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/BuildOrderPreferencePage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/CheckboxSingleListGroup.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ContainerCheckedTreeViewer.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/CreateLinkedResourceGroup.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/CreateProjectStep.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/CreateProjectWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/DecoratorsPreferencePage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/DialogUtil.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/EditorSelectionDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/EditorsPreferencePage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/EmptyPreferencePage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/EmptyPropertyPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/EventLoopProgressMonitor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ExportWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FakeAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FakeActionSetCategory.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FakeActionSetDescriptor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FakePerspectiveActionSet.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FakeViewActionSet.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FakeWizardActionSet.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FileEditorsPreferencePage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FileExtensionDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FileStatesPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FileSystemResourceExporter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FontPreferencePage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/IElementFilter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/IPropertyPageContributor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ImportWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/InstallCapabilityStep.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/InternalBase64Encoder.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/InternalErrorDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ListContentProvider.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/MultiStepCapabilityWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/MultiStepConfigureWizardPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/MultiStepReviewWizardPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/MultiStepWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/MultiStepWizardDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/NewProjectWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/NewWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/NewWizardCollectionSorter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/NewWizardNewPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/NewWizardSelectionPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/OpenResourceDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PathVariableDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PathVariableSelectionDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PathVariablesGroup.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PathVariablesPreferencePage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PerspContentProvider.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PerspLabelProvider.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PerspectivesPreferencePage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PreferenceErrorDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProductInfoDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProjectCapabilityEditingPropertyPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProjectCapabilityPropertyPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProjectCapabilitySimpleAddWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProjectCapabilitySimpleSelectionPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProjectPerspectiveChoiceDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProjectReferencePage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PropertyDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PropertyPageContributorManager.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PropertyPageManager.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PropertyPageNode.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/RegistryPageContributor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/RemoveCapabilityStep.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/RemoveCapabilityWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ResourceInfoPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ResourceSorter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ResourceTreeAndListGroup.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ResourceWorkingSetPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/SavePerspectiveDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/SelectPerspectiveDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ShowViewDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/SimpleListContentProvider.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/StartupPreferencePage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/UpdateProjectCapabilityWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ViewContentProvider.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ViewLabelProvider.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ViewSorter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ViewsPreferencePage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeEditor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeEditorActionContributor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeEditorCopyAction.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeEditorInput.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeEditorInputFactory.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeItem.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeParser.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WizardCollectionElement.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WizardNewProjectCapabilityPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WizardNewProjectNameAndLocationPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WizardStep.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchEditorsDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchPreferenceDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchPreferenceNode.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchPreferencePage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchWizardElement.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchWizardListSelectionPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchWizardNode.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchWizardSelectionPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkingSetEditWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkingSetNewWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkingSetSelectionDialog.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkingSetTypePage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ZipFileResourceExportOperation.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ZipFileResourceExporter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/fonts/FontDefinition.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/fonts/FontDefinitionReader.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/messages.properties
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/AcceleratorHook.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ActivatorBar.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ActivatorBarLayout.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ActivatorItem.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/Assert.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/AssertionFailedException.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/CheckboxDoubleListGroup.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/CheckboxTreeAndListGroup.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ContainerContentProvider.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ContainerSelectionGroup.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ExternalEditor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ExternalProgramImageDescriptor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ItemListener.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/OverlayComposite.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/OverlayIcon.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/Policy.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ProgramImageDescriptor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ProjectCapabilitySelectionGroup.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ResourceAndContainerGroup.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/Sorter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/StatusUtil.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/Stopwatch.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/StringMatcher.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/TestPageListener.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/TestPartListener.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/TestSelectionListener.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/UIHackFinder.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/UIStats.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/WizardStepGroup.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/Workbook.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/WorkbookPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/AdaptableList.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/ResourceFactory.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchAdapter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchAdapterBuilder.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchAdapterFactory.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchFile.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchFolder.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchMarker.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchProject.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchResource.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchRootResource.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchStatus.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchStatusList.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchWorkspace.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkspaceFactory.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ActionSetCategory.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ActionSetDescriptor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ActionSetPartAssociationsReader.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ActionSetRegistry.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ActionSetRegistryReader.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/Capability.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/CapabilityRegistry.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/CapabilityRegistryReader.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/Category.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/EditorDescriptor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/EditorRegistry.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/EditorRegistryReader.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/FileEditorMapping.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/IActionSet.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/IActionSetDescriptor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ICategory.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/IViewDescriptor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/IViewRegistry.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/MarkerHelpRegistry.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/MarkerHelpRegistryReader.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/MarkerImageProviderRegistry.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/MarkerQuery.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/MarkerQueryResult.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/NewWizardsRegistryReader.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PerspectiveDescriptor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PerspectiveExtensionReader.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PerspectiveRegistry.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PerspectiveRegistryReader.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PreferencePageRegistryReader.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ProjectImageRegistry.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ProjectImageRegistryReader.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PropertyPagesRegistryReader.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/RegistryReader.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ViewDescriptor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ViewRegistry.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ViewRegistryReader.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/WizardsRegistryReader.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/WorkingSetDescriptor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/WorkingSetRegistry.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/WorkingSetRegistryReader.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/IWorkbenchAdapter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/WorkbenchContentProvider.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/WorkbenchLabelProvider.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/WorkbenchViewerSorter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/package.html
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/package.html
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/CellEditorActionHandler.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/CoolItemGroupMarker.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/DrillDownAdapter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/DrillDownComposite.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/DrillFrame.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/DrillStack.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/EditorActionBarContributor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/EditorInputTransfer.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/EditorPart.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/FileEditorInput.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/FileEditorInputFactory.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IContributedContentsView.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IDropActionDelegate.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IPageBookViewPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IPageSite.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/ISetSelectionTarget.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IShowInSource.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IShowInTarget.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MarkerTransfer.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MessagePage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiEditor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiEditorInput.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageEditor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageEditorActionBarContributor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageEditorPart.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageEditorSite.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageSelectionProvider.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/Page.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PageBook.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PageBookView.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PageSite.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PluginDropAdapter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PluginTransfer.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PluginTransferData.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/ResourceTransfer.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/ShowInContext.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/ViewPart.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/WorkbenchPart.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/package.html
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/plugin/AbstractUIPlugin.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/plugin/package.html
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/Base64Encoder.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/DataTransferMessages.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ExternalProjectImportWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/FileSystemExportOperation.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/FileSystemExportWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/FileSystemExporter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/FileSystemImportWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/FileSystemStructureProvider.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/IDataTransferHelpContextIds.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/IImportStructureProvider.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ImportOperation.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/MinimizedFileSystemElement.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/PopulateElementOperation.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/PopulateRootOperation.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/SelectFilesOperation.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardExternalProjectImportPage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardFileSystemExportPage1.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardFileSystemImportPage1.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardFileSystemResourceExportPage1.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardFileSystemResourceImportPage1.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardZipFileExportPage1.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardZipFileImportPage1.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardZipFileResourceExportPage1.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardZipFileResourceImportPage1.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ZipFileExportOperation.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ZipFileExportWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ZipFileExporter.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ZipFileImportWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ZipFileStructureProvider.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/messages.properties
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/package.html
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/BasicNewFileResourceWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/BasicNewFolderResourceWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/BasicNewProjectResourceWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/BasicNewResourceWizard.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/ResourceMessages.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/messages.properties
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/package.html
    bundles/org.eclipse.ui.workbench/about.html
    bundles/org.eclipse.ui.workbench/build.properties
    bundles/org.eclipse.ui.workbench/plugin.properties
    bundles/org.eclipse.ui.workbench/plugin.xml
    bundles/org.eclipse.ui.workbench/scripts/exportplugin.xml
    bundles/org.eclipse.ui/.classpath
    bundles/org.eclipse.ui/.cvsignore
    bundles/org.eclipse.ui/.options
    bundles/org.eclipse.ui/.project
    bundles/org.eclipse.ui/about.html
    bundles/org.eclipse.ui/build.properties
    bundles/org.eclipse.ui/buildnotes_workbench.html
    bundles/org.eclipse.ui/doc/hglegal.htm
    bundles/org.eclipse.ui/doc/hglegal2002.htm
    bundles/org.eclipse.ui/doc/ngibmcpy.gif
    bundles/org.eclipse.ui/doc/ngibmcpy2002.gif
    bundles/org.eclipse.ui/doc/org_eclipse_ui_acceleratorConfigurations.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_acceleratorScopes.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_acceleratorSets.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_actionDefinitions.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_actionSetPartAssociations.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_actionSets.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_capabilities.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_decorators.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_dropActions.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_editorActions.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_editors.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_elementFactories.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_exportWizards.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_fontDefinitions.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_importWizards.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_markerHelp.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_markerImageProviders.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_markerResolution.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_newWizards.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_perspectiveExtensions.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_perspectives.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_popupMenus.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_preferencePages.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_projectNatureImages.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_propertyPages.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_resourceFilters.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_startup.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_viewActions.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_views.html
    bundles/org.eclipse.ui/doc/org_eclipse_ui_workingSets.html
    bundles/org.eclipse.ui/icons/full/clcl16/addbkmrk_tsk.gif
    bundles/org.eclipse.ui/icons/full/clcl16/addtsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/clcl16/alpha_mode.gif
    bundles/org.eclipse.ui/icons/full/clcl16/apply_ps.gif
    bundles/org.eclipse.ui/icons/full/clcl16/backward_nav.gif
    bundles/org.eclipse.ui/icons/full/clcl16/close_view.gif
    bundles/org.eclipse.ui/icons/full/clcl16/defaults_ps.gif
    bundles/org.eclipse.ui/icons/full/clcl16/edittsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/clcl16/filter_ps.gif
    bundles/org.eclipse.ui/icons/full/clcl16/filter_tsk.gif
    bundles/org.eclipse.ui/icons/full/clcl16/forward_nav.gif
    bundles/org.eclipse.ui/icons/full/clcl16/gotoobj_tsk.gif
    bundles/org.eclipse.ui/icons/full/clcl16/graph_mode.gif
    bundles/org.eclipse.ui/icons/full/clcl16/home_nav.gif
    bundles/org.eclipse.ui/icons/full/clcl16/list_mode.gif
    bundles/org.eclipse.ui/icons/full/clcl16/min_view.gif
    bundles/org.eclipse.ui/icons/full/clcl16/pin_view.gif
    bundles/org.eclipse.ui/icons/full/clcl16/popup_menu.gif
    bundles/org.eclipse.ui/icons/full/clcl16/refresh_nav.gif
    bundles/org.eclipse.ui/icons/full/clcl16/rembkmrk_tsk.gif
    bundles/org.eclipse.ui/icons/full/clcl16/remtsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/clcl16/scroll_lft.gif
    bundles/org.eclipse.ui/icons/full/clcl16/scroll_rt.gif
    bundles/org.eclipse.ui/icons/full/clcl16/scrollend.gif
    bundles/org.eclipse.ui/icons/full/clcl16/scrollhome.gif
    bundles/org.eclipse.ui/icons/full/clcl16/selected_mode.gif
    bundles/org.eclipse.ui/icons/full/clcl16/showbasic_ps.gif
    bundles/org.eclipse.ui/icons/full/clcl16/showcategory_ps.gif
    bundles/org.eclipse.ui/icons/full/clcl16/showchild_mode.gif
    bundles/org.eclipse.ui/icons/full/clcl16/showcomplete_tsk.gif
    bundles/org.eclipse.ui/icons/full/clcl16/showerr_tsk.gif
    bundles/org.eclipse.ui/icons/full/clcl16/showexpert_ps.gif
    bundles/org.eclipse.ui/icons/full/clcl16/showparents_mode.gif
    bundles/org.eclipse.ui/icons/full/clcl16/showsync_rn.gif
    bundles/org.eclipse.ui/icons/full/clcl16/showtsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/clcl16/showwarn_tsk.gif
    bundles/org.eclipse.ui/icons/full/clcl16/step_current.gif
    bundles/org.eclipse.ui/icons/full/clcl16/step_done.gif
    bundles/org.eclipse.ui/icons/full/clcl16/stop_nav.gif
    bundles/org.eclipse.ui/icons/full/clcl16/synced.gif
    bundles/org.eclipse.ui/icons/full/clcl16/tree_mode.gif
    bundles/org.eclipse.ui/icons/full/clcl16/up_nav.gif
    bundles/org.eclipse.ui/icons/full/clcl16/view_menu.gif
    bundles/org.eclipse.ui/icons/full/commands/change.gif
    bundles/org.eclipse.ui/icons/full/commands/exclamation.gif
    bundles/org.eclipse.ui/icons/full/commands/minus.gif
    bundles/org.eclipse.ui/icons/full/commands/plus.gif
    bundles/org.eclipse.ui/icons/full/ctool16/build_exec.gif
    bundles/org.eclipse.ui/icons/full/ctool16/copy_edit.gif
    bundles/org.eclipse.ui/icons/full/ctool16/cut_edit.gif
    bundles/org.eclipse.ui/icons/full/ctool16/debug_exec.gif
    bundles/org.eclipse.ui/icons/full/ctool16/delete_edit.gif
    bundles/org.eclipse.ui/icons/full/ctool16/export_wiz.gif
    bundles/org.eclipse.ui/icons/full/ctool16/exportdir_wiz.gif
    bundles/org.eclipse.ui/icons/full/ctool16/exportzip_wiz.gif
    bundles/org.eclipse.ui/icons/full/ctool16/import_wiz.gif
    bundles/org.eclipse.ui/icons/full/ctool16/importdir_wiz.gif
    bundles/org.eclipse.ui/icons/full/ctool16/importzip_wiz.gif
    bundles/org.eclipse.ui/icons/full/ctool16/move_edit.gif
    bundles/org.eclipse.ui/icons/full/ctool16/new_page.gif
    bundles/org.eclipse.ui/icons/full/ctool16/new_wiz.gif
    bundles/org.eclipse.ui/icons/full/ctool16/newfile_wiz.gif
    bundles/org.eclipse.ui/icons/full/ctool16/newfolder_wiz.gif
    bundles/org.eclipse.ui/icons/full/ctool16/newprj_wiz.gif
    bundles/org.eclipse.ui/icons/full/ctool16/next_nav.gif
    bundles/org.eclipse.ui/icons/full/ctool16/paste_edit.gif
    bundles/org.eclipse.ui/icons/full/ctool16/pin_editor.gif
    bundles/org.eclipse.ui/icons/full/ctool16/prefs_misc.gif
    bundles/org.eclipse.ui/icons/full/ctool16/prev_nav.gif
    bundles/org.eclipse.ui/icons/full/ctool16/print_edit.gif
    bundles/org.eclipse.ui/icons/full/ctool16/redo_edit.gif
    bundles/org.eclipse.ui/icons/full/ctool16/rename_edit.gif
    bundles/org.eclipse.ui/icons/full/ctool16/run_exec.gif
    bundles/org.eclipse.ui/icons/full/ctool16/save_edit.gif
    bundles/org.eclipse.ui/icons/full/ctool16/saveall_edit.gif
    bundles/org.eclipse.ui/icons/full/ctool16/saveas_edit.gif
    bundles/org.eclipse.ui/icons/full/ctool16/search_src.gif
    bundles/org.eclipse.ui/icons/full/ctool16/undo_edit.gif
    bundles/org.eclipse.ui/icons/full/cview16/bkmrk_nav.gif
    bundles/org.eclipse.ui/icons/full/cview16/default_persp.gif
    bundles/org.eclipse.ui/icons/full/cview16/defaultview_misc.gif
    bundles/org.eclipse.ui/icons/full/cview16/editor_view.gif
    bundles/org.eclipse.ui/icons/full/cview16/filenav_nav.gif
    bundles/org.eclipse.ui/icons/full/cview16/new_persp.gif
    bundles/org.eclipse.ui/icons/full/cview16/opensame_persp.gif
    bundles/org.eclipse.ui/icons/full/cview16/outline_co.gif
    bundles/org.eclipse.ui/icons/full/cview16/prop_ps.gif
    bundles/org.eclipse.ui/icons/full/cview16/replace_persp.gif
    bundles/org.eclipse.ui/icons/full/cview16/resource_persp.gif
    bundles/org.eclipse.ui/icons/full/cview16/tasks_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/addbkmrk_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/addtsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/alpha_mode.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/apply_ps.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/backward_nav.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/close_view.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/defaults_ps.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/edittsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/filter_ps.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/filter_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/forward_nav.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/gotoobj_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/graph_mode.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/home_nav.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/list_mode.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/min_view.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/pin_view.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/popup_menu.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/refresh_nav.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/rembkmrk_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/remtsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/scroll_lft.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/scroll_rt.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/scrollend.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/scrollhome.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/selected_mode.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showbasic_ps.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showcategory_ps.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showchild_mode.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showcomplete_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showerr_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showexpert_ps.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showparents_mode.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showsync_rn.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showtsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showwarn_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/stop_nav.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/tree_mode.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/up_nav.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/view_menu.gif
    bundles/org.eclipse.ui/icons/full/dnd/bottom_mask.bmp
    bundles/org.eclipse.ui/icons/full/dnd/bottom_source.bmp
    bundles/org.eclipse.ui/icons/full/dnd/invalid_mask.bmp
    bundles/org.eclipse.ui/icons/full/dnd/invalid_source.bmp
    bundles/org.eclipse.ui/icons/full/dnd/left_mask.bmp
    bundles/org.eclipse.ui/icons/full/dnd/left_source.bmp
    bundles/org.eclipse.ui/icons/full/dnd/offscreen_mask.bmp
    bundles/org.eclipse.ui/icons/full/dnd/offscreen_source.bmp
    bundles/org.eclipse.ui/icons/full/dnd/right_mask.bmp
    bundles/org.eclipse.ui/icons/full/dnd/right_source.bmp
    bundles/org.eclipse.ui/icons/full/dnd/stack_mask.bmp
    bundles/org.eclipse.ui/icons/full/dnd/stack_source.bmp
    bundles/org.eclipse.ui/icons/full/dnd/tofastview_mask.bmp
    bundles/org.eclipse.ui/icons/full/dnd/tofastview_source.bmp
    bundles/org.eclipse.ui/icons/full/dnd/top_mask.bmp
    bundles/org.eclipse.ui/icons/full/dnd/top_source.bmp
    bundles/org.eclipse.ui/icons/full/dtool16/build_exec.gif
    bundles/org.eclipse.ui/icons/full/dtool16/copy_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/cut_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/debug_exec.gif
    bundles/org.eclipse.ui/icons/full/dtool16/delete_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/export_wiz.gif
    bundles/org.eclipse.ui/icons/full/dtool16/exportdir_wiz.gif
    bundles/org.eclipse.ui/icons/full/dtool16/exportzip_wiz.gif
    bundles/org.eclipse.ui/icons/full/dtool16/import_wiz.gif
    bundles/org.eclipse.ui/icons/full/dtool16/importdir_wiz.gif
    bundles/org.eclipse.ui/icons/full/dtool16/importzip_wiz.gif
    bundles/org.eclipse.ui/icons/full/dtool16/move_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/new_wiz.gif
    bundles/org.eclipse.ui/icons/full/dtool16/newfile_wiz.gif
    bundles/org.eclipse.ui/icons/full/dtool16/newfolder_wiz.gif
    bundles/org.eclipse.ui/icons/full/dtool16/newprj_wiz.gif
    bundles/org.eclipse.ui/icons/full/dtool16/paste_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/pin_editor.gif
    bundles/org.eclipse.ui/icons/full/dtool16/prefs_misc.gif
    bundles/org.eclipse.ui/icons/full/dtool16/print_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/quick_wiz.gif
    bundles/org.eclipse.ui/icons/full/dtool16/redo_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/rename_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/run_exec.gif
    bundles/org.eclipse.ui/icons/full/dtool16/save_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/saveall_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/saveas_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/search_src.gif
    bundles/org.eclipse.ui/icons/full/dtool16/undo_edit.gif
    bundles/org.eclipse.ui/icons/full/elcl16/addbkmrk_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/addtsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/alpha_mode.gif
    bundles/org.eclipse.ui/icons/full/elcl16/apply_ps.gif
    bundles/org.eclipse.ui/icons/full/elcl16/backward_nav.gif
    bundles/org.eclipse.ui/icons/full/elcl16/close_view.gif
    bundles/org.eclipse.ui/icons/full/elcl16/collapseall.gif
    bundles/org.eclipse.ui/icons/full/elcl16/defaults_ps.gif
    bundles/org.eclipse.ui/icons/full/elcl16/edittsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/filter_ps.gif
    bundles/org.eclipse.ui/icons/full/elcl16/filter_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/forward_nav.gif
    bundles/org.eclipse.ui/icons/full/elcl16/gotoobj_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/graph_mode.gif
    bundles/org.eclipse.ui/icons/full/elcl16/home_nav.gif
    bundles/org.eclipse.ui/icons/full/elcl16/list_mode.gif
    bundles/org.eclipse.ui/icons/full/elcl16/min_view.gif
    bundles/org.eclipse.ui/icons/full/elcl16/pin_view.gif
    bundles/org.eclipse.ui/icons/full/elcl16/popup_menu.gif
    bundles/org.eclipse.ui/icons/full/elcl16/refresh_nav.gif
    bundles/org.eclipse.ui/icons/full/elcl16/rembkmrk_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/remtsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/scroll_lft.gif
    bundles/org.eclipse.ui/icons/full/elcl16/scroll_rt.gif
    bundles/org.eclipse.ui/icons/full/elcl16/scrollend.gif
    bundles/org.eclipse.ui/icons/full/elcl16/scrollhome.gif
    bundles/org.eclipse.ui/icons/full/elcl16/selected_mode.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showbasic_ps.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showcategory_ps.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showchild_mode.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showcomplete_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showerr_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showexpert_ps.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showparents_mode.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showsync_rn.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showtsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showwarn_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/stop_nav.gif
    bundles/org.eclipse.ui/icons/full/elcl16/tree_mode.gif
    bundles/org.eclipse.ui/icons/full/elcl16/up_nav.gif
    bundles/org.eclipse.ui/icons/full/elcl16/view_menu.gif
    bundles/org.eclipse.ui/icons/full/etool16/build_exec.gif
    bundles/org.eclipse.ui/icons/full/etool16/copy_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/cut_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/debug_exec.gif
    bundles/org.eclipse.ui/icons/full/etool16/delete_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/export_wiz.gif
    bundles/org.eclipse.ui/icons/full/etool16/exportdir_wiz.gif
    bundles/org.eclipse.ui/icons/full/etool16/exportzip_wiz.gif
    bundles/org.eclipse.ui/icons/full/etool16/import_wiz.gif
    bundles/org.eclipse.ui/icons/full/etool16/importdir_wiz.gif
    bundles/org.eclipse.ui/icons/full/etool16/importzip_wiz.gif
    bundles/org.eclipse.ui/icons/full/etool16/move_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/new_wiz.gif
    bundles/org.eclipse.ui/icons/full/etool16/newfile_wiz.gif
    bundles/org.eclipse.ui/icons/full/etool16/newfolder_wiz.gif
    bundles/org.eclipse.ui/icons/full/etool16/newprj_wiz.gif
    bundles/org.eclipse.ui/icons/full/etool16/paste_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/pin_editor.gif
    bundles/org.eclipse.ui/icons/full/etool16/prefs_misc.gif
    bundles/org.eclipse.ui/icons/full/etool16/print_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/quick_wiz.gif
    bundles/org.eclipse.ui/icons/full/etool16/redo_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/rename_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/run_exec.gif
    bundles/org.eclipse.ui/icons/full/etool16/save_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/saveall_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/saveas_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/search_src.gif
    bundles/org.eclipse.ui/icons/full/etool16/undo_edit.gif
    bundles/org.eclipse.ui/icons/full/eview16/bkmrk_nav.gif
    bundles/org.eclipse.ui/icons/full/eview16/default_persp.gif
    bundles/org.eclipse.ui/icons/full/eview16/defaultview_misc.gif
    bundles/org.eclipse.ui/icons/full/eview16/filenav_nav.gif
    bundles/org.eclipse.ui/icons/full/eview16/new_persp.gif
    bundles/org.eclipse.ui/icons/full/eview16/opensame_persp.gif
    bundles/org.eclipse.ui/icons/full/eview16/outline_co.gif
    bundles/org.eclipse.ui/icons/full/eview16/prop_ps.gif
    bundles/org.eclipse.ui/icons/full/eview16/replace_persp.gif
    bundles/org.eclipse.ui/icons/full/eview16/resource_persp.gif
    bundles/org.eclipse.ui/icons/full/eview16/tasks_tsk.gif
    bundles/org.eclipse.ui/icons/full/keybindings/change.gif
    bundles/org.eclipse.ui/icons/full/keybindings/exclamation.gif
    bundles/org.eclipse.ui/icons/full/keybindings/minus.gif
    bundles/org.eclipse.ui/icons/full/keybindings/plus.gif
    bundles/org.eclipse.ui/icons/full/obj16/bkmrk_tsk.gif
    bundles/org.eclipse.ui/icons/full/obj16/cfldr_obj.gif
    bundles/org.eclipse.ui/icons/full/obj16/complete_tsk.gif
    bundles/org.eclipse.ui/icons/full/obj16/cprj_obj.gif
    bundles/org.eclipse.ui/icons/full/obj16/dots_button.gif
    bundles/org.eclipse.ui/icons/full/obj16/element_obj.gif
    bundles/org.eclipse.ui/icons/full/obj16/elements_obj.gif
    bundles/org.eclipse.ui/icons/full/obj16/error_tsk.gif
    bundles/org.eclipse.ui/icons/full/obj16/file_obj.gif
    bundles/org.eclipse.ui/icons/full/obj16/fldr_obj.gif
    bundles/org.eclipse.ui/icons/full/obj16/hprio_tsk.gif
    bundles/org.eclipse.ui/icons/full/obj16/incomplete_tsk.gif
    bundles/org.eclipse.ui/icons/full/obj16/info_tsk.gif
    bundles/org.eclipse.ui/icons/full/obj16/lprio_tsk.gif
    bundles/org.eclipse.ui/icons/full/obj16/prj_obj.gif
    bundles/org.eclipse.ui/icons/full/obj16/probmrk_tsk.gif
    bundles/org.eclipse.ui/icons/full/obj16/question.gif
    bundles/org.eclipse.ui/icons/full/obj16/system_summary_editor.gif
    bundles/org.eclipse.ui/icons/full/obj16/taskmrk_tsk.gif
    bundles/org.eclipse.ui/icons/full/obj16/warn_tsk.gif
    bundles/org.eclipse.ui/icons/full/obj16/welcome_banner.gif
    bundles/org.eclipse.ui/icons/full/obj16/welcome_editor.gif
    bundles/org.eclipse.ui/icons/full/obj16/welcome_item.gif
    bundles/org.eclipse.ui/icons/full/obj16/workset.gif
    bundles/org.eclipse.ui/icons/full/obj8/complete.gif
    bundles/org.eclipse.ui/icons/full/obj8/priority.gif
    bundles/org.eclipse.ui/icons/full/ovr16/link_ovr.gif
    bundles/org.eclipse.ui/icons/full/wizban/export_wiz.gif
    bundles/org.eclipse.ui/icons/full/wizban/exportdir_wiz.gif
    bundles/org.eclipse.ui/icons/full/wizban/exportzip_wiz.gif
    bundles/org.eclipse.ui/icons/full/wizban/import_wiz.gif
    bundles/org.eclipse.ui/icons/full/wizban/importdir_wiz.gif
    bundles/org.eclipse.ui/icons/full/wizban/importzip_wiz.gif
    bundles/org.eclipse.ui/icons/full/wizban/new_wiz.gif
    bundles/org.eclipse.ui/icons/full/wizban/newfile_wiz.gif
    bundles/org.eclipse.ui/icons/full/wizban/newfolder_wiz.gif
    bundles/org.eclipse.ui/icons/full/wizban/newprj_wiz.gif
    bundles/org.eclipse.ui/icons/full/wizban/saveas_dlg.gif
    bundles/org.eclipse.ui/icons/full/wizban/workset_wiz.gif
    bundles/org.eclipse.ui/plugin.properties
    bundles/org.eclipse.ui/plugin.xml
    bundles/org.eclipse.ui/schema/acceleratorConfigurations.exsd
    bundles/org.eclipse.ui/schema/acceleratorScopes.exsd
    bundles/org.eclipse.ui/schema/acceleratorSets.exsd
    bundles/org.eclipse.ui/schema/actionDefinitions.exsd
    bundles/org.eclipse.ui/schema/actionSetPartAssociations.exsd
    bundles/org.eclipse.ui/schema/actionSets.exsd
    bundles/org.eclipse.ui/schema/capabilities.exsd
    bundles/org.eclipse.ui/schema/commonAction.mxsd
    bundles/org.eclipse.ui/schema/commonExpression.mxsd
    bundles/org.eclipse.ui/schema/decorators.exsd
    bundles/org.eclipse.ui/schema/documentProviders.exsd
    bundles/org.eclipse.ui/schema/dropActions.exsd
    bundles/org.eclipse.ui/schema/editorActions.exsd
    bundles/org.eclipse.ui/schema/editors.exsd
    bundles/org.eclipse.ui/schema/elementFactories.exsd
    bundles/org.eclipse.ui/schema/exportWizards.exsd
    bundles/org.eclipse.ui/schema/fontDefinitions.exsd
    bundles/org.eclipse.ui/schema/importWizards.exsd
    bundles/org.eclipse.ui/schema/markerHelp.exsd
    bundles/org.eclipse.ui/schema/markerResolution.exsd
    bundles/org.eclipse.ui/schema/markerUpdaters.exsd
    bundles/org.eclipse.ui/schema/newWizards.exsd
    bundles/org.eclipse.ui/schema/perspectiveExtensions.exsd
    bundles/org.eclipse.ui/schema/perspectives.exsd
    bundles/org.eclipse.ui/schema/popupMenus.exsd
    bundles/org.eclipse.ui/schema/preferencePages.exsd
    bundles/org.eclipse.ui/schema/projectNatureImages.exsd
    bundles/org.eclipse.ui/schema/propertyPages.exsd
    bundles/org.eclipse.ui/schema/resourceFilters.exsd
    bundles/org.eclipse.ui/schema/startup.exsd
    bundles/org.eclipse.ui/schema/viewActions.exsd
    bundles/org.eclipse.ui/schema/views.exsd
    bundles/org.eclipse.ui/schema/workingSets.exsd
    bundles/org.eclipse.ui/scripts/exportplugin.xml
    bundles/org.eclipse.ui/src/org/eclipse/ui/internal/UIPlugin.java
    examples/org.eclipse.ui.examples.multipageeditor/.classpath
    examples/org.eclipse.ui.examples.multipageeditor/.cvsignore
    examples/org.eclipse.ui.examples.multipageeditor/.project
    examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MessageUtil.java
    examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MultiPageContributor.java
    examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MultiPageEditorExample.java
    examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/messages.properties
    examples/org.eclipse.ui.examples.multipageeditor/about.html
    examples/org.eclipse.ui.examples.multipageeditor/build.properties
    examples/org.eclipse.ui.examples.multipageeditor/doc-html/hglegal.htm
    examples/org.eclipse.ui.examples.multipageeditor/doc-html/ngibmcpy.gif
    examples/org.eclipse.ui.examples.multipageeditor/doc-html/ui_multipageeditor_ex.html
    examples/org.eclipse.ui.examples.multipageeditor/icons/copy.gif
    examples/org.eclipse.ui.examples.multipageeditor/plugin.properties
    examples/org.eclipse.ui.examples.multipageeditor/plugin.xml
    examples/org.eclipse.ui.examples.propertysheet/.classpath
    examples/org.eclipse.ui.examples.propertysheet/.cvsignore
    examples/org.eclipse.ui.examples.propertysheet/.project
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Address.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Birthday.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/EmailAddress.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/EmailAddressValidator.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/GroupElement.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/IUserConstants.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/MessageUtil.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Name.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/OrganizationElement.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PopupMenuActionDelegate.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PropertySheetContentOutlinePage.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PropertySheetPlugin.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/StreetAddress.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserEditor.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserElement.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserFileParser.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/messages.properties
    examples/org.eclipse.ui.examples.propertysheet/HelpContexts.xml
    examples/org.eclipse.ui.examples.propertysheet/about.html
    examples/org.eclipse.ui.examples.propertysheet/build.properties
    examples/org.eclipse.ui.examples.propertysheet/doc-html/hglegal.htm
    examples/org.eclipse.ui.examples.propertysheet/doc-html/ngibmcpy.gif
    examples/org.eclipse.ui.examples.propertysheet/doc-html/ui_propertysheet_ex.html
    examples/org.eclipse.ui.examples.propertysheet/doc.zip
    examples/org.eclipse.ui.examples.propertysheet/icons/obj16/usereditor.gif
    examples/org.eclipse.ui.examples.propertysheet/plugin.properties
    examples/org.eclipse.ui.examples.propertysheet/plugin.xml
    examples/org.eclipse.ui.examples.readmetool/.classpath
    examples/org.eclipse.ui.examples.readmetool/.cvsignore
    examples/org.eclipse.ui.examples.readmetool/.project
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AdaptableList.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AddReadmeMarkerAction.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AddSentenceResolution.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/DefaultSectionsParser.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/DirtyStateContribution.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/EditorActionDelegate.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/IReadmeConstants.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/IReadmeFileParser.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MarkElement.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MarkElementProperties.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MessageUtil.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/PopupMenuActionDelegate.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeContentOutlineDragListener.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeContentOutlinePage.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeCreationPage.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeCreationWizard.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeDropActionDelegate.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeEditor.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeEditorActionBarContributor.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeFilePropertyPage.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeFilePropertyPage2.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeImages.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeMarkerResolutionGenerator.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeModelFactory.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePlugin.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePreferencePage.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeSectionsView.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/SectionsDialog.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ViewActionDelegate.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/WindowActionDelegate.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/messages.properties
    examples/org.eclipse.ui.examples.readmetool/HelpContexts.xml
    examples/org.eclipse.ui.examples.readmetool/about.html
    examples/org.eclipse.ui.examples.readmetool/build.properties
    examples/org.eclipse.ui.examples.readmetool/doc-html/hglegal.htm
    examples/org.eclipse.ui.examples.readmetool/doc-html/ngibmcpy.gif
    examples/org.eclipse.ui.examples.readmetool/doc-html/ui_readmetool_ex.html
    examples/org.eclipse.ui.examples.readmetool/doc.zip
    examples/org.eclipse.ui.examples.readmetool/doc/hglegal.htm
    examples/org.eclipse.ui.examples.readmetool/doc/ngibmcpy.gif
    examples/org.eclipse.ui.examples.readmetool/doc/org_eclipse_ui_examples_readmetool.html
    examples/org.eclipse.ui.examples.readmetool/doc/org_eclipse_ui_examples_readmetool_sectionParser.html
    examples/org.eclipse.ui.examples.readmetool/icons/ctool16/action1.gif
    examples/org.eclipse.ui.examples.readmetool/icons/ctool16/action2.gif
    examples/org.eclipse.ui.examples.readmetool/icons/ctool16/action3.gif
    examples/org.eclipse.ui.examples.readmetool/icons/ctool16/openbrwsr.gif
    examples/org.eclipse.ui.examples.readmetool/icons/dtool16/action1.gif
    examples/org.eclipse.ui.examples.readmetool/icons/dtool16/action2.gif
    examples/org.eclipse.ui.examples.readmetool/icons/dtool16/action3.gif
    examples/org.eclipse.ui.examples.readmetool/icons/dtool16/openbrwsr.gif
    examples/org.eclipse.ui.examples.readmetool/icons/etool16/action1.gif
    examples/org.eclipse.ui.examples.readmetool/icons/etool16/action2.gif
    examples/org.eclipse.ui.examples.readmetool/icons/etool16/action3.gif
    examples/org.eclipse.ui.examples.readmetool/icons/etool16/openbrwsr.gif
    examples/org.eclipse.ui.examples.readmetool/icons/obj16/editor.gif
    examples/org.eclipse.ui.examples.readmetool/icons/obj16/newreadme_wiz.gif
    examples/org.eclipse.ui.examples.readmetool/icons/obj16/usereditor.gif
    examples/org.eclipse.ui.examples.readmetool/icons/view16/sections.gif
    examples/org.eclipse.ui.examples.readmetool/icons/wizban/newreadme_wiz.gif
    examples/org.eclipse.ui.examples.readmetool/plugin.properties
    examples/org.eclipse.ui.examples.readmetool/plugin.xml
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/navigator/ResourceNavigator.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/navigator/ResourceNavigator.java
index fdfdd57..4fa4efa 100644
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/navigator/ResourceNavigator.java
+++ b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/navigator/ResourceNavigator.java
@@ -8,85 +8,36 @@
 Contributors:
     IBM - Initial implementation
 ************************************************************************/
-
 package org.eclipse.ui.views.navigator;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
+import java.util.*;
 import java.util.List;
 
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Platform;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.FileTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
+import org.eclipse.core.resources.*;
+import org.eclipse.core.runtime.*;
+import org.eclipse.jface.action.*;
 import org.eclipse.jface.dialogs.IDialogSettings;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.util.IPropertyChangeListener;
 import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.DecoratingLabelProvider;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IOpenListener;
-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.OpenEvent;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ResourceWorkingSetFilter;
+import org.eclipse.jface.viewers.*;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.dnd.*;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
+import org.eclipse.swt.widgets.*;
+import org.eclipse.ui.*;
 import org.eclipse.ui.actions.ActionContext;
+import org.eclipse.ui.dialogs.IShowInSource;
+import org.eclipse.ui.dialogs.IShowInTarget;
+import org.eclipse.ui.dialogs.ShowInContext;
 import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ViewsPlugin;
-import org.eclipse.ui.internal.WorkbenchPlugin;
+import org.eclipse.ui.internal.*;
 import org.eclipse.ui.model.WorkbenchContentProvider;
 import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.part.ISetSelectionTarget;
-import org.eclipse.ui.part.IShowInSource;
-import org.eclipse.ui.part.IShowInTarget;
-import org.eclipse.ui.part.PluginTransfer;
-import org.eclipse.ui.part.ResourceTransfer;
-import org.eclipse.ui.part.ShowInContext;
-import org.eclipse.ui.part.ViewPart;
+import org.eclipse.ui.part.*;
 import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.views.framelist.FrameList;
-import org.eclipse.ui.views.framelist.TreeFrame;
+import org.eclipse.ui.views.framelist.*;
 
 /**
  * Implements the Resource Navigator view.
diff --git a/bundles/org.eclipse.ui.win32/.classpath b/bundles/org.eclipse.ui.win32/.classpath
deleted file mode 100644
index 8e2273a..0000000
--- a/bundles/org.eclipse.ui.win32/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="src"/>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="src" path="/org.eclipse.ui"/>
-    <classpathentry kind="src" path="/org.eclipse.swt"/>
-    <classpathentry kind="src" path="/org.eclipse.core.resources"/>
-    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.ui.win32/.cvsignore b/bundles/org.eclipse.ui.win32/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.ui.win32/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.ui.win32/.project b/bundles/org.eclipse.ui.win32/.project
deleted file mode 100644
index d0876c2..0000000
--- a/bundles/org.eclipse.ui.win32/.project
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.ui.win32</name>

-	<comment></comment>

-	<projects>

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

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

-		<project>org.eclipse.swt</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/bundles/org.eclipse.ui.win32/about.html b/bundles/org.eclipse.ui.win32/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/bundles/org.eclipse.ui.win32/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/bundles/org.eclipse.ui.win32/build.properties b/bundles/org.eclipse.ui.win32/build.properties
deleted file mode 100644
index 1c4c96d..0000000
--- a/bundles/org.eclipse.ui.win32/build.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-source.workbenchwin32.jar=src/
-src.includes=about.html
-bin.includes=fragment.xml,fragment.properties,*.jar
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.win32/fragment.xml b/bundles/org.eclipse.ui.win32/fragment.xml
deleted file mode 100644
index 49f2fcd..0000000
--- a/bundles/org.eclipse.ui.win32/fragment.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
-   id="org.eclipse.ui.win32"
-   name="%Win32Fragment.fragmentName"
-   version="2.1.0"
-   provider-name="%Plugin.providerName"
-   plugin-id="org.eclipse.ui.workbench"
-   plugin-version="2.1.0">
-
-   <runtime>
-      <library name="workbenchwin32.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-
-
-</fragment>
diff --git a/bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/OleEditor.java b/bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/OleEditor.java
deleted file mode 100644
index 49687f3..0000000
--- a/bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/OleEditor.java
+++ /dev/null
@@ -1,646 +0,0 @@
-package org.eclipse.ui.internal.editorsupport.win32;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IFile;
-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.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.ole.win32.OLE;
-import org.eclipse.swt.ole.win32.OleAutomation;
-import org.eclipse.swt.ole.win32.OleClientSite;
-import org.eclipse.swt.ole.win32.OleFrame;
-import org.eclipse.swt.ole.win32.Variant;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.JFaceColors;
-
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.dialogs.SaveAsDialog;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.part.EditorPart;
-import org.eclipse.ui.part.FileEditorInput;
-
-/**
- */
-public class OleEditor extends EditorPart {
-
-	/**
-	 * The resource listener updates the receiver when
-	 * a change has occured.
-	 */
-	private IResourceChangeListener resourceListener =
-		new IResourceChangeListener() {
-
-		/*
-		 * @see IResourceChangeListener#resourceChanged(IResourceChangeEvent)
-		 */
-		public void resourceChanged(IResourceChangeEvent event) {
-			IResourceDelta mainDelta = event.getDelta();
-			if(mainDelta == null)
-				return;
-			IResourceDelta affectedElement =
-				mainDelta.findMember(resource.getFullPath());
-			if (affectedElement != null)
-				try {
-					processDelta(affectedElement);
-				} catch (CoreException exception) {
-					//Failed so close the receiver
-					getSite().getPage().closeEditor(OleEditor.this, true);
-				}
-		}
-
-		/*
-		 * Process the delta for the receiver
-		 */
-		private boolean processDelta(final IResourceDelta delta) throws CoreException {
-
-			Runnable changeRunnable = null;
-
-			switch (delta.getKind()) {
-				case IResourceDelta.REMOVED :
-					if ((IResourceDelta.MOVED_TO & delta.getFlags()) != 0) {
-						changeRunnable = new Runnable() {
-							public void run() {
-								IPath path = delta.getMovedToPath();
-								IFile newFile = delta.getResource().getWorkspace().getRoot().getFile(path);
-								if (newFile != null) {
-									sourceChanged(newFile);
-								}
-							}
-						};
-					} else {
-						changeRunnable = new Runnable() {
-							public void run() {
-								sourceDeleted = true;
-								getSite().getPage().closeEditor(OleEditor.this, true);
-							}
-						};
-
-					}
-
-					break;
-			}
-
-			if (changeRunnable != null)
-				update(changeRunnable);
-
-			return true; // because we are sitting on files anyway
-		}
-
-	};
-
-	private OleFrame clientFrame;
-	private OleClientSite clientSite;
-	private File source;
-	private IFile resource;
-	private Image oleTitleImage;
-	//The sourceDeleted flag makes sure that the receiver is not
-	//dirty when shutting down
-	boolean sourceDeleted = false;
-	//The sourceChanged flag indicates whether or not the save from the ole component
-	//can be used or if the input changed
-	boolean sourceChanged = false;
-
-	/**
-	 * Keep track of whether we have an active client so we do not
-	 * deactivate multiple times
-	 */
-	private boolean clientActive = false;
-
-	/**
-	 * Keep track of whether we have activated OLE or not as some applications
-	 * will only allow single activations.
-	 */
-	private boolean oleActivated = false;
-
-	private IPartListener partListener = new IPartListener() {
-		public void partActivated(IWorkbenchPart part) {
-			activateClient(part);
-		}
-		public void partBroughtToTop(IWorkbenchPart part) {
-		}
-		public void partClosed(IWorkbenchPart part) {
-		}
-		public void partOpened(IWorkbenchPart part) {
-		}
-		public void partDeactivated(IWorkbenchPart part) {
-			deactivateClient(part);
-		}
-	};
-
-	private static final String FILE_PROMPTER_TITLE =
-		WorkbenchMessages.getString("OleEditor.renameTitle"); //$NON-NLS-1$
-	//$NON-NLS-1$
-	private static final String FILE_PROMPTER_MESSAGE =
-		WorkbenchMessages.getString("OleEditor.renameMessage"); //$NON-NLS-1$
-	//$NON-NLS-1$
-	private static final String RENAME_ERROR_TITLE =
-		WorkbenchMessages.getString("OleEditor.errorSaving"); //$NON-NLS-1$
-	//$NON-NLS-1$
-	private static final String OLE_EXCEPTION_TITLE =
-		WorkbenchMessages.getString("OleEditor.oleExceptionTitle"); //$NON-NLS-1$
-	//$NON-NLS-1$
-	private static final String OLE_EXCEPTION_MESSAGE =
-		WorkbenchMessages.getString("OleEditor.oleExceptionMessage"); //$NON-NLS-1$
-	//$NON-NLS-1$
-	private static final String SAVE_ERROR_TITLE =
-		WorkbenchMessages.getString("OleEditor.savingTitle"); //$NON-NLS-1$
-	//$NON-NLS-1$
-	private static final String SAVE_ERROR_MESSAGE =
-		WorkbenchMessages.getString("OleEditor.savingMessage"); //$NON-NLS-1$
-	//$NON-NLS-1$
-	/**
-	 * Return a new ole editor.
-	 */
-	public OleEditor() {
-	}
-
-	private void activateClient(IWorkbenchPart part) {
-		if (part == this) {
-			oleActivate();
-			this.clientActive = true;
-		}
-	}
-	/**
-	 * createPartControl method comment.
-	 */
-	public void createPartControl(Composite parent) {
-
-		// Create a frame.
-		clientFrame = new OleFrame(parent, SWT.CLIP_CHILDREN);
-		clientFrame.setBackground(
-			JFaceColors.getBannerBackground(clientFrame.getDisplay()));
-
-		initializeWorkbenchMenus();
-
-		// Set the input file.
-		IEditorInput input = getEditorInput();
-		if (input instanceof IFileEditorInput) {
-			setResource(((IFileEditorInput) input).getFile());
-			resource.getWorkspace().addResourceChangeListener(resourceListener);
-		}
-
-		createClientSite();
-	}
-
-	/**
-	 * Create the client site for the reciever
-	 */
-
-	private void createClientSite() {
-		//If there was an OLE Error or nothing has been created yet
-		if (clientFrame == null || clientFrame.isDisposed())
-			return;
-		// Create a OLE client site.
-		clientSite = new OleClientSite(clientFrame, SWT.NONE, source);
-		clientSite.setBackground(
-			JFaceColors.getBannerBackground(clientFrame.getDisplay()));
-
-	}
-
-	private void deactivateClient(IWorkbenchPart part) {
-		//Check the client active flag. Set it to false when we have deactivated
-		//to prevent multiple deactivations.
-		if (part == this && clientActive) {
-			if(clientSite != null)
-				clientSite.deactivateInPlaceClient();
-			this.clientActive = false;
-			this.oleActivated = false;
-		}
-	}
-	/**
-	 * Display an error dialog with the supplied title and message.
-	 */
-	private void displayErrorDialog(String title, String message) {
-		Shell parent = null;
-		if(getClientSite() != null)	
-			parent = getClientSite().getShell();
-		MessageDialog.openError(parent, title, message);
-	}
-	/**
-	 * @see IWorkbenchPart#dispose
-	 */
-	public void dispose() {
-		if (resource != null)
-			resource.getWorkspace().removeResourceChangeListener(resourceListener);
-
-		//can dispose the title image because it was created in init
-		if (oleTitleImage != null) {
-			oleTitleImage.dispose();
-			oleTitleImage = null;
-		}
-
-		if (getSite() != null && getSite().getPage() != null)
-			getSite().getPage().removePartListener(partListener);
-
-	}
-	/**
-	 *	Print this object's contents
-	 */
-	public void doPrint() {
-		if(clientSite == null)
-			return;
-		BusyIndicator.showWhile(clientSite.getDisplay(), new Runnable() {
-			public void run() {
-				clientSite.exec(OLE.OLECMDID_PRINT, OLE.OLECMDEXECOPT_PROMPTUSER, null, null);
-				// note: to check for success: above == SWTOLE.S_OK
-			}
-		});
-	}
-	/**
-	 *	Save the viewer's contents to the source file system file
-	 */
-	public void doSave(final IProgressMonitor monitor) {
-		if(clientSite == null)
-			return;
-		BusyIndicator.showWhile(clientSite.getDisplay(), new Runnable() {
-			public void run() {
-
-				//Do not try and use the component provided save if the source has
-				//changed in Eclipse
-				if (!sourceChanged) {
-					int result = clientSite.queryStatus(OLE.OLECMDID_SAVE);
-					if ((result & OLE.OLECMDF_ENABLED) != 0) {
-						result =
-							clientSite.exec(OLE.OLECMDID_SAVE, OLE.OLECMDEXECOPT_PROMPTUSER, null, null);
-						if (result == OLE.S_OK) {
-							try {
-								resource.refreshLocal(IResource.DEPTH_ZERO, monitor);
-							} catch (CoreException ex) {
-							}
-							return;
-						} else {
-							displayErrorDialog(
-								OLE_EXCEPTION_TITLE,
-								OLE_EXCEPTION_MESSAGE + String.valueOf(result));
-							return;
-						}
-					}
-				}
-				if (saveFile(source)) {
-					try {
-						resource.refreshLocal(IResource.DEPTH_ZERO, monitor);
-					} catch (CoreException ex) {
-					}
-				} else
-					displayErrorDialog(SAVE_ERROR_TITLE, SAVE_ERROR_MESSAGE + source.getName());
-			}
-		});
-	}
-	/**
-	 *	Save the viewer's contents into the provided resource.
-	 */
-	public void doSaveAs() {
-		if(clientSite == null)
-			return;
-		WorkspaceModifyOperation op = saveNewFileOperation();
-		Shell shell = clientSite.getShell();
-		try {
-			new ProgressMonitorDialog(shell).run(false, true, op);
-		} catch (InterruptedException interrupt) {
-			//Nothing to reset so do nothing
-		} catch (InvocationTargetException invocationException) {
-			MessageDialog.openError(
-				shell,
-				RENAME_ERROR_TITLE,
-				invocationException.getTargetException().getMessage());
-		}
-
-	}
-	/**
-	 *	Answer self's client site
-	 *
-	 *	@return org.eclipse.swt.ole.win32.OleClientSite
-	 */
-	public OleClientSite getClientSite() {
-		return clientSite;
-	}
-	/**
-	 *	Answer the file system representation of self's input element
-	 *
-	 *	@return java.io.File
-	 */
-	public File getSourceFile() {
-		return source;
-	}
-	/* (non-Javadoc)
-	 * Sets the cursor and selection state for this editor to the passage defined
-	 * by the given marker.
-	 *
-	 * @see IEditorPart
-	 */
-	public void gotoMarker(IMarker marker) {
-	}
-
-	private void handleWord() {
-		OleAutomation dispInterface = new OleAutomation(clientSite);
-		// Get Application
-		int[] appId = dispInterface.getIDsOfNames(new String[]{"Application"});
-		if (appId != null) {
-			Variant pVarResult = dispInterface.getProperty(appId[0]);
-			if (pVarResult != null) {
-				OleAutomation application = pVarResult.getAutomation();
-				int[] dispid = application.getIDsOfNames(new String[] {"DisplayScrollBars"});
-				if (dispid != null) {
-					Variant rgvarg = new Variant(true);
-					application.setProperty(dispid[0], rgvarg);
-				}
-				application.dispose();
-			}
-		}
-		dispInterface.dispose();
-	}
-
-	/* (non-Javadoc)
-	 * Initializes the editor when created from scratch.
-	 * 
-	 * This method is called soon after part construction and marks 
-	 * the start of the extension lifecycle.  At the end of the
-	 * extension lifecycle <code>shutdown</code> will be invoked
-	 * to terminate the lifecycle.
-	 *
-	 * @param container an interface for communication with the part container
-	 * @param input The initial input element for the editor.  In most cases
-	 *    it is an <code>IFile</code> but other types are acceptable.
-	 * @see IWorkbenchPart#shutdown
-	 */
-	public void init(IEditorSite site, IEditorInput input)
-		throws PartInitException {
-		// Check input.
-		if (!(input instanceof IFileEditorInput))
-			throw new PartInitException(
-				WorkbenchMessages.format("OleEditor.invalidInput", new Object[] { input })); //$NON-NLS-1$
-		//$NON-NLS-1$
-		
-		IFile file = (((IFileEditorInput) input).getFile());
-		
-		//Cannot create this with a file and no physical location
-		if(file.getLocation() == null || !(new File(file.getLocation().toOSString()).exists()))
-			throw new PartInitException(
-				WorkbenchMessages.format("OleEditor.noFileInput", new Object[] { file.getLocation() })); //$NON-NLS-1$
-						
-		// Save input.
-		setSite(site);
-		setInput(input);
-
-		// Update titles.
-		setTitle(input.getName());
-		setTitleToolTip(input.getToolTipText());
-		ImageDescriptor desc = input.getImageDescriptor();
-		if (desc != null) {
-			oleTitleImage = desc.createImage();
-			setTitleImage(oleTitleImage);
-		}
-
-		// Listen for part activation.
-		site.getPage().addPartListener(partListener);
-
-	}
-	/**
-	 *	Initialize the workbench menus for proper merging
-	 */
-	protected void initializeWorkbenchMenus() {
-		//If there was an OLE Error or nothing has been created yet
-		if (clientFrame == null || clientFrame.isDisposed())
-			return;		
-		// Get the browser menubar.  If one does not exist then
-		// create it.
-		Shell shell = clientFrame.getShell();
-		Menu menuBar = shell.getMenuBar();
-		if (menuBar == null) {
-			menuBar = new Menu(shell, SWT.BAR);
-			shell.setMenuBar(menuBar);
-		}
-
-		// Swap the file and window menus.
-		MenuItem[] windowMenu = new MenuItem[1];
-		MenuItem[] fileMenu = new MenuItem[1];
-		Vector containerItems = new Vector();
-
-		IWorkbenchWindow window = getSite().getWorkbenchWindow();
-
-		for (int i = 0; i < menuBar.getItemCount(); i++) {
-			MenuItem item = menuBar.getItem(i);
-			String id = ""; //$NON-NLS-1$
-			if (item.getData() instanceof IMenuManager)
-				id = ((IMenuManager) item.getData()).getId();
-			if (id.equals(IWorkbenchActionConstants.M_FILE))
-				fileMenu[0] = item;
-			else if (id.equals(IWorkbenchActionConstants.M_WINDOW))
-				windowMenu[0] = item;
-			else {
-				if (window.isApplicationMenu(id)) {
-					containerItems.addElement(item);
-				}
-			}
-		}
-		MenuItem[] containerMenu = new MenuItem[containerItems.size()];
-		containerItems.copyInto(containerMenu);
-		clientFrame.setFileMenus(fileMenu);
-		clientFrame.setContainerMenus(containerMenu);
-		clientFrame.setWindowMenus(windowMenu);
-	}
-	/* (non-Javadoc)
-	 * Returns whether the contents of this editor have changed since the last save
-	 * operation. As this is an external editor and we have no way of knowing return true
-	 * if there is something to save to.
-	 *
-	 * @see IEditorPart
-	 */
-	public boolean isDirty() {
-		/*Return only if we have a clientSite which is dirty 
-		as this can be asked before anything is opened*/
-		return this.clientSite != null;
-	}
-	/* (non-Javadoc)
-	 * Returns whether the "save as" operation is supported by this editor. We assume we
-	 * can always save a file whether it will be via OLE or not.
-	 *
-	 * @see IEditorPart
-	 */
-	public boolean isSaveAsAllowed() {
-		return true;
-	}
-	/**
-	 *	Since we don't know when a change has been made, always answer true
-	 */
-	public boolean isSaveNeeded() {
-		//Answer false if it was not opened and true only if it is dirty
-		return getClientSite() != null && isDirty();
-	}
-	/**
-	 * Save the supplied file using the SWT API.
-	 * @param file java.io.File
-	 */
-	private boolean saveFile(File file) {
-
-		File tempFile = new File(file.getAbsolutePath() + ".tmp"); //$NON-NLS-1$
-		file.renameTo(tempFile);
-		boolean saved = false;
-		if (OLE.isOleFile(file) || usesStorageFiles(clientSite.getProgramID())) {
-			saved = clientSite.save(file, true);
-		} else {
-			saved = clientSite.save(file, false);
-		}
-
-		if (saved) {
-			// save was successful so discard the backup
-			tempFile.delete();
-			return true;
-		} else {
-			// save failed so restore the backup
-			tempFile.renameTo(file);
-			return false;
-		}
-	}
-	/**
-	 * Save the new File using the client site.
-	 */
-	private WorkspaceModifyOperation saveNewFileOperation() {
-
-		return new WorkspaceModifyOperation() {
-			public void execute(final IProgressMonitor monitor) throws CoreException {
-				SaveAsDialog dialog = new SaveAsDialog(clientFrame.getShell());
-				IFileEditorInput input = (IFileEditorInput)getEditorInput();
-				IFile sFile = input.getFile();
-				dialog.setOriginalFile(sFile);
-				dialog.open();
-				
-				IPath newPath = dialog.getResult();
-				if(newPath == null)
-					return;
-					
-				if (dialog.getReturnCode() == Dialog.OK) {
-					String projectName = newPath.segment(0);
-					newPath = newPath.removeFirstSegments(1);
-					IProject project = resource.getWorkspace().getRoot().getProject(projectName);
-					newPath = project.getLocation().append(newPath);
-					File newFile = newPath.toFile();
-					if (saveFile(newFile)) {
-						IFile newResource = resource.getWorkspace().getRoot().getFileForLocation(newPath);
-						if (newResource != null) {
-							sourceChanged(newResource);
-							newResource.refreshLocal(IResource.DEPTH_ZERO, monitor);
-						}
-					} else {
-						displayErrorDialog(SAVE_ERROR_TITLE, SAVE_ERROR_MESSAGE + newFile.getName());
-						return;
-					}
-				}
-			}
-		};
-
-	}
-	/**
-	 * Asks the part to take focus within the workbench.
-	 */
-	public void setFocus() {}
-	
-	/**
-	 * Make ole active so that the controls are rendered.
-	 */
-	private void oleActivate() {
-		//If there was an OLE Error or nothing has been created yet
-		if (clientSite == null || clientFrame == null || clientFrame.isDisposed())
-			return;
-
-		if (!oleActivated) {
-			clientSite.doVerb(OLE.OLEIVERB_SHOW);
-			oleActivated = true;
-			String progId = clientSite.getProgramID();
-			if (progId != null && progId.startsWith("Word.Document")) {  //$NON-NLS-1$
-				handleWord();
-			}
-		}
-	}
-	
-	/**
-	 *	Set the file resource that this object is displaying
-	 */
-	protected void setResource(IFile file) {
-		resource = file;
-		source = new File(file.getLocation().toOSString());
-	}
-	/**
-	 * See if it is one of the known types that use OLE Storage.
-	 */
-	private static boolean usesStorageFiles(String progID) {
-		return (progID != null && (progID.startsWith("Word.", 0) //$NON-NLS-1$
-			|| progID.startsWith("MSGraph", 0) //$NON-NLS-1$
-			|| progID.startsWith("PowerPoint", 0) //$NON-NLS-1$
-			|| progID.startsWith("Excel", 0))); //$NON-NLS-1$
-	}
-
-	/**
-	 * The source has changed to the newFile. Update
-	 * editors and set any required flags
-	 */
-	private void sourceChanged(IFile newFile) {
-
-		FileEditorInput newInput = new FileEditorInput(newFile);
-		setInput(newInput);
-		setResource(newFile);
-		sourceChanged = true;
-		setTitle(newInput.getName());
-
-	}
-
-	/* 
-	 * See IEditorPart.isSaveOnCloseNeeded() 
-	 */
-	public boolean isSaveOnCloseNeeded() {
-		return !sourceDeleted && super.isSaveOnCloseNeeded();
-	}
-
-	/**
-	 * Posts the update code "behind" the running operation.
-	 *
-	 * @param runnable the update code
-	 */
-	private void update(Runnable runnable) {
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		IWorkbenchWindow[] windows = workbench.getWorkbenchWindows();
-		if (windows != null && windows.length > 0) {
-			Display display = windows[0].getShell().getDisplay();
-			display.asyncExec(runnable);
-		} else
-			runnable.run();
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/.classpath b/bundles/org.eclipse.ui.workbench/.classpath
deleted file mode 100644
index dbedd62..0000000
--- a/bundles/org.eclipse.ui.workbench/.classpath
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="Eclipse UI/"/>
-    <classpathentry kind="src" path="Eclipse UI Editor Support/"/>
-    <classpathentry kind="src" path="/org.apache.xerces"/>
-    <classpathentry kind="src" path="/org.eclipse.core.resources"/>
-    <classpathentry kind="src" path="/org.eclipse.update.core"/>
-    <classpathentry kind="src" path="/org.eclipse.help"/>
-    <classpathentry kind="src" path="/org.eclipse.jface"/>
-    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
-    <classpathentry kind="src" path="/org.eclipse.core.boot"/>
-    <classpathentry kind="var" path="JRE_LIB" sourcepath="JRE_SRC"/>
-    <classpathentry kind="src" path="/org.eclipse.jface.text"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.ui.workbench/.cvsignore b/bundles/org.eclipse.ui.workbench/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.ui.workbench/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/.project b/bundles/org.eclipse.ui.workbench/.project
deleted file mode 100644
index 67e31dd..0000000
--- a/bundles/org.eclipse.ui.workbench/.project
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.workbench</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.help</project>
-		<project>org.eclipse.jface</project>
-		<project>org.eclipse.jface.text</project>
-		<project>org.eclipse.update.core</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/bundles/org.eclipse.ui.workbench/Eclipse UI Editor Support/org/eclipse/ui/internal/editorsupport/ComponentSupport.java b/bundles/org.eclipse.ui.workbench/Eclipse UI Editor Support/org/eclipse/ui/internal/editorsupport/ComponentSupport.java
deleted file mode 100644
index 58f48fe..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI Editor Support/org/eclipse/ui/internal/editorsupport/ComponentSupport.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package org.eclipse.ui.internal.editorsupport;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.ui.*;
-import org.eclipse.swt.SWT;
-/**
- * This class provides an OS independent interface to the
- * components available on the platform
- */
-public final class ComponentSupport {
-	/**
-	 * Return the default component Editor.
-	 * <p>
-	 * Check if we are on Win32 - if so then return an OLEEditor, if not return
-	 * null.
-	 * @see ComponentSupport
-	 */
-	public static IEditorPart getComponentEditor() {
-		if (SWT.getPlatform().equals("win32")) { //$NON-NLS-1$
-			return getOleEditor();
-		}
-		return null;
-	}
-	/**
-	 * Return Component Editor associated with the file input
-	 * is to be opened on. Only return one if in Win32.
-	 * <p>
-	 * @param IFile the input on which the componenet editor
-	 * @return IEditorPart or <code>null</code> if no editor exists
-	 * @see ComponentSupport
-	 */
-	public static IEditorPart getComponentEditor(IFile input) {
-		if ((SWT.getPlatform().equals("win32"))
-			&& testForOleEditor(input)) { //$NON-NLS-1$
-			return getOleEditor();
-		}
-		return null;
-	}
-	/**
-	 * Get a new OLEEditor
-	 * @return IEditorPart
-	 */
-	private static IEditorPart getOleEditor() {
-		try {
-			Class oleEditorClass =
-				Class.forName("org.eclipse.ui.internal.editorsupport.win32.OleEditor");
-			return (IEditorPart) oleEditorClass.newInstance();
-		} catch (ClassNotFoundException exception) {
-			return null;
-		}
-		catch (IllegalAccessException exception) {
-			return null;
-		}
-		catch (InstantiationException exception) {
-			return null;
-		}
-	}
-
-	public static boolean testForOleEditor(IFile input) {
-		String strName = input.getName();
-		int nDot = strName.lastIndexOf('.');
-		if (nDot >= 0) {
-			try {
-				strName = strName.substring(nDot);
-				Class oleClass = Class.forName("org.eclipse.swt.ole.win32.OLE");
-				Method findMethod =
-					oleClass.getDeclaredMethod("findProgramID", new Class[] { String.class });
-				strName = (String) findMethod.invoke(null, new Object[] { strName });
-				if (strName.length() > 0)
-					return true;
-			} catch (ClassNotFoundException exception) {
-				//Couldn't ask so return false
-				return false;
-			}
-			catch (NoSuchMethodException exception) {
-				//Couldn't find the method so return false
-				return false;
-			}
-			catch (IllegalAccessException exception) {
-				return false;
-			}
-			catch (InvocationTargetException exception) {
-				return false;
-			}
-
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionBars.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionBars.java
deleted file mode 100644
index ffca33a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionBars.java
+++ /dev/null
@@ -1,123 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.*;
-
-/**
- * Used by a part to access its menu, toolbar, and status line managers.  
- * <p>
- * Within the workbench each part, editor or view, has a private set of action
- * bars.  This set, which contains a menu, toolbar, and status line, appears
- * in the local toolbar for a view and in the window for an editor.  The view
- * may provide an implementation for pre-existing actions or add new actions to
- * the action bars.
- * </p><p>
- * In a workbench window there a number of actions which are applicable to
- * all parts.  Some common examples are <code>CUT</code>, <code>COPY</code> and 
- * <code>PASTE</code>. These actions, known as "global actions", are contributed to 
- * the workbench window by the window itself and shared by all parts.  The
- * presentation is owned by the window.  The implementation is delegated to the
- * active part.  
- * </p><p>
- * To participate in the global action design an <code>IWorkbenchPart</code> should 
- * register a handler for each global action which is implemented by the part.  This 
- * can be done by calling <code>setGlobalActionHandler</code>.  For convenience, the 
- * standard global actions are defined in 
- * <code>org.eclipse.ui.IWorkbenchActionConstants</code>. 
- * </p><p>
- * Additional work is required for the <code>Delete</code> global action.  In
- * this case the accelerator is defined in the menu item text but is not hooked 
- * on the window.  This is to support text editors where the <code>Delete</code> 
- * key is functional even when the <code>Delete</code> action is disabled (no text 
- * is selected).  An implementation for this accelerator must be defined locally, 
- * in each part, by listening for <code>Delete</code> key events.
- * </p><p>
- * A part may also contribute new actions to the action bars as required.  To do
- * this, call <code>getMenuManager</code>, <code>getToolBarManager</code>, or
- * <code>getStatusLineManager</code> as appropriate to get the action target.
- * Add the action(s) to the target and call <code>update</code> to commit
- * any changes to the underlying widgets.
- * </p><p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IActionBars {
-/**
- * Clears the global action handler list.
- * <p>
- * Note: Clients who manipulate the global action list are
- * responsible for calling <code>updateActionBars</code> so that the changes
- * can be propagated throughout the workbench.
- * </p>
- */
-public void clearGlobalActionHandlers();
-/**
- * Returns the global action handler for the action with the given id.  
- *
- * @param actionId an action id declared in the registry
- * @return an action handler which implements the action id, or
- *	 <code>null</code> if none is registered
- * @see IWorkbenchActionConstants
- * @see setGlobalActionHandler
- */
-public IAction getGlobalActionHandler(String actionId);
-/**
- * Returns the menu manager.
- * <p>
- * Note: Clients who add or remove items from the returned menu manager are
- * responsible for calling <code>updateActionBars</code> so that the changes
- * can be propagated throughout the workbench.
- * </p>
- *
- * @return the menu manager
- */
-public IMenuManager getMenuManager();
-/**
- * Returns the status line manager.
- * <p>
- * Note: Clients who add or remove items from the returned status line manager 
- * are responsible for calling <code>updateActionBars</code> so that the changes
- * can be propagated throughout the workbench.
- * </p>
- *
- * @return the status line manager
- */
-public IStatusLineManager getStatusLineManager();
-/**
- * Returns the tool bar manager.
- * <p>
- * Note: Clients who add or remove items from the returned tool bar manager are
- * responsible for calling <code>updateActionBars</code> so that the changes
- * can be propagated throughout the workbench.
- * </p>
- *
- * @return the tool bar manager
- */
-public IToolBarManager getToolBarManager();
-/**
- * Sets the global action handler for the action with the given id.
- * <p>
- * Note: Clients who manipulate the global action list are
- * responsible for calling <code>updateActionBars</code> so that the changes
- * can be propagated throughout the workbench.
- * </p>
- *
- * @param actionId an action id declared in the registry
- * @param handler an action which implements the action id, or
- *	<code>null</code> to clear any existing handler
- * @see IWorkbenchActionConstants
- */
-public void setGlobalActionHandler(String actionId, IAction handler);
-/**
- * Updates the action bars.
- * <p>
- * Clients who add or remove items from the menu, tool bar, or status line
- * managers should call this method to propagated the changes throughout 
- * the workbench.
- * </p>
- */
-public void updateActionBars();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionDelegate.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionDelegate.java
deleted file mode 100644
index b88cfd5..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionDelegate.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-
-/**
- * Interface for actions contributed via an extension point.
- * <p>
- * This interface should be implemented by clients who need to contribute actions
- * via an extension point. The workbench will generate a <b>proxy action</b> 
- * object on behalf of the plug-in to avoid having to activate the plug-in until 
- * the user needs it. If the action is performed the workbench will load the class 
- * that implements this interface and create what is called an <b>action 
- * delegate</b> object. Then the request, and all subsequent ones, are
- * forwarded through the proxy action to the action delegate, which does the
- * real work. 
- * </p><p>
- * The proxy action is the one that appears in the UI, so the action delegate 
- * will need to talk to the proxy action in order to keep up an appropriate 
- * appearance. Once the action delegate has been created, it will be
- * notified of all selection changes, allowing it to enable or disable the 
- * proxy action appropriately.
- * </p><p>
- * An action delegates cannot be consulted about selection changes before the
- * action is performed because it does not exist.  For this reason, control 
- * of action's enable state should also be exercised through simple XML rules 
- * contained in the extension.  These rules allow enable state control before 
- * the action delegate's plug-in is loaded.
- * </p>
- * @see org.eclipse.ui.IActionDelegate2
- */
-public interface IActionDelegate {
-	/**
-	 * Performs this action.
-	 * <p>
-	 * This method is called when the delegating action has been triggered.
-	 * Implement this method to do the actual work.
-	 * </p>
-	 *
-	 * @param action the action proxy that handles the presentation portion of the
-	 *   action
-	 */
-	public void run(IAction action);
-	
-	/**
-	 * Notifies this action delegate that the selection in the workbench has changed.
-	 * <p>
-	 * Implementers can use this opportunity to change the availability of the
-	 * action or to modify other presentation properties.
-	 * </p>
-	 *
-	 * @param action the action proxy that handles presentation portion of 
-	 * 		the action
-	 * @param selection the current selection, or <code>null</code> if there
-	 * 		is no selection.
-	 */
-	public void selectionChanged(IAction action, ISelection selection);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionDelegate2.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionDelegate2.java
deleted file mode 100644
index 6bbd3be..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionDelegate2.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.swt.widgets.Event;
-
-/**
- * Interface extension to <code>IActionDelegate</code> adding lifecycle methods
- * and including the triggering SWT event in the <code>runWithEvent</code>
- * method.
- * <p>
- * An action delegate that implements this interface will have its
- * <code>runWithEvent(IAction, Event)</code> called instead of the
- * <code>run(IAction)</code> method.
- * </p><p>
- * Clients should implement this interface, in addition to
- * <code>IActionDelegate</code> or sub-interfaces, if interested in the
- * triggering event or in the lifecycle of the delegate object.
- * </p>
- *
- * @see org.eclipse.ui.IActionDelegate
- * @since 2.1
- */
-public interface IActionDelegate2 extends IActionDelegate {
-	/**
-	 * Allows the delegate to initialize itself after being created by the proxy
-	 * action. This lifecycle method is called after the delegate has been
-	 * created and before any other method of the delegate is called.
-	 * 
-	 * @param action the proxy action that handles the presentation portion of
-	 * the action.
-	 */
-	public void init(IAction action);
-	
-	/**
-	 * Allows the delegate to clean up. This lifecycle method is called when the
-	 * proxy action is done with this delegate. This is the last method called.
-	 */
-	public void dispose();
-	
-	/**
-	 * Performs this action, passing the SWT event which triggered it. This
-	 * method is called when the delegating action has been triggered. Implement
-	 * this method to do the actual work.
-	 * <p>
-	 * <b>Note:</b> This method is called instead of <code>run(IAction)</code>.
-	 *
-	 * @param action the action proxy that handles the presentation portion of
-	 * the action
-	 * @param event the SWT event which triggered this action being run
-	 * @since 2.0
-	 */
-	public void runWithEvent(IAction action, Event event);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionDelegateWithEvent.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionDelegateWithEvent.java
deleted file mode 100644
index 5f702d3..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionDelegateWithEvent.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * Copyright (c) 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.jface.action.IAction;
-import org.eclipse.swt.widgets.Event;
-
-/**
- * This interface is a mixin interface for action delegates, adding the ability to
- * examine the triggering SWT event when it is run.
- * If an action delegate implements this interface, then <code>runWithEvent(IAction, Event)</code>
- * is called instead of <code>run(IAction)</code>.
- * <p>
- * Clients should implement this interface, in addition to <code>IActionDelegate</code> 
- * (or subinterface), if they need to examine the triggering event.
- * Otherwise, they should simply implement <code>IActionDelegate</code> (or subinterface).
- * <p>
- * NOTE: This is experimental API, which may change in the future.
- *
- * @since 2.0
- * @deprecated Use org.eclipse.ui.IActionDelegate2 instead.
- */
-public interface IActionDelegateWithEvent {
-
-/**
- * Performs this action, passing the SWT event which triggered it.
- * <p>
- * This method is called when the delegating action has been triggered.
- * Implement this method to do the actual work.
- * If an action delegate implements this interface, this method
- * is called instead of <code>run(IAction)</code>.
- * <p>
- * NOTE: This is experimental API, which may change in the future.
- *
- * @param action the action proxy that handles the presentation portion of the action
- * @param event the SWT event which triggered this action being run 
- * @since  2.0
- * @deprecated Use org.eclipse.ui.IActionDelegate2 instead.
- */
-public void runWithEvent(IAction action, Event event);
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionFilter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionFilter.java
deleted file mode 100644
index c4ed14e..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionFilter.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * An adapter which performs action filtering.
- * <p>
- * Within the workbench a plugin may extend the actions which appear in the
- * context menu for any object.  The visibility of each action extension is controlled
- * by action filtering.  By default, the workbench will filter each action extension using 
- * the <code>objectClass</code> and optional <code>nameFilter</code> attributes defined
- * in xml.  If the action extension passes this test the action will be added to the 
- * context menu for the object. 
- * </p>
- * <p>
- * In some situations the object class and name are not enough to describe the intended
- * target action.  In those situations an action extension may define one or more 
- * <code>filter</code> sub-elements.  Each one of these elements describes one attribute of 
- * the action target using a <code>name value</code> pair.  The attributes for an object 
- * are type specific and beyond the domain of the workbench itself, so the workbench 
- * will delegate filtering at this level to an <code>IActionFilter</code>.  This is a 
- * filtering strategy which is provided by the selection itself and may perform type 
- * specific filtering.
- * </p>
- * <p>
- * The workbench will retrieve the filter from the selected object by testing to see
- * if it implements <code>IActionFilter</code>.  If that fails, the workbench will ask for
- * a filter through through the <code>IAdaptable</code> mechanism.  If a filter is
- * found the workbench will pass each name value pair to the filter to determine if it 
- * matches the state of the selected object.  If so, or there is no filter, the action 
- * will be added to the context menu for the object. 
- * </p>
- * <p>
- * The attribute names for <code>IResource, IMarker and IProject</code> are defined
- * in <code>IResourceActionFilter, IMarkerActionFilter, and IProjectActionFilter</code>.
- * </p>
- *
- * @see IAdaptable
- * @see IResourceActionFilter
- * @see IMarkerActionFilter
- * @see IProjectActionFilter
- */
-public interface IActionFilter {
-/**
- * Returns whether the specific attribute matches the state of the target
- * object.
- *
- * @param target the target object
- * @param name the attribute name
- * @param value the attriute value
- * @return <code>true</code> if the attribute matches; <code>false</code> otherwise
- */
-public boolean testAttribute(Object target, String name, String value);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ICapabilityInstallWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ICapabilityInstallWizard.java
deleted file mode 100644
index 6828408..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ICapabilityInstallWizard.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.ui;
-
-/**********************************************************************
-Copyright (c) 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:
-**********************************************************************/
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizard;
-
-/**
- * Interface for project capability install wizard. The wizard is
- * responsible for collecting any necessary information from the
- * user and adding this capability's nature along with all other
- * natures from capabilities this capability handles the UI for.
- * <p>
- * The install wizard must only add natures that represent the
- * capability and any capabilities it handles the UI for. The
- * install wizard must handle the situation where some or all
- * of the required capabilites are already installed.
- * </p><p>
- * The <code>IProject</code> passed in the init method will exist
- * and can be queried for the existance of other natures. The
- * install wizard must <b>not</b> close nor delete the project
- * passed in the init method. The install wizard must <b>not</b>
- * rename the project passed in the init method.
- * </p><p>
- * The install wizard can change the location of the project if
- * required, but must inform the user of this action.
- * </p><p>
- * Clients should implement this interface and include the name of their class
- * in an extension contributed to the workbench's capabilities wizard extension point 
- * (named <code>"org.eclipse.ui.capabilities"</code>).
- * </p>
- *
- * @see org.eclipse.jface.wizard.IWizard
- * @see org.eclipse.ui.ICapabilityUninstallWizard
- * @since 2.0
- */
-public interface ICapabilityInstallWizard extends IWizard {
-	
-	/**
-	 * Initializes this capability wizard using the passed workbench,
-	 * object selection, and project.
-	 * <p>
-	 * This method is called after the no argument constructor and
-	 * before other methods are called.
-	 * </p>
-	 *
-	 * @param workbench the current workbench
-	 * @param selection the current object selection
-	 * @param project the project to configure with a capability
-	 */
-	public void init(IWorkbench workbench, IStructuredSelection selection, IProject project);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ICapabilityUninstallWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ICapabilityUninstallWizard.java
deleted file mode 100644
index 114e0c5..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ICapabilityUninstallWizard.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.ui;
-
-/**********************************************************************
-Copyright (c) 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:
-**********************************************************************/
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizard;
-
-/**
- * Interface for project capability uninstall wizard. The wizard is
- * responsible for collecting any necessary information from the
- * user and removing this capability's nature. Also must remove natures
- * from capabilities that the user wants removed - capabilites that this
- * capability handles the UI for. These other capabilities that the user
- * wants removed will be provided in the <code>init</code> method.
- * <p>
- * The uninstall wizard must only remove natures that are passed in
- * its <code>init</code> method.
- * </p><p>
- * The <code>IProject</code> passed in the init method will exist
- * and can be queried for the existance of other natures. The
- * uninstall wizard must <b>not</b> close nor delete the project
- * passed in the <code>init</code> method. The install wizard must
- * <b>not</b> rename the project passed in the <code>init</code> method.
- * </p><p>
- * The uninstall wizard can change the location of the project if
- * required, but must inform the user of this action.
- * </p><p>
- * Clients should implement this interface and include the name of their class
- * in an extension contributed to the workbench's capabilities wizard extension point 
- * (named <code>"org.eclipse.ui.capabilities"</code>).
- * </p>
- *
- * @see org.eclipse.jface.wizard.IWizard
- * @see org.eclipse.ui.ICapabilityInstallWizard
- * @since 2.0
- */
-public interface ICapabilityUninstallWizard extends IWizard {
-	
-	/**
-	 * Initializes this capability wizard using the passed workbench,
-	 * object selection, project, and nature IDs.
-	 * <p>
-	 * This method is called after the no argument constructor and
-	 * before other methods are called.
-	 * </p><p>
-	 * The list of nature IDs contains the nature ID for this
-	 * capability. Also includes nature IDs for capabilities that
-	 * the user wants removed - capabilites that this capability
-	 * handles the UI for.
-	 * </p>
-	 *
-	 * @param workbench the current workbench
-	 * @param selection the current object selection
-	 * @param project the project to configure with a capability
-	 * @param natureIds the nature ids to be removed from the project
-	 */
-	public void init(IWorkbench workbench, IStructuredSelection selection, IProject project, String[] natureIds);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ICapabilityWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ICapabilityWizard.java
deleted file mode 100644
index a36671c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ICapabilityWizard.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.eclipse.ui;
-
-/**********************************************************************
-Copyright (c) 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:
-**********************************************************************/
-
-/**
- * Interface for project capability configuration wizards.
- * <p>
- * Clients should implement this interface and include the name of their class
- * in an extension contributed to the workbench's capabilities wizard extension point 
- * (named <code>"org.eclipse.ui.capabilities"</code>).
- * </p>
- *
- * @see org.eclipse.jface.wizard.IWizard
- * @see org.eclipse.ui.ICapabilityInstallWizard
- * @since 2.0
- * @deprecated use ICapabilityInstallWizard instead. This interface
- * 		will be deleted for M6 milestone build.
- */
-public interface ICapabilityWizard extends ICapabilityInstallWizard {
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IContainmentAdapter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IContainmentAdapter.java
deleted file mode 100644
index fd78224..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IContainmentAdapter.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/************************************************************************
-Copyright (c) 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-package org.eclipse.ui;
-
-/**
- * This adapter interface provides a way to test element containment.
- * The workbench uses this interface in the Navigator and Tasks views
- * to test if a given resource is part of a working set.
- * 
- * @since 2.1
- */
-public interface IContainmentAdapter {
-	
-/**
- * Returns whether the given element is considered contained 
- * in the specified containment context or if it is the context 
- * itself.
- *
- * @param containmentContext object that provides containment 
- * 	context for the element. This is typically a container object 
- * 	(e.g., IFolder) and may be the element object itself. 
- * @param element object that should be tested for containment
- * @param includeDescendents whether to consider descendents of the 
- * 	container elements. Direct children are always tested.
- * @param includeAncestors whether to consider ancestors of the 
- * 	container.
- */
-boolean contains(Object containmentContext, Object element, boolean includeDescendents, boolean includeAncestors);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IContributorResourceAdapter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IContributorResourceAdapter.java
deleted file mode 100644
index 397332b..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IContributorResourceAdapter.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * Copyright (c) 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.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * The IContributorResourceAdapter is an interface that defines
- * the API required to get a resource that an object adapts to
- * for use of object contributions, decorators and property
- * pages that have adaptable = true.
- * Implementors of this interface are typically registered with an
- * IAdapterFactory for lookup via the getAdapter() mechanism.
- */
-
-public interface IContributorResourceAdapter {
-	
-	/**
-	 * Return the resource that the supplied adaptable 
-	 * adapts to. An IContributorResourceAdapter assumes
-	 * that any object passed to it adapts to one equivalent
-	 * resource.
-	 * @return <code>IResource</code> or <code>null</code> if there
-	 * 	is no adapted resource for this type.
-	 * @param IAdaptable the adaptable being queried.
-	 */
-	
-	public IResource getAdaptedResource(IAdaptable adaptable);
-
-}
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IDecoratorManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IDecoratorManager.java
deleted file mode 100644
index defdf58..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IDecoratorManager.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * Copyright (c) 2002,2003 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.runtime.CoreException;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.jface.viewers.ILightweightLabelDecorator;
-
-/**
- * Manages the decorators contributed via the decorators extension point.
- * Views which allow decoration of their elements should use the label
- * decorator returned by <code>getLabelDecorator()</code>.This class is not
- * intended to be implemented by clients.
- */
-
-public interface IDecoratorManager {
-
-	/**
-	 * Returns the label decorator which applies the decorations from all
-	 * enabled decorators.
-	 * Views which allow decoration of their elements should use this 
-	 * label decorator.
-	 *
-	 * @return the label decorator
-	 * @see DecoratingLabelProvider
-	 */
-	ILabelDecorator getLabelDecorator();
-
-	/**
-	 * Return the IBaseLabelProvider that corresponds to the
-	 * decoratorId. This cab handle both lightweight and full
-	 * decorators.
-	 * 
-	 * @param decoratorId the decorator id
-	 * @return the label provider
-	 */
-	IBaseLabelProvider getBaseLabelProvider(String decoratorId);
-
-	/**
-	 * Returns the full label decorator instance for the specified decorator id
-	 * if it is enabled. Otherwise returns <code>null</code>. Returns
-	 * <code>null</code> for lightweight decorators. It is recommended that
-	 * getBaseLabelProvider is used instead so that lightweight decorators are
-	 * also checked.
-	 * 
-	 * @param decoratorId the decorator id
-	 * @return the label decorator
-	 */
-	ILabelDecorator getLabelDecorator(String decoratorId);
-
-	/**
-	 * Returns the lightweight label decorator instance for the specified 
-	 * decorator id if it is enabled. Otherwise returns <code>null</code>.
-	 * Returns <code>null</code> for heavyweight decorators.
-	 * Use <code>getLabelDecorator</code> instead for heavyweight 
-	 * decorators.
-	 * 
-	 * @param decoratorId the decorator id
-	 * @return the lightweight label decorator
-	 * @deprecated use getBaseLabelProvider(String) instead.
-	 */
-	ILightweightLabelDecorator getLightweightLabelDecorator(String decoratorId);
-
-	/**
-	 * Returns whether the specified decorator is enabled.
-	 * 
-	 * @param decoratorId the decorator id
-	 * @return <code>true</code> if the decorator is enabled, or
-	 *   <code>false</code> if not
-	 */
-	boolean getEnabled(String decoratorId);
-
-	/**
-	 * Sets whether the specified decorator is enabled.
-	 * 
-	 * @param decoratorId the decorator id
-	 * @param enabled <code>true</code> to enable the decorator, or
-	 * <code>false</code> to disable it
-	 * @throws CoreException if the decorator cannot be instantiated
-	 */
-	void setEnabled(String decoratorId, boolean enabled) throws CoreException;
-
-	/**
-	 * Fire a LabelProviderChangedEvent for the decorator that corresponds to
-	 * decoratorID if it exists and is enabled using the IBaseLabelProvider
-	 * as the argument to the event. Otherwise do nothing.
-	 * 
-	 * @param decoratorId the decorator id
-	 */
-	void update(String decoratorId);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorActionBarContributor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorActionBarContributor.java
deleted file mode 100644
index 3df2f78..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorActionBarContributor.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * A editor action bar contributor defines the actions for
- * one or more editors.  
- * <p>
- * Within the workbench there may be more than one open editor of a particular
- * type.  For instance, there may be 1 or more open Java Editors.  To avoid the 
- * creation of duplicate actions and action images the editor concept has been 
- * split into two.  An action contributor is responsable for the creation of 
- * actions.  The editor is responsible for action implementation.  Furthermore,
- * the contributor is shared by each open editor.  As a result of this design
- * there is only 1 set of actions for 1 or more open editors.
- * </p><p>
- * The relationship between editor and contributor is defined by
- * the <code>org.eclipse.ui.editorss</code> extension point in the plugin registry.  
- * For each extension an editor class and a contributor class must be defined. 
- * </p><p>
- * This interface should not be implemented directly. An implementation of this 
- * interface has been created in <code>EditorActionBarContributor</code>.  
- * Implementors should subclass this and specialize as required.
- * </p>
- *
- * @see org.eclipse.ui.actions.EditorActionBarContributor
- */
-public interface IEditorActionBarContributor {
-/**
- * Initializes this contributor, which is expected to add contributions as
- * required to the given action bars and global action handlers.
- * <p>
- * The page is passed to support the use of <code>RetargetAction</code> by 
- * the contributor. In this case the init method implementors should: 
- * </p>
- * <p><ul>
- * <li>1) set retarget actions as global action handlers</li>
- * <li>2) add the retarget actions as part listeners</li>
- * <li>3) get the active part and if not <code>null</code> 
- * call partActivated on the retarget actions</li>
- * </ul></p>
- * <p>
- * And in the dispose method the retarget actions should be removed as part listeners.
- * </p>
- * 
- * @param bars the action bars
- * @param page the workbench page for this contributor
- * @since 2.0
- */
-public void init(IActionBars bars, IWorkbenchPage page);
-/**
- * Sets the active editor for the contributor.  
- * Implementors should disconnect from the old editor, connect to the 
- * new editor, and update the actions to reflect the new editor.
- *
- * @param targetEditor the new editor target
- */
-public void setActiveEditor(IEditorPart targetEditor);
-/**
- * Disposes this contributor. 
- * 
- * @since 2.0
- */
-public void dispose();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorActionDelegate.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorActionDelegate.java
deleted file mode 100644
index 27f874e..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorActionDelegate.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.IAction;
-
-/**
- * Interface for an action that is contributed into an editor-activated menu or
- * tool bar. It extends <code>IActionDelegate</code> and adds a method for 
- * connecting the delegate to the editor it should work with. Since there is
- * always only one action delegate per editor type, this method supplies the
- * link to the currently active editor instance.
- */
-public interface IEditorActionDelegate extends IActionDelegate {
-/**
- * Sets the active editor for the delegate.  
- * Implementors should disconnect from the old editor, connect to the 
- * new editor, and update the action to reflect the new editor.
- *
- * @param action the action proxy that handles presentation portion of the action
- * @param targetEditor the new editor target
- */
-public void setActiveEditor(IAction action, IEditorPart targetEditor);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorDescriptor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorDescriptor.java
deleted file mode 100644
index 6eca1ef..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorDescriptor.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * Description of an editor in the workbench editor registry. The
- * editor descriptor contains the information needed to create editor instances.
- * <p>
- * An editor descriptor typically represents one of three types of editors:
- * <ul>
- *   <li>a file editor extension for a specific file extension.</li>
- *   <li>a file editor added by the user (via the workbench preference page)</li>
- *   <li>a general editor extension which works on objects other than files.</li>
- * </ul>
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- *
- * @see IEditorRegistry
- */
-public interface IEditorDescriptor extends IWorkbenchPartDescriptor {
-/**
- * Returns the editor id.
- * <p>
- * For internal editors, this is the extension id as defined in the workbench
- * registry; for external editors, it is path and file name of the external 
- * program.
- * </p>
- *
- * @return the id of the editor
- */
-public String getId();
-/**
- * Returns the descriptor of the image for this editor.
- *
- * @return the descriptor of the image to display next to this editor
- */
-public ImageDescriptor getImageDescriptor();
-/**
- * Returns the label to show for this editor.
- *
- * @return the editor label
- */
-public String getLabel();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorInput.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorInput.java
deleted file mode 100644
index 1641047..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorInput.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * <code>IEditorInput</code> is a light weight descriptor of editor input,
- * like a file name but more abstract.  It is not a model.  It is a 
- * description of the model source for an <code>IEditorPart</code>.
- * <p>
- * Clients should extend this interface to declare new types of editor
- * inputs.
- * </p>
- * <p>
- * An editor input is passed to an editor via the <code>IEditorPart.init</code>
- * method. Due to the wide range of valid editor inputs, it is not possible to
- * define generic methods for getting and setting bytes. However, two subtypes 
- * of <code>IEditorInput</code> have been defined for greater type clarity when
- * IStorage (<code>IStorageEditorInput</code>) and IFiles 
- * (<code>IFileEditorInput</code>) are used. Any editor which is file-oriented
- * should handle these two types. The same pattern may be used to define
- * other editor input types.  
- * </p>
- * <p>
- * The <code>IStorageEditorInput</code> interface is used to wrap an 
- * <code>IStorage</code> object.  This may represent read-only data
- * in a repository, external jar, or file system. The editor should provide 
- * viewing (but not editing) functionality.
- * </p>
- * <p>
- * The <code>IFileEditorInput</code> interface is used to wrap an 
- * file resource (<code>IFile</code>). The editor should provide read and write
- * functionality.
- * </p>
- * <p>
- * Editor input must implement the <code>IAdaptable</code> interface; extensions
- * are managed by the platform's adapter manager.
- * </p>
- *
- * @see IEditorPart
- * @see org.eclipse.core.resources.IFile
- * @see IStreamEditorInput
- * @see IFileEditorInput
- */
-public interface IEditorInput extends IAdaptable {
-/**
- * Returns whether the editor input exists.  
- * <p>
- * This method is primarily used to determine if an editor input should 
- * appear in the "File Most Recently Used" menu.  An editor input will appear 
- * in the list until the return value of <code>exists</code> becomes 
- * <code>false</code> or it drops off the bottom of the list.
- *
- * @return <code>true</code> if the editor input exists; <code>false</code>
- *		otherwise
- */ 
-public boolean exists();
-/**
- * Returns the image descriptor for this input.
- *
- * @return the image descriptor for this input
- */
-public ImageDescriptor getImageDescriptor();
-/**
- * Returns the name of this editor input for display purposes.
- * <p>
- * For instance, if the fully qualified input name is
- * <code>"a\b\MyFile.gif"</code>, the return value would be just
- * <code>"MyFile.gif"</code>.
- *
- * @return the name string
- */ 
-public String getName();
-/*
- * Returns an object that can be used to save the state of this editor input.
- *
- * @return the persistable element, or <code>null</code> if this editor input
- *   cannot be persisted
- */
-public IPersistableElement getPersistable();
-/**
- * Returns the tool tip text for this editor input.  This text
- * is used to differentiate between two input with the same name.
- * For instance, MyClass.java in folder X and MyClass.java in folder Y.
- * <p> 
- * The format of the path will vary with each input type.  For instance,
- * if the editor input is of type <code>IFileEditorInput</code> this method
- * should return the fully qualified resource path.  For editor input of
- * other types it may be different. 
- * </p>
- * @return the tool tip text
- */ 
-public String getToolTipText();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorLauncher.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorLauncher.java
deleted file mode 100644
index a03c7a4..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorLauncher.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IFile;
-
-/**
- * An editor launcher is used to launch external editors on an
- * <code>IFile</code>input.
- * <p>
- * Clients should implement this interface to define a new type of editor
- * launcher.  Each new launcher must be registered as an editor in the 
- * workbench's editor extension point 
- * (named <code>"org.eclipse.ui.exportWizards"</code>).
- *
- * For example, the plug-in's XML markup might contain:
- * <pre>
- * &LT;extension point = "org.eclipse.ui.editors"&GT;
- *   &LT;editor
- *       id="org.eclipse.ui.SwingEditorLauncher"
- *       name="Swing Editor"
- *       extensions="xml"
- *       launcher="org.eclipse.ui.examples.swingeditor.SwingEditorLauncher"
- *       icon="icons/xml.gif"&GT;
- *   &LT;/editor&GT;
- * &LT;/extension&GT;
- * </pre>
- * </p><p>
- * In this example a launcher has been registered for use with <code>xml</code>
- * files.  Once registered, the launcher will appear in the <code>Open With</code>
- * menu for an <code>xml</code> file.  If the item is invoked the workbench will
- * create an instance of the launcher class and call <code>open</code> on it,
- * passing the input file.
- * </p>
- */
-public interface IEditorLauncher{
-/**
- * Launches this external editor to edit the given file.
- *
- * @param file the file to edit
- */
-public void open(IFile file);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorPart.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorPart.java
deleted file mode 100644
index 0534a70..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorPart.java
+++ /dev/null
@@ -1,155 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * An editor is a visual component within a workbench page. It is
- * typically used to edit or browse a document or input object. The input 
- * is identified using an <code>IEditorInput</code>.  Modifications made 
- * in an editor part follow an open-save-close lifecycle model (in contrast 
- * to a view part, where modifications are saved to the workbench 
- * immediately).
- * <p>
- * An editor is document or input-centric.  Each editor has an input, and only
- * one editor can exist for each editor input within a page.  This policy has 
- * been designed to simplify part management.  
- * </p><p>
- * An editor should be used in place of a view whenever more than one instance
- * of a document type can exist.
- * </p><p>
- * This interface may be implemented directly.  For convenience, a base
- * implementation is defined in <code>EditorPart</code>.
- * </p>
- * <p>
- * An editor part is added to the workbench in two stages:
- * <ol>
- * 	<li>An editor extension is contributed to the workbench registry. This
- *    extension defines the extension id, extension class, and the file 
- *    extensions which are supported by the editor.</li>
- *  <li>An editor part based upon the extension is created and added to the
- *    workbench when the user opens a file with one of the supported file
- *    extensions (or some other suitable form of editor input).</li>
- * </ol>
- * </p>
- * <p>
- * All editor parts implement the <code>IAdaptable</code> interface; extensions
- * are managed by the platform's adapter manager.
- * </p>
- *
- * @see IPerspective#openEditor
- * @see org.eclipse.ui.part.EditorPart
- */
-public interface IEditorPart extends IWorkbenchPart {
-
-	/**
-	 * The property id for <code>isDirty</code>.
-	 */
-	public static final int PROP_DIRTY = 0x101;
-
-	/**
-	 * The property id for <code>getEditorInput</code>.
-	 */
-	public static final int PROP_INPUT = 0x102;
-/**
- * Saves the contents of this editor.
- * <p>
- * If the save is successful, the editor should fire a property changed event 
- * reflecting the new dirty state (<code>PROP_SAVE_NEEDED</code> property).
- * </p>
- * <p>
- * If the save is cancelled through user action, or for any other reason, the
- * editor should invoke <code>setCancelled</code> on the <code>monitor</code>
- * to inform the caller.
- * </p>
- * <p>
- * This method is long-running; progress and cancellation are provided
- * by the given progress monitor. 
- * </p>
- *
- * @param monitor the progress monitor
- */
-public void doSave(IProgressMonitor monitor);
-/**
- * Saves the contents of this editor to another object.
- * <p>
- * Implementors are expected to open a "save as" dialog where the user will
- * be able to select a new name for the contents. After the selection is made,
- * the contents should be saved to that new name.  During this operation a
- * <code>ProgressMonitorDialog</code> should be used to indicate progress.
- * </p>
- * <p>
- * If the save is successful, the editor fires a property changed event 
- * reflecting the new dirty state (<code>PROP_SAVE_NEEDED</code> property).
- * </p>
- */
-public void doSaveAs();
-/**
- * Returns the input for this editor.  If this value changes the part must 
- * fire a property listener event with <code>PROP_INPUT</code>.
- *
- * @return the editor input
- */
-public IEditorInput getEditorInput();
-/**
- * Returns the site for this editor. The method is equivalent to 
- * <code>(IEditorSite) getSite()</code>.
- *
- * @return the editor site
- */
-public IEditorSite getEditorSite();
-/**
- * Sets the cursor and selection state for this editor to the passage defined
- * by the given marker.
- *
- * @param marker the marker
- */
-public void gotoMarker(IMarker marker);
-/**
- * Initializes this editor with the given editor site and input.
- * <p>
- * This method is automatically called shortly after part construction; it marks
- * the start of the part's lifecycle. The 
- * {@link IWorkbenchPart#dispose IWorkbenchPart.dispose} method will be called 
- * automically at the end of the lifecycle. Clients must not call this method.
- * </p><p>
- * Implementors of this method must examine the editor input object type to
- * determine if it is understood.  If not, the implementor must throw
- * a <code>PartInitException</code>
- * </p>
- * @param site the editor site
- * @param input the editor input
- * @exception PartInitException if this editor was not initialized successfully
- */
-public void init(IEditorSite site, IEditorInput input) throws PartInitException;
-/**
- * Returns whether the contents of this editor have changed since the last save
- * operation.  If this value changes the part must fire a property listener 
- * event with <code>PROP_DIRTY</code>.
- * <p>
- *
- * @return <code>true</code> if the contents have been modified and need
- *   saving, and <code>false</code> if they have not changed since the last
- *   save
- */
-public boolean isDirty();
-/**
- * Returns whether the "save as" operation is supported by this editor.
- *
- * @return <code>true</code> if "save as" is supported, and <code>false</code>
- *  if "save as" is not supported
- */
-public boolean isSaveAsAllowed();
-/**
- * Returns whether the contents of this editor should be saved when the editor
- * is closed.
- *
- * @return <code>true</code> if the contents of the editor should be saved on
- *   close, and <code>false</code> if the contents are expendable
- */
-public boolean isSaveOnCloseNeeded();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorReference.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorReference.java
deleted file mode 100644
index 3088c9d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorReference.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.ui;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-/**
- * Implements a reference to a editor.
- * The IEditorPart will not be instanciated until
- * the editor becomes visible or the API getEditor
- * is sent with true;
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IEditorReference extends IWorkbenchPartReference {
-	/**
-	 * Returns the factory id of the factory used to 
-	 * restore this editor. Returns null if the editor
-	 * is not pesistable.
-	 */
-	public String getFactoryId();
-	/**
-	 * Returns the editor input name. May return null is the
-	 * name is not available or if the editor failed to be 
-	 * restored.
-	 */
-	public String getName();
-	/**
-	 * Returns the IEditorPart referenced by this object.
-	 * Returns null if the editors was not instanciated or
-	 * it failed to be restored. Tries to restore the editor
-	 * if <code>restore</code> is true.
-	 */
-	public IEditorPart getEditor(boolean restore);
-	/**
-	 * Returns true if the editor is dirty otherwise returns false.
-	 */
-	public boolean isDirty();
-	/**
-	 * Returns true if the editor is pinned otherwise returns false.
-	 */
-	public boolean isPinned();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorRegistry.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorRegistry.java
deleted file mode 100644
index bc8a6b0..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorRegistry.java
+++ /dev/null
@@ -1,194 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IFile;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * Registry of editors known to the workbench.
- * <p>
- * An editor can be created in one of two ways:
- * <ul>
- *   <li>An editor can be defined by an extension to the workbench.</li>
- *   <li>The user manually associates an editor with a given resource extension
- *      type. This will override any default workbench or platform association.
- *      </li>
- * </ul>
- * </p>
- * <p>
- * The registry does not keep track of editors that are "implicitly" determined.
- * For example a bitmap (<code>.bmp</code>) file will typically not have a 
- * registered editor. Instead, when no registered editor is found, the 
- * underlying OS is consulted.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * 
- * @see IWorkbenchPlugin#getEditorRegistry
- */
-public interface IEditorRegistry {
-
-	/**
-	 * The property id for the contents of this registry.
-	 */
-	public static final int PROP_CONTENTS = 0x01;
-/**
- * Adds a listener for changes to properties of this registry.
- * Has no effect if an identical listener is already registered.
- * <p>
- * The properties ids are as follows:
- * <ul>
- *   <li><code>PROP_CONTENTS</code>: Triggered when the file editor mappings in
- *       the editor registry change.</li>
- * </ul>
- * </p>
- * <p>
- * [Issue: Check handling of identical listeners.]
- * </p>
- *
- * @param listener a property listener
- */
-public void addPropertyListener(IPropertyListener listener);
-/**
- * Finds and returns the descriptor of the editor with the given editor id.
- *
- * @param editorId the editor id
- * @return the editor descriptor with the given id, or <code>null</code> if not
- *   found
- */
-public IEditorDescriptor findEditor(String editorId);
-/**
- * Returns the default editor used for all unmapped resource types.
- * There is always a default editor.
- *
- * @return the descriptor of the default editor
- */
-public IEditorDescriptor getDefaultEditor();
-/**
- * Returns the default editor for a given file name.  
- * <p>
- * The default editor is determined by taking the file extension for the
- * file and obtaining the default editor for that extension.
- * </p>
- *
- * @param filename the file name
- * @return the descriptor of the default editor, or <code>null</code> if not
- *   found
- */
-public IEditorDescriptor getDefaultEditor(String fileName) ;
-/**
- * Returns the default editor for a given file.
- * <p>
- * A default editor id may be registered for a specific file using
- * <code>setDefaultEditor</code>.  If the given file has a registered
- * default editor id the default editor will derived from it.  If not, 
- * the default editor is determined by taking the file extension for the 
- * file and obtaining the default editor for that extension.
- * </p>
- *
- * @param file the file
- * @return the descriptor of the default editor, or <code>null</code> if not
- *   found
- */
-public IEditorDescriptor getDefaultEditor(IFile file) ;
-/**
- * Returns the list of file editors registered to work against the file
- * with the given file name. 
- * <p>
- * Note: Use <code>getDefaultEditor</code> if you only the need the default
- * editor rather than all candidate editors.
- * </p>
- *
- * @param filename the file name
- * @return a list of editor descriptors
- */
-public IEditorDescriptor[] getEditors(String filename) ;
-/**
- * Returns the list of file editors registered to work against the given
- * file. 
- * <p>
- * Note: Use <code>getDefaultEditor</code> if you only the need the default
- * editor rather than all candidate editors.
- * </p><p>
- * This is a convenience method for use with <code>IFile</code>'s.
- * </p>
- *
- * @param file the file
- * @return a list of editor descriptors
- */
-public IEditorDescriptor[] getEditors(IFile file) ;
-/**
- * Returns a list of mappings from file type to editor.  The resulting list
- * is sorted in ascending order by file extension.
- * <p>
- * Each mapping defines an extension and the set of editors that are 
- * available for that type. The set of editors includes those registered 
- * via plug-ins and those explicitly associated with a type by the user 
- * in the workbench preference pages.
- * </p>
- *
- * @return a list of mappings sorted alphabetically by extension
- */
-public IFileEditorMapping[] getFileEditorMappings();
-/**
- * Returns the image descriptor associated with a given file.  This image
- * is usually displayed next to the given file.
- * <p>
- * The image is determined by taking the file extension of the file and 
- * obtaining the image for the default editor associated with that extension.
- * A default image is returned if no default editor is available.
- * </p>
- *
- * @param filename the file name
- * @return the descriptor of the image to display next to the file
- */
-public ImageDescriptor getImageDescriptor(String filename) ;
-/**
- * Returns the image descriptor associated with a given file.  This image
- * is usually displayed next to the given file.
- * <p>
- * The image is determined by taking the file extension of the file and 
- * obtaining the image for the default editor associated with that extension.
- * A default image is returned if no default editor is available.
- * </p><p>
- * This is a convenience method for use with <code>IFile</code>'s.
- * </p>
- *
- * @param file the file
- * @return the descriptor of the image to display next to the given file
- */
-public ImageDescriptor getImageDescriptor(IFile file);
-/**
- * Removes the given property listener from this registry.
- * Has no affect if an identical listener is not registered.
- * <p>
- * [Issue: Check handling of identical listeners.]
- * </p>
- *
- * @param listener a property listener
- */
-public void removePropertyListener(IPropertyListener listener);
-/**
- * Sets the default editor id for a given file.  This value will be used
- * to determine the default editor descriptor for the file in future calls to
- * <code>getDefaultEditor(IFile)</code>.
- *
- * @param file the file
- * @param editorId the editor id
- */
-public void setDefaultEditor(IFile file, String editorId);
-/**
- * Sets the default editor id for a the files that match that
- * specified file name or extension. The specified editor must be
- * defined as an editor for that file name or extension.
- *
- * @param fileNamePattern the file name or pattern (e.g. "*.xml");
- * @param editorId the editor id
- */
-public void setDefaultEditor(String fileNameOrExtension, String editorId);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorSite.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorSite.java
deleted file mode 100644
index 7d3b8ae..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorSite.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * The primary interface between an editor part and the outside world.
- * <p>
- * The workbench exposes its implemention of editor part sites via this 
- * interface, which is not intended to be implemented or extended by clients.
- * </p>
- */
-public interface IEditorSite extends IWorkbenchPartSite {
-/**
- * Returns the editor action bar contributor for this editor.
- * <p>
- * An action contributor is responsable for the creation of actions.
- * By design, this contributor is used for one or more editors of the same type.
- * Thus, the contributor returned by this method is not owned completely
- * by the editor.  It is shared.
- * </p>
- *
- * @return the editor action bar contributor, or <code>null</code> if none exists
- */
-public IEditorActionBarContributor getActionBarContributor();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IElementFactory.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IElementFactory.java
deleted file mode 100644
index e671312..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IElementFactory.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * A factory for re-creating objects from a previously saved memento.
- * <p>
- * Clients should implement this interface and include the name of their class
- * in an extension to the platform extension point named
- * <code>"org.eclipse.ui.elementFactories"</code>.
- * For example, the plug-in's XML markup might contain:
- * <pre>
- * &LT;extension point="org.eclipse.ui.elementFactories"&GT;
- *    &LT;factory id="com.example.myplugin.MyFactory" class="com.example.myplugin.MyFactory" /&GT; 
- * &LT;/extension&GT;
- * </pre>
- * </p>
- *
- * @see IPersistableElement
- * @see IMemento
- */
-public interface IElementFactory {
-/**
- * Re-creates and returns an object from the state captured within the given 
- * memento. 
- * <p>
- * Under normal circumstances, the resulting object can be expected to be
- * persistable; that is,
- * <pre>
- * result.getAdapter(org.eclipse.ui.IPersistableElement.class)
- * </pre>
- * should not return <code>null</code>.
- * </p>
- *
- * @param memento a memento containing the state for the object
- * @return an object, or <code>null</code> if the element could not be created
- */
-public IAdaptable createElement(IMemento memento);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IExportWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IExportWizard.java
deleted file mode 100644
index 70393e3..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IExportWizard.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * Interface for export wizards.
- * <p>
- * Clients should implement this interface and include the name of their class
- * in a wizard contributed to the workbench's export wizard extension point 
- * (named <code>"org.eclipse.ui.exportWizards"</code>).
- * For example, the plug-in's XML markup might contain:
- * <pre>
- * &LT;extension point="org.eclipse.ui.exportWizards"&GT;
- *   &LT;wizard
- *       id="com.example.myplugin.blob"
- *       name="Blob File"
- *       class="com.example.myplugin.BlobFileExporter"
- *       icon="icons/export_blob_wiz.gif"&GT;
- *     &LT;description&GT;Export resources to a BLOB file&LT;/description&GT;
- *     &LT;selection class="org.eclipse.core.resources.IResource" /&GT; 
- *   &LT;/wizard&GT;
- * &LT;/extension&GT;
- * </pre>
- * </p>
-*
- * @see org.eclipse.jface.wizard.IWizard
- */
-public interface IExportWizard extends IWorkbenchWizard {
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IFileEditorInput.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IFileEditorInput.java
deleted file mode 100644
index c2b183a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IFileEditorInput.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IFile;
-
-/**
- * This interface defines a file-oriented input to an editor.
- * <p>
- * File-oriented editors should support this as a valid input type, and allow
- * full read-write editing of its content.
- * </p><p>
- * A default implementation of this interface is provided by 
- * org.eclipse.ui.part.FileEditorInput.  
- * </p><p>
- * All editor inputs must implement the <code>IAdaptable</code> interface;
- * extensions are managed by the platform's adapter manager.
- * </p>
- *
- * @see org.eclipse.core.resources.IFile
- */
-public interface IFileEditorInput extends IStorageEditorInput {
-/**
- * Returns the file resource underlying this editor input.
- *
- * @return the underlying file
- */
-public IFile getFile();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IFileEditorMapping.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IFileEditorMapping.java
deleted file mode 100644
index 6c36b28..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IFileEditorMapping.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * An association between a file name/extension and a list of known editors for 
- * files of that type.
- * <p>
- * The name and extension can never empty or null. The name may contain
- * the single wild card character (*) to indicate the editor applies to
- * all files with the same extension (e.g. *.doc). The name can never
- * embed the wild card character within itself (i.e. rep*)
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- *
- * @see IEditorRegistry#getFileEditorMappings
- */
-public interface IFileEditorMapping {
-/**
- * Returns the default editor registered for this type mapping.
- *
- * @return the descriptor of the default editor, or <code>null</code> if there
- *   is no default editor registered
- */
-public IEditorDescriptor getDefaultEditor();
-/**
- * Returns the list of editors registered for this type mapping.
- *
- * @return a possibly empty list of editors
- */
-public IEditorDescriptor[] getEditors();
-/**
- * Returns the list of editors formerly registered for this type mapping
- * which have since been deleted.
- *
- * @return a possibly empty list of editors
- */
-public IEditorDescriptor[] getDeletedEditors();
-/**
- * Returns the file's extension for this type mapping.
- *
- * @return the extension for this mapping
- */
-public String getExtension();
-/**
- * Returns the descriptor of the image to use for a file of this type.
- * <p>
- * The image is obtained from the default editor. A default file image is
- * returned if no default editor is available.
- * </p>
- *
- * @return the descriptor of the image to use for a resource of this type
- */
-public ImageDescriptor getImageDescriptor() ;
-/**
- * Returns the label to use for this mapping.
- * Labels have the form "<it>name</it>.<it>extension</it>".
- *
- * @return the label to use for this mapping
- */
-public String getLabel();
-/**
- * Returns the file's name for this type mapping.
- *
- * @return the name for this mapping
- */
-public String getName();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IFolderLayout.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IFolderLayout.java
deleted file mode 100644
index 16d7ebc..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IFolderLayout.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.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:
-**********************************************************************/
-
- 
-/**
- * An <code>IFolderLayout</code> is used to define the initial pages within a folder.
- * The folder itself is component within an <code>IPageLayout</code>.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- *
- * @see IPageLayout#createFolder
- */
-public interface IFolderLayout extends IPlaceholderFolderLayout {
-/**
- * Adds a view with the given id to this folder.
- * The id must name a view contributed to the workbench's view extension point 
- * (named <code>"org.eclipse.ui.views"</code>).
- *
- * @param viewId the view id
- */
-public void addView(String viewId);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IImportWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IImportWizard.java
deleted file mode 100644
index 59c7c19..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IImportWizard.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * Interface for import wizards.
- * <p>
- * Clients should implement this interface and include the name of their class
- * in a wizard contributed to the workbench's import wizard extension point 
- * (named <code>"org.eclipse.ui.importWizards"</code>).
- * For example, the plug-in's XML markup might contain:
- * <pre>
- * &LT;extension point="org.eclipse.ui.importWizards"&GT;
- *   &LT;wizard
- *       id="com.example.myplugin.blob"
- *       name="Blob File"
- *       class="com.example.myplugin.BlobFileImporter"
- *       icon="icons/import_blob_wiz.gif"&GT;
- *     &LT;description&GT;Import resources from a BLOB file&LT;/description&GT;
- *     &LT;selection class="org.eclipse.core.resources.IResource" /&GT; 
- *   &LT;/wizard&GT;
- * &LT;/extension&GT;
- * </pre>
- * </p>
- *
- * @see org.eclipse.jface.wizard.IWizard
- */
-public interface IImportWizard extends IWorkbenchWizard {
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IKeyBindingService.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IKeyBindingService.java
deleted file mode 100644
index 4a68321..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IKeyBindingService.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package org.eclipse.ui;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.IAction;
-import org.eclipse.swt.events.KeyEvent;
-
-/**
- * The key binding service is responsible for invoking an action
- * when the action's sequence of accelerator keys is pressed. The
- * accelerator key sequence assigned to an action is defined by the
- * extension point <code>org.eclipse.ui.acceleratorSets</code> and the
- * active accelerator configuration choosen by the user.
- * <p>
- * A participating workbench part is responsible to register all
- * its actions with the service. The part is also responsible to
- * set the current scope.
- * </p><p>
- * This interface is not intended to be implemented or extended
- * by clients.
- * </p>
- * @since 2.0
- */
-public interface IKeyBindingService {
-	
-	/**
-	 * Returns the active accelerator scope ids.
-	 * 
-	 * @return the active accelerator scope ids.
-	 */
-	String[] getScopeIds();
-	
-	/**
-	 * Sets the active accelerator scope ids.
-	 *
-	 * @param ids the active accelerator scope ids.
-	 */	
-	void setScopeIds(String[] scopeIds)
-		throws IllegalArgumentException;
-
-	/**
-	 * Registers an action with the key binding service.
-	 * 
-	 * @param action the action to be registered with the key binding service.
-	 */
-	void registerAction(IAction action)
-		throws IllegalArgumentException;
-			
-	/**
-	 * Unregisters an action with the key binding service. 
-	 * 
-	 * @param action the action to be unregistered with the key binding service.
-	 */	
-	void unregisterAction(IAction action)
-		throws IllegalArgumentException;
-		
-	/**
-	 * Returns the id of the active accelerator configuration.
-	 * 
-	 * @return the id of the active accelerator configuration
-	 * @deprecated
-	 */
-	String getActiveAcceleratorConfigurationId();
-	
-	/**
-	 * Returns the id of the active accelerator scope.
-	 * 
-	 * @return the id of the active accelerator scope
-	 * @deprecated
-	 */
-	String getActiveAcceleratorScopeId();	
-
-	/**
-	 * Sets the active accelerator scope id.
-	 * 
-	 * @param scopeId the new accelerator scope id
-	 * @deprecated
-	 */
-	void setActiveAcceleratorScopeId(String scopeId)
-		throws IllegalArgumentException;
-	
-	/**
-	 * To be called by an editor upon receiving a key event from its SWT
-	 * text widget. The key binding service invokes the corresponding action
-	 * if the key is mapped to an action. The key binding service may also
-	 * invoke a mode, if the key is the first key in a (multi-key) accelerator
-	 * key sequence of a registered action. If either of these cases occurs,
-	 * processKey() returns true. If neither of these cases occurs, nothing
-	 * happens and processKey() returns false.
-	 * 
-	 * @param event The key to be processed
-	 * @return true if the key was consumed by the key binding service,
-	 * false if the editor is free to consume the key
-	 * @deprecated
-	 */
-	boolean processKey(KeyEvent event);
-	
-	/**
-	 * Enables or Disables this service. The default is false. Registered accelerators
-	 * have no efect until the service is enabled;
-	 * 
-	 * @deprecated
-	 */	
-	void enable(boolean enable);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IMarkerActionFilter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IMarkerActionFilter.java
deleted file mode 100644
index ca2b173..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IMarkerActionFilter.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * Describes the public attributes for a marker and the acceptables values
- * each may have.  
- * <p>
- * A popup menu extension may use these constants to describe its object target.  
- * Each identifies an attribute name or possible value.  
- * <p>
- * Clients are not expected to implement this interface.
- * </p>
- *
- * @see IActionFilter
- */
-public interface IMarkerActionFilter extends IActionFilter {
-	/**
-	 * An attribute indicating the marker type (value <code>"type"</code>).  
-	 * The attribute value in xml should match one of the marker types defined in 
-	 * the workbench's marker extension point.  Common examples are 
-	 * <code>IMarker.TASK, IMarker.BOOKMARK, and IMarker.MARKER</code>.
-	 */
-	public static final String TYPE = "type"; //$NON-NLS-1$
-	
-	/**
-	 * An attribute indicating the marker super type (value <code>"superType"</code>).  
-	 * The attribute value in xml should match one of the marker types defined in 
-	 * the workbench's marker extension point.  Common examples are 
-	 * <code>IMarker.TASK, IMarker.BOOKMARK, and IMarker.MARKER</code>.
-	 */
-	public static final String SUPER_TYPE = "superType"; //$NON-NLS-1$
-	
-	/**
-	 * An attribute indicating the marker priority (value <code>"priority"</code>).
-	 * The attribute value in xml must be one of <code>IMarker.PRIORITY_LOW, 
-	 * IMarker.PRIORITY_NORMAL, or IMarker.PRIORITY_HIGH</code> 
-	 */
-	public static final String PRIORITY = "priority"; //$NON-NLS-1$
-
-	/**
-	 * An attribute indicating the marker severity (value <code>"severity"</code>).  
-	 * The attribute value in xml in xml must be one of <code>IMarker.SEVERITY_ERROR, 
-	 * IMarker.SEVERITY_WARNING, or IMarker.SEVERITY_INFO</code> 
-	 */
-	public static final String SEVERITY = "severity"; //$NON-NLS-1$
-	
-	/**
-	 * An attribute indicating whether the marker is considered done (value 
-	 * <code>"done"</code>).
-	 * The attribute value in xml must be one of <code>"true" or "false"</code>.
-	 */
-	public static final String DONE = "done"; //$NON-NLS-1$
-
-	/**
-	 * An attribute indicating the marker message (value <code>"message"</code>).
-	 * The attribute value in xml is unconstrained. "*" may be used at the start or
-	 * the end to represent "one or more characters".
-	 */
-	public static final String MESSAGE = "message"; //$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IMarkerHelpRegistry.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IMarkerHelpRegistry.java
deleted file mode 100644
index 1c0a635..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IMarkerHelpRegistry.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.eclipse.ui;
-
-import org.eclipse.core.resources.IMarker;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- 
-/** 
- * Registry of F1 help contexts and resolutions for markers.
- * <p>
- * The information contained in the registry is read from the 
- * org.eclipse.ui.markerhelp and org.eclipse.ui.markerresolution
- * extension points.
- * </p>
- * 
- * @since 2.0
- */
-public interface IMarkerHelpRegistry {
-	/**
-	 * Returns a help context id for the given marker or
-	 * <code>null</code> if no help has been registered 
-	 * for the marker.
-	 * 
-	 * @param marker the marker for which to obtain help
-	 * @since 2.0
-	 */
-	public String getHelp(IMarker marker);
-	/**
-	 * Returns <code>false</code> if there are no resolutions for 
-	 * the given marker. Returns <code>true</code> if their may
-	 * be resolutions. In most cases a <code>true</code> value 
-	 * means there are resolutions but due to plugin loading 
-	 * issues getResolutions may sometimes return an empty array
-	 * after this method returns <code>true</code>. 
-	 * 
-	 * @param marker the marker for which to determine if there
-	 * are resolutions
-	 * @since 2.0
-	 */
-	public boolean hasResolutions(IMarker marker);
-	/**
-	 * Returns an array of resolutions for the given marker. 
-	 * The returned array will be empty if there are no resolutions
-	 * for the marker.
-	 * 
-	 * @param marker the marker for which to obtain resolutions
-	 * @since 2.0
-	 */
-	public IMarkerResolution[] getResolutions(IMarker marker);
-}
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IMarkerResolution.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IMarkerResolution.java
deleted file mode 100644
index 9a15261..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IMarkerResolution.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IMarker;
- 
-/** 
- * Resolution for a marker. When run, a resolution would 
- * typically eliminate the need for the marker.
- * 
- * @since 2.0
- */
-public interface IMarkerResolution {
-    /** 
-     * Returns a short label indicating what the resolution will do. 
-     * 
-     * @return a short label for this resolution
-     */ 
-    public String getLabel(); 
-    	
-	/**
-	 * Runs this resolution.
-	 * 
-	 * @param marker the marker to resolve
-	 */
-	public void run(IMarker marker);
-}
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IMarkerResolutionGenerator.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IMarkerResolutionGenerator.java
deleted file mode 100644
index 7f7821f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IMarkerResolutionGenerator.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IMarker;
- 
-/** 
- * Creates resolutions for a given marker. 
- * When run, a resolution would typically eliminate 
- * the need for the marker.
- * 
- * @since 2.0
- */
-public interface IMarkerResolutionGenerator {
-    /** 
-     * Returns resolutions for the given marker (may
-     * be empty). 
-     * 
-     * @return resolutions for the given marker
-     */ 
-    public IMarkerResolution[] getResolutions(IMarker marker); 
-}
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IMemento.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IMemento.java
deleted file mode 100644
index 28a095f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IMemento.java
+++ /dev/null
@@ -1,169 +0,0 @@
-package org.eclipse.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:
-**********************************************************************/
- 
-/**
- * Interface to a memento used for saving the important state of an object
- * in a form that can be persisted in the file system.
- * <p>
- * Mementos were designed with the following requirements in mind:
- * <ol>
- *  <li>Certain objects need to be saved and restored across platform sessions.
- *    </li>
- *  <li>When an object is restored, an appropriate class for an object might not
- *    be available. It must be possible to skip an object in this case.</li>
- *  <li>When an object is restored, the appropriate class for the object may be
- *    different from the one when the object was originally saved. If so, the
- *    new class should still be able to read the old form of the data.</li>
- * </ol>
- * </p>
- * <p>
- * Mementos meet these requirements by providing support for storing a
- * mapping of arbitrary string keys to primitive values, and by allowing
- * mementos to have other mementos as children (arranged into a tree).
- * A robust external storage format based on XML is used.
- * </p><p>
- * The key for an attribute may be any alpha numeric value.  However, the
- * value of <code>TAG_ID</code> is reserved for internal use.
- * </p><p>
- * This interface is not intended to be implemented or extended by clients.
- * </p>
- *
- * @see IPersistableElement
- * @see IElementFactory
- */ 
-public interface IMemento {
-	/**
-	 * Special reserved key used to store the memento id 
-	 * (value <code>"org.eclipse.ui.id"</code>).
-	 *
-	 * @see #getId
-	 */
-	public static final String TAG_ID = "IMemento.internal.id"; //$NON-NLS-1$
-/**
- * Creates a new child of this memento with the given type.
- * <p>
- * The <code>getChild</code> and <code>getChildren</code> methods
- * are used to retrieve children of a given type.
- * </p>
- *
- * @param type the type
- * @return a new child memento
- * @see #getChild
- * @see #getChildren
- */
-public IMemento createChild(String type);
-/**
- * Creates a new child of this memento with the given type and id.
- * The id is stored in the child memento (using a special reserved
- * key, <code>TAG_ID</code>) and can be retrieved using <code>getId</code>.
- * <p>
- * The <code>getChild</code> and <code>getChildren</code> methods
- * are used to retrieve children of a given type.
- * </p>
- *
- * @param type the type
- * @param id the child id
- * @return a new child memento with the given type and id
- * @see #getId
- */
-public IMemento createChild(String type, String id);
-/**
- * Returns the first child with the given type id.
- *
- * @param type the type id
- * @return the first child with the given type
- */
-public IMemento getChild(String type);
-/**
- * Returns all children with the given type id.
- *
- * @param type the type id
- * @return the list of children with the given type
- */
-public IMemento[] getChildren(String type);
-/**
- * Returns the floating point value of the given key.
- *
- * @param key the key
- * @return the value, or <code>null</code> if the key was not found or was found
- *   but was not a floating point number
- */
-public Float getFloat(String key);
-/**
- * Returns the id for this memento.
- *
- * @return the memento id, or <code>null</code> if none
- * @see #createChild(java.lang.String,java.lang.String)
- */
-public String getID();
-/**
- * Returns the integer value of the given key.
- *
- * @param key the key
- * @return the value, or <code>null</code> if the key was not found or was found
- *   but was not an integer
- */
-public Integer getInteger(String key);
-/**
- * Returns the string value of the given key.
- *
- * @param key the key
- * @return the value, or <code>null</code> if the key was not found
- */
-public String getString(String key);
-/**
- * Returns the data of the Text node of the memento. Each memento is allowed
- * only one Text node.
- * 
- * @return the data of the Text node of the memento, or <code>null</code>
- * if the memento has no Text node.
- * @since 2.0
- */
-public String getTextData();
-/**
- * Sets the value of the given key to the given floating point number.
- *
- * @param key the key
- * @param value the value
- */
-public void putFloat(String key, float value);
-/**
- * Sets the value of the given key to the given integer.
- *
- * @param key the key
- * @param value the value
- */
-public void putInteger(String key, int value);
-/**
- * Copy the attributes and children from  <code>memento</code>
- * to the receiver.
- *
- * @param memento the IMemento to be copied.
- */
-public void putMemento(IMemento memento);
-/**
- * Sets the value of the given key to the given string.
- *
- * @param key the key
- * @param value the value
- */
-public void putString(String key, String value);
-/**
- * Sets the memento's Text node to contain the given data. Creates the Text node if
- * none exists. If a Text node does exist, it's current contents are replaced. 
- * Each memento is allowed only one text node.
- * 
- * @param data the data to be placed on the Text node
- * @since 2.0
- */
-public void putTextData(String data);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INavigationHistory.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INavigationHistory.java
deleted file mode 100644
index fc12ae7..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INavigationHistory.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INavigationLocation.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INavigationLocation.java
deleted file mode 100644
index 2e2a3e6..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INavigationLocation.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INavigationLocationProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INavigationLocationProvider.java
deleted file mode 100644
index 84bedcb..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INavigationLocationProvider.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INewWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INewWizard.java
deleted file mode 100644
index 1640d24..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INewWizard.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * Interface for creation wizards.
- * <p>
- * Clients should implement this interface and include the name of their class
- * in a wizard contributed to the workbench's creation wizard extension point 
- * (named <code>"org.eclipse.ui.newWizards"</code>).
- * For example, the plug-in's XML markup might contain:
- * <pre>
- * &LT;extension point="org.eclipse.ui.newWizards"&GT;
- *   &LT;wizard
- *       id="com.example.myplugin.new.blob"
- *       name="Blob"
- *       class="com.example.myplugin.BlobCreator"
- *       icon="icons/new_blob_wiz.gif"&GT;
- *     &LT;description&GT;Create a new BLOB file&LT;/description&GT;
- *     &LT;selection class="org.eclipse.core.resources.IResource" /&GT; 
- *   &LT;/wizard&GT;
- * &LT;/extension&GT;
- * </pre>
- * </p>
- *
- * @see org.eclipse.jface.wizard.IWizard
- */
-public interface INewWizard extends IWorkbenchWizard {
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INullSelectionListener.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INullSelectionListener.java
deleted file mode 100644
index 5cc8f9a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INullSelectionListener.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * Interface for listening to null selection changes.
- * <p>
- * This interface should be implemented by <code>ISelectionListener</code>
- * objects which wish to be notified when the selection becomes 
- * <code>null</code>.  It has no methods.  It simply indicates the 
- * desire to receive null selection events through the existing 
- * <code>selectionChanged</code> method.
- * Either the part or the selection may be <code>null</code>.
- * </p>
- *
- * @see ISelectionListener#selectionChanged
- * @see IActionDelegate#selectionChanged
- * 
- * @since 2.0
- */
-public interface INullSelectionListener {
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IObjectActionDelegate.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IObjectActionDelegate.java
deleted file mode 100644
index 32f616a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IObjectActionDelegate.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.IAction;
-
-/**
- * Interface for an object action that is contributed into a popup menu
- * for a view or editor.  It extends <code>IActionDelegate</code>
- * and adds an initialization method for connecting the delegate to the 
- * part it should work with.
- */
-public interface IObjectActionDelegate extends IActionDelegate {
-/**
- * Sets the active part for the delegate.  
- * The active part is commonly used to get a working context for the action, such
- * as the shell for any dialog which is needed.
- * <p>
- * This method will be called every time the action appears in a popup menu.  The
- * targetPart may change with each invocation.
- * </p>
- *
- * @param action the action proxy that handles presentation portion of the action
- * @param targetPart the new part target
- */
-public void setActivePart(IAction action, IWorkbenchPart targetPart);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPageLayout.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPageLayout.java
deleted file mode 100644
index b00d681..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPageLayout.java
+++ /dev/null
@@ -1,350 +0,0 @@
-package org.eclipse.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:
-**********************************************************************/
-
-/**
- * A page layout defines the initial layout for a page in a workbench window.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * <p>
- * When the workbench needs to create a new page, it uses a perspective to
- * creates a new page layout with a single editor area. This layout is then
- * passed to client code (implementation of
- * <code>IPerspectiveFactory.createInitialLayout</code>) where 
- * additional views can be added, using the existing editor area as the initial
- * point of reference.
- * </p>
- * <p>
- * Example of populating a layout with standard workbench views:
- * <pre>
- * IPageLayout layout = ...
- * // Get the editor area.
- * String editorArea = layout.getEditorArea();
- *
- * // Top left: Resource Navigator view and Bookmarks view placeholder
- * IFolderLayout topLeft = layout.createFolder("topLeft", IPageLayout.LEFT, 0.25f,
- *    editorArea);
- * topLeft.addView(IPageLayout.ID_RES_NAV);
- * topLeft.addPlaceholder(IPageLayout.ID_BOOKMARKS);
- *
- * // Bottom left: Outline view and Property Sheet view
- * IFolderLayout bottomLeft = layout.createFolder("bottomLeft", IPageLayout.BOTTOM, 0.50f,
- * 	   "topLeft");
- * bottomLeft.addView(IPageLayout.ID_OUTLINE);
- * bottomLeft.addView(IPageLayout.ID_PROP_SHEET);
- *
- * // Bottom right: Task List view
- * layout.addView(IPageLayout.ID_TASK_LIST, IPageLayout.BOTTOM, 0.66f, editorArea);
- * </pre>
- * </p>
- */
-public interface IPageLayout {
-
-	/**
-	 * The part id for the workbench's editor area.  This may only be used
-	 * as a reference part for view addition.
-	 */
-	public static String ID_EDITOR_AREA = "org.eclipse.ui.editorss"; //$NON-NLS-1$
-	
-	/**
-	 * The view id for the workbench's Resource Navigator standard component.
-	 */
-	public static String ID_RES_NAV = "org.eclipse.ui.views.ResourceNavigator"; //$NON-NLS-1$
-
-	/**
-	 * The view id for the workbench's Property Sheet standard component.
-	 */
-	public static String ID_PROP_SHEET = "org.eclipse.ui.views.PropertySheet"; //$NON-NLS-1$
-
-	/**
-	 * The view id for the workbench's Content Outline standard component.
-	 */
-	public static String ID_OUTLINE = "org.eclipse.ui.views.ContentOutline"; //$NON-NLS-1$
-
-	/**
-	 * The view id for the workbench's Task List standard component.
-	 */
-	public static String ID_TASK_LIST = "org.eclipse.ui.views.TaskList"; //$NON-NLS-1$
-
-	/**
-	 * The view id for the workbench's Bookmark Navigator standard component.
-	 */
-	public static String ID_BOOKMARKS = "org.eclipse.ui.views.BookmarkNavigator"; //$NON-NLS-1$
-
-	/**
-	 * Id of the navigate action set. 
-	 * (value <code>"org.eclipse.ui.NavigateActionSet"</code>)
-	 * @since 2.1
-	 */
-	public static final String ID_NAVIGATE_ACTION_SET = "org.eclipse.ui.NavigateActionSet"; //$NON-NLS-1$
-
-	/**
-	 * Relationship constant indicating a part should be placed to the left of
-	 * its relative.
-	 */
-	public static final int LEFT = 1;
-	
-	/**
-	 * Relationship constant indicating a part should be placed to the right of
-	 * its relative.
-	 */
-	public static final int RIGHT = 2;
-	
-	/**
-	 * Relationship constant indicating a part should be placed above its 
-	 * relative.
-	 */
-	public static final int TOP = 3;
-	
-	/**
-	 * Relationship constant indicating a part should be placed below its 
-	 * relative.
-	 */
-	public static final int BOTTOM = 4;
-	
-	/**
-	 * Minimum acceptable ratio value when adding a view
-	 * @since 2.0
-	 */
-	public static final float RATIO_MIN = 0.05f;
-	
-	/**
-	 * Maximum acceptable ratio value when adding a view
-	 * @since 2.0
-	 */
-	public static final float RATIO_MAX = 0.95f;
-	
-	/**
-	 * The default fast view ratio width.
-	 * @since 2.0
-	 */
-	public static final float DEFAULT_FASTVIEW_RATIO = 0.3f;
-	
-	/**
-	 * The default view ratio width for regular (non-fast) views.
-	 * @since 2.0
-	 */
-	public static final float DEFAULT_VIEW_RATIO = 0.5f;
-	
-	/**
-	 * A variable used to represent invalid  ratios.
-	 * @since 2.0
-	 */
-	public static final float INVALID_RATIO = -1f;
-	
-	/**
-	 * A variable used to represent a ratio which has not been specified.
-	 * @sicne 2.0
-	 */
-	public static final float NULL_RATIO = -2f;
-	
-/**
- * Adds an action set with the given id to this page layout.
- * The id must name an action set contributed to the workbench's extension 
- * point (named <code>"org.eclipse.ui.actionSet"</code>).
- *
- * @param actionSetId the action set id
- */
-public void addActionSet(String actionSetId);
-/**
- * Adds the view with the given id to the page layout as a fast view.  
- * The id must name a view contributed to the workbench's view extension
- * point (named <code>"org.eclipse.ui.views"</code>).
- * 
- * @param id the id of the view to be added
- * @since 2.0
- */
-public void addFastView(String id);
-/**
- * Adds the view with the given id to the page layout as a fast view
- * with the given width ratio. The id must name a view contributed to
- * the workbench's view extension point (named <code>"org.eclipse.ui.views"</code>).
- * 
- * @param id the id of the view to be added
- * @param ratio the percentage of the workbench the fast view will cover
- * @since 2.0
- */
-public void addFastView(String id, float ratio);
-/**
- * Adds a creation wizard to the File New menu.
- * The id must name a new wizard extension contributed to the 
- * workbench's extension point (named <code>"org.eclipse.ui.newWizards"</code>).
- *
- * @param id the wizard id
- */
-public void addNewWizardShortcut(String id);
-/**
- * Adds a perspective shortcut to the Perspective menu.
- * The id must name a perspective extension contributed to the 
- * workbench's extension point (named <code>"org.eclipse.ui.perspectives"</code>).
- *
- * @param id the perspective id
- */
-public void addPerspectiveShortcut(String id);
-/**
- * Adds a placeholder for a view with the given id to this page layout.
- * A view placeholder is used to define the position of a view before the view
- * appears.  Initially, it is invisible; however, if the user ever opens a view
- * with the same id as a placeholder, the view will replace the placeholder
- * as it is being made visible.
- * The id must name a view contributed to the workbench's view extension point 
- * (named <code>"org.eclipse.ui.views"</code>).
- *
- * @param viewId the view id
- * @param relationship the position relative to the reference part;
- *  one of <code>TOP</code>, <code>BOTTOM</code>, <code>LEFT</code>,
- *  or <code>RIGHT</code>
- * @param ratio a ratio specifying how to divide the space currently occupied by the reference part,
- *    in the range <code>0.05f</code> to <code>0.95f</code>.
- *    Values outside this range will be clipped to facilitate direct manipulation.
- *    For a vertical split, the part on top gets the specified ratio of the current space
- *    and the part on bottom gets the rest.
- *    Likewise, for a horizontal split, the part at left gets the specified ratio of the current space
- *    and the part at right gets the rest.
- * @param refId the id of the reference part; either a view id, a folder id,
- *   or the special editor area id returned by <code>getEditorArea</code>
- */
-public void addPlaceholder(String viewId, int relationship, float ratio, String refId);
-
-/**
- * Adds an item to the Show In... prompter.
- * The id must name a view contributed to the workbench's view extension point 
- * (named <code>"org.eclipse.ui.views"</code>).
- *
- * @param id the view id
- * 
- * @since 2.1
- */
-public void addShowInPart(String id);
-
-/**
- * Adds a view to the Show View menu.
- * The id must name a view contributed to the workbench's view extension point 
- * (named <code>"org.eclipse.ui.views"</code>).
- *
- * @param id the view id
- */
-public void addShowViewShortcut(String id);
-/**
- * Adds a view with the given id to this page layout.
- * The id must name a view contributed to the workbench's view extension point 
- * (named <code>"org.eclipse.ui.views"</code>).
- *
- * @param viewId the view id
- * @param relationship the position relative to the reference part;
- *  one of <code>TOP</code>, <code>BOTTOM</code>, <code>LEFT</code>,
- *  or <code>RIGHT</code>
- * @param ratio a ratio specifying how to divide the space currently occupied by the reference part,
- *    in the range <code>0.05f</code> to <code>0.95f</code>.
- *    Values outside this range will be clipped to facilitate direct manipulation.
- *    For a vertical split, the part on top gets the specified ratio of the current space
- *    and the part on bottom gets the rest.
- *    Likewise, for a horizontal split, the part at left gets the specified ratio of the current space
- *    and the part at right gets the rest.
- * @param refId the id of the reference part; either a view id, a folder id,
- *   or the special editor area id returned by <code>getEditorArea</code>
- */
-public void addView(String viewId, int relationship, float ratio, String refId);
-/**
- * Creates and adds a new folder with the given id to this page layout.
- * The position and relative size of the folder is expressed relative to
- * a reference part.
- *
- * @param folderId the id for the new folder.  This must be unique within
- *  the layout to avoid collision with other parts.
- * @param relationship the position relative to the reference part;
- *  one of <code>TOP</code>, <code>BOTTOM</code>, <code>LEFT</code>,
- *  or <code>RIGHT</code>
- * @param ratio a ratio specifying how to divide the space currently occupied by the reference part,
- *    in the range <code>0.05f</code> to <code>0.95f</code>.
- *    Values outside this range will be clipped to facilitate direct manipulation.
- *    For a vertical split, the part on top gets the specified ratio of the current space
- *    and the part on bottom gets the rest.
- *    Likewise, for a horizontal split, the part at left gets the specified ratio of the current space
- *    and the part at right gets the rest.
- * @param refId the id of the reference part; either a view id, a folder id,
- *   or the special editor area id returned by <code>getEditorArea</code>
- * @return the new folder
- */
-public IFolderLayout createFolder(String folderId, int relationship, float ratio, String refId);
-/**
- * Creates and adds a placeholder for a new folder with the given id to this page layout.
- * The position and relative size of the folder is expressed relative to
- * a reference part.
- * 
- * @param folderId the id for the new folder.  This must be unique within
- *  the layout to avoid collision with other parts.
- * @param relationship the position relative to the reference part;
- *  one of <code>TOP</code>, <code>BOTTOM</code>, <code>LEFT</code>,
- *  or <code>RIGHT</code>
- * @param ratio a ratio specifying how to divide the space currently occupied by the reference part,
- *    in the range <code>0.05f</code> to <code>0.95f</code>.
- *    Values outside this range will be clipped to facilitate direct manipulation.
- *    For a vertical split, the part on top gets the specified ratio of the current space
- *    and the part on bottom gets the rest.
- *    Likewise, for a horizontal split, the part at left gets the specified ratio of the current space
- *    and the part at right gets the rest.
- * @param refId the id of the reference part; either a view id, a folder id,
- *   or the special editor area id returned by <code>getEditorArea</code>
- * @return a placeholder for the new folder
- * @since 2.0
- */
-public IPlaceholderFolderLayout createPlaceholderFolder(String folderId, int relationship, float ratio, String refId);
-
-/**
- * Returns the special identifier for the editor area in this page 
- * layout.  The identifier for the editor area is also stored in
- * <code>ID_EDITOR_AREA</code>.
- * <p>
- * The editor area is automatically added to each layout before anything else.
- * It should be used as the point of reference when adding views to a layout.
- * </p>
- *
- * @return the special id of the editor area
- */
-public String getEditorArea();
-/**
- * Returns whether the page's layout will show
- * the editor area.
- *
- * @return <code>true</code> when editor area visible, <code>false</code> otherwise
- */
-public boolean isEditorAreaVisible();
-/**
- * Show or hide the editor area for the page's layout.
- *
- * @param showEditorArea <code>true</code> to show the editor area, <code>false</code> to hide the editor area
- */
-public void setEditorAreaVisible(boolean showEditorArea);
-/**
- * Returns the number of open editors before reusing editors or -1 if the 
- * preference settings should be used instead.
- * 
- * Note: For EXPERIMENTAL use only. IT MAY CHANGE IN NEAR FUTURE.
- *
- * @return a int
- * 
- * @deprecated
- */
-public int getEditorReuseThreshold();
-/**
- * Set the number of open editors before reusing editors.
- * If < 0 the user preference settings will be used.
- * 
- * Note: For EXPERIMENTAL use only. IT MAY CHANGE IN NEAR FUTURE.
- * 
- * @param openEditors the number of open editors.
- * 
- * @deprecated
- */
-public void setEditorReuseThreshold(int openEditors);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPageListener.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPageListener.java
deleted file mode 100644
index a305d03..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPageListener.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * Interface for listening to page lifecycle events.
- * <p>
- * This interface may be implemented by clients.
- * </p>
- *
- * @see IPageService#addPageListener
- */
-public interface IPageListener {
-/**
- * Notifies this listener that the given page has been activated.
- *
- * @param page the page that was activated
- * @see IWorkbenchWindow#setActivePage
- */
-public void pageActivated(IWorkbenchPage page);
-/**
- * Notifies this listener that the given page has been closed.
- *
- * @param page the page that was closed
- * @see IWorkbenchPage#close
- */
-public void pageClosed(IWorkbenchPage page);
-/**
- * Notifies this listener that the given page has been opened.
- *
- * @param page the page that was opened
- * @see IWorkbenchWindow#openPage
- */
-public void pageOpened(IWorkbenchPage page);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPageService.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPageService.java
deleted file mode 100644
index ab24d53..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPageService.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * A page service tracks the page and perspective lifecycle events
- * within a workbench window.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- *
- * @see IWorkbenchWindow
- * @see IPageListener
- * @see IPerspectiveListener
- */
-public interface IPageService {
-/**
- * Adds the given listener for page lifecycle events.
- * Has no effect if an identical listener is already registered.
- *
- * @param listener a page listener
- */
-public void addPageListener(IPageListener listener);
-/**
- * Adds the given listener for a page's perspective lifecycle events.
- * Has no effect if an identical listener is already registered.
- *
- * @param listener a perspective listener
- */
-public void addPerspectiveListener(IPerspectiveListener listener);
-/*
- * Returns the active page.
- *
- * @return the active page, or <code>null</code> if no page is currently active
- */
-public IWorkbenchPage getActivePage();
-/**
- * Removes the given page listener.
- * Has no affect if an identical listener is not registered.
- *
- * @param listener a page listener
- */
-public void removePageListener(IPageListener listener);
-/**
- * Removes the given page's perspective listener.
- * Has no affect if an identical listener is not registered.
- *
- * @param listener a perspective listener
- */
-public void removePerspectiveListener(IPerspectiveListener listener);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPartListener.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPartListener.java
deleted file mode 100644
index 00c3895..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPartListener.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * Interface for listening to part lifecycle events.
- * <p>
- * This interface may be implemented by clients.
- * </p>
- *
- * @see IPartService#addPartListener
- */
-public interface IPartListener {
-
-/**
- * Notifies this listener that the given part has been activated.
- *
- * @param part the part that was activated
- * @see IWorkbenchPage#activate
- */
-public void partActivated(IWorkbenchPart part);
-
-/**
- * Notifies this listener that the given part has been brought to the top.
- * <p>
- * These events occur when an editor is brought to the top in the editor area,
- * or when a view is brought to the top in a page book with multiple views.
- * They are normally only sent when a part is brought to the top 
- * programmatically (via <code>IPerspective.bringToTop</code>). When a part is
- * activated by the user clicking on it, only <code>partActivated</code> is sent.
- * </p>
- *
- * @param part the part that was surfaced
- * @see IWorkbenchPage#bringToTop
- */
-public void partBroughtToTop(IWorkbenchPart part);
-
-/**
- * Notifies this listener that the given part has been closed.
- *
- * @param part the part that was closed
- * @see IWorkbenchPage#hideView
- */
-public void partClosed(IWorkbenchPart part);
-
-/**
- * Notifies this listener that the given part has been deactivated.
- *
- * @param part the part that was deactivated
- * @see IWorkbenchPage#activate
- */
-public void partDeactivated(IWorkbenchPart part);
-
-/**
- * Notifies this listener that the given part has been opened.
- *
- * @param part the part that was opened
- * @see IWorkbenchPage#showView
- */ 
-public void partOpened(IWorkbenchPart part);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPartListener2.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPartListener2.java
deleted file mode 100644
index c2a5b98..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPartListener2.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui;
-
-/**
- * Interface for listening to part lifecycle events.
- * <p>
- * This is a replacement for <code>IPartListener</code>.
- * <p> 
- * This interface may be implemented by clients.
- * </p>
- *
- * @see IPartService#addPartListener2
- */
-public interface IPartListener2 {
-	
-/**
- * Notifies this listener that the given part has been activated.
- *
- * @param part the part that was activated
- * @see IWorkbenchPage#activate
- */
-public void partActivated(IWorkbenchPartReference ref)
-;
-/**
- * Notifies this listener that the given part has been brought to the top.
- * <p>
- * These events occur when an editor is brought to the top in the editor area,
- * or when a view is brought to the top in a page book with multiple views.
- * They are normally only sent when a part is brought to the top 
- * programmatically (via <code>IPerspective.bringToTop</code>). When a part is
- * activated by the user clicking on it, only <code>partActivated</code> is sent.
- * </p>
- *
- * @param part the part that was surfaced
- * @see IWorkbenchPage#bringToTop
- */
-public void partBroughtToTop(IWorkbenchPartReference ref);
-
-/**
- * Notifies this listener that the given part has been closed.
- *
- * @param part the part that was closed
- * @see IWorkbenchPage#hideView
- */
-public void partClosed(IWorkbenchPartReference ref);
-
-/**
- * Notifies this listener that the given part has been deactivated.
- *
- * @param part the part that was deactivated
- * @see IWorkbenchPage#activate
- */
-public void partDeactivated(IWorkbenchPartReference ref);
-
-/**
- * Notifies this listener that the given part has been opened.
- *
- * @param part the part that was opened
- * @see IWorkbenchPage#showView
- */ 
-public void partOpened(IWorkbenchPartReference ref);
-
-/**
- * Notifies this listener that the given part is hidden.
- *
- * @param part the part that is hidden
- */	
-public void partHidden(IWorkbenchPartReference ref);
-
-/**
- * Notifies this listener that the given part is visible.
- *
- * @param part the part that is visible
- */
-public void partVisible(IWorkbenchPartReference ref);
-
-/**
- * Notifies this listener that the given part input was changed.
- *
- * @param part the part that is visible
- */
-/* Commented out sender in PartListenerList2 as well.
- * public void partInputChanged(IWorkbenchPartReference ref);
-*/
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPartService.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPartService.java
deleted file mode 100644
index 7ac8ff2..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPartService.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * A part service tracks the creation and activation of parts within a
- * workbench page.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- *
- * @see IWorkbenchPage
- */
-public interface IPartService {
-
-/**
- * Adds the given listener for part lifecycle events.
- * Has no effect if an identical listener is already registered.
- *
- * @param listener a part listener
- */
-public void addPartListener(IPartListener listener);
-
-/**
- * Adds the given listener for part lifecycle events.
- * Has no effect if an identical listener is already registered.
- *
- * @param listener a part listener
- */
-public void addPartListener(IPartListener2 listener);
-
-/**
- * Returns the active part.
- *
- * @return the active part, or <code>null</code> if no part is currently active
- */
-public IWorkbenchPart getActivePart();
-
-/**
- * Returns the active part reference.
- *
- * @return the active part reference, or <code>null</code> if no part
- * is currently active
- */
-public IWorkbenchPartReference getActivePartReference();
-
-/**
- * Removes the given part listener.
- * Has no affect if an identical listener is not registered.
- *
- * @param listener a part listener
- */
-public void removePartListener(IPartListener listener);
-
-/**
- * Removes the given part listener.
- * Has no affect if an identical listener is not registered.
- *
- * @param listener a part listener
- */
-public void removePartListener(IPartListener2 listener);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPersistableElement.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPersistableElement.java
deleted file mode 100644
index beb9a9b..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPersistableElement.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- 
-/**
- * Interface for asking an object to store its state in a memento.
- * <p>
- * This interface is typically included in interfaces where 
- * persistance is required.
- * </p><p>
- * When the workbench is shutdown objects which implement this interface 
- * will be persisted.  At this time the <code>getFactoryId</code> method 
- * is invoked to discover the id of the element factory that will be used 
- * to re-create the object from a memento.  Then the <code>saveState</code> 
- * method is invoked to store the element data into a newly created memento. 
- * The resulting mementos are collected up and written out to a single file.
- * </p>
- * <p>
- * During workbench startup these mementos are read from the file.  The
- * factory Id for each is retrieved and mapped to an <code>IElementFactory</code> 
- * which has been registered in the element factory extension point.  If a 
- * factory exists for the Id it will be engaged to re-create the original 
- * object.
- * </p>
- *
- * @see org.eclipse.core.runtime.IAdaptable
- * @see IMemento
- * @see IElementFactory
- */
-public interface IPersistableElement {
-/**
- * Returns the id of the element factory which should be used to re-create this
- * object.
- * <p>
- * Factory ids are declared in extensions to the standard extension point
- * <code>"org.eclipse.ui.elementFactories"</code>.
- * </p>
- * 
- * @return the element factory id
- * @see IElementFactory
- */
-public String getFactoryId();
-/**
- * Saves the state of the object in the given memento.
- *
- * @param memento the storage area for object's state
- */
-public void saveState(IMemento memento);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPerspectiveDescriptor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPerspectiveDescriptor.java
deleted file mode 100644
index bd7134b..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPerspectiveDescriptor.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.resource.*;
-
-/**
- * A perspective descriptor describes a perspective in an
- * <code>IPerspectiveRegistry</code>.  
- * <p>
- * A perspective is a template for view visibility, layout, and action visibility
- * within a workbench page. There are two types of perspective: a predefined 
- * perspective and a custom perspective.  
- * <ul>
- *   <li>A predefined perspective is defined by an extension to the workbench's 
- *     perspective extension point (<code>"org.eclipse.ui.perspectives"</code>).
- *     The extension defines a id, label, and <code>IPerspectiveFactory</code>.
- *     A perspective factory is used to define the initial layout for a page.
- *     </li>
- *   <li>A custom perspective is defined by the user.  In this case a predefined
- *     perspective is modified to suit a particular task and saved as a new
- *     perspective.  The attributes for the perspective are stored in a separate file 
- *     in the workbench's metadata directory.
- *     </li>
- * </ul>
- * </p>
- * <p>
- * Within a page the user can switch between any of the perspectives known
- * to the workbench's perspective registry, typically by selecting one from the
- * workbench's <code>Switch Perspective</code> menu. When selected, the views,
- * and actions within the active page rearrange to reflect the perspective.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @see IPerspectiveRegistry
- */
-public interface IPerspectiveDescriptor {
-/**
- * Returns this perspective's id. For perspectives declared via an extension,
- * this is the value of its <code>"id"</code> attribute.
- *
- * @return the perspective id
- */
-public String getId();
-/**
- * Returns the descriptor of the image for this perspective.
- *
- * @return the descriptor of the image to display next to this perspective
- */
-public ImageDescriptor getImageDescriptor();
-/**
- * Returns this perspective's label. For perspectives declared via an extension,
- * this is the value of its <code>"label"</code> attribute.
- *
- * @return the label
- */
-public String getLabel();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPerspectiveFactory.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPerspectiveFactory.java
deleted file mode 100644
index fcdda8d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPerspectiveFactory.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * A perspective factory generates the initial page layout and visible
- * action set for a page.
- * <p>
- * When a new page is created in the workbench a perspective is used to define
- * the initial page layout.  If this is a predefined perspective (based on an extension to 
- * the workbench's perspective extension point) an <code>IPerspectiveFactory</code> 
- * is used to define the initial page layout.
- * </p><p>
- * The factory for the perspective is created and passed an <code>IPageLayout</code> 
- * where views can be added.  The default layout consists of the editor area with no 
- * additional views.  Additional views are added to the layout using 
- * the editor area as the initial point of reference.  The factory is used only briefly 
- * while a new page is created; then discarded.
- * </p><p>
- * To define a perspective clients should implement this interface and 
- * include the name of their class in an extension to the workbench's perspective 
- * extension point (named <code>"org.eclipse.ui.perspectives"</code>).  For example, 
- * the plug-in's XML markup might contain:
- * <pre>
- * &LT;extension point="org.eclipse.ui.perspectives"&GT;
- *   &LT;perspective
- *       id="com.example.javaplugin.perspective"
- *       name="Java"
- *       class="com.example.javaplugin.JavaPerspective"
- *   &LT;/perspective&GT;
- * &LT;/extension&GT;
- * </pre>
- * </p><p>
- * Example of populating a page with standard workbench views:
- * <pre>
- * public void createInitialLayout(IPageLayout layout) {
- *		// Get the editor area.
- *		String editorArea = layout.getEditorArea();
- *
- *		// Top left: Resource Navigator view and Bookmarks view placeholder
- *		IFolderLayout topLeft = layout.createFolder("topLeft", IPageLayout.LEFT, 0.25f,
- *			editorArea);
- *		topLeft.addView(IPageLayout.ID_RES_NAV);
- *		topLeft.addPlaceholder(IPageLayout.ID_BOOKMARKS);
- *
- *		// Bottom left: Outline view and Property Sheet view
- *		IFolderLayout bottomLeft = layout.createFolder("bottomLeft", IPageLayout.BOTTOM, 0.50f,
- *			"topLeft");
- *		bottomLeft.addView(IPageLayout.ID_OUTLINE);
- *		bottomLeft.addView(IPageLayout.ID_PROP_SHEET);
- *
- *		// Bottom right: Task List view
- *		layout.addView(IPageLayout.ID_TASK_LIST, IPageLayout.BOTTOM, 0.66f, editorArea);
- *	}
- * </pre>
- * </p><p>
- * Within the workbench a user may override the visible views, layout and
- * action sets of a predefined perspective to create a custom perspective.  In such cases 
- * the layout is persisted by the workbench and the factory is not used.
- * </p>
- * @see IPerspectiveDescriptor#createFactory
- */
-public interface IPerspectiveFactory {
-/**
- * Creates the initial layout for a page.
- * <p>
- * Implementors of this method may add additional views to a
- * perspective.  The perspective already contains an editor folder
- * identified by the result of <code>IPageLayout.getEditorArea()</code>.  
- * Additional views should be added to the layout using this value as 
- * the initial point of reference.  
- * </p>
- *
- * @param layout the page layout
- */
-public void createInitialLayout(IPageLayout layout);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPerspectiveListener.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPerspectiveListener.java
deleted file mode 100644
index 2fb55ff..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPerspectiveListener.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * Interface for listening to a perspective lifecycle events.
- * <p>
- * This interface may be implemented by clients.
- * </p>
- *
- * @see IPageService#addPerspectiveListener
- */
-public interface IPerspectiveListener {
-/**
- * Notifies this listener that the given page's perspective
- * has been activated.
- *
- * @param page the page whose perspective was activated
- * @param perspective the perspective descriptor that was activated
- * @see IWorkbenchPage#setPerspective
- */
-public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective);
-/**
- * Notifies this listener that the given page's perspective
- * has change in some way (e.g. editor area hidden, perspective reset,
- * view show/hide, editor open/close, ...).
- *
- * @param page the page whose perspective was reset
- * @param perspective the perspective descriptor
- * @param changeId one of the <code>CHANGE_*</code> constants on IWorkbenchPage
- */
-public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPerspectiveRegistry.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPerspectiveRegistry.java
deleted file mode 100644
index bc5b9cd..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPerspectiveRegistry.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * The workbench's global registry of perspectives. 
- * <p>
- * This registry contains a descriptor for each perspectives in the workbench.
- * It is initially populated with stock perspectives from the workbench's 
- * perspective extension point (<code>"org.eclipse.ui.perspectives"</code>) and 
- * with custom perspectives defined by the user.
- * </p><p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @see IWorkbench#getPerspectiveRegistry
- */
-public interface IPerspectiveRegistry {
-/**
- * Finds and returns the registered perspective with the given perspective id.
- *
- * @param perspectiveId the perspective id 
- * @return the perspective, or <code>null</code> if none
- * @see IPerspectiveDescriptor#getId
- */
-public IPerspectiveDescriptor findPerspectiveWithId(String perspectiveId);
-/**
- * Finds and returns the registered perspective with the given label.
- *
- * @param label the label
- * @return the perspective, or <code>null</code> if none
- * @see IPerspectiveDescriptor#getLabel
- */
-public IPerspectiveDescriptor findPerspectiveWithLabel(String label);
-/**
- * Returns the id of the default perspective for the workbench.  This identifies one
- * perspective extension within the workbench's perspective registry.
- * <p>
- * <p><p>
- * On startup of the platform UI the default perspective is determined using a 
- * multistep process.
- * </p>
- * <ol>
- *   <li>Initially the <code>Resource Perspective</code> is default. </li>
- *   <li>If a single perspective extension within the registry has a <b>default</b>
- *			attribute it will become the default perspective.  If two or more
- *			extensions have the <b>default</b> attribute the registry will ignore all
- *			of them and select the <code>Resource Perspective</code>. </li>
- *   <li>If the user has set the default perspective within the 
- *			<code>Perspective</code> dialog their preference will be selected 
- *			over all others. </li>
- * </ol>
- * </p>
- *
- * @return the default perspective id; will never be <code>null</code>
- */
-public String getDefaultPerspective();
-/**
- * Returns a list of the perspectives known to the workbench.
- *
- * @return a list of perspectives
- */
-public IPerspectiveDescriptor[] getPerspectives();
-/**
- * Sets the default perspective for the workbench to the given perspective id.
- * The id must correspond to one perspective extension within the workbench's 
- * perspective registry.
- *
- * @param id a perspective id; must not be <code>null</code>
- */
-public void setDefaultPerspective(String id);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPlaceholderFolderLayout.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPlaceholderFolderLayout.java
deleted file mode 100644
index 2d4f8f5..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPlaceholderFolderLayout.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.eclipse.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:
-**********************************************************************/
- 
-/**
- * An <code>IPlaceholderFolderLayout</code> is used to define the initial
- * places for page placeholders within a folder placeholder. The folder itself is a component within
- * an <code>IPageLayout</code>.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- *
- * @see IPageLayout#createPlaceholderFolder
- * @since 2.0
- */
-public interface IPlaceholderFolderLayout {
-/**
- * Adds an invisible placeholder for a view with the given id to this folder.
- * A view placeholder is used to define the position of a view before the view
- * appears.  Initially, it is invisible; however, if the user ever opens a view
- * with the same id as a placeholder, the view will replace the placeholder
- * as it is being made visible.
- * The id must name a view contributed to the workbench's view extension point 
- * (named <code>"org.eclipse.ui.views"</code>).
- *
- * @param viewId the view id
- */
-public void addPlaceholder(String viewId);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IProjectActionFilter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IProjectActionFilter.java
deleted file mode 100644
index 0d7e7d0..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IProjectActionFilter.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * Describes the public attributes for a project and the acceptables values
- * each may have.  
- * <p>
- * A popup menu extension may use these constants to describe its object target.  
- * Each identifies an attribute name or possible value.  
- * <p>
- * Clients are not expected to implement this interface.
- * </p>
- *
- * @see IActionFilter
- */
-public interface IProjectActionFilter extends IResourceActionFilter {
-	
-	/**
-	 * An attribute indicating the project nature (value <code>"nature"</code>).
-	 * The attribute value in xml is unconstrained.
-	 */
-	public static final String NATURE = "nature"; //$NON-NLS-1$
-
-
-	/**
-	 * An attribute indicating whether the project is open (value <code>"open"</code>).
-	 * The attribute value in xml must be one of <code>"true" or "false"</code>.
-	 */
-	public static final String OPEN = "open"; //$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPropertyListener.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPropertyListener.java
deleted file mode 100644
index 2ad6a5c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPropertyListener.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * Interface for listening for property changes on an object.
- * <p>
- * This interface may be implemented by clients.
- * </p>
- *
- * @see IWorkbenchPart#addPropertyListener
- */
-public interface IPropertyListener {
-/**
- * Indicates that a property has changed.
- *
- * @param source the object whose property has changed
- * @param propId the id of the property which has changed; property ids
- *   are generally defined as constants on the source class
- */
-public void propertyChanged(Object source, int propId);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IResourceActionFilter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IResourceActionFilter.java
deleted file mode 100644
index 57b39b5..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IResourceActionFilter.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * Describes the public attributes for a resource and the acceptables values
- * each may have.  
- * <p>
- * A popup menu extension may use these constants to describe its object target.  
- * Each identifies an attribute name or possible value.  
- * <p>
- * Clients are not expected to implement this interface.
- * </p>
- *
- * @see IActionFilter
- */
-public interface IResourceActionFilter extends IActionFilter {
-	/**
-	 * An attribute indicating the file name (value <code>"name"</code>).  
-	 * The attribute value in xml is unconstrained.  "*" may be used at the start or
-	 * the end to represent "one or more characters".
-	 */
-	public static final String NAME = "name"; //$NON-NLS-1$
-	
-	/**
-	 * An attribute indicating the file extension (value <code>"extension"</code>).
-	 * The attribute value in xml is unconstrained.
-	 */
-	public static final String EXTENSION = "extension"; //$NON-NLS-1$
-
-	/**
-	 * An attribute indicating the file path (value <code>"path"</code>).
-	 * The attribute value in xml is unconstrained.  "*" may be used at the start or
-	 * the end to represent "one or more characters".
-	 */
-	public static final String PATH = "path"; //$NON-NLS-1$
-
-	/**
-	 * An attribute indicating whether the file is read only (value <code>"readOnly"</code>).
-	 * The attribute value in xml must be one of <code>"true" or "false"</code>.
-	 */
-	public static final String READ_ONLY = "readOnly"; //$NON-NLS-1$
-
-	/**
-	 * An attribute indicating the project nature (value <code>"projectNature"</code>).
-	 * The attribute value in xml is unconstrained.
-	 */
-	public static final String PROJECT_NATURE = "projectNature";	 //$NON-NLS-1$
-	
-	/**
-	 * An attribute indicating a persistent property on the selected resource 
-	 * (value <code>"persistentProperty"</code>).
-	 * If the value is a simple string, then this simply tests for existence of the property on the resource.
-	 * If it has the format <code>"propertyName=propertyValue" this obtains the value of the property
-	 * with the specified name and tests it for equality with the specified value.
-	 */
-	public static final String PERSISTENT_PROPERTY = "persistentProperty";	 //$NON-NLS-1$
-
-	/**
-	 * An attribute indicating a persistent property on the selected resource's project. 
-	 * (value <code>"projectPersistentProperty"</code>).
-	 * If the value is a simple string, then this simply tests for existence of the property on the resource.
-	 * If it has the format <code>"propertyName=propertyValue" this obtains the value of the property
-	 * with the specified name and tests it for equality with the specified value.
-	 */
-	public static final String PROJECT_PERSISTENT_PROPERTY = "projectPersistentProperty";	 //$NON-NLS-1$
-
-	/**
-	 * An attribute indicating a session property on the selected resource 
-	 * (value <code>"sessionProperty"</code>).
-	 * If the value is a simple string, then this simply tests for existence of the property on the resource.
-	 * If it has the format <code>"propertyName=propertyValue" this obtains the value of the property
-	 * with the specified name and tests it for equality with the specified value.
-	 */
-	public static final String SESSION_PROPERTY = "sessionProperty";	 //$NON-NLS-1$
-
-	/**
-	 * An attribute indicating a session property on the selected resource's project. 
-	 * (value <code>"projectSessionProperty"</code>).
-	 * If the value is a simple string, then this simply tests for existence of the property on the resource.
-	 * If it has the format <code>"propertyName=propertyValue" this obtains the value of the property
-	 * with the specified name and tests it for equality with the specified value.
-	 */
-	public static final String PROJECT_SESSION_PROPERTY = "projectSessionProperty";	 //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IReusableEditor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IReusableEditor.java
deleted file mode 100644
index 7db36c9..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IReusableEditor.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package org.eclipse.ui;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-/**
- * Interface for reusable editors. 
- * 
- * An editors may support changing its input so that 
- * the workbench may change its contents instead of 
- * opening a new editor.
- * 
- * Note: For EXPERIMENTAL use only. IT MAY CHANGE IN NEAR FUTURE.
- * 
- */
-public interface IReusableEditor extends IEditorPart {
-/**
- * @see EditorPart#setInput
- */
-public void setInput(IEditorInput newInput);
-}
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISelectionListener.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISelectionListener.java
deleted file mode 100644
index 4c4805f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISelectionListener.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.viewers.ISelection;
-
-/**
- * Interface for listening to selection changes.
- * <p>
- * This interface may be implemented by clients.
- * </p>
- *
- * @see ISelectionService#addSelectionListener
- */
-public interface ISelectionListener {
-/**
- * Notifies this listener that the selection has changed.
- * <p>
- * This method is called when the selection changes from one to a 
- * <code>non-null</code> value, but not when the selection changes to 
- * <code>null</code>.  If there is a requirement to be notified in the latter 
- * scenario, implement <code>INullSelectionListener</code>.  The event will
- * be posted through this method.
- * </p>
- *
- * @param part the workbench part containing the selection
- * @param selection the current selection.  This may be <code>null</code> 
- * 		if <code>INullSelectionListener</code> is implemented.
- */
-public void selectionChanged(IWorkbenchPart part, ISelection selection);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISelectionService.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISelectionService.java
deleted file mode 100644
index e02ad21..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISelectionService.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.viewers.ISelection;
-
-/**
- * A selection service tracks the selection within an object.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface ISelectionService {
-/**
- * Adds the given selection listener.
- * Has no effect if an identical listener is already registered.
- *
- * @param listener a selection listener
- */
-public void addSelectionListener(ISelectionListener listener);
-
-/**
- * Adds a part-specific selection listener which is notified when selection changes in the part with
- * the given id.  This is independent of part activation: the part need not
- * be active for notification to be sent.  The listener is also notified when the part is created
- * and disposed.  When the part is created, the listener is passed the part's initial selection.
- * When the part is disposed, the listener is passed a <code>null</code> selection.
- *
- * @param partId the id of the part to track
- * @param listener a selection listener
- * @since 2.0
- */
-public void addSelectionListener(String partId, ISelectionListener listener);
-/**
- * Adds the given post selection listener.It is equivalent to selection 
- * changed if the selection was triggered by the mouse but it has a 
- * delay if the selection is triggered by the keyboard arrows.
- * Has no effect if an identical listener is already registered.
- * 
- * Note: Works only for StructuredViewer(s).
- *
- * @param listener a selection listener
- */
-public void addPostSelectionListener(ISelectionListener listener);
-
-/**
- * Adds a part-specific post selection listener which is notified when selection changes in the part with
- * the given id.  This is independent of part activation: the part need not
- * be active for notification to be sent.  The listener is also notified when the part is created
- * and disposed.  When the part is created, the listener is passed the part's initial selection.
- * When the part is disposed, the listener is passed a <code>null</code> selection.
- *
- * @param partId the id of the part to track
- * @param listener a selection listener
- * @since 2.0
- */
-public void addPostSelectionListener(String partId, ISelectionListener listener);
-/**
- * Returns the current selection in the active part.  If the selection in the
- * active part is <em>undefined</em> (the active part has no selection provider)
- * the result will be <code>null</code>.
- *
- * @return the current selection, or <code>null</code> if undefined
- */
-public ISelection getSelection();
-
-/**
- * Returns the current selection in the part with the given id.  If the part is not open,
- * or if the selection in the active part is <em>undefined</em> (the active part has no selection provider)
- * the result will be <code>null</code>.
- *
- * @param partId the id of the part
- * @return the current selection, or <code>null</code> if undefined
- * @since 2.0
- */
-public ISelection getSelection(String partId);
-/**
- * Removes the given selection listener.
- * Has no effect if an identical listener is not registered.
- *
- * @param listener a selection listener
- */
-public void removeSelectionListener(ISelectionListener listener);
-/**
- * Removes the given part-specific selection listener.
- * Has no effect if an identical listener is not registered for the given part id.
- *
- * @param partId the id of the part to track
- * @param listener a selection listener
- * @since 2.0
- */
-public void removeSelectionListener(String partId, ISelectionListener listener);
-/**
- * Removes the given post selection listener.
- * Has no effect if an identical listener is not registered.
- *
- * @param listener a selection listener
- */
-public void removePostSelectionListener(ISelectionListener listener);
-/**
- * Removes the given part-specific post selection listener.
- * Has no effect if an identical listener is not registered for the given part id.
- *
- * @param partId the id of the part to track
- * @param listener a selection listener
- * @since 2.0
- */
-public void removePostSelectionListener(String partId, ISelectionListener listener);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISharedImages.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISharedImages.java
deleted file mode 100644
index 01ea2e9..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISharedImages.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * A registry for common images used by the workbench which may be useful 
- * to other plug-ins.
- * <p>
- * This class provides <code>Image</code> and <code>ImageDescriptor</code>s
- * for each named image in the interface.  All <code>Image</code> objects provided 
- * by this class are managed by this class and must never be disposed 
- * by other clients.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface ISharedImages {
-	/**
-	 * Identifies a file image.
-	 */
-	public final static String IMG_OBJ_FILE = "IMG_OBJ_FILE"; //$NON-NLS-1$
-
-	/**
-	 * Identifies a folder image.
-	 */
-	public final static String IMG_OBJ_FOLDER = "IMG_OBJ_FOLDER"; //$NON-NLS-1$
-
-	/**
-	 * Identifies a project image.
-	 */
-	public final static String IMG_OBJ_PROJECT = "IMG_OBJ_PROJECT"; //$NON-NLS-1$
-
-	/**
-	 * Identifies a closed project image.
-	 */
-	public final static String IMG_OBJ_PROJECT_CLOSED = "IMG_OBJ_PROJECT_CLOSED"; //$NON-NLS-1$
-	
-	/**
-	 * Identifies an element image.
-	 */
-	public final static String IMG_OBJ_ELEMENT = "IMG_OBJ_ELEMENTS"; //$NON-NLS-1$
-
-	/**
-	 * Identifies the image used for "open marker".
-	 */
-	public final static String IMG_OPEN_MARKER = "IMG_OPEN_MARKER"; //$NON-NLS-1$
-	
-	/**
-	 * Identifies the default image used for views.
-	 */
-	public final static String IMG_DEF_VIEW = "IMG_DEF_VIEW"; //$NON-NLS-1$
-
-	/**
-	 * Identifies the default image used to indicate errors.
-	 */
-	public final static String IMG_OBJS_ERROR_TSK = "IMG_OBJS_ERROR_TSK"; //$NON-NLS-1$
-
-	/**
-	 * Identifies the default image used to indicate warnings.
-	 */
-	public final static String IMG_OBJS_WARN_TSK = "IMG_OBJS_WARN_TSK"; //$NON-NLS-1$
-
-	/**
-	 * Identifies the default image used to indicate information only.
-	 */
-	public final static String IMG_OBJS_INFO_TSK = "IMG_OBJS_INFO_TSK"; //$NON-NLS-1$
-
-	/**
-	 * Identifies the default image used to indicate a task.
-	 */
-	public final static String IMG_OBJS_TASK_TSK = "IMG_OBJS_TASK_TSK"; //$NON-NLS-1$
-	/**
-	 * Identifies the default image used to indicate a bookmark.
-	 */
-	public final static String IMG_OBJS_BKMRK_TSK = "IMG_OBJS_BKMRK_TSK"; //$NON-NLS-1$
-/**
- * Retrieves the specified image from the workbench plugin's image registry.
- * Note: The returned <code>Image</code> is managed by the workbench; clients
- * must <b>not</b> dispose of the returned image.
- *
- * @param symbolicName the symbolic name of the image (constants found in
- *    this interface)
- * @return the image, or <code>null</code> if not found
- */
-public Image getImage(String symbolicName);
-/**
- * Retrieves the image descriptor for specified image from the workbench's
- * image registry. Unlike <code>Image</code>s, image descriptors themselves do
- * not need to be disposed.
- *
- * @param symbolicName the symbolic name of the image (constants found in
- *    this interface)
- * @return the image descriptor, or <code>null</code> if not found
- */
-public ImageDescriptor getImageDescriptor(String symbolicName);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IStartup.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IStartup.java
deleted file mode 100644
index 1bbcac0..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IStartup.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * Copyright (c) 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
- */
-
-/**
- * Plugins that register a startup extension will be activated after
- * the Workbench initializes and have an opportunity to run 
- * code that can't be implemented using the normal contribution 
- * mechanisms.
- * 
- * <p>
- * @since 2.0
- */
-public interface IStartup {
-	/**
-	 * Will be called in a separed thread after the workbench initializes.
-	 */
-	public void earlyStartup();
-}
- 
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IStorageEditorInput.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IStorageEditorInput.java
deleted file mode 100644
index 88e2194..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IStorageEditorInput.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.resources.IStorage;
-
-/**
- * Interface for a <code>IStorage</code> input to an editor.
- * <p>
- * Clients should implement this interface to declare new types of 
- * <code>IStorage</code> editor inputs.
- * </p>
- * <p>
- * File-oriented editors should support this as a valid input type, and display
- * its content for viewing (but not allow modification).
- * Within the editor, the "save" and "save as" operations should create a new 
- * file resource within the workspace.
- * <p>
- * All editor inputs must implement the <code>IAdaptable</code> interface;
- * extensions are managed by the platform's adapter manager.
- * </p>
- */
-public interface IStorageEditorInput extends IEditorInput {
-/**
- * Returns the underlying IStorage object.
- *
- * @return an IStorage object.
- * @exception CoreException if this method fails
- */
-public IStorage getStorage() throws CoreException;
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewActionDelegate.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewActionDelegate.java
deleted file mode 100644
index 8412713..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewActionDelegate.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * Interface for an action that is contributed into a view's local tool bar,
- * pulldown menu, or popup menu. It extends <code>IActionDelegate</code>
- * and adds an initialization method for connecting the delegate to the view it
- * should work with.
- */
-public interface IViewActionDelegate extends IActionDelegate {
-/**
- * Initializes this action delegate with the view it will work in.
- *
- * @param view the view that provides the context for this delegate
- */
-public void init(IViewPart view);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewPart.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewPart.java
deleted file mode 100644
index 55dd8ab..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewPart.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-/**
- * A view is a visual component within a workbench page.  It is typically used to
- * navigate a hierarchy of information (like the workspace), open an editor,  
- * or display properties for the active editor.  Modifications made in a view are 
- * saved immediately (in contrast to an editor part, which conforms to a more 
- * elaborate open-save-close lifecycle).
- * <p>
- * Only one instance of a particular view type may exist within a workbench page.  
- * This policy is designed to simplify part management for a user.  
- * </p><p>
- * This interface may be implemented directly.  For convenience, a base
- * implementation is defined in <code>ViewPart</code>.
- * </p>
- * <p>
- * A view is added to the workbench in two steps:
- * <ol>
- * 	<li>A view extension is contributed to the workbench registry. This
- *    extension defines the extension id and extension class.</li>
- *  <li>The view is included in the default layout for a perspective.
- *    Alternatively, the user may open the view from the Perspective menu.</li>
- * </ol>
- * </p>
- * <p>
- * Views implement the <code>IAdaptable</code> interface; extensions
- * are managed by the platform's adapter manager.
- * </p>
- *
- * @see IWorkbenchPage#showView
- * @see org.eclipse.ui.part.ViewPart
- */
-public interface IViewPart extends IWorkbenchPart {
-/**
- * Returns the site for this view.
- *
- * @return the view site
- */
-public IViewSite getViewSite();
-/**
- * Initializes this view with the given view site.  
- * <p>
- * This method is automatically called by the workbench shortly after part 
- * construction.  It marks the start of the views's lifecycle. Clients must 
- * not call this method.
- * </p>
- *
- * @param site the view site
- * @exception PartInitException if this view was not initialized successfully
- */
-public void init(IViewSite site) throws PartInitException;
-/**
- * Initializes this view with the given view site.  A memento is passed to
- * the view which contains a snapshot of the views state from a previous
- * session.  Where possible, the view should try to recreate that state
- * within the part controls.
- * <p>
- * This method is automatically called by the workbench shortly after part 
- * construction.  It marks the start of the views's lifecycle. Clients must 
- * not call this method.
- * </p>
- *
- * @param site the view site
- * @param memento the IViewPart state or null if there is no previous saved state
- * @exception PartInitException if this view was not initialized successfully
- */
-public void init(IViewSite site,IMemento memento) throws PartInitException;
-/**
- * Saves the object state within a memento.
- *
- * @param memento a memento to receive the object state
- */
-public void saveState(IMemento memento);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewReference.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewReference.java
deleted file mode 100644
index 11450e0..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewReference.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.ui;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-/**
- * Defines a reference to an IViewPart.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IViewReference extends IWorkbenchPartReference {
-	/**
-	 * Returns the IViewPart referenced by this object.
-	 * Returns null if the view was not instanciated or
-	 * it failed to be restored. Tries to restore the view
-	 * if <code>restore</code> is true.
-	 */
-	public IViewPart getView(boolean restore);
-	/**
-	 * Returns true if the view is a fast view otherwise returns false.
-	 */	
-	public boolean isFastView();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewSite.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewSite.java
deleted file mode 100644
index 55a8f8e..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewSite.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * The primary interface between a view part and the outside world.
- * <p>
- * The workbench exposes its implemention of view part sites via this interface,
- * which is not intended to be implemented or extended by clients.
- * </p>
- */
-public interface IViewSite extends IWorkbenchPartSite {
-/**
- * Returns the action bars for this part site.
- * Views have exclusive use of their site's action bars.
- *
- * @return the action bars
- */
-public IActionBars getActionBars();
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWindowListener.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWindowListener.java
deleted file mode 100644
index 9297327..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWindowListener.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.eclipse.ui;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * Interface for listening to window lifecycle events.
- * <p>
- * This interface may be implemented by clients.
- * </p>
- */
-public interface IWindowListener {
-/**
- * Notifies this listener that the given window has been activated.
- *
- * @param window the window that was activated
- */
-public void windowActivated(IWorkbenchWindow window);
-/**
- * Notifies this listener that the given window has been deactivated.
- *
- * @param window the window that was activated
- */
-public void windowDeactivated(IWorkbenchWindow window);
-/**
- * Notifies this listener that the given window has been closed.
- *
- * @param window the window that was closed
- * @see IWorkbenchWindow#close
- */
-public void windowClosed(IWorkbenchWindow window);
-/**
- * Notifies this listener that the given window has been opened.
- *
- * @param window the window that was opened
- * @see IWorkbench#openWorkbenchWindow
- */
-public void windowOpened(IWorkbenchWindow window);
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbench.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbench.java
deleted file mode 100644
index dd5909f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbench.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchActionConstants.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchActionConstants.java
deleted file mode 100644
index 2530c96..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchActionConstants.java
+++ /dev/null
@@ -1,633 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * Action ids for standard actions, groups in the workbench menu bar, and
- * global actions.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * <h3>Standard menus</h3>
- * <ul>
- *   <li>File menu (<code>M_FILE</code>)</li>
- *   <li>Edit menu (<code>M_EDIT</code>)</li>
- *   <li>View menu (<code>M_VIEW</code>)</li>
- *   <li>Workbench menu (<code>M_WORKBENCH</code>)</li>
- *   <li>Window menu (<code>M_WINDOW</code>)</li>
- *   <li>Help menu (<code>M_HELP</code>)</li>
- * </ul>
- * <h3>Standard group for adding top level menus</h3>
- * <ul>
- *   <li>Extra top level menu group (<code>MB_ADDITIONS</code>)</li>
- * </ul>
- * <h3>Global actions</h3>
- * <ul>
- *   <li>Undo (<code>UNDO</code>)</li>
- *   <li>Redo (<code>REDO</code>)</li>
- *   <li>Cut (<code>CUT</code>)</li>
- *   <li>Copy (<code>COPY</code>)</li>
- *   <li>Paste (<code>PASTE</code>)</li>
- *   <li>Delete (<code>DELETE</code>)</li>
- *   <li>Find (<code>FIND</code>)</li>
- *   <li>Select All (<code>SELECT_ALL</code>)</li>
- *   <li>Add Bookmark (<code>BOOKMARK</code>)</li>
- * </ul>
- * <h3>Standard File menu actions</h3>
- * <ul>
- *   <li>Start group (<code>FILE_START</code>)</li>
- *   <li>End group (<code>FILE_END</code>)</li>
- *   <li>New action (<code>NEW</code>)</li>
- *   <li>Extra New-like action group (<code>NEW_EXT</code>)</li>
- *   <li>Close action (<code>CLOSE</code>)</li>
- *   <li>Close All action (<code>CLOSE_ALL</code>)</li>
- *   <li>Extra Close-like action group (<code>CLOSE_EXT</code>)</li>
- *   <li>Save action (<code>SAVE</code>)</li>
- *   <li>Save As action (<code>SAVE_AS</code>)</li>
- *   <li>Save All action (<code>SAVE_ALL</code>)</li>
- *   <li>Extra Save-like action group (<code>SAVE_EXT</code>)</li>
- *   <li>Import action (<code>IMPORT</code>)</li>
- *   <li>Export action (<code>EXPORT</code>)</li>
- *   <li>Extra Import-like action group (<code>IMPORT_EXT</code>)</li>
- *   <li>Quit action (<code>QUIT</code>)</li>
- * </ul>
- * <h3>Standard Edit menu actions</h3>
- * <ul>
- *   <li>Start group (<code>EDIT_START</code>)</li>
- *   <li>End group (<code>EDIT_END</code>)</li>
- *   <li>Undo global action (<code>UNDO</code>)</li>
- *   <li>Redo global action (<code>REDO</code>)</li>
- *   <li>Extra Undo-like action group (<code>UNDO_EXT</code>)</li>
- *   <li>Cut global action (<code>CUT</code>)</li>
- *   <li>Copy global action (<code>COPY</code>)</li>
- *   <li>Paste global action (<code>PASTE</code>)</li>
- *   <li>Extra Cut-like action group (<code>CUT_EXT</code>)</li>
- *   <li>Delete global action (<code>DELETE</code>)</li>
- *   <li>Find global action (<code>FIND</code>)</li>
- *   <li>Select All global action (<code>SELECT_ALL</code>)</li>
- *   <li>Bookmark global action (<code>BOOKMARK</code>)</li>
- * </ul>
- * <h3>Standard Perspective menu actions</h3>
- * <ul>
- *   <li>Extra Perspective-like action group (<code>VIEW_EXT</code>)</li>
- * </ul>
- * <h3>Standard Workbench menu actions</h3>
- * <ul>
- *   <li>Start group (<code>WB_START</code>)</li>
- *   <li>End group (<code>WB_END</code>)</li>
- *   <li>Extra Build-like action group (<code>BUILD_EXT</code>)</li>
- *   <li>Build action (<code>BUILD</code>)</li>
- *   <li>Rebuild All action (<code>REBUILD_ALL</code>)</li>
- * </ul>
- * <h3>Standard Window menu actions</h3>
- * <ul>
- *   <li>Extra Window-like action group (<code>WINDOW_EXT</code>)</li>
- * </ul>
- * <h3>Standard Help menu actions</h3>
- * <ul>
- *   <li>Start group (<code>HELP_START</code>)</li>
- *   <li>End group (<code>HELP_END</code>)</li>
- *   <li>About action (<code>ABOUT</code>)</li>
- * </ul>
- * <h3>Standard pop-up menu groups</h3>
- * <ul>
- *   <li>Managing group (<code>GROUP_MANAGING</code>)</li>
- *   <li>Reorganize group (<code>GROUP_REORGANIZE</code>)</li>
- *   <li>Add group (<code>GROUP_ADD</code>)</li>
- *   <li>File group (<code>GROUP_FILE</code>)</li>
- * </ul>
- */
-public interface IWorkbenchActionConstants {
-
-// Standard menus:
-	/**
-	 * <p>
-	 * [Issue: MENU_PREFIX is "". It is used to prefix some of the other
-	 * constants. There doesn't seem to be much point for this.
-	 * Recommend deleting it.
-	 * ]
-	 * </p>
-	 */
-	public static final String MENU_PREFIX = ""; //$NON-NLS-1$
-
-	/**
-	 * <p>
-	 * [Issue: SEP is "/". It is not used anywhere. Recommend deleting it.]
-	 * </p>
-	 */
-	public static final String SEP = "/"; //$NON-NLS-1$
-
-	/**
-	 * Name of standard File menu (value <code>"file"</code>).
-	 */
-	public static final String M_FILE = MENU_PREFIX+"file"; //$NON-NLS-1$
-
-	/**
-	 * Name of standard Edit menu (value <code>"edit"</code>).
-	 */
-	public static final String M_EDIT = MENU_PREFIX+"edit"; //$NON-NLS-1$
-
-	/**
-	 * Name of standard Perspective menu (value <code>"view"</code>).
-	 */
-	public static final String M_VIEW = MENU_PREFIX+"view"; //$NON-NLS-1$
-
-	/**
-	 * Name of standard Workbench menu (value <code>"workbench"</code>).
-	 */
-	public static final String M_WORKBENCH = MENU_PREFIX+"workbench"; //$NON-NLS-1$
-
-// menu reorg
-
-	/**
-	 * Name of standard Navigate menu (value <code>"navigate"</code>).
-	 */
-	public static final String M_NAVIGATE = MENU_PREFIX+"navigate"; //$NON-NLS-1$
-
-	/**
-	 * Name of standard Project menu (value <code>"project"</code>).
-	 */
-	public static final String M_PROJECT = MENU_PREFIX+"project"; //$NON-NLS-1$
-
-// end menu reorg
-
-	/**
-	 * Name of standard Window menu (value <code>"window"</code>).
-	 */
-	public static final String M_WINDOW = MENU_PREFIX+"window"; //$NON-NLS-1$
-
-	/**
-	 * Name of Launch window menu (value <code>"launch"</code>).
-	 */
-	public static final String M_LAUNCH = MENU_PREFIX + "launch"; //$NON-NLS-1$
-
-	/**
-	 * Name of standard Help menu (value <code>"help"</code>).
-	 */
-	public static final String M_HELP = MENU_PREFIX+"help"; //$NON-NLS-1$
-		
-// Standard area for adding top level menus:
-	/**
-	 * Name of group for adding new top-level menus (value <code>"additions"</code>).
-	 */
-	public static final String MB_ADDITIONS = "additions";	// Group. //$NON-NLS-1$
-	
-// Standard file actions:
-	/**
-	 * File menu: name of group for start of menu (value <code>"fileStart"</code>).
-	 */
-	public static final String FILE_START = "fileStart";	// Group. //$NON-NLS-1$
-	
-	/**
-	 * File menu: name of group for end of menu (value <code>"fileEnd"</code>).
-	 */
-	public static final String FILE_END = "fileEnd";		// Group. //$NON-NLS-1$
-	
-	/**
-	 * File menu: name of standard New action (value <code>"new"</code>).
-	 */
-	public static final String NEW = "new"; //$NON-NLS-1$
-	
-	/**
-	 * File menu: name of group for extra New-like actions (value <code>"new.ext"</code>).
-	 */
-	public static final String NEW_EXT = "new.ext";			// Group. //$NON-NLS-1$
-	
-	/**
-	 * File menu: name of standard Close action (value <code>"close"</code>).
-	 */
-	public static final String CLOSE = "close"; //$NON-NLS-1$
-	
-	/**
-	 * File menu: name of standard Close All action (value <code>"closeAll"</code>).
-	 */
-	public static final String CLOSE_ALL = "closeAll"; //$NON-NLS-1$
-	
-	/**
-	 * File menu: name of group for extra Close-like actions (value <code>"close.ext"</code>).
-	 */
-	public static final String CLOSE_EXT = "close.ext";		// Group. //$NON-NLS-1$
-	
-	/**
-	 * File menu: name of standard Save action (value <code>"save"</code>).
-	 */
-	public static final String SAVE = "save"; //$NON-NLS-1$
-	
-	/**
-	 * File menu: name of standard Save As action (value <code>"saveAs"</code>).
-	 */
-	public static final String SAVE_AS = "saveAs"; 	 //$NON-NLS-1$
-	
-	/**
-	 * File menu: name of standard Save All action (value <code>"saveAll"</code>).
-	 */
-	public static final String SAVE_ALL = "saveAll"; //$NON-NLS-1$
-	
-	/**
-	 * File menu: name of group for extra Save-like actions (value <code>"save.ext"</code>).
-	 */
-	public static final String SAVE_EXT = "save.ext";		// Group. //$NON-NLS-1$
-
-	/**
-	 * File menu: name of standard Print global action 
-	 * (value <code>"print"</code>).
-	 */
-	public static final String PRINT = "print"; 			// Global action. //$NON-NLS-1$
-	
-	/**
-	 * File menu: name of standard Import action (value <code>"import"</code>).
-	 */
-	public static final String IMPORT = "import"; //$NON-NLS-1$
-	
-	/**
-	 * File menu: name of standard Export action (value <code>"export"</code>).
-	 */
-	public static final String EXPORT = "export"; //$NON-NLS-1$
-	
-	/**
-	 * File menu: name of group for extra Import-like actions (value <code>"import.ext"</code>).
-	 */
-	public static final String IMPORT_EXT = "import.ext";	// Group. //$NON-NLS-1$
-	
-	/**
-	 * File menu: name of "Most Recently Used File" group.
-	 * (value <code>"mru"</code>).
-	 */
-	public static final String MRU = "mru"; //$NON-NLS-1$
-	
-	/**
-	 * File menu: name of standard Quit action (value <code>"quit"</code>).
-	 */
-	public static final String QUIT = "quit"; //$NON-NLS-1$
-
-// Standard edit actions:
-	/**
-	 * Edit menu: name of group for start of menu (value <code>"editStart"</code>).
-	 */
-	public static final String EDIT_START = "editStart";	// Group. //$NON-NLS-1$
-		
-	/**
-	 * Edit menu: name of group for end of menu (value <code>"editEnd"</code>).
-	 */
-	public static final String EDIT_END = "editEnd";		// Group. //$NON-NLS-1$
-	
-	/**
-	 * Edit menu: name of standard Undo global action 
-	 * (value <code>"undo"</code>).
-	 */
-	public static final String UNDO = "undo"; 				// Global action. //$NON-NLS-1$
-	
-	/**
-	 * Edit menu: name of standard Redo global action 
-	 * (value <code>"redo"</code>).
-	 */
-	public static final String REDO = "redo"; 				// Global action. //$NON-NLS-1$
-	
-	/**
-	 * Edit menu: name of group for extra Undo-like actions (value <code>"undo.ext"</code>).
-	 */
-	public static final String UNDO_EXT = "undo.ext";		// Group. //$NON-NLS-1$
-	
-	/**
-	 * Edit menu: name of standard Cut global action 
-	 * (value <code>"cut"</code>).
-	 */
-	public static final String CUT = "cut"; 				// Global action. //$NON-NLS-1$
-	
-	/**
-	 * Edit menu: name of standard Copy global action
-	 * (value <code>"copy"</code>).
-	 */
-	public static final String COPY = "copy"; 				// Global action. //$NON-NLS-1$
-	
-	/**
-	 * Edit menu: name of standard Paste global action 
-	 * (value <code>"paste"</code>).
-	 */
-	public static final String PASTE = "paste"; 			// Global action. //$NON-NLS-1$
-	
-	/**
-	 * Edit menu: name of group for extra Cut-like actions (value <code>"cut.ext"</code>).
-	 */
-	public static final String CUT_EXT = "cut.ext";			// Group. //$NON-NLS-1$
-	
-	/**
-	 * Edit menu: name of standard Delete global action 
-	 * (value <code>"delete"</code>).
-	 */
-	public static final String DELETE = "delete"; 			// Global action. //$NON-NLS-1$
-	
-	/**
-	 * Edit menu: name of standard Find global action
-	 * (value <code>"find"</code>).
-	 */
-	public static final String FIND = "find"; 				// Global action. //$NON-NLS-1$
-	
-	/**
-	 * Edit menu: name of group for extra Find-like actions (value <code>"find.ext"</code>).
-	 */
-	public static final String FIND_EXT = "cut.ext";			// Group. //$NON-NLS-1$
-	
-	/**
-	 * Edit menu: name of standard Select All global action
-	 * (value <code>"selectAll"</code>).
-	 */
-	public static final String SELECT_ALL = "selectAll";		// Global action. //$NON-NLS-1$
-	
-	/**
-	 * Edit menu: name of standard Add Bookmark global action
-	 * (value <code>"bookmark"</code>).
-	 */
-	public static final String BOOKMARK = "bookmark"; 		// Global action. //$NON-NLS-1$
-
-	/**
-	 * Edit menu: name of standard Add Task global action
-	 * (value <code>"addTask"</code>).
-	 */
-	public static final String ADD_TASK = "addTask"; 		// Global action. //$NON-NLS-1$
-		
-	/**
-	 * Edit menu: name of group for extra Add-like actions (value <code>"add.ext"</code>).
-	 */
-	public static final String ADD_EXT = "add.ext";			// Group. //$NON-NLS-1$
-
-// Standard workbench actions:
-	/**
-	 * Workbench menu: name of group for start of menu
-	 * (value <code>"wbStart"</code>).
-	 */
-	public static final String WB_START = "wbStart";		// Group. //$NON-NLS-1$
-	
-	/**
-	 * Workbench menu: name of group for end of menu
-	 * (value <code>"wbEnd"</code>).
-	 */
-	public static final String WB_END = "wbEnd";			// Group. //$NON-NLS-1$
-	
-	/**
-	 * Workbench menu: name of group for extra Build-like actions
-	 * (value <code>"build.ext"</code>).
-	 */
-	public static final String BUILD_EXT = "build.ext";		// Group. //$NON-NLS-1$
-	
-	/**
-	 * Workbench menu: name of standard Build action 
-	 * (value <code>"build"</code>).
-	 */
-	public static final String BUILD = "build"; //$NON-NLS-1$
-	
-	/**
-	 * Workbench menu: name of standard Rebuild All action 
-	 * (value <code>"rebuildAll"</code>).
-	 */
-	public static final String REBUILD_ALL = "rebuildAll"; //$NON-NLS-1$
-
-// Pop-up menu groups:
-	/**
-	 * Pop-up menu: name of group for Managing actions (value <code>"group.managing"</code>).
-	 */
-	public static final String GROUP_MANAGING = "group.managing"; //$NON-NLS-1$
-	
-	/**
-	 * Pop-up menu: name of group for Reorganize actions (value <code>"group.reorganize"</code>).
-	 */
-	public static final String GROUP_REORGANIZE = "group.reorganize"; //$NON-NLS-1$
-	
-	/**
-	 * Pop-up menu: name of group for Add actions (value <code>"group.add"</code>).
-	 */
-	public static final String GROUP_ADD = "group.add"; //$NON-NLS-1$
-	
-	/**
-	 * Pop-up menu: name of group for File actions (value <code>"group.file"</code>).
-	 */
-	public static final String GROUP_FILE = "group.file"; //$NON-NLS-1$
-
-	/**
-	 * Toolbar: name of group for editor action bars.
-	 */
-	public static final String GROUP_EDITOR = "group.editor"; //$NON-NLS-1$
-	
-// Standard view actions:
-	/**
-	 * View menu: name of group for additional view-like items.
-	 * (value <code>"additions"</code>).
-	 */
-	public static final String VIEW_EXT = MB_ADDITIONS;	// Group.
-	
-// Standard window actions:
-	/**
-	 * Window menu: name of group for additional window-like items.
-	 * (value <code>"additions"</code>).
-	 */
-	public static final String WINDOW_EXT = MB_ADDITIONS;	// Group.
-
-	/**
-	 * Launch menu: name of group for launching additional windows.
-	 * (value <code>"additions"</code>).
-	 */
-	public static final String LAUNCH_EXT = MB_ADDITIONS;	// Group.
-	
-// menu reorg
-	/**
-	 * File menu: name of standard Revert global action
-	 * (value <code>"revert"</code>).
-	 */
-	public static final String REVERT = "revert";	// Global action. //$NON-NLS-1$
-
-	/**
-	 * File menu: name of standard Refresh global action
-	 * (value <code>"refresh"</code>).
-	 */
-	public static final String REFRESH = "refresh";	// Global action. //$NON-NLS-1$
-
-	/**
-	 * File menu: name of standard Properties global action
-	 * (value <code>"properties"</code>).
-	 */
-	public static final String PROPERTIES = "properties";	// Global action. //$NON-NLS-1$
-
-	/**
-	 * Edit menu: name of standard Move global action
-	 * (value <code>"move"</code>).
-	 */
-	public static final String MOVE = "move";	// Global action. //$NON-NLS-1$
-
-	/**
-	 * Edit menu: name of standard Rename global action
-	 * (value <code>"rename"</code>).
-	 */
-	public static final String RENAME = "rename";	// Global action. //$NON-NLS-1$
-
-	/**
-	 * Edit menu: name of standard Add Task global action
-	 * (value <code>"addTask"</code>).
-	 */
-//	public static final String ADD_TASK = "addTask";	// Global action. //$NON-NLS-1$
-
-	/**
-	 * Navigate menu: name of group for start of menu
-	 * (value <code>"navStart"</code>).
-	 */
-	public static final String NAV_START = "navStart";	// Group. //$NON-NLS-1$
-
-	/**
-	 * Navigate menu: name of group for end of menu
-	 * (value <code>"navEnd"</code>).
-	 */
-	public static final String NAV_END = "navEnd";		// Group. //$NON-NLS-1$
-
-	/**
-	 * Navigate menu: name of group for extra Open actions
-	 * (value <code>"open.ext"</code>).
-	 */
-	public static final String OPEN_EXT = "open.ext";		// Group. //$NON-NLS-1$
-
-	/**
-	 * Navigate menu: name of group for extra Show actions
-	 * (value <code>"show.ext"</code>).
-	 */
-	public static final String SHOW_EXT = "show.ext";		// Group. //$NON-NLS-1$
-
-	/**
-	 * Navigate menu: name of standard Go Into global action
-	 * (value <code>"goInto"</code>).
-	 */
-	public static final String GO_INTO = "goInto";	// Global action. //$NON-NLS-1$
-
-	/**
-	 * Navigate menu: name of standard Go To submenu
-	 * (value <code>"goTo"</code>).
-	 */
-	public static final String GO_TO = "goTo";	//$NON-NLS-1$
-
-	/**
-	 * Navigate menu: name of standard Go To Resource global action
-	 * (value <code>"goToResource"</code>).
-	 */
-	public static final String GO_TO_RESOURCE = "goToResource";	// Global action. //$NON-NLS-1$
-
-	/**
-	 * Navigate menu: name of standard Sync With Editor global action (value
-	 * <code>"syncEditor"</code>).
-	 * 
-	 * @deprecated this action will be removed soon; use SHOW_IN instead 
-	 */
-	public static final String SYNC_EDITOR = "syncEditor";	// Global action. //$NON-NLS-1$
-
-	/**
-	 * Navigate menu: name of standard Show In... action 
-	 * (value <code>"showIn"</code>).
-	 * 
-	 * @see org.eclipse.ui.actions.ShowInAction
-	 * @since 2.1
-	 */
-	public static final String SHOW_IN = "showIn";	//$NON-NLS-1$
-
-	/**
-	 * Navigate menu: name of standard Back global action
-	 * (value <code>"back"</code>).
-	 */
-	public static final String BACK = "back";	// Global action. //$NON-NLS-1$
-
-	/**
-	 * Navigate menu: name of standard Forward global action
-	 * (value <code>"forward"</code>).
-	 */
-	public static final String FORWARD = "forward";	// Global action. //$NON-NLS-1$
-
-	/**
-	 * Navigate menu: name of standard Up global action
-	 * (value <code>"up"</code>).
-	 */
-	public static final String UP = "up";	// Global action. //$NON-NLS-1$
-
-	/**
-	 * Navigate menu: name of standard Next global action
-	 * (value <code>"next"</code>).
-	 */
-	public static final String NEXT = "next";	// Global action. //$NON-NLS-1$
-
-	/**
-	 * Navigate menu: name of standard Up global action
-	 * (value <code>"previous"</code>).
-	 */
-	public static final String PREVIOUS = "previous";	// Global action. //$NON-NLS-1$
-
-	/**
-	 * Project menu: name of group for start of menu
-	 * (value <code>"projStart"</code>).
-	 */
-	public static final String PROJ_START = "projStart";	// Group. //$NON-NLS-1$
-
-	/**
-	 * Project menu: name of group for start of menu
-	 * (value <code>"projEnd"</code>).
-	 */
-	public static final String PROJ_END = "projEnd";	// Group. //$NON-NLS-1$
-
-	/**
-	 * Project menu: name of standard Build Project global action
-	 * (value <code>"buildProject"</code>).
-	 */
-	public static final String BUILD_PROJECT = "buildProject";	// Global action. //$NON-NLS-1$
-
-	/**
-	 * Project menu: name of standard Rebuild Project global action
-	 * (value <code>"rebuildProject"</code>).
-	 */
-	public static final String REBUILD_PROJECT = "rebuildProject";	// Global action. //$NON-NLS-1$
-
-	/**
-	 * Project menu: name of standard Open Project global action
-	 * (value <code>"openProject"</code>).
-	 */
-	public static final String OPEN_PROJECT = "openProject";	// Global action. //$NON-NLS-1$
-
-	/**
-	 * Project menu: name of standard Close Project global action
-	 * (value <code>"closeProject"</code>).
-	 */
-	public static final String CLOSE_PROJECT = "closeProject";	// Global action. //$NON-NLS-1$
-// end menu reorg
-
-
-// Standard help actions:
-	/**
-	 * Help menu: name of group for start of menu
-	 * (value <code>"helpStart"</code>).
-	 */
-	public static final String HELP_START = "helpStart";	// Group. //$NON-NLS-1$
-	
-	/**
-	 * Help menu: name of group for end of menu
-	 * (value <code>"helpEnd"</code>).
-	 */
-	public static final String HELP_END = "helpEnd";		// Group. //$NON-NLS-1$
-	
-	/**
-	 * Help menu: name of standard About action 
-	 * (value <code>"about"</code>).
-	 */
-	public static final String ABOUT = "about"; //$NON-NLS-1$
-
-	/**
-	 * Standard global actions in a workbench window.
-	 */
-	public static final String [] GLOBAL_ACTIONS = {
-		UNDO,
-		REDO,
-		CUT,
-		COPY,
-		PASTE,
-		PRINT,
-		DELETE,
-		FIND,
-		SELECT_ALL,
-		BOOKMARK
-	};
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPage.java
deleted file mode 100644
index 2fbf86c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPage.java
+++ /dev/null
@@ -1,667 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.util.IPropertyChangeListener;
-
-/**
- * A workbench page consists of an arrangement of views and editors intended to
- * be presented together to the user in a single workbench window. 
- * <p>
- * A page can contain 0 or more views and 0 or more editors. These views and editors
- * are contained wholly within the page and are not shared with other pages. 
- * The layout and visible action set for the page is defined by a perspective.
- * <p>
- * The number of views and editors within a page is restricted to simplify part
- * management for the user.  In particular:
- * <ul>
- * 	<li>Only one instance of a particular view type may exist within a workbench page.</li>
- * 	<li>Only one editor can exist for each editor input within a page.<li>
- * </ul>
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- *
- * @see IPerspectiveDescriptor
- * @see IEditorPart
- * @see IViewPart
- */
-public interface IWorkbenchPage extends IPartService, ISelectionService {
-	/**
-	 * An optional attribute within a workspace marker (<code>IMarker</code>) which
-	 * identifies the preferred editor type to be opened when 
-	 * <code>openEditor</code> is called.
-	 *
-	 * @see #openEditor
- 	 */	
-	public static final String EDITOR_ID_ATTR = "org.eclipse.ui.editorID"; //$NON-NLS-1$
-
-	/**
-	 * Change event id when the perspective is reset to its
-	 * original state.
-	 *
-	 * @see IPerspectiveListener
-	 */
-	 public static final String CHANGE_RESET = "reset"; //$NON-NLS-1$
-
-	/**
-	 * Change event id when one or more perspective views are shown.
-	 *
-	 * @see IPerspectiveListener
-	 */
-	 public static final String CHANGE_VIEW_SHOW = "viewShow"; //$NON-NLS-1$
-
-	/**
-	 * Change event id when one or more perspective views are hidden.
-	 *
-	 * @see IPerspectiveListener
-	 */
-	 public static final String CHANGE_VIEW_HIDE = "viewHide"; //$NON-NLS-1$
-
-
-	/**
-	 * Change event id when one or more perspective editors are opened.
-	 *
-	 * @see IPerspectiveListener
-	 */
-	 public static final String CHANGE_EDITOR_OPEN = "editorOpen"; //$NON-NLS-1$
-
-	/**
-	 * Change event id when one or more perspective editors are closed.
-	 *
-	 * @see IPerspectiveListener
-	 */
-	 public static final String CHANGE_EDITOR_CLOSE = "editorClose"; //$NON-NLS-1$
-
-	/**
-	 * Change event id when the perspective editor area is shown.
-	 *
-	 * @see IPerspectiveListener
-	 */
-	 public static final String CHANGE_EDITOR_AREA_SHOW = "editorAreaShow"; //$NON-NLS-1$
-
-	/**
-	 * Change event id when the perspective editor area is hidden.
-	 *
-	 * @see IPerspectiveListener
-	 */
-	 public static final String CHANGE_EDITOR_AREA_HIDE = "editorAreaHide"; //$NON-NLS-1$
-
-	/**
-	 * Change event id when a perspective action set is shown.
-	 *
-	 * @see IPerspectiveListener
-	 */
-	 public static final String CHANGE_ACTION_SET_SHOW = "actionSetShow"; //$NON-NLS-1$
-
-	/**
-	 * Change event id when the perspective action set is hidden.
-	 *
-	 * @see IPerspectiveListener
-	 */
-	 public static final String CHANGE_ACTION_SET_HIDE = "actionSetHide"; //$NON-NLS-1$
-	 
-	/**
-	 * Change event id when a perspective fast view added.
-	 *
-	 * @see IPerspectiveListener
-	 */
-	 public static final String CHANGE_FAST_VIEW_ADD = "fastViewAdd"; //$NON-NLS-1$
-
-	/**
-	 * Change event id when the perspective fast view removed.
-	 *
-	 * @see IPerspectiveListener
-	 */
-	 public static final String CHANGE_FAST_VIEW_REMOVE = "fastViewRemove"; //$NON-NLS-1$
-	 
-	/**
-	 * Change event id when the page working set was replaced
-	 *
-	 * @see IPropertyChangeListener
-	 */
-	 public static final String CHANGE_WORKING_SET_REPLACE = "workingSetReplace";	//$NON-NLS-1$	 
-	 
-/**
- * Activates the given part. The part will be brought to the front and given
- * focus. The part must belong to this page.
- *
- * @param part the part to activate
- */
-public void activate(IWorkbenchPart part);
-/**
- * Adds a property change listener.
- * 
- * @param listener the property change listener to add
- * @since 2.0
- * @deprecated individual views should store a working set if needed and
- * 	register a property change listener directly with the working set manager
- * 	to receive notification when the view working set is removed.
- */
-public void addPropertyChangeListener(IPropertyChangeListener listener);
-/**
- * Moves the given part forward in the Z order of this page so as to make
- * it visible, without changing which part has focus.
- * The part must belong to this page.
- *
- * @param part the part to bring forward
- */
-public void bringToTop(IWorkbenchPart part);
-/**
- * Closes this workbench page. If this page is the active one, this honor is
- * passed along to one of the window's other pages if possible.
- * <p>
- * If the page has an open editor with unsaved content, the user will be
- * given the opportunity to save it.
- * </p>
- *
- * @return <code>true</code> if the page was successfully closed,
- *   and <code>false</code> if it is still open
- */
-public boolean close();
-/**
- * Closes all of the editors belonging to this workbench page.
- * <p>
- * If the page has open editors with unsaved content and <code>save</code>
- * is <code>true</code>, the user will be given the opportunity to save them.
- * </p>
- *
- * @return <code>true</code> if all editors were successfully closed,
- *   and <code>false</code> if at least one is still open
- */
-public boolean closeAllEditors(boolean save);
-/**
- * Closes the given editor. The editor must belong to this workbench page.
- * <p>
- * If the editor has unsaved content and <code>save</code> is <code>true</code>,
- * the user will be given the opportunity to save it.
- * </p>
- *
- * @param editor the editor to close
- * @param save <code>true</code> to save the editor contents if required
- *  (recommended), and <code>false</code> to discard any unsaved changes
- * @return <code>true</code> if the editor was successfully closed,
- *   and <code>false</code> if the editor is still open
- */
-public boolean closeEditor(IEditorPart editor, boolean save);
-/**
- * Returns the view in this page with the specified id.  There is at most one
- * view in the page with the specified id.
- *
- * @param viewId the id of the view extension to use
- * @return the view, or <code>null</code> if none is found
- */
-public IViewPart findView(String viewId);
-/**
- * Returns the active editor open in this page.
- * <p>
- * This is the visible editor on the page, or, if there is more than one
- * visible editor, this is the one most recently brought to top.
- * </p>
- *
- * @return the active editor, or <code>null</code> if no editor is active
- */
-public IEditorPart getActiveEditor();
-/**
- * Returns the editor with the specified input. Returns null if there
- * is no opened editor with that input.
- *
- * @return an editor with input equals to <code>input</code>
- */
-public IEditorPart findEditor(IEditorInput input);
-/**
- * Returns a list of the editors open in this page.
- * <p>
- * Note that each page has its own editors; editors are never shared between
- * pages.
- * </p>
- *
- * @return a list of open editors
- * 
- * @deprecated use getEditorReferences() instead
- */
-public IEditorPart[] getEditors();
-/**
- * Returns a array of references to open editors in this page.
- * <p>
- * Note that each page has its own editors; editors are never shared between
- * pages.
- * </p>
- *
- * @return a list of open editors
- */
-public IEditorReference[] getEditorReferences();
-/**
- * Returns a list of dirty editors in this page.
- *
- * @return a list of dirty editors
- */
-public IEditorPart[] getDirtyEditors();
-/**
- * Returns the input for this page.
- *
- * @return the input for this page, or <code>null</code> if none 
- */
-public IAdaptable getInput();
-/**
- * Returns the page label.  This will be a unique identifier within the
- * containing workbench window.
- *
- * @return the page label
- */
-public String getLabel();
-/**
- * Returns the current perspective descriptor for this page.
- *
- * @return the current perspective descriptor
- * @see #setPerspective
- * @see #savePerspective
- */
-public IPerspectiveDescriptor getPerspective();
-/**
- * Returns a list of the reference to views visible on this page.
- * <p>
- * Note that each page has its own views; views are never shared between pages.
- * </p>
- *
- * @return a list of references to visible views
- */
-public IViewReference[] getViewReferences();
-/**
- * Returns a list of the views visible on this page.
- * <p>
- * Note that each page has its own views; views are never shared between pages.
- * </p>
- *
- * @return a list of visible views
- * 
- * @deprecated use getViewReferences() instead.
- */
-public IViewPart[] getViews();
-/**
- * Returns the workbench window of this page.
- *
- * @return the workbench window
- */
-public IWorkbenchWindow getWorkbenchWindow();
-/**
- * Returns the working set of this page.
- * 
- * @return the working set of this page.
- * @since 2.0
- * @deprecated individual views should store a working set if needed
- */
-public IWorkingSet getWorkingSet();
-/**
- * Hides an action set in this page.
- * <p>
- * In most cases where this method is used the caller is tightly coupled to
- * a particular action set.  They define it in the registry and may make it
- * visible in certain scenarios by calling <code>showActionSet</code>.
- * A static variable is often used to identify the action set id in caller
- * code.
- * </p>
- */
-public void hideActionSet(String actionSetID);
-/**
- * Hides the given view. The view must belong to this page.
- *
- * @param view the view to hide
- */
-public void hideView(IViewPart view);
-/**
- * Returns whether the specified part is visible.
- *
- * @return boolean true if part is visible
- */
-public boolean isPartVisible(IWorkbenchPart part);
-/**
- * Returns whether the page's current perspective is showing
- * the editor area.
- *
- * @return <code>true</code> when editor area visible, <code>false</code> otherwise
- */
-public boolean isEditorAreaVisible();
-/**
- * Reuses the specified editor by setting its new input.
- * 
- * @param editor the editor to be reused
- * @param input the new input for the reusable editor
- */
-public void reuseEditor(IReusableEditor editor,IEditorInput input);
-/**
- * Opens an editor on the given file resource. 
- * <p>
- * If this page already has an editor open on the target object that editor is 
- * activated; otherwise, a new editor is opened. 
- * <p><p>
- * An appropriate editor for the input is determined using a multistep process.
- * </p>
- * <ol>
- *   <li>The workbench editor registry is consulted to determine if an editor 
- *			extension has been registered for the file type.  If so, an 
- *			instance of the editor extension is opened on the file.  
- *			See <code>IEditorRegistry.getDefaultEditor(IFile)</code>.
- *   <li>Next, the native operating system will be consulted to determine if a native
- *			editor exists for the file type.  If so, a new process is started
- *			and the native editor is opened on the file.
- *   <li>If all else fails the file will be opened in a default text editor.</li>
- * </ol>
- * </p>
- *
- * @param input the file to edit
- * @return an open and active editor, or null if a system editor was opened
- * @exception PartInitException if the editor could not be initialized
- */
-public IEditorPart openEditor(IFile input) throws PartInitException;
-/**
- * Opens an editor on the given file resource.  
- * <p>
- * If this page already has an editor open on the target object that editor is 
- * brought to front; otherwise, a new editor is opened. If 
- * <code>activate == true</code> the editor will be activated. 
- * <p><p>
- * The editor type is determined by mapping <code>editorId</code> to an editor
- * extension registered with the workbench.  An editor id is passed rather than
- * an editor object to prevent the accidental creation of more than one editor
- * for the same input. It also guarantees a consistent lifecycle for editors,
- * regardless of whether they are created by the user or restored from saved 
- * data.
- * </p>
- *
- * @param input the file to edit
- * @param editorId the id of the editor extension to use or null
- * @param activate if <code>true</code> the editor will be activated
- * @return an open and active editor
- * @exception PartInitException if the editor could not be initialized
- */
-public IEditorPart openEditor(IFile input, String editorID, boolean activate)
-	throws PartInitException;
-/**
- * Opens an editor on the given file resource.  
- * <p>
- * If this page already has an editor open on the target object that editor is 
- * activated; otherwise, a new editor is opened. 
- * <p><p>
- * The editor type is determined by mapping <code>editorId</code> to an editor
- * extension registered with the workbench.  An editor id is passed rather than
- * an editor object to prevent the accidental creation of more than one editor
- * for the same input. It also guarantees a consistent lifecycle for editors,
- * regardless of whether they are created by the user or restored from saved 
- * data.
- * </p>
- *
- * @param editorId the id of the editor extension to use
- * @param input the file to edit
- * @return an open and active editor
- * @exception PartInitException if the editor could not be initialized
- */
-public IEditorPart openEditor(IFile input, String editorID)
-	throws PartInitException;
-/**
- * Opens an editor on the file resource of the given marker. 
- * <p>
- * If this page already has an editor open on the target object that editor is 
- * activated; otherwise, a new editor is opened. The cursor and selection state 
- * of the editor is then updated from information recorded in the marker.
- * <p><p>
- * If the marker contains an <code>EDITOR_ID_ATTR</code> attribute 
- * the attribute value will be used to determine the editor type to be opened. 
- * If not, the registered editor for the marker resource will be used. 
- * </p>
- *
- * @param marker the marker to open
- * @return an open and active editor, or null if a system editor was opened
- * @exception PartInitException if the editor could not be initialized
- * @see IEditorPart#gotoMarker
- */
-public IEditorPart openEditor(IMarker marker) throws PartInitException;
-/**
- * Opens an editor on the file resource of the given marker. 
- * <p>
- * If this page already has an editor open on the target object that editor is 
- * brought to front; otherwise, a new editor is opened. If 
- * <code>activate == true</code> the editor will be activated.  The cursor and 
- * selection state of the editor are then updated from information recorded in 
- * the marker.
- * <p><p>
- * If the marker contains an <code>EDITOR_ID_ATTR</code> attribute 
- * the attribute value will be used to determine the editor type to be opened. 
- * If not, the registered editor for the marker resource will be used. 
- * </p>
- *
- * @param marker the marker to open
- * @param activate if <code>true</code> the editor will be activated
- * @return an open editor, or null if a system editor was opened
- * @exception PartInitException if the editor could not be initialized
- * @see IEditorPart#gotoMarker
- */
-public IEditorPart openEditor(IMarker marker, boolean activate) 
-	throws PartInitException;
-/**
- * Opens an editor on the given object.  
- * <p>
- * If this page already has an editor open on the target object that editor is 
- * activated; otherwise, a new editor is opened. 
- * <p><p>
- * The editor type is determined by mapping <code>editorId</code> to an editor
- * extension registered with the workbench.  An editor id is passed rather than
- * an editor object to prevent the accidental creation of more than one editor
- * for the same input. It also guarantees a consistent lifecycle for editors,
- * regardless of whether they are created by the user or restored from saved 
- * data.
- * </p>
- *
- * @param input the editor input
- * @param editorId the id of the editor extension to use
- * @return an open and active editor
- * @exception PartInitException if the editor could not be initialized
- */
-public IEditorPart openEditor(IEditorInput input, String editorId)
-	throws PartInitException;
-/**
- * Opens an editor on the given object.  
- * <p>
- * If this page already has an editor open on the target object that editor is 
- * brought to the front; otherwise, a new editor is opened.  If 
- * <code>activate == true</code> the editor will be activated.  
- * <p><p>
- * The editor type is determined by mapping <code>editorId</code> to an editor
- * extension registered with the workbench.  An editor id is passed rather than
- * an editor object to prevent the accidental creation of more than one editor
- * for the same input. It also guarantees a consistent lifecycle for editors,
- * regardless of whether they are created by the user or restored from saved 
- * data.
- * </p>
- *
- * @param input the editor input
- * @param editorId the id of the editor extension to use
- * @param activate if <code>true</code> the editor will be activated
- * @return an open editor
- * @exception PartInitException if the editor could not be initialized
- */
-public IEditorPart openEditor(IEditorInput input, String editorId, boolean activate)
-	throws PartInitException;
-/**
- * Opens an operating system editor on a given file. Once open, the
- * workbench has no knowledge of the editor or the state of the file
- * being edited.  Users are expected to perform a "Local Refresh" from
- * the workbench user interface.
- *
- * @param input the file to edit
- * @exception PartInitException if the editor could not be opened.
- */
-public void openSystemEditor(IFile input) throws PartInitException;
-/**
- * Removes the property change listener.
- * 
- * @param listener the property change listener to remove
- * @since 2.0
- * @deprecated individual views should store a working set if needed and
- * 	register a property change listener directly with the working set manager
- * 	to receive notification when the view working set is removed.
- */
-public void removePropertyChangeListener(IPropertyChangeListener listener);
-/**
- * Changes the visible views, their layout, and the visible action sets 
- * within the page to match the current perspective descriptor.  This is a 
- * rearrangement of components and not a replacement.  The contents of the 
- * current perspective descriptor are unaffected.
- * <p>
- * For more information on perspective change see<code>setPerspective()</code>.
- * </p>
- */
-public void resetPerspective();
-/**
- * Saves the contents of all dirty editors belonging to this workbench 
- * page.  If there are no dirty editors this method returns without
- * effect.
- * <p>
- * If <code>confirm</code> is <code>true</code> the user is prompted to
- * confirm the command.
- * </p>
- *
- * @param confirm <code>true</code> to ask the user before saving unsaved
- *  changes (recommended), and <code>false</code> to save unsaved changes
- *  without asking
- * @return <code>true</code> if the command succeeded, and <code>false</code>
- *   if at least one editor with unsaved changes was not saved
- */
-public boolean saveAllEditors(boolean confirm);
-/**
- * Saves the contents of the given editor if dirty.  If not, this
- * method returns without effect.
- * <p>
- * If <code>confirm</code> is <code>true</code> the user is prompted to 
- * confirm the command. Otherwise, the save happens without prompt.
- * </p><p>
- * The editor must belong to this workbench page.
- * </p>
- *
- * @param editor the editor to close
- * @param confirm <code>true</code> to ask the user before saving unsaved
- *  changes (recommended), and <code>false</code> to save unsaved changes
- *  without asking
- * @return <code>true</code> if the command succeeded, and <code>false</code>
- *   if the editor was not saved
- */
-public boolean saveEditor(IEditorPart editor, boolean confirm);
-/**
- * Saves the visible views, their layout, and the visible action sets for
- * this page to the current perspective descriptor. The contents of the current 
- * perspective descriptor are overwritten. 
- */
-public void savePerspective();
-/**
- * Saves the visible views, their layout, and the visible action sets for
- * this page to the given perspective descriptor. The contents of the given 
- * perspective descriptor are overwritten and it is made the current one 
- * for this page.
- *
- * @param perspective the perspective descriptor to save to
- */
-public void savePerspectiveAs(IPerspectiveDescriptor perspective);
-/**
- * Show or hide the editor area for the page's active perspective.
- *
- * @param showEditorArea <code>true</code> to show the editor area, <code>false</code> to hide the editor area
- */
-public void setEditorAreaVisible(boolean showEditorArea);
-/**
- * Changes the visible views, their layout, and the visible action sets 
- * within the page to match the given perspective descriptor.  This is a 
- * rearrangement of components and not a replacement.  The contents of the 
- * old perspective descriptor are unaffected.
- * <p>
- * When a perspective change occurs the old perspective is deactivated (hidden) 
- * and cached for future reference.  Then the new perspective is activated (shown).  
- * The views within the page are shared by all existing perspectives to make 
- * it easy for the user to switch between one perspective and another quickly 
- * without loss of context. 
- * </p><p>
- * During activation the action sets are modified.  If an action set is 
- * specified in the new perspective which is not visible in the old one it 
- * will be created.  If an old action set is not specified in the new 
- * perspective it will be disposed.
- * </p><p>
- * The visible views and their layout within the page also change.  If 
- * a view is specified in the new perspective which is not visible in the old
- * one a new instance of the view will be created.  If an old view is not specified
- * in the new perspective it will be hidden.  This view may reappear if the user 
- * selects it from the View menu or if they switch to a perspective (which may be 
- * the old one) where the view is visible.
- * </p><p>
- * The open editors are not modified by this method.
- * </p>
- *
- * @param perspective the perspective descriptor
- */
-public void setPerspective(IPerspectiveDescriptor perspective);
-/**
- * Shows an action set in this page. 
- * <p>
- * In most cases where this method is used the caller is tightly coupled to
- * a particular action set.  They define it in the registry and may make it
- * visible in certain scenarios by calling <code>showActionSet</code>.
- * A static variable is often used to identify the action set id in caller
- * code.
- * </p>
- */
-public void showActionSet(String actionSetID);
-/**
- * Shows a view in this page and give it focus. If the view is already visible,
- * it is given focus.
- * <p>
- * The view type is determined by mapping <code>viewId</code> to a view extension
- * registered with the workbench.  A view id is passed rather than a view object
- * to prevent the accidental creation of more than one view of a particular type.
- * It also guarantees a consistent lifecycle for views, regardless of whether 
- * they are created by the user or restored from saved data.
- * </p>
- *
- * @param viewId the id of the view extension to use
- * @return a view
- * @exception PartInitException if the view could not be initialized
- */
-public IViewPart showView(String viewId) throws PartInitException;
-/**
- * Returns true if the editor is pinned and should not be
- * reused.
- * 
- * @return boolean
- */
-public boolean isEditorPinned(IEditorPart editor);
-/**
- * Returns the number of open editors before reusing editors.
- *
- * @return a int
- * 
- * Note: For EXPERIMENTAL use only. IT MAY CHANGE IN NEAR FUTURE.
- * 
- * @deprecated
- */
-public int getEditorReuseThreshold();
-/**
- * Set the number of open editors before reusing editors.
- * If < 0 the user preference settings will be used.
- * 
- * Note: For EXPERIMENTAL use only. IT MAY CHANGE IN NEAR FUTURE.
- * 
- * @deprecated use IPageLayout.setEditorReuseThreshold(int openEditors) instead.
- */
-public void setEditorReuseThreshold(int openEditors);
-/**
- * 2.1 - WORK_IN_PROGRESS. Do not use.
- * 
- * Returns the navigation history which manages a list of entries keeping the history
- * of places (positions, selection and editors) the user visited making it easier to the
- * user to move back and forward without losing context.
- */
-public INavigationHistory getNavigationHistory();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPart.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPart.java
deleted file mode 100644
index 74d7883..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPart.java
+++ /dev/null
@@ -1,206 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * A workbench part is a visual component within a workbench page.  There
- * are two subtypes: view and editor, as defined by <code>IViewPart</code> and
- * <code>IEditorPart</code>.  
- * <p>
- * A view is typically used to navigate a hierarchy of information (like the 
- * workspace), open an editor, or display properties for the active editor.  
- * Modifications made in a view are saved immediately.  
- * </p><p>
- * An editor is typically used to edit or browse a document or input object. 
- * The input is identified using an <code>IEditorInput</code>.  Modifications made 
- * in an editor part follow an open-save-close lifecycle model.
- * </p><p>
- * This interface may be implemented directly.  For convenience, a base
- * implementation is defined in <code>WorkbenchPart</code>.
- * </p><p>
- * The lifecycle of a workbench part is as follows:
- * <ul>
- * 	<li>When a part extension is created:
- *    <ul>
- *		<li>instantiate the part</li>
- *		<li>create a part site</li>
- *		<li>call <code>part.init(site)</code></li>
- * 	  </ul>
- *  <li>When a part becomes visible in the workbench:
- * 	  <ul> 
- *		<li>add part to presentation by calling 
- *        <code>part.createControl(parent)</code> to create actual widgets</li>
- *		<li>fire <code>partOpened</code> event to all listeners</li>
- *	  </ul>
- *   </li>
- *  <li>When a part is activated or gets focus:
- *    <ul>
- *		<li>call <code>part.setFocus()</code></li>
- *		<li>fire <code>partActivated</code> event to all listeners</li>
- *	  </ul>
- *   </li>
- *  <li>When a part is closed:
- *    <ul>
- *		<li>if save is needed, do save; if it fails or is canceled return</li>
- *		<li>if part is active, deactivate part</li>
- *		<li>fire <code>partClosed</code> event to all listeners</li>
- *		<li>remove part from presentation; part controls are disposed as part
- *         of the SWT widget tree
- *		<li>call <code>part.dispose()</code></li>
- *	  </ul>
- *   </li>
- * </ul>
- * </p>
- * <p>
- * After <code>createPartControl</code> has been called, the implementor may 
- * safely reference the controls created.  When the part is closed 
- * these controls will be disposed as part of an SWT composite.  This
- * occurs before the <code>IWorkbenchPart.dispose</code> method is called.
- * If there is a need to free SWT resources the part should define a dispose 
- * listener for its own control and free those resources from the dispose
- * listener.  If the part invokes any method on the disposed SWT controls 
- * after this point an <code>SWTError</code> will be thrown.  
- * </p>
- * <p>
- * The last method called on <code>IWorkbenchPart</code> is <code>dispose</code>.  
- * This signals the end of the part lifecycle.
- * </p>
- * <p>
- * An important point to note about this lifecycle is that following 
- * a call to init, createControl may never be called. Thus in the dispose
- * method, implementors must not assume controls were created.
- * </p>
- * <p>
- * Workbench parts implement the <code>IAdaptable</code> interface; extensions
- * are managed by the platform's adapter manager.
- * </p>
- *
- * @see IViewPart
- * @see IEditorPart
- */
-public interface IWorkbenchPart extends IAdaptable {
-	
-	/**
-	 * The property id for <code>getTitle</code> and <code>getTitleImage</code>.
-	 */
-	public static final int PROP_TITLE = 0x01;
-/**
- * Adds a listener for changes to properties of this workbench part.
- * Has no effect if an identical listener is already registered.
- * <p>
- * The properties ids are as follows:
- * <ul>
- *   <li><code>IWorkbenchPart.PROP_TITLE</code> </li>
- *   <li><code>IEditorPart.PROP_INPUT</code> </li>
- *   <li><code>IEditorPart.PROP_DIRTY</code> </li>
- * </ul>
- * </p>
- *
- * @param listener a property listener
- */
-public void addPropertyListener(IPropertyListener listener);
-/**
- * Creates the SWT controls for this workbench part.
- * <p>
- * Clients should not call this method (the workbench calls this method when
- * it needs to, which may be never).
- * </p>
- * <p>
- * For implementors this is a multi-step process:
- * <ol>
- *   <li>Create one or more controls within the parent.</li>
- *   <li>Set the parent layout as needed.</li>
- *   <li>Register any global actions with the <code>IActionService</code>.</li>
- *   <li>Register any popup menus with the <code>IActionService</code>.</li>
- *   <li>Register a selection provider with the <code>ISelectionService</code>
- *     (optional). </li>
- * </ol>
- * </p>
- *
- * @param parent the parent control
- */
-public void createPartControl(Composite parent);
-/**
- * Disposes of this workbench part.
- * <p>
- * This is the last method called on the <code>IWorkbenchPart</code>.  At this
- * point the part controls (if they were ever created) have been disposed as part 
- * of an SWT composite.  There is no guarantee that createPartControl() has been 
- * called, so the part controls may never have been created.
- * </p>
- * <p>
- * Within this method a part may release any resources, fonts, images, etc.&nbsp; 
- * held by this part.  It is also very important to deregister all listeners
- * from the workbench.
- * </p>
- * <p>
- * Clients should not call this method (the workbench calls this method at
- * appropriate times).
- * </p>
- */
-public void dispose();
-/**
- * Returns the site for this workbench part.
- *
- * @return the part site
- */
-public IWorkbenchPartSite getSite();
-/**
- * Returns the title of this workbench part. If this value changes 
- * the part must fire a property listener event with 
- * <code>PROP_TITLE</code>.
- * <p>
- * The title is used to populate the title bar of this part's visual
- * container.  
- * </p>
- *
- * @return the workbench part title
- */
-public String getTitle();
-/**
- * Returns the title image of this workbench part.  If this value changes 
- * the part must fire a property listener event with 
- * <code>PROP_TITLE</code>.
- * <p>
- * The title image is usually used to populate the title bar of this part's
- * visual container. Since this image is managed by the part itself, callers
- * must <b>not</b> dispose the returned image.
- * </p>
- *
- * @return the title image
- */
-public Image getTitleImage();
-/**
- * Returns the title tool tip text of this workbench part. If this value 
- * changes the part must fire a property listener event with 
- * <code>PROP_TITLE</code>.
- * <p>
- * The tool tip text is used to populate the title bar of this part's 
- * visual container.  
- * </p>
- *
- * @return the workbench part title tool tip
- */
-public String getTitleToolTip();
-/**
- * Removes the given property listener from this workbench part.
- * Has no affect if an identical listener is not registered.
- *
- * @param listener a property listener
- */
-public void removePropertyListener(IPropertyListener listener);
-/**
- * Asks this part to take focus within the workbench.
- * <p>
- * Clients should not call this method (the workbench calls this method at
- * appropriate times).
- * </p>
- */
-public void setFocus();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartDescriptor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartDescriptor.java
deleted file mode 100644
index ef2ddd5..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartDescriptor.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * Description of a workbench part. The part descriptor contains 
- * the information needed to create part instances.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IWorkbenchPartDescriptor{
-/**
- * Returns the part id.
- *
- * @return the id of the part
- */
-public String getId();
-/**
- * Returns the descriptor of the image for this part.
- *
- * @return the descriptor of the image to display next to this part
- */
-public ImageDescriptor getImageDescriptor();
-/**
- * Returns the label to show for this part.
- *
- * @return the part label
- */
-public String getLabel();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartReference.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartReference.java
deleted file mode 100644
index 073197c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartReference.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.eclipse.ui;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.*;
-/**
- * Implements a reference to a IWorkbenchPart.
- * The IWorkbenchPart will not be instanciated until the part 
- * becomes visible or the API getPart is sent with true;
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IWorkbenchPartReference {
-	/**
-	 * Returns the IWorkbenchPart referenced by this object.
-	 * Returns <code>null</code> if the editors was not instantiated or
-	 * it failed to be restored. Tries to restore the editor
-	 * if <code>restore</code> is true.
-	 */
-	public IWorkbenchPart getPart(boolean restore);
-
-	/**
-	 * @see IWorkbenchPart#getTitle
-	 */	
-	public String getTitle();
-
-	/**
-	 * @see IWorkbenchPart#getTitleImage
-	 */	
-	public Image getTitleImage();
-
-	/**
-	 * @see IWorkbenchPart#getTitleToolTip
-	 */		
-	public String getTitleToolTip();
-
-	/**
-	 * @see IWorkbenchPartSite#getId
-	 */		
-	public String getId();
-
-	/**
-	 * @see IWorkbenchPart#addPropertyListener
-	 */
-	public void addPropertyListener(IPropertyListener listener);
-	
-	/**
-	 * @see IWorkbenchPart#removePropertyListener
-	 */
-	public void removePropertyListener(IPropertyListener listener);
-	/**
-	 * Returns the workbench page that contains this part
-	 */
-	public IWorkbenchPage getPage();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartSite.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartSite.java
deleted file mode 100644
index 876e8ae..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartSite.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.viewers.ISelectionProvider;
-
-/**
- * The primary interface between a workbench part and the outside world.
- * <p>
- * This interface is not intended to be implemented or extended by clients.
- * </p>
- */
-public interface IWorkbenchPartSite extends IWorkbenchSite {
-	
-
-/**
- * Returns the part registry extension id for this workbench site's part.
- * <p>
- * The name comes from the <code>id</code> attribute in the configuration
- * element.
- * </p>
- *
- * @return the registry extension id
- * @see #getConfigurationElement
- */
-public String getId();
-/**
- * Returns the unique identifier of the plug-in that defines this workbench
- * site's part.
- *
- * @return the unique identifier of the declaring plug-in
- * @see org.eclipse.core.runtime.IPluginDescriptor#getUniqueIdentifier
- */
-public String getPluginId();
-/**
- * Returns the registered name for this workbench site's part.
- * <p>
- * The name comes from the <code>name</code> attribute in the configuration
- * element.
- * </p>
- *
- * @return the part name
- */
-public String getRegisteredName();
-/**
- * Registers a pop-up menu with a particular id for extension.
- * This method should only be called if the target part has more
- * than one context menu to register.
- * <p>
- * For a detailed description of context menu registration see 
- * <code>registerContextMenu(MenuManager, ISelectionProvider);
- * </p>
- *
- * @param menuId the menu id
- * @param menuManager the menu manager
- * @param selectionProvider the selection provider
- */
-public void registerContextMenu(String menuId, MenuManager menuManager,
-	ISelectionProvider selectionProvider);
-/**
- * Registers a pop-up menu with the default id for extension.  
- * The default id is defined as the part id.
- * <p>
- * Within the workbench one plug-in may extend the pop-up menus for a view
- * or editor within another plug-in.  In order to be eligible for extension,
- * the target part must publish each menu by calling <code>registerContextMenu</code>.
- * Once this has been done the workbench will automatically insert any action 
- * extensions which exist.
- * </p>
- * <p>
- * A menu id must be provided for each registered menu.  For consistency across
- * parts the following strategy should be adopted by all part implementors.
- * </p>
- * <ol>
- *		<li>If the target part has only one context menu it should be registered
- *			with <code>id == part id</code>.  This can be done easily by calling
- *			<code>registerContextMenu(MenuManager, ISelectionProvider).  
- *		<li>If the target part has more than one context menu a unique id should be
- *			defined for each.  Prefix each menu id with the part id and publish these
- *			ids within the javadoc for the target part.  Register each menu at 
- *			runtime by calling <code>registerContextMenu(String, MenuManager, 
- *			ISelectionProvider)</code>.  </li>
- * </ol>
- * <p>
- * Any pop-up menu which is registered with the workbench should also define a  
- * <code>GroupMarker</code> in the registered menu with id 
- * <code>IWorkbenchActionConstants.MB_ADDITIONS</code>.  Other plug-ins will use this 
- * group as a reference point for insertion.  The marker should be defined at an 
- * appropriate location within the menu for insertion.  
- * </p>
- *
- * @param menuManager the menu manager
- * @param selectionProvider the selection provider
- */
-public void registerContextMenu(MenuManager menuManager,
-	ISelectionProvider selectionProvider);
-/**
- * Returns the key binding service in use.
- * <p>
- * The part will access this service to register
- * all of its actions, to set the active scope.
- * </p>
- * 
- * @return the key binding service in use
- * @since 2.0
- */
-public IKeyBindingService getKeyBindingService();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPreferenceConstants.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPreferenceConstants.java
deleted file mode 100644
index 5fee790..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPreferenceConstants.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * Preference ids exposed by the Eclipse Platform User Interface.
- */
-public interface IWorkbenchPreferenceConstants {
-	
-	/**
-	 * A named preference for whether to show an editor when its
-	 * input file is selected in the Navigator (and vice versa).
-	 * <p>
-	 * Value is of type <code>boolean</code>.
-	 * </p>
-	 * @deprecated Workbench no longer supports this setting.
-	 */
-	public static final String LINK_NAVIGATOR_TO_EDITOR =
-		"LINK_NAVIGATOR_TO_EDITOR"; //$NON-NLS-1$
-
-	/**
-	 * A named preference for how a new perspective is opened.
-	 * <p>
-	 * Value is of type <code>String</code>.  The possible values are defined 
-	 * by <code>OPEN_PERSPECTIVE_WINDOW, OPEN_PERSPECTIVE_PAGE and 
-	 * OPEN_PERSPECTIVE_REPLACE</code>.
-	 * </p>
-	 * 
-	 */
-	public static final String OPEN_NEW_PERSPECTIVE = "OPEN_NEW_PERSPECTIVE"; //$NON-NLS-1$
-	
-	/**
-	 * A named preference for how a new perspective is opened
-	 * when the alternate key modifiers are pressed.  The alternate key modifiers
-	 * are platform dependent.
-	 * <p>
-	 * Value is of type <code>String</code>.  The possible values are defined 
-	 * by <code>OPEN_PERSPECTIVE_WINDOW, OPEN_PERSPECTIVE_PAGE and 
-	 * OPEN_PERSPECTIVE_REPLACE</code>.
-	 * </p>
-	 * @deprecated Workbench no longer supports alternate key modifier to open
-	 * 		a new perspective. Callers should use IWorkbench.showPerspective methods.
-	 */
-	public static final String ALTERNATE_OPEN_NEW_PERSPECTIVE =
-		"ALTERNATE_OPEN_NEW_PERSPECTIVE"; //$NON-NLS-1$
-		
-	/**
-	 * A named preference for how a new perspective is opened
-	 * when the shift key modifier is pressed.  
-	 * <p>
-	 * Value is of type <code>String</code>.  The possible values are defined 
-	 * by <code>OPEN_PERSPECTIVE_WINDOW, OPEN_PERSPECTIVE_PAGE and 
-	 * OPEN_PERSPECTIVE_REPLACE</code>.
-	 * </p>
-	 * @deprecated Workbench no longer supports shift key modifier to open
-	 * 		a new perspective. Callers should use IWorkbench.showPerspective methods.
-	 */
-	public static final String SHIFT_OPEN_NEW_PERSPECTIVE =
-		"SHIFT_OPEN_NEW_PERSPECTIVE"; //$NON-NLS-1$
-
-	/**
-	 * A named preference for how a new perspective should be opened
-	 * when a new project is created.
-	 * <p>
-	 * Value is of type <code>String</code>.  The possible values are defined 
-	 * by <code>OPEN_PERSPECTIVE_WINDOW, OPEN_PERSPECTIVE_PAGE, 
-	 * OPEN_PERSPECTIVE_REPLACE and NO_NEW_PERSPECTIVE</code>.
-	 * </p>
-	 */
-	public static final String PROJECT_OPEN_NEW_PERSPECTIVE =
-		"PROJECT_OPEN_NEW_PERSPECTIVE"; //$NON-NLS-1$
-
-	/**
-	 * A preference value indicating that an action should open a new 
-	 * perspective in a new window.
-	 */
-	public static final String OPEN_PERSPECTIVE_WINDOW = "OPEN_PERSPECTIVE_WINDOW"; //$NON-NLS-1$
-	
-	/**
-	 * A preference value indicating that an action should open a new 
-	 * perspective in a new page.
-	 * 
-	 * @deprecated Opening a Perspective in a new page is no longer
-	 * supported functionality as of 2.0.
-	 */
-	public static final String OPEN_PERSPECTIVE_PAGE = "OPEN_PERSPECTIVE_PAGE"; //$NON-NLS-1$
-	
-	/**
-	 * A preference value indicating that an action should open a new 
-	 * perspective by replacing the current perspective.
-	 * 
-	 */
-	public static final String OPEN_PERSPECTIVE_REPLACE =
-		"OPEN_PERSPECTIVE_REPLACE"; //$NON-NLS-1$
-		
-	/**
-	 * A preference value indicating that an action should not open a 
-	 * new perspective.
-	 * 
-	 */
-	public static final String NO_NEW_PERSPECTIVE = "NO_NEW_PERSPECTIVE"; //$NON-NLS-1$
-
-	/**
-	 * A preference value indicating the default workbench perspective
-	 */
-	public static final String DEFAULT_PERSPECTIVE_ID = "defaultPerspectiveId"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPreferencePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPreferencePage.java
deleted file mode 100644
index 3b8891d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPreferencePage.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.preference.IPreferencePage;
-
-/**
- * Interface for workbench preference pages.
- * <p>
- * Clients should implement this interface and include the name of their class
- * in an extension contributed to the workbench's preference extension point 
- * (named <code>"org.eclipse.ui.preferencePages"</code>).
- * For example, the plug-in's XML markup might contain:
- * <pre>
- * &LT;extension point="org.eclipse.ui.preferencePages"&GT;
- *      &LT;page id="com.example.myplugin.prefs"
- *         name="Knobs"
- *         class="com.example.myplugin.MyPreferencePage" /&GT;
- * &LT;/extension&GT;
- * </pre>
- * </p>
- */
-public interface IWorkbenchPreferencePage extends IPreferencePage {
-/**
- * Initializes this preference page for the given workbench.
- * <p>
- * This method is called automatically as the preference page is being created
- * and initialized. Clients must not call this method.
- * </p>
- *
- * @param workbench the workbench
- */
-void init(IWorkbench workbench);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPropertyPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPropertyPage.java
deleted file mode 100644
index 8a3ad02..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPropertyPage.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.preference.IPreferencePage;
-
-/**
- * Interface for workbench property pages. Property pages generally show up in
- * the workbench's Property Pages dialog.
- * <p>
- * Clients should implement this interface and include the name of their class
- * in an extension contributed to the workbench's property page extension point 
- * (named <code>"org.eclipse.ui.propertyPages"</code>).
- * For example, the plug-in's XML markup might contain:
- * <pre>
- * &LT;extension point="org.eclipse.ui.propertyPages"&GT;
- *      &LT;page id="com.example.myplugin.props"
- *         name="Knobs"
- *         objectClass="org.eclipse.core.resources.IResource"
- *         class="com.example.myplugin.MyPropertyPage" /&GT;
- * &LT;/extension&GT;
- * </pre>
- * </p>
- */
-public interface IWorkbenchPropertyPage extends IPreferencePage {
-/**
- * Returns the object that owns the properties shown in this property page.
- *
- * @return the object that owns the properties in this page
- */
-public IAdaptable getElement();
-/**
- * Sets the object that owns the properties shown in this property page.
- * The page is expected to store this object and provide it if
- * <code>getElement</code> is called.
- *
- * @param the object that owns the properties in this page
- */
-public void setElement(IAdaptable element);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchSite.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchSite.java
deleted file mode 100644
index a8bb6c3..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchSite.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * The common interface between the workbench and its parts, including pages within parts.
- * <p>
- * This interface is not intended to be implemented or extended by clients.
- * </p>
- * @see IWorkbenchPartSite
- * @see IPageSite
- * @since 2.0
- */
-public interface IWorkbenchSite {
-/**
- * Returns the page containing this workbench site.
- *
- * @return the page containing this workbench site
- */
-public IWorkbenchPage getPage();
-/**
- * Returns the selection provider for this workbench site.
- *
- * @return the selection provider, or <code>null</code> if none
- */
-public ISelectionProvider getSelectionProvider();
-/**
- * Returns the shell for this workbench site.
- *
- * @return the shell for this workbench site
- */
-public Shell getShell();
-/**
- * Returns the workbench window containing this workbench site.
- *
- * @return the workbench window containing this workbench site
- */
-public IWorkbenchWindow getWorkbenchWindow();
-/**
- * Sets the selection provider for this workbench site.
- *
- * @param provider the selection provider, or <code>null</code> to clear it
- */
-public void setSelectionProvider(ISelectionProvider provider);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchWindow.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchWindow.java
deleted file mode 100644
index fdce73a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchWindow.java
+++ /dev/null
@@ -1,144 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IAdaptable; 
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * A workbench window is a top level window in a workbench. Visually, a workbench 
- * window has a menubar, a toolbar, a status bar, and a main area for displaying
- * a single page consisting of a collection of views and editors.
- * <p>
- * Each workbench window has a collection of 0 or more pages; the active page is
- * the one that is being presented to the end user; at most one page is active
- * in a window at a time.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- *
- * @see IWorkbenchPage
- */
-public interface IWorkbenchWindow extends IPageService,
-	IRunnableContext {
-/**
- * Closes this workbench window.
- * <p>
- * If the window has an open editor with unsaved content, the user will be
- * given the opportunity to save it.
- * </p>
- *
- * @return <code>true</code> if the window was successfully closed,
- *   and <code>false</code> if it is still open
- */
-public boolean close();
-/**
- * Returns the currently active page for this workbench window.
- * 
- * @return the active page, or <code>null</code> if none
- */
-public IWorkbenchPage getActivePage();
-/**
- * Returns a list of the pages in this workbench window.
- * <p>
- * Note that each window has its own pages; pages are never shared between
- * different windows.
- * </p>
- *
- * @return a list of pages
- */
-public IWorkbenchPage[] getPages();
-/**
- * Returns the part service which tracks part activation within this workbench
- * window.
- *
- * @return the part service
- */
-public IPartService getPartService();
-/**
- * Returns the selection service which tracks selection within this workbench
- * window.
- *
- * @return the selection service
- */
-public ISelectionService getSelectionService();
-/**
- * Returns this workbench window's shell.
- *
- * @return the shell containing this window's controls
- */
-public Shell getShell();
-/**
- * Returns the workbench for this window.
- *
- * @return the workbench
- */
-public IWorkbench getWorkbench();
-/**
- * Returns whether the specified menu is an application menu as
- * opposed to a part menu.  Application menus contain items which affect
- * the workbench or window.  Part menus contain items which affect 
- * the active part (view or editor).
- * <p>
- * This is typically used during "in place" editing.  Application menus
- * should be preserved during menu merging.  All other menus may be removed
- * from the window.
- * </p>
- *
- * @param menuId the menu id
- * @return <code>true</code> if the specified menu is an application menu,
- *  and <code>false</code> if is not
- */
-public boolean isApplicationMenu(String menuId);
-/**
- * Creates and opens a new workbench page.  The perspective of the new page 
- * is defined by the specified perspective ID.  The new page become active.
- * <p>
- * <b>Note:</b> Since release 2.0, a window is limited to contain at most
- * one page. If a page exist in the window when this method is used, then
- * another window is created for the new page.  Callers are strongly
- * recommended to use the <code>IWorkbench.openPerspective</code> APIs to
- * programmatically show a perspective.
- * </p>
- * 
- * @param perspectiveId the perspective id for the window's initial page
- * @param input the page input, or <code>null</code> if there is no current input.
- *		This is used to seed the input for the new page's views.
- * @return the new workbench page
- * @exception WorkbenchException if a page could not be opened
- * 
- * @see IWorkbench#openPerspective
- */
-public IWorkbenchPage openPage(String perspectiveId, IAdaptable input)
-	throws WorkbenchException;
-/**
- * Creates and opens a new workbench page. The default perspective is used
- * as a template for creating the page. The page becomes active.
- * <p>
- * <b>Note:</b> Since release 2.0, a window is limited to contain at most
- * one page. If a page exist in the window when this method is used, then
- * another window is created for the new page.  Callers are strongly
- * recommended to use the <code>IWorkbench.openPerspective</code> APIs to
- * programmatically show a perspective.
- * </p>
- * 
- * @param input the page input, or <code>null</code> if there is no current input.
- *		This is used to seed the input for the new page's views.
- * @return the new workbench window
- * @exception WorkbenchException if a page could not be opened
- * 
- * @see IWorkbench#openPerspective
- */
-public IWorkbenchPage openPage(IAdaptable input)
-	throws WorkbenchException;
-/**
- * Sets or clears the currently active page for this workbench window.
- * 
- * @param page the new active page
- */
-public void setActivePage(IWorkbenchPage page);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchWindowActionDelegate.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchWindowActionDelegate.java
deleted file mode 100644
index 92a6413..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchWindowActionDelegate.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * Interface for an action that is contributed into the workbench window menu 
- * or tool bar. It extends <code>IActionDelegate</code> and adds an
- * initialization method for connecting the delegate to the workbench window it
- * should work with.
- */
-public interface IWorkbenchWindowActionDelegate extends IActionDelegate {
-/**
- * Disposes this action delegate.  The implementor should unhook any references
- * to itself so that garbage collection can occur.
- */
-public void dispose();
-/**
- * Initializes this action delegate with the workbench window it will work in.
- *
- * @param window the window that provides the context for this delegate
- */
-public void init(IWorkbenchWindow window);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchWindowPulldownDelegate.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchWindowPulldownDelegate.java
deleted file mode 100644
index 34296a4..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchWindowPulldownDelegate.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.swt.widgets.*;
-
-/**
- * Interface for a pulldown action that is contributed into the workbench window 
- * tool bar.  It extends <code>IWorkbenchWindowActionDelegate</code> and adds an
- * initialization method to define the menu creator for the action.
- */
-public interface IWorkbenchWindowPulldownDelegate extends IWorkbenchWindowActionDelegate {
-/**
- * Returns the menu for this pull down action.  This method will only be
- * called if the user opens the pull down menu for the action.   Note that it
- * is the responsibility of the implementor to properly dispose of any SWT menus
- * created by this method.
- * 
- * @return the menu
- */
-public Menu getMenu(Control parent);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchWindowPulldownDelegate2.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchWindowPulldownDelegate2.java
deleted file mode 100644
index 92e6b0e..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchWindowPulldownDelegate2.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.eclipse.ui;
-
-import org.eclipse.swt.widgets.Menu;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * Extension of IWorkbenchWindowPulldownDelegate that allows the delegate dropdown
- * menu to be a child of a Menu item.  Necessary for CoolBar support.  If a coolbar 
- * group of items is not fully displayed, a chevron and a drop down menu will be
- * used to show the group's tool items.  Therefore, a getMenu(Menu) method is necessary, 
- * since the delegate drop down menu will be a child of the chevron menu item (not 
- * the tool control).
- */
-public interface IWorkbenchWindowPulldownDelegate2 extends IWorkbenchWindowPulldownDelegate {
-	/**
-	 * Returns the menu for this pull down action.  This method will only be
-	 * called if the user opens the pull down menu for the action.  Note that it
-	 * is the responsibility of the implementor to properly dispose of any SWT
-	 * menus created by this method.
-	 * 
-	 * @return the menu
-	 */
-	public Menu getMenu(Menu parent);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchWizard.java
deleted file mode 100644
index 739e97a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchWizard.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizard;
-
-/**
- * Implementors represent creation wizards that are to be
- * contributed to the workbench's creation wizard extension point.
- *
- * @see org.eclipse.jface.wizard.IWizard
- */
-public interface IWorkbenchWizard extends IWizard {
-/**
- * Initializes this creation wizard using the passed workbench and
- * object selection.
- * <p>
- * This method is called after the no argument constructor and
- * before other methods are called.
- * </p>
- *
- * @param workbench the current workbench
- * @param selection the current object selection
- */
-void init(IWorkbench workbench, IStructuredSelection selection);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkingSet.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkingSet.java
deleted file mode 100644
index 63c5cf0..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkingSet.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-package org.eclipse.ui;
-
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * A working set holds a number of IAdaptable elements. 
- * A working set is intended to group elements for presentation to 
- * the user or for operations on a set of elements.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * 
- * @since 2.0
- */
-public interface IWorkingSet {
-	/**
-	 * Returns the elements that are contained in this working set.
-	 * 
-	 * @return	the working set's elements
-	 */
-	public IAdaptable[] getElements();
-
-	/**
-	 * Returns the working set id. Returns <code>null</code> if no
-	 * working set id has been set.
-	 * This is one of the ids defined by extensions of the 
-	 * org.eclipse.ui.workingSets extension point.
-	 * It is used by the workbench to determine the page to use in 
-	 * the working set edit wizard. The default resource edit page
-	 * is used if this value is <code>null</code>.
-	 * 
-	 * @return the working set id. May be <code>null</code>
-	 * @since 2.1 
-	 */
-	public String getId();
-
-	/**
-	 * Returns the name of the working set.
-	 * 
-	 * @return	the name of the working set
-	 */
-	public String getName();
-
-	/**
-	 * Sets the elements that are contained in this working set.
-	 * 
-	 * @param elements the elements to set in this working set
-	 */
-	public void setElements(IAdaptable[] elements);
-
-	/**
-	 * Sets the working set id.
-	 * This is one of the ids defined by extensions of the 
-	 * org.eclipse.ui.workingSets extension point.
-	 * It is used by the workbench to determine the page to use in 
-	 * the working set edit wizard. The default resource edit page
-	 * is used if this value is <code>null</code>.
-	 * 
-	 * @param id the working set id. May be <code>null</code>
-	 * @since 2.1 
-	 */
-	public void setId(String id);
-
-	/**
-	 * Sets the name of the working set. 
-	 * The working set name should be unique.
-	 * The working set name must not have leading or trailing 
-	 * whitespace.
-	 * 
-	 * @param name the name of the working set
-	 */
-	public void setName(String name);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkingSetManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkingSetManager.java
deleted file mode 100644
index d8fde4f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkingSetManager.java
+++ /dev/null
@@ -1,172 +0,0 @@
-package org.eclipse.ui;
-/*
- * (c) Copyright IBM Corp. 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.IWorkingSetEditWizard;
-import org.eclipse.ui.dialogs.IWorkingSetSelectionDialog;
-
-/**
- * A working set manager stores working sets and provides property 
- * change notification when a working set is added or removed.
- * <p>
- * The workbench working set manager can be accessed using 
- * <code>IWorkbench#getWorkingSetManager()</code>
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * 
- * @see IWorkingSet
- * @since 2.0
- */
-public interface IWorkingSetManager {
-	/**
-	 * Change event id when a working set is added
-	 * newValue of the PropertyChangeEvent will be the added working set.
-	 * oldValue will be null.
-	 *
-	 * @see IPropertyChangeListener
-	 */
-	public static final String CHANGE_WORKING_SET_ADD = "workingSetAdd";		//$NON-NLS-1$
-	/**
-	 * Change event id when a working set is removed
-	 * newValue of the PropertyChangeEvent will be null.
-	 * oldValue will be the removed working set.
-	 *
-	 * @see IPropertyChangeListener
-	 */
-	public static final String CHANGE_WORKING_SET_REMOVE = "workingSetRemove";	//$NON-NLS-1$
-	/**
-	 * Change event id when the working set contents changed
-	 * newValue of the PropertyChangeEvent will be the changed working set.
-	 * oldValue will be null.
-	 *
-	 * @see IPropertyChangeListener
-	 */
-	public static final String CHANGE_WORKING_SET_CONTENT_CHANGE = "workingSetContentChange";	//$NON-NLS-1$
-	/**
-	 * Change event id when the working set name changed.
-	 * newValue of the PropertyChangeEvent will be the changed working set.
-	 * oldValue will be null.
-	 *
-	 * @see IPropertyChangeListener
-	 */
-	public static final String CHANGE_WORKING_SET_NAME_CHANGE = "workingSetNameChange";	//$NON-NLS-1$	
-	 
-	/**
-	 * Adds a property change listener.
-	 * 
-	 * @param listener the property change listener to add
-	 */
-	public void addPropertyChangeListener(IPropertyChangeListener listener);
-	/**
-	 * Adds a working set to the top of the list of most recently used 
-	 * working sets, making it the most recently used working set.
-	 * The last (oldest) item will be deleted if the list exceeds the 
-	 * size limit.
-	 * 
-	 * @param workingSet the working set to add to the list of most 
-	 * 	recently used working sets.
-	 */
-	public void addRecentWorkingSet(IWorkingSet workingSet);
-	/**
-	 * Adds a working set to the receiver. The working set must 
-	 * not exist yet.
-	 * 
-	 * @param workingSet the working set to add
-	 */
-	public void addWorkingSet(IWorkingSet workingSet);
-	/**
-	 * Creates a new working set.
-	 * The working set is not added to the working set manager.
-	 * 
-	 * @param name the name of the new working set. Should not have 
-	 * 	leading or trailing whitespace.
-	 * @param elememts the working set contents
-	 * @return a new working set with the specified name and content
-	 */
-	public IWorkingSet createWorkingSet(String name, IAdaptable[] elements);
-	/**
-	 * Creates a working set edit wizard for the specified working set.
-	 * The working set will already be set in the wizard.
-	 * The caller is responsible for creating and opening a wizard dialog.
-	 *
-	 * Example:
-	 * <code>
-	 *  IWorkingSetEditWizard wizard = workingSetManager.createWorkingSetEditWizard(workingSet);
-	 *	WizardDialog dialog = new WizardDialog(shell, wizard);
-	 *
-	 *	dialog.create();		
-	 *	if (dialog.open() == Window.OK) {		
-	 *		workingSet = wizard.getSelection();
-	 *	}
-	 * </code>
-	 * 
-	 * @param workingSet working set to create a working set edit wizard 
-	 * 	for.
-	 * @return a working set edit wizard to edit the specified working set. 
-	 * 	If the specific edit wizard for the working set could not be loaded 
-	 * 	a default IResource based wizard will be returned. 
-	 * 	If the default edit wizard can not be loaded null is returned.
-	 * @since 2.1
-	 */
-	public IWorkingSetEditWizard createWorkingSetEditWizard(IWorkingSet workingSet);
-	/**
-	 * @deprecated use createWorkingSetSelectionDialog(parent, true) instead
-	 */
-	public IWorkingSetSelectionDialog createWorkingSetSelectionDialog(Shell parent);
-	/**
-	 * Creates a working set selection dialog that lists all working 
-	 * sets and allows the user to add, remove and edit working sets.
-	 * The caller is responsible for opening the dialog with 
-	 * <code>IWorkingSetSelectionDialog#open</code>, and subsequently 
-	 * extracting the selected working sets using 
-	 * <code>IWorkingSetSelectionDialog#getSelection</code>.
-	 * 
-	 * @param shell the parent of the working set selection dialog
-	 * @param multi true=more than one working set can be chosen 
-	 * 	in the dialog. false=only one working set can be chosen. Multiple
-	 * 	working sets can still be selected and removed from the list but
-	 * 	the dialog can only be closed when a single working set is selected.
-	 * @return a working set selection dialog
-	 */
-	public IWorkingSetSelectionDialog createWorkingSetSelectionDialog(Shell parent, boolean multi);
-	/**
-	 * Returns the list of most recently used working sets.
-	 * The most recently used working set appears first in the list.
-	 * 
-	 * @return the list of most recently used working sets
-	 */
-	public IWorkingSet[] getRecentWorkingSets();
-	/**
-	 * Returns the working set with the specified name.
-	 * Returns null if there is no working set with that name.
-	 * 
-	 * @param name the name of the working set to return
-	 * @return the working set with the specified name.
-	 */
-	public IWorkingSet getWorkingSet(String name);
-	/**
-	 * Returns an array of all working sets stored in the receiver.
-	 * 
-	 * @return the working sets stored in the receiver
-	 */
-	public IWorkingSet[] getWorkingSets();
-	/**
-	 * Removes the property change listener.
-	 * 
-	 * @param listener the property change listener to remove
-	 */
-	public void removePropertyChangeListener(IPropertyChangeListener listener);
-	/**
-	 * Removes the working set
-	 * 
-	 * @param workingSet the working set to remove
-	 */
-	public void removeWorkingSet(IWorkingSet workingSet);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/NavigationLocation.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/NavigationLocation.java
deleted file mode 100644
index b08b6fb..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/NavigationLocation.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/PartInitException.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/PartInitException.java
deleted file mode 100644
index 21f7dc7..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/PartInitException.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.runtime.IStatus;
- 
-/**
- * A checked exception indicating a workbench part cannot be initialized 
- * correctly. The message text provides a further description of the problem.
- * <p>
- * This exception class is not intended to be subclassed by clients.
- * </p>
- */
-public class PartInitException extends WorkbenchException {
-/**
- * Creates a new exception with the given message.
- * 
- * @param message the message
- */
-public PartInitException(String message) {
-	super(message);
-}
-/**
- * Creates a new exception with the given message.
- * 
- * @param message the message
- * @parem nestedException a exception to be wrapped by this PartInitException
- */
-public PartInitException(String message,Throwable nestedException) {
-	super(message, nestedException);
-}
-/**
- * Creates a new exception with the given status object.  The message
- * of the given status is used as the exception message.
- *
- * @param status the status object to be associated with this exception
- */
-public PartInitException(IStatus status) {
-	super(status);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/PlatformUI.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/PlatformUI.java
deleted file mode 100644
index 4719f62..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/PlatformUI.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * The central class for access to the Eclipse Platform User Interface. 
- * This class cannot be instantiated; all functionality is provided by 
- * static methods.
- * 
- * Features provided:
- * <ul>
- * <li>access to the workbench.</li>
- * </ul>
- * <p>
- *
- * @see IWorkbench
- */
-public final class PlatformUI {
-	/**
-	 * Identifies the workbench plugin.
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.ui";//$NON-NLS-1$
-	
-	private static IWorkbench instance; 
-/**
- * Block instantiation.
- */
-private PlatformUI() {
-}
-/**
- * Returns the workbench interface.
- */
-public static IWorkbench getWorkbench() {
-	if (instance == null) {
-		instance = WorkbenchPlugin.getDefault().getWorkbench();
-	}
-	return instance;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ResourceWorkingSetFilter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ResourceWorkingSetFilter.java
deleted file mode 100644
index c577213..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ResourceWorkingSetFilter.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/SubActionBars.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/SubActionBars.java
deleted file mode 100644
index e9f8ad7..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/SubActionBars.java
+++ /dev/null
@@ -1,336 +0,0 @@
-package org.eclipse.ui;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. and others. 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

-Contributors:
-**********************************************************************/
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.SubMenuManager;
-import org.eclipse.jface.action.SubStatusLineManager;
-import org.eclipse.jface.action.SubToolBarManager;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.PropertyChangeEvent;
-
-/**
- * Generic implementation of the <code>IActionBars</code> interface.
- */
-public class SubActionBars implements IActionBars {
-	private IActionBars parent;
-	private boolean active = false;
-	private Map actionHandlers;
-	private SubMenuManager menuMgr;
-	private SubStatusLineManager statusLineMgr;
-	private SubToolBarManager toolBarMgr;
-	private ListenerList propertyChangeListeners = new ListenerList();
-	private boolean actionHandlersChanged;
-
-	/**
-	 * Property constant for changes to action handlers.
-	 */
-	public static final String P_ACTION_HANDLERS = "org.eclipse.ui.internal.actionHandlers"; //$NON-NLS-1$
-	
-	/**
-	 * Construct a new SubActionBars object.
-	 */
-	public SubActionBars(IActionBars parent) {
-		this.parent = parent;
-	}
-	
-	/**
-	 * Activate the contributions.
-	 */
-	public void activate() {
-		activate(true);
-	}
-	
-	/**
-	 * Activate the contributions.
-	 * <p>
-	 * Workaround for toolbar layout flashing when editors contribute
-	 * large amounts of items. In this case we want to force the items
-	 * to be visible/hidden only when required, otherwise just change
-	 * the enablement state.</p>
-	 */
-	public void activate(boolean forceVisibility) {
-		setActive(true);
-	}
-	
-	/**
-	 * Adds a property change listener.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener a property change listener
-	 */
-	public void addPropertyChangeListener(IPropertyChangeListener listener) {
-		propertyChangeListeners.add(listener);
-	}
-	
-	/**
-	 * Clear the global action handlers.
-	 */
-	public void clearGlobalActionHandlers() {
-		if (actionHandlers != null) {
-			actionHandlers.clear();
-			actionHandlersChanged = true;
-		}
-	}
-	
-	/**
-	 * Returns a new sub menu manager.
-	 *
-	 * @param parent the parent menu manager
-	 * @return the menu manager
-	 */
-	protected SubMenuManager createSubMenuManager(IMenuManager parent) {
-		return new SubMenuManager(parent);
-	}
-	
-	/**
-	 * Returns a new sub toolbar manager.
-	 *
-	 * @param parent the parent toolbar manager
-	 * @return the tool bar manager
-	 */
-	protected SubToolBarManager createSubToolBarManager(IToolBarManager parent) {
-		return new SubToolBarManager(parent);
-	}
-	
-	/**
-	 * Deactivate the contributions.
-	 */
-	public void deactivate() {
-		deactivate(true);
-	}
-	
-	/**
-	 * Deactivate the contributions.
-	 * <p>
-	 * Workaround for menubar/toolbar layout flashing when editors have 
-	 * many contributions. In this case we want to force the contributions
-	 * to be visible/hidden only when required, otherwise just change
-	 * the enablement state.</p>
-	 */
-	public void deactivate(boolean forceHide) {
-		setActive(false);
-	}
-	
-	/**
-	 * Dispose the contributions.
-	 */
-	public void dispose() {
-		if (actionHandlers != null)
-			actionHandlers.clear();
-		if (menuMgr != null)
-			menuMgr.removeAll();
-		if (statusLineMgr != null)
-			statusLineMgr.removeAll();
-		if (toolBarMgr != null)
-			toolBarMgr.removeAll();
-		propertyChangeListeners.clear();
-	}
-	
-	/**
-	 * Notifies any property change listeners that a property has changed.
-	 * Only listeners registered at the time this method is called are notified.
-	 *
-	 * @param event the property change event
-	 *
-	 * @see IPropertyChangeListener#propertyChange
-	 */
-	protected void firePropertyChange(PropertyChangeEvent event) {
-		Object[] listeners = propertyChangeListeners.getListeners();
-		for (int i = 0; i < listeners.length; ++i) {
-			((IPropertyChangeListener) listeners[i]).propertyChange(event);
-		}
-	}
-	
-	/**
-	 * Notifies any property change listeners if the
-	 * global action handlers have changed
-	 */
-	protected void fireActionHandlersChanged() {
-		if (actionHandlersChanged) {
-			// Doesn't actually pass the old and new values
-			firePropertyChange(new PropertyChangeEvent(this, P_ACTION_HANDLERS, null, null));
-			actionHandlersChanged = false;
-		}
-	}
-	
-	/**
-	 * Return whether the manager is currently active or not.
-	 */
-	protected final boolean getActive() {
-		return active;
-	}
-	
-	/**
-	 * Get the handler for a window action.
-	 *
-	 * @param actionID an action ID declared in the registry
-	 * @return an action handler which implements the action ID, or
-	 *		<code>null</code> if none is registered.
-	 */
-	public IAction getGlobalActionHandler(String actionID) {
-		if (actionHandlers == null)
-			return null;
-		return (IAction) actionHandlers.get(actionID);
-	}
-	
-	/**
-	 * Returns the complete list of active global action handlers.
-	 * If there are no global action handlers registered return null.
-	 */
-	public Map getGlobalActionHandlers() {
-		return actionHandlers;
-	}
-	
-	/**
-	 * Returns the abstract menu manager.  If items are added or
-	 * removed from the manager be sure to call <code>updateActionBars</code>.
-	 *
-	 * @return the menu manager
-	 */
-	public IMenuManager getMenuManager() {
-		if (menuMgr == null) {
-			menuMgr = createSubMenuManager(parent.getMenuManager());
-			menuMgr.setVisible(active);
-		}
-		return menuMgr;
-	}
-
-	/**
-	 * Return the parent action bar manager.
-	 */
-	protected final IActionBars getParent() {
-		return parent;
-	}
-	
-	/**
-	 * Returns the status line manager.  If items are added or
-	 * removed from the manager be sure to call <code>updateActionBars</code>.
-	 *
-	 * @return the status line manager
-	 */
-	public IStatusLineManager getStatusLineManager() {
-		if (statusLineMgr == null) {
-			statusLineMgr = new SubStatusLineManager(parent.getStatusLineManager());
-			statusLineMgr.setVisible(active);
-		}
-		return statusLineMgr;
-	}
-	
-	/**
-	 * Returns the tool bar manager.  If items are added or
-	 * removed from the manager be sure to call <code>updateActionBars</code>.
-	 *
-	 * @return the tool bar manager
-	 */
-	public IToolBarManager getToolBarManager() {
-		if (toolBarMgr == null) {
-			toolBarMgr = createSubToolBarManager(parent.getToolBarManager());
-			toolBarMgr.setVisible(active);
-		}
-		return toolBarMgr;
-	}
-	
-	/**
-	 * Return whether the sub menu manager has been created yet.
-	 */
-	protected final boolean isSubMenuManagerCreated() {
-		return menuMgr != null;
-	}
-	
-	/**
-	 * Return whether the sub toolbar manager has been created yet.
-	 */
-	protected final boolean isSubToolBarManagerCreated() {
-		return toolBarMgr != null;
-	}
-
-	/**
-	 * Return whether the sub status line manager has been created yet.
-	 */
-	protected final boolean isSubStatusLineManagerCreated() {
-		return statusLineMgr != null;
-	}
-
-	/**
-	 * Notification that the target part for the action bars has changed.
-	 */
-	public void partChanged(IWorkbenchPart part) {
-	}
-	
-	/**
-	 * Removes the given property change listener.
-	 * Has no effect if an identical listener is not registered.
-	 *
-	 * @param listener a property change listener
-	 */
-	public void removePropertyChangeListener(IPropertyChangeListener listener) {
-		propertyChangeListeners.remove(listener);
-	}
-
-	/**
-	 * Sets the active flag. Clients should not call this method
-	 * directly unless they are overriding the setActive() method.
-	 */
-	protected final void basicSetActive(boolean active) {
-		this.active = active;
-	}
-		
-	/**
-	 * Activate / deactivate the contributions.
-	 */
-	protected void setActive(boolean set) {
-		active = set;
-		if (menuMgr != null)
-			menuMgr.setVisible(set);
-
-		if (statusLineMgr != null)
-			statusLineMgr.setVisible(set);
-
-		if (toolBarMgr != null)
-			toolBarMgr.setVisible(set);
-	}
-	
-	/**
-	 * Add a handler for a window action.
-	 *
-	 * @param actionID an action ID declared in the registry
-	 * @param handler an action which implements the action ID.  
-	 *		<code>null</code> may be passed to deregister a handler.
-	 */
-	public void setGlobalActionHandler(String actionID, IAction handler) {
-		if (handler != null) {
-			if (actionHandlers == null)
-				actionHandlers = new HashMap(11);
-			actionHandlers.put(actionID, handler);
-		} else {
-			if (actionHandlers != null)
-				actionHandlers.remove(actionID);
-		}
-		actionHandlersChanged = true;
-	}
-	
-	/**
-	 * Commits all UI changes.  This should be called
-	 * after additions or subtractions have been made to a 
-	 * menu, status line, or toolbar.
-	 */
-	public void updateActionBars() {
-		parent.updateActionBars();
-		fireActionHandlersChanged();
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/WorkbenchException.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/WorkbenchException.java
deleted file mode 100644
index 4f45dbf..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/WorkbenchException.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
- 
-/**
- * A checked exception indicating a recoverable error occured internal to the
- * workbench. The status provides a further description of the problem.
- * <p>
- * This exception class is not intended to be subclassed by clients.
- * </p>
- */
-public class WorkbenchException extends CoreException {
-/**
- * Creates a new exception with the given message.
- * 
- * @param message the message
- */
-public WorkbenchException(String message) {
-	this(new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, 0, message, null));
-}
-/**
- * Creates a new exception with the given message.
- *
- * @param message the message
- * @param nestedException an exception to be wrapped by this WorkbenchException
- */
-public WorkbenchException(String message, Throwable nestedException) {
-	this(new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, 0, message, nestedException));
-}
-/**
- * Creates a new exception with the given status object.  The message
- * of the given status is used as the exception message.
- *
- * @param status the status object to be associated with this exception
- */
-public WorkbenchException(IStatus status) {
-	super(status);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/XMLMemento.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/XMLMemento.java
deleted file mode 100644
index bf3ce9f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/XMLMemento.java
+++ /dev/null
@@ -1,401 +0,0 @@
-package org.eclipse.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:
-**********************************************************************/
-import java.io.IOException;
-import java.io.Reader;
-import java.io.Writer;
-import java.util.ArrayList;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import org.apache.xerces.dom.DocumentImpl;
-import org.apache.xml.serialize.OutputFormat;
-import org.apache.xml.serialize.Serializer;
-import org.apache.xml.serialize.SerializerFactory;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * This class represents the default implementation of the
- * <code>IMemento</code> interface.
- * <p>
- * This class is not intended to be extended by clients.
- * </p>
- *
- * @see IMemento
- */
-public final class XMLMemento implements IMemento {
-	private Document factory;
-	private Element element;
-
-	/**
-	 * Creates a <code>Document</code> from the <code>Reader</code>
-	 * and returns a memento on the first <code>Element</code> for reading
-	 * the document.
-	 * <p>
-	 * Same as calling createReadRoot(reader, null)
-	 * </p>
-	 * 
-	 * @param reader the <code>Reader</code> used to create the memento's document
-	 * @return a memento on the first <code>Element</code> for reading the document
-	 * @throws <code>WorkbenchException</code> if IO problems, invalid format, or no element.
-	 */
-	public static XMLMemento createReadRoot(Reader reader) throws WorkbenchException {
-		return createReadRoot(reader, null);
-	}
-
-	/**
-	 * Creates a <code>Document</code> from the <code>Reader</code>
-	 * and returns a memento on the first <code>Element</code> for reading
-	 * the document.
-	 * 
-	 * @param reader the <code>Reader</code> used to create the memento's document
-	 * @param baseDir the directory used to resolve relative file names
-	 * 		in the XML document. This directory must exist and include the
-	 * 		trailing separator. The directory format, including the separators,
-	 * 		must be valid for the platform. Can be <code>null</code> if not
-	 * 		needed.
-	 * @return a memento on the first <code>Element</code> for reading the document
-	 * @throws <code>WorkbenchException</code> if IO problems, invalid format, or no element.
-	 */
-	public static XMLMemento createReadRoot(Reader reader, String baseDir) throws WorkbenchException {
-		String messageKey = "XMLMemento.noElement"; //$NON-NLS-1$
-		Exception exception = null;
-		
-		try {
-			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-			DocumentBuilder parser = factory.newDocumentBuilder();
-			InputSource source = new InputSource(reader);
-			if (baseDir != null)
-				source.setSystemId(baseDir);
-			Document document = parser.parse(source);
-			NodeList list = document.getChildNodes();
-			for (int i = 0; i < list.getLength(); i++) {
-				Node node = list.item(i);
-				if (node instanceof Element)
-					return new XMLMemento(document, (Element) node);
-			}
-		} catch (ParserConfigurationException e) {
-			exception = e;
-			messageKey = "XMLMemento.parserConfigError"; //$NON-NLS-1$
-		} catch (IOException e) {
-			exception = e;
-			messageKey = "XMLMemento.ioError"; //$NON-NLS-1$
-		} catch (SAXException e) {
-			exception = e;
-			messageKey = "XMLMemento.formatError"; //$NON-NLS-1$
-		}
-		
-		String problemText = null;
-		if (exception != null)
-			problemText = exception.getMessage();
-		if (problemText == null || problemText.length() == 0)
-			problemText = WorkbenchMessages.getString(messageKey);
-		throw new WorkbenchException(problemText, exception);
-	}
-	
-	/**
-	 * Returns a root memento for writing a document.
-	 * 
-	 * @param type the element node type to create on the document
-	 * @return the root memento for writing a document
-	 */
-	public static XMLMemento createWriteRoot(String type) {
-		Document document = new DocumentImpl();
-		Element element = document.createElement(type);
-		document.appendChild(element);
-		return new XMLMemento(document, element);
-	}
-	
-	/**
-	 * Creates a memento for the specified document and element.
-	 * <p>
-	 * Clients should use <code>createReadRoot</code> and
-	 * <code>createWriteRoot</code> to create the initial
-	 * memento on a document.
-	 * </p>
-	 * 
-	 * @param document the document for the memento
-	 * @param element the element node for the memento
-	 * @return the memento on the specified document and element
-	 */
-	public XMLMemento(Document document, Element element) {
-		super();
-		this.factory = document;
-		this.element = element;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared in IMemento.
-	 */
-	public IMemento createChild(String type) {
-		Element child = factory.createElement(type);
-		element.appendChild(child);
-		return new XMLMemento(factory, child);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared in IMemento.
-	 */
-	public IMemento createChild(String type, String id) {
-		Element child = factory.createElement(type);
-		child.setAttribute(TAG_ID, id);
-		element.appendChild(child);
-		return new XMLMemento(factory, child);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared in IMemento.
-	 */
-	public IMemento copyChild(IMemento child) {
-		Element childElement = ((XMLMemento) child).element;
-		Element newElement = (Element) factory.importNode(childElement, true);
-		element.appendChild(newElement);
-		return new XMLMemento(factory, newElement);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared in IMemento.
-	 */
-	public IMemento getChild(String type) {
-
-		// Get the nodes.
-		NodeList nodes = element.getChildNodes();
-		int size = nodes.getLength();
-		if (size == 0)
-			return null;
-
-		// Find the first node which is a child of this node.
-		for (int nX = 0; nX < size; nX++) {
-			Node node = nodes.item(nX);
-			if (node instanceof Element) {
-				Element element = (Element) node;
-				if (element.getNodeName().equals(type))
-					return new XMLMemento(factory, element);
-			}
-		}
-
-		// A child was not found.
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared in IMemento.
-	 */
-	public IMemento[] getChildren(String type) {
-
-		// Get the nodes.
-		NodeList nodes = element.getChildNodes();
-		int size = nodes.getLength();
-		if (size == 0)
-			return new IMemento[0];
-
-		// Extract each node with given type.
-		ArrayList list = new ArrayList(size);
-		for (int nX = 0; nX < size; nX++) {
-			Node node = nodes.item(nX);
-			if (node instanceof Element) {
-				Element element = (Element) node;
-				if (element.getNodeName().equals(type))
-					list.add(element);
-			}
-		}
-
-		// Create a memento for each node.
-		size = list.size();
-		IMemento[] results = new IMemento[size];
-		for (int x = 0; x < size; x++) {
-			results[x] = new XMLMemento(factory, (Element) list.get(x));
-		}
-		return results;
-	}
-	
-	/**
-	 * Returns the XML element contained in this memento.
-	 */
-	private Element getElement() {
-		return element;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared in IMemento.
-	 */
-	public Float getFloat(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null;
-		String strValue = attr.getValue();
-		try {
-			return new Float(strValue);
-		} catch (NumberFormatException e) {
-			WorkbenchPlugin.log("Memento problem - Invalid float for key: " //$NON-NLS-1$
-			+ key + " value: " + strValue); //$NON-NLS-1$
-			return null;
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared in IMemento.
-	 */
-	public String getID() {
-		return element.getAttribute(TAG_ID);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared in IMemento.
-	 */
-	public Integer getInteger(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null;
-		String strValue = attr.getValue();
-		try {
-			return new Integer(strValue);
-		} catch (NumberFormatException e) {
-			WorkbenchPlugin.log("Memento problem - invalid integer for key: " + key //$NON-NLS-1$
-			+ " value: " + strValue); //$NON-NLS-1$
-			return null;
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared in IMemento.
-	 */
-	public String getString(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null;
-		return attr.getValue();
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared in IMemento.
-	 */
-	public String getTextData() {
-		Text textNode = getTextNode();
-		if (textNode != null) {
-			return textNode.getData();
-		} else {
-			return null;
-		}
-	}
-
-	/**
-	 * Returns the Text node of the memento. Each memento is allowed only 
-	 * one Text node.
-	 * 
-	 * @return the Text node of the memento, or <code>null</code> if
-	 * the memento has no Text node.
-	 */
-	private Text getTextNode() {
-		// Get the nodes.
-		NodeList nodes = element.getChildNodes();
-		int size = nodes.getLength();
-		if (size == 0)
-			return null;
-		for (int nX = 0; nX < size; nX++) {
-			Node node = nodes.item(nX);
-			if (node instanceof Text) {
-				return (Text) node;
-			}
-		}
-		// a Text node was not found
-		return null;
-	}
-
-	/**
-	 * Places the element's attributes into the document.
-	 */
-	private void putElement(Element element) {
-		NamedNodeMap nodeMap = element.getAttributes();
-		int size = nodeMap.getLength();
-		for (int i = 0; i < size; i++) {
-			Attr attr = (Attr) nodeMap.item(i);
-			putString(attr.getName(), attr.getValue());
-		}
-
-		NodeList nodes = element.getChildNodes();
-		size = nodes.getLength();
-		for (int i = 0; i < size; i++) {
-			Node node = nodes.item(i);
-			if (node instanceof Element) {
-				XMLMemento child = (XMLMemento) createChild(node.getNodeName());
-				child.putElement((Element) node);
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared in IMemento.
-	 */
-	public void putFloat(String key, float f) {
-		element.setAttribute(key, String.valueOf(f));
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared in IMemento.
-	 */
-	public void putInteger(String key, int n) {
-		element.setAttribute(key, String.valueOf(n));
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared in IMemento.
-	 */
-	public void putMemento(IMemento memento) {
-		putElement(((XMLMemento) memento).element);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared in IMemento.
-	 */
-	public void putString(String key, String value) {
-		if (value == null)
-			return;
-		element.setAttribute(key, value);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared in IMemento.
-	 */
-	public void putTextData(String data) {
-		Text textNode = getTextNode();
-		if (textNode == null) {
-			textNode = factory.createTextNode(data);
-			element.appendChild(textNode);
-		} else {
-			textNode.setData(data);
-		}
-	}
-	
-	/**
-	 * Saves this memento's document current values to the
-	 * specified writer. 
-	 * 
-	 * @param writer the writer used to save the memento's document
-	 */
-	public void save(Writer writer) throws IOException {
-		OutputFormat format = new OutputFormat();
-		format.setPreserveSpace(true);
-		Serializer serializer = SerializerFactory.getSerializerFactory("xml").makeSerializer(writer, format); //$NON-NLS-1$
-		serializer.asDOMSerializer().serialize(factory);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ActionContext.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ActionContext.java
deleted file mode 100644
index e405b1d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ActionContext.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * Copyright (c) 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.jface.viewers.ISelection;
-
-/**
- * An <code>ActionContext</code> represents the context used to determine
- * which actions are added by an <code>ActionGroup</code>, and what their 
- * enabled state should be.
- * <p>
- * This class encapsulates a selection and an input element.
- * Clients may subclass this class to add more information to the context.
- * </p>
- */
-public class ActionContext {
-	
-	/**
-	 * The selection.
-	 */
-	private ISelection selection;
-	
-	/**
-	 * The input element.
-	 */
-	private Object input;
-	
-	/**
-	 * Creates a new action context with the given selection.
-	 */
-	public ActionContext(ISelection selection) {
-		setSelection(selection);
-	}
-	
-	/**
-	 * Returns the selection.
-	 */
-    public ISelection getSelection() {
-    	return selection;
-    }
-    
-    /**
-     * Sets the selection.
-     */
-    public void setSelection(ISelection selection) {
-    	this.selection = selection;
-    }
-
-	/**
-	 * Returns the input element.
-	 */    
-    public Object getInput() {
-    	return input;
-    }
-    
-    /**
-     * Sets the input element.
-     * 
-     * @input the input element
-     */
-    public void setInput(Object input) {
-    	this.input = input;
-    }
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ActionDelegate.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ActionDelegate.java
deleted file mode 100644
index f1bbdaa..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ActionDelegate.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-
-/**
- * Abstract base implementation of <code>IActionDelegate</code>.
- * <p>
- * Subclasses must implement <code>run</code> to do the action's work, and may
- * reimplement <code>selectionChanged</code> to react to selection changes
- * in the workbench.
- * </p>
- */
-public abstract class ActionDelegate implements IActionDelegate {
-/* (non-Javadoc)
- * Method declared on IActionBar.
- */
-public abstract void run(IAction action);
-/**
- * The <code>ActionDelegate</code> implementation of this <code>IAction</code>
- * method does nothing. Subclasses may reimplement.
- */
-public void selectionChanged(IAction action, ISelection selection) {
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ActionGroup.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ActionGroup.java
deleted file mode 100644
index d1dfb8d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ActionGroup.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * Copyright (c) 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.jface.action.IMenuManager;
-
-import org.eclipse.ui.IActionBars;
-
-/**
- * An <code>ActionGroup</code> represents a group of actions
- * which are added to a context menu, or the action bars of a part, together.
- * The group is given a context which can be used to determine which actions
- * are added, and what their enabled state should be.
- * <p>
- * This class is intended only as a convenience for managing groups of actions.
- * Clients are not required to use this class in order to add actions to context
- * menus or action bars.
- * </p>
- * <p>
- * Clients should subclass this class and extend or override the appropriate fill methods.
- * </p>
- * 
- * @since 2.0
- */
-public abstract class ActionGroup {
-
-	/**
-	 * The action context, used to determine which actions are added,
-	 * and what their enabled state should be.
-	 */
-	private ActionContext context;
-	
-	/** 
-	 * Returns the context used to determine which actions are added,
-	 * and what their enabled state should be.
-	 */
-	public ActionContext getContext() {
-		return context;
-	};
-	
-	/** 
-	 * Sets the context used to determine which actions are added,
-	 * and what their enabled state should be.
-	 * 
-	 * @param context the context to use
-	 */
-	public void setContext(ActionContext context) {
-		this.context = context;
-	};
-
-	/** 
-	 * Adds the applicable actions to a context menu,
-	 * based on the state of the <code>ActionContext</code>.
-	 * <p>
-	 * The default implementation does nothing.  
-	 * Subclasses may override or extend this method.
-	 * </p>
-	 * 
-	 * @param menu the context menu manager
-	 */
-	public void fillContextMenu(IMenuManager menu) {
-	};
-
-	/** 
-	 * Adds the applicable actions to a part's action bars,
-	 * including setting any global action handlers.
-	 * <p>
-	 * The default implementation does nothing.
-	 * Subclasses may override or extend this method.
-	 * </p>
-	 * 
-	 * @param actionBars the part's action bars
-	 */
-	public void fillActionBars(IActionBars actionBars) {
-	};
-
-	/**
-	 * Updates the state of the actions added to the action bars,
-	 * including any global action handlers,
-	 * based on the state of the <code>ActionContext</code>.
-	 * <p>
-	 * The default implementation does nothing.
-	 * Subclasses may override or extend this method.
-	 * </p>
-	 */
-	public void updateActionBars() {
-	}
-	
-	/** 
-	 * This method is called by the user of an action group to signal that the group is
-	 * no longer needed. Subclasses typically implement this method to deregister
-	 * any listeners or to free other resources.
-	 * <p>
-	 * The default implementation calls <code>setContext(null)</code>.
-	 * Subclasses may extend this method.
-	 * </p>
-	 */
-	public void dispose() {
-		setContext(null);
-	};
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/AddBookmarkAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/AddBookmarkAction.java
deleted file mode 100644
index d32121f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/AddBookmarkAction.java
+++ /dev/null
@@ -1,173 +0,0 @@
-package org.eclipse.ui.actions;
-
-/**********************************************************************
-Copyright (c) 2002 IBM Corp. and others. 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

-Contributors:
-  IBM Corp. - Initial design and implementation.
-  Sebastian Davids <sdavids@gmx.de>
-    - Fix for bug 20510 - Add Bookmark action has wrong label in navigator or packages view
-*********************************************************************/
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.misc.Assert;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-
-import java.util.Iterator;
-
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.window.Window;
-
-/**
- * Standard action for adding a bookmark to the currently selected file
- * resource(s).
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class AddBookmarkAction extends SelectionListenerAction {
-
-	/**
-	 * The id of this action.
-	 */
-	public static final String ID = PlatformUI.PLUGIN_ID + ".AddBookmarkAction"; //$NON-NLS-1$
-
-	/**
-	 * The shell in which to show any dialogs.
-	 */
-	private Shell shell;
-	
-	/**
-	 * Whether to prompt the user for the bookmark name.
-	 */
-	private boolean promptForName = true;
-	
-	/**
-	 * Creates a new bookmark action. By default, prompts the user for the
-	 * bookmark name.
-	 *
-	 * @param shell the shell for any dialogs
-	 */
-	public AddBookmarkAction(Shell shell) {
-		this(shell, true);
-	}
-	
-	/**
-	 * Creates a new bookmark action.
-	 *
-	 * @param shell the shell for any dialogs
-	 * @param promptForName whether to ask the user for the bookmark name
-	 */
-	public AddBookmarkAction(Shell shell, boolean promptForName) {
-		super(WorkbenchMessages.getString("AddBookmarkLabel")); //$NON-NLS-1$
-		setId(ID);
-		Assert.isNotNull(shell);
-		this.shell = shell;
-		this.promptForName = promptForName;
-		setToolTipText(WorkbenchMessages.getString("AddBookmarkToolTip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IHelpContextIds.ADD_BOOKMARK_ACTION);
-	}
-
-	/**
-	 * Creates a marker of the given type on each of the files in the
-	 * current selection.
-	 *
-	 * @param markerType the marker type
-	 */
-	void createMarker(String markerType) {
-		IStructuredSelection selection = getStructuredSelection();
-		for (Iterator enum = selection.iterator(); enum.hasNext();) {
-			Object o = enum.next();
-			if (o instanceof IFile) {
-				createMarker((IFile) o, markerType);
-			} else if (o instanceof IAdaptable) {
-				Object resource = ((IAdaptable) o).getAdapter(IResource.class);
-				if (resource instanceof IFile)
-					createMarker((IFile) resource, markerType);
-			}
-		}
-	}
-	
-	/**
-	 * Creates a marker of the given type on the given file resource.
-	 *
-	 * @param file the file resource
-	 * @param markerType the marker type
-	 */
-	void createMarker(final IFile file, final String markerType) {
-		try {
-			file.getWorkspace().run(
-				new IWorkspaceRunnable() {
-					public void run(IProgressMonitor monitor) throws CoreException {
-						String markerMessage = file.getName();
-						if (promptForName)
-							markerMessage = askForLabel(markerMessage);
-						if (markerMessage != null) {
-							IMarker marker = file.createMarker(markerType);
-							marker.setAttribute(IMarker.MESSAGE, markerMessage);
-						}
-					}
-				},
-				null);
-		} catch (CoreException e) {
-			WorkbenchPlugin.log(null, e.getStatus()); // We don't care
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public void run() {
-		createMarker(IMarker.BOOKMARK);
-	}
-	
-	/**
-	 * The <code>AddBookmarkAction</code> implementation of this
-	 * <code>SelectionListenerAction</code> method enables the action only
-	 * if the selection is not empty and contains just file resources.
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		return super.updateSelection(selection) && !selection.isEmpty() && selectionIsOfType(IFile.FILE);
-	}
-
-	/**
-	 * Asks the user for a bookmark name.
-	 *
-	 * @param proposal the suggested bookmark name
-	 * @return the bookmark name or <code>null</code> if cancelled.
-	 */
-	String askForLabel(String proposal) {
-		String title = WorkbenchMessages.getString("AddBookmarkDialog.title"); //$NON-NLS-1$
-		String message = WorkbenchMessages.getString("AddBookmarkDialog.message"); //$NON-NLS-1$
-
-		IInputValidator inputValidator = new IInputValidator() {
-			public String isValid(String newText) {
-				return (newText == null || newText.length() == 0) ? " " : null; //$NON-NLS-1$
-			}
-		};
-		InputDialog dialog = new InputDialog(shell, title, message, proposal, inputValidator);
-
-		if (dialog.open() != Window.CANCEL) {
-			String name = dialog.getValue();
-			if (name == null)
-				return null;
-			name = name.trim();
-			return (name.length() == 0) ? null : name;
-		} else {
-			return null;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/BuildAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/BuildAction.java
deleted file mode 100644
index 8860390..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/BuildAction.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are 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
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- ************************************************************************/
-package org.eclipse.ui.actions;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.*;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.widgets.Shell;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * Standard actions for full and incremental builds of the selected project(s).
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class BuildAction extends WorkspaceAction {
-	
-	/**
-	 * The id of an incremental build action.
-	 */
-	public static final String ID_BUILD = PlatformUI.PLUGIN_ID + ".BuildAction";//$NON-NLS-1$
-	
-	/**
-	 * The id of a rebuild all action.
-	 */
-	public static final String ID_REBUILD_ALL = PlatformUI.PLUGIN_ID + ".RebuildAllAction";//$NON-NLS-1$
-
-	private int	buildType;
-	
-	/**
-	 * The list of IProjects to build (computed lazily).
-	 */
-	private List	projectsToBuild = null;
-	
-/**
- * Creates a new action of the appropriate type. The action id is 
- * <code>ID_BUILD</code> for incremental builds and <code>ID_REBUILD_ALL</code>
- * for full builds.
- *
- * @param shell the shell for any dialogs
- * @param type the type of build; one of
- *  <code>IncrementalProjectBuilder.INCREMENTAL_BUILD</code> or 
- *  <code>IncrementalProjectBuilder.FULL_BUILD</code>
- */
-public BuildAction(Shell shell, int type) {
-	super(shell, "");//$NON-NLS-1$
-
-	if (type == IncrementalProjectBuilder.INCREMENTAL_BUILD) {
-		setText(WorkbenchMessages.getString("BuildAction.text")); //$NON-NLS-1$
-		setToolTipText(WorkbenchMessages.getString("BuildAction.toolTip")); //$NON-NLS-1$
-		setId(ID_BUILD);
-		WorkbenchHelp.setHelp(this, IHelpContextIds.INCREMENTAL_BUILD_ACTION);
-	}
-	else {
-		setText(WorkbenchMessages.getString("RebuildAction.text")); //$NON-NLS-1$
-		setToolTipText(WorkbenchMessages.getString("RebuildAction.tooltip")); //$NON-NLS-1$
-		setId(ID_REBUILD_ALL);
-		WorkbenchHelp.setHelp(this, IHelpContextIds.FULL_BUILD_ACTION);
-	}
-		
-	this.buildType = type;
-}
-
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-protected List getActionResources() {
-	return getProjectsToBuild();
-}
-
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-String getOperationMessage() {
-	return WorkbenchMessages.getString("BuildAction.operationMessage"); //$NON-NLS-1$
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-String getProblemsMessage() {
-	return WorkbenchMessages.getString("BuildAction.problemMessage"); //$NON-NLS-1$
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-String getProblemsTitle() {
-	return WorkbenchMessages.getString("BuildAction.problemTitle"); //$NON-NLS-1$
-}
-
-/**
- * Returns the projects to build.
- * This contains the set of projects which have builders, across all selected resources.
- */
-List getProjectsToBuild() {
-	if (projectsToBuild == null) {
-		projectsToBuild = new ArrayList(3);
-		for (Iterator i = getSelectedResources().iterator(); i.hasNext();) {
-			IResource resource = (IResource) i.next();
-			IProject project = resource.getProject();
-			if (project != null) {
-				if (!projectsToBuild.contains(project)) {
-					if (hasBuilder(project)) {
-						projectsToBuild.add(project);
-					}
-				}
-			}
-		}
-	}
-	return projectsToBuild;
-}
-
-/**
- * Returns whether there are builders configured on the given project.
- *
- * @return <code>true</code> if it has builders,
- *   <code>false</code> if not, or if this couldn't be determined
- */
-boolean hasBuilder(IProject project) {
-	try {
-		ICommand[] commands = project.getDescription().getBuildSpec();
-		if (commands.length > 0) {
-			return true;
-		}
-	}
-	catch (CoreException e) {
-		// this method is called when selection changes, so
-		// just fall through if it fails.
-		// this shouldn't happen anyway, since the list of selected resources
-		// has already been checked for accessibility before this is called
-	}
-	return false;
-}
-
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-void invokeOperation(IResource resource, IProgressMonitor monitor) throws CoreException {
-	((IProject)resource).build(buildType,monitor);
-}
-/**
- * Returns whether the user's preference is set to automatically save modified
- * resources before a manual build is done.
- *
- * @return <code>true</code> if Save All Before Build is enabled
- */
-public static boolean isSaveAllSet() {
-	IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-	return store.getBoolean(IPreferenceConstants.SAVE_ALL_BEFORE_BUILD);
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- *
- * Change the order of the resources so that
- * it matches the build order. Closed and
- * non existant projects are eliminated. Also,
- * any projects in cycles are eliminated.
- */
-List pruneResources(List resourceCollection) {
-	// Optimize...
-	if (resourceCollection.size() < 2)
-		return resourceCollection;
-
-	// Try the workspace's description build order if specified
-	String[] orderedNames = ResourcesPlugin.getWorkspace().getDescription().getBuildOrder();
-	if (orderedNames != null) {
-		List orderedProjects = new ArrayList(resourceCollection.size());
-		//Projects may not be in the build order but should be built if selected
-		List unorderedProjects = new ArrayList(resourceCollection.size());
-		unorderedProjects.addAll(resourceCollection);
-	
-		for (int i = 0; i < orderedNames.length; i++) {
-			String projectName = orderedNames[i];
-			for (int j = 0; j < resourceCollection.size(); j++) {
-				IProject project = (IProject) resourceCollection.get(j);
-				if (project.getName().equals(projectName)) {
-					orderedProjects.add(project);
-					unorderedProjects.remove(project);
-					break;
-				}
-			}
-		}
-		//Add anything not specified before we return
-		orderedProjects.addAll(unorderedProjects);
-		return orderedProjects;
-	}
-
-	// Try the project prerequisite order then
-	IProject[] projects = new IProject[resourceCollection.size()];
-	projects = (IProject[]) resourceCollection.toArray(projects);
-	IWorkspace.ProjectOrder po = ResourcesPlugin.getWorkspace().computeProjectOrder(projects);
-	ArrayList orderedProjects = new ArrayList();
-	orderedProjects.addAll(Arrays.asList(po.projects));
-	return orderedProjects;
-}
-/* (non-Javadoc)
- * Method declared on IAction; overrides method on WorkspaceAction.
- * This override allows the user to save the contents of selected
- * open editors so that the updated contents will be used for building.
- */
-public void run() {
-
-	// Save all resources prior to doing build
-	saveAllResources();
-
-	super.run();
-}
-/**
- * Causes all editors to save any modified resources depending on the user's
- * preference.
- */
-void saveAllResources() {
-	List projects = getSelectedResources();
-	if (projects == null || projects.isEmpty())
-		return;
-		
-	if (!isSaveAllSet())
-		return;
-		
-	IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindows();
-	for (int i = 0; i < windows.length; i++) {
-		IWorkbenchPage [] pages = windows[i].getPages();
-		for (int j = 0; j < pages.length; j++) {
-			IWorkbenchPage page = pages[j];
-			IEditorPart[] editors = page.getDirtyEditors();
-			for (int k = 0; k < editors.length; k++) {
-				IEditorPart editor = editors[k];
-				IEditorInput input = editor.getEditorInput();
-				if (input instanceof IFileEditorInput) {
-					IFile inputFile = ((IFileEditorInput)input).getFile();
-					if (projects.contains(inputFile.getProject())) {
-						page.saveEditor(editor, false);
-					}
-				}
-			}
-		}
-	}
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-boolean shouldPerformResourcePruning() {
-	return true;
-}
-/**
- * The <code>BuildAction</code> implementation of this
- * <code>SelectionListenerAction</code> method ensures that this action is
- * enabled only if all of the selected resources have buildable projects.
- */
-protected boolean updateSelection(IStructuredSelection s) {
-	projectsToBuild = null;
-	return super.updateSelection(s) && getProjectsToBuild().size() > 0;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CloseResourceAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CloseResourceAction.java
deleted file mode 100644
index 39ad936..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CloseResourceAction.java
+++ /dev/null
@@ -1,244 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.*;
-
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-import org.eclipse.ui.*;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.model.AdaptableList;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-
-/**
- * Standard action for closing the currently selected project(s)
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class CloseResourceAction extends WorkspaceAction implements IResourceChangeListener {
-	/**
-	 * The id of this action.
-	 */
-	public static final String ID = PlatformUI.PLUGIN_ID + ".CloseResourceAction"; //$NON-NLS-1$
-	/**
-	 * Creates a new action.
-	 *
-	 * @param shell the shell for any dialogs
-	 */
-	public CloseResourceAction(Shell shell) {
-		super(shell, WorkbenchMessages.getString("CloseResourceAction.text")); //$NON-NLS-1$
-		setId(ID);
-		setToolTipText(WorkbenchMessages.getString("CloseResourceAction.toolTip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IHelpContextIds.CLOSE_RESOURCE_ACTION);
-	}
-	/**
-	 * Return a list of dirty editors associated with the given projects.  Return
-	 * editors from all perspectives.
-	 * 
-	 * @return List the dirty editors
-	 */
-	List getDirtyEditors(List projects) {
-		List dirtyEditors = new ArrayList(0);
-		IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindows();
-		for (int i = 0; i < windows.length; i++) {
-			IWorkbenchPage[] pages = windows[i].getPages();
-			for (int j = 0; j < pages.length; j++) {
-				IWorkbenchPage page = pages[j];
-				IEditorPart[] editors = page.getDirtyEditors();
-				for (int k = 0; k < editors.length; k++) {
-					IEditorPart editor = editors[k];
-					IEditorInput input = editor.getEditorInput();
-					if (input instanceof IFileEditorInput) {
-						IFile inputFile = ((IFileEditorInput) input).getFile();
-						if (projects.contains(inputFile.getProject())) {
-							if (editor.isDirty()) {
-								dirtyEditors.add(editor);
-							}
-						}
-					}
-				}
-			}
-		}
-		return dirtyEditors;
-	}
-	/**
-	 * Open a dialog that can be used to select which of the given
-	 * editors to save. Return the list of editors to save.  A value of 
-	 * null implies that the operation was cancelled.
-	 * 
-	 * @return List the editors to save
-	 */
-	List getEditorsToSave(List dirtyEditors) {
-		if (dirtyEditors.isEmpty())
-			return new ArrayList(0);
-
-		// The list may have multiple editors opened for the same input,
-		// so process the list for duplicates.
-		List saveEditors = new ArrayList(0);
-		List dirtyInputs = new ArrayList(0);
-		Iterator iter = dirtyEditors.iterator();
-		while (iter.hasNext()) {
-			IEditorPart editor = (IEditorPart) iter.next();
-			IEditorInput input = editor.getEditorInput();
-			IFile inputFile = ((IFileEditorInput) input).getFile();
-			// if the same file is open in multiple perspectives,
-			// we don't want to count it as dirty multiple times
-			if (!dirtyInputs.contains(inputFile)) {
-				dirtyInputs.add(inputFile);
-				saveEditors.add(editor);
-			} 
-		}
-		AdaptableList input = new AdaptableList();
-		input.add(saveEditors.iterator());
-		ListSelectionDialog dlg =
-			new ListSelectionDialog(getShell(), input, new WorkbenchContentProvider(), new WorkbenchPartLabelProvider(), WorkbenchMessages.getString("EditorManager.saveResourcesMessage")); //$NON-NLS-1$
-
-		dlg.setInitialSelections(saveEditors.toArray(new Object[saveEditors.size()]));
-		dlg.setTitle(WorkbenchMessages.getString("EditorManager.saveResourcesTitle")); //$NON-NLS-1$
-		int result = dlg.open();
-
-		if (result == IDialogConstants.CANCEL_ID)
-			return null;
-		return Arrays.asList(dlg.getResult());
-	}
-	/* (non-Javadoc)
-	 * Method declared on WorkspaceAction.
-	 */
-	String getOperationMessage() {
-		return ""; //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * Method declared on WorkspaceAction.
-	 */
-	String getProblemsMessage() {
-		return WorkbenchMessages.getString("CloseResourceAction.problemMessage"); //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * Method declared on WorkspaceAction.
-	 */
-	String getProblemsTitle() {
-		return WorkbenchMessages.getString("CloseResourceAction.title"); //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * Method declared on WorkspaceAction.
-	 */
-	void invokeOperation(IResource resource, IProgressMonitor monitor) throws CoreException {
-		((IProject) resource).close(monitor);
-	}
-	/** 
-	 * The implementation of this <code>WorkspaceAction</code> method
-	 * method saves and closes the resource's dirty editors before closing 
-	 * it.
-	 */
-	public void run() {
-		if (!saveDirtyEditors())
-			return;
-		super.run();
-	}
-	/**
-	 * Causes all dirty editors associated to the resource(s) to be saved, if so
-	 * specified by the user, and closed.
-	 */
-	boolean saveDirtyEditors() {
-		// Get the items to close.
-		List projects = getSelectedResources();
-		if (projects == null || projects.isEmpty())
-			// no action needs to be taken since no projects are selected
-			return false;
-
-		// Collect all the dirty editors that are associated to the projects that are
-		// to be closed.
-		final List dirtyEditors = getDirtyEditors(projects);
-
-		// See which editors should be saved.
-		final List saveEditors = getEditorsToSave(dirtyEditors);
-		if (saveEditors == null)
-			// the operation was cancelled
-			return false;
-
-		// Save and close the dirty editors.
-		BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
-			public void run() {
-				Iterator iter = dirtyEditors.iterator();
-				while (iter.hasNext()) {
-					IEditorPart editor = (IEditorPart) iter.next();
-					IWorkbenchPage page = editor.getEditorSite().getPage();
-					if (saveEditors.contains(editor)) {
-						// do a direct save vs. using page.saveEditor, so that 
-						// progress dialogs do not flash up on the screen multiple 
-						// times
-						editor.doSave(new NullProgressMonitor());
-					}
-					page.closeEditor(editor, false);
-				}
-			}
-		});
-
-		return true;
-	}
-	/* (non-Javadoc)
-	 * Method declared on WorkspaceAction.
-	 */
-	boolean shouldPerformResourcePruning() {
-		return false;
-	}
-	/**
-	 * The <code>CloseResourceAction</code> implementation of this
-	 * <code>SelectionListenerAction</code> method ensures that this action is
-	 * enabled only if one of the selections is an open project.
-	 */
-	protected boolean updateSelection(IStructuredSelection s) {
-		// don't call super since we want to enable if open project is selected.
-		if (!selectionIsOfType(IResource.PROJECT))
-			return false;
-
-		Iterator resources = getSelectedResources().iterator();
-		while (resources.hasNext()) {
-			IProject currentResource = (IProject) resources.next();
-			if (currentResource.isOpen()) {
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Handles a resource changed event by updating the enablement
-	 * if one of the selected projects is opened or closed.
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		// Warning: code duplicated in OpenResourceAction
-		List sel = getSelectedResources();
-		// don't bother looking at delta if selection not applicable
-		if (selectionIsOfType(IResource.PROJECT)) {
-			IResourceDelta delta = event.getDelta();
-			if (delta != null) {
-				IResourceDelta[] projDeltas = delta.getAffectedChildren(IResourceDelta.CHANGED);
-				for (int i = 0; i < projDeltas.length; ++i) {
-					IResourceDelta projDelta = projDeltas[i];
-					if ((projDelta.getFlags() & IResourceDelta.OPEN) != 0) {
-						if (sel.contains(projDelta.getResource())) {
-							selectionChanged(getStructuredSelection());
-							return;
-						}
-					}
-				}
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CopyFilesAndFoldersOperation.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CopyFilesAndFoldersOperation.java
deleted file mode 100644
index 20e9cc6..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CopyFilesAndFoldersOperation.java
+++ /dev/null
@@ -1,1301 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ContainerGenerator;
-import org.eclipse.ui.dialogs.IOverwriteQuery;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.misc.StatusUtil;
-import org.eclipse.ui.wizards.datatransfer.FileSystemStructureProvider;
-import org.eclipse.ui.wizards.datatransfer.ImportOperation;
-
-/**
- * Perform the copy of file and folder resources from the clipboard 
- * when paste action is invoked.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class CopyFilesAndFoldersOperation {
-
-	/**
-	 * Status containing the errors detected when running the operation or
-	 * <code>null</code> if no errors detected.
-	 */
-	private MultiStatus errorStatus;
-
-	/**
-	 * The parent shell used to show any dialogs.
-	 */
-	private Shell parentShell;
-
-	/**
-	 * The destination of the resources to be copied.
-	 */
-	private IResource destination;
-
-	/**
-	 * A list of all resources against which copy errors are reported.
-	 */
-	private ArrayList errorResources = new ArrayList();
-
-	/**
-	 * Whether or not the copy has been canceled by the user.
-	 */
-	private boolean canceled = false;
-
-	/**
-	 * Overwrite all flag.
-	 */
-	private boolean alwaysOverwrite = false;
-
-	/**
-	 * Auto deep copy flag
-	 */
-	private boolean alwaysDeepCopy = false;
-	
-	/**
-	 * Auto shallow copy flag
-	 */
-	private boolean neverDeepCopy = false;	
-	/**
-	 * Returns a new name for a copy of the resource at the given path in 
-	 * the given workspace. This name is determined automatically. 
-	 *
-	 * @param originalName the full path of the resource
-	 * @param workspace the workspace
-	 * @return the new full path for the copy
-	 */
-	static IPath getAutoNewNameFor(IPath originalName, IWorkspace workspace) {
-		int counter = 1;
-		String resourceName = originalName.lastSegment();
-		IPath leadupSegment = originalName.removeLastSegments(1);
-
-		while (true) {
-			String nameSegment;
-
-			if (counter > 1)
-				nameSegment = WorkbenchMessages.format("CopyFilesAndFoldersOperation.copyNameTwoArgs", new Object[] { new Integer(counter), resourceName }); //$NON-NLS-1$
-			else
-				nameSegment = WorkbenchMessages.format("CopyFilesAndFoldersOperation.copyNameOneArg", new Object[] { resourceName }); //$NON-NLS-1$
-
-			IPath pathToTry = leadupSegment.append(nameSegment);
-
-			if (!workspace.getRoot().exists(pathToTry))
-				return pathToTry;
-
-			counter++;
-		}
-	}
-	/** 
-	 * Creates a new operation initialized with a shell.
-	 * 
-	 * @param shell parent shell for error dialogs
-	 */
-	public CopyFilesAndFoldersOperation(Shell shell) {
-		parentShell = shell;
-	}
-	/**
-	 * Returns whether this operation is able to perform on-the-fly 
-	 * auto-renaming of resources with name collisions.
-	 *
-	 * @return <code>true</code> if auto-rename is supported, 
-	 * 	and <code>false</code> otherwise
-	 */
-	protected boolean canPerformAutoRename() {
-		return true;
-	}
-	/**
-	 * Returns the message for querying deep copy/move of a linked 
-	 * resource.
-	 *
-	 * @param source resource the query is made for
-	 * @return the deep query message
-	 */
-	protected String getDeepCheckQuestion(IResource source) {
-		return WorkbenchMessages.format(
-			"CopyFilesAndFoldersOperation.deepCopyQuestion", //$NON-NLS-1$
-			new Object[] {source.getFullPath().makeRelative()});
-	}
-	/**
-	 * Check if the user wishes to deep copy the supplied linked resource,  
-	 * 
-	 * @param source the resource to be copied
-	 * @return true the resource should be deep copied. false a shallow
-	 * 	copy of the resource should be made. 
-	 */
-	protected boolean checkDeep(final IResource source) {
-		final int[] result = new int[1];
-		IPath location = source.getLocation();
-		
-		if (location == null) {
-			//undefined path variable
-			return false;
-		}
-		if (location.toFile().exists() == false) {
-			//link target does not exist
-			return false;
-		}
-		if (alwaysDeepCopy) {
-			return true;
-		}
-		if (neverDeepCopy) {
-			return false;
-		}
-		// Dialogs need to be created and opened in the UI thread
-		Runnable query = new Runnable() {
-			public void run() {
-				String message;
-				int resultId[] = {
-					IDialogConstants.YES_ID,
-					IDialogConstants.YES_TO_ALL_ID,
-					IDialogConstants.NO_ID,
-					IDialogConstants.NO_TO_ALL_ID,
-					IDialogConstants.CANCEL_ID};
- 
-				message = WorkbenchMessages.format(
-					"CopyFilesAndFoldersOperation.deepCopyQuestion", //$NON-NLS-1$
-					new Object[] {source.getFullPath().makeRelative()});
-				MessageDialog dialog = new MessageDialog(
-					parentShell, 
-					WorkbenchMessages.getString("CopyFilesAndFoldersOperation.linkedFolder"), //$NON-NLS-1$
-					null,
-					message,
-					MessageDialog.QUESTION,
-					new String[] {
-						IDialogConstants.YES_LABEL,
-						IDialogConstants.YES_TO_ALL_LABEL,
-						IDialogConstants.NO_LABEL,
-						IDialogConstants.NO_TO_ALL_LABEL,
-						IDialogConstants.CANCEL_LABEL },
-					0);
-				dialog.open();
-				result[0] = resultId[dialog.getReturnCode()];
-			}
-		};
-		parentShell.getDisplay().syncExec(query);
-		if (result[0] == IDialogConstants.YES_TO_ALL_ID) {
-			alwaysDeepCopy = true;
-			return true;		
-		}
-		if (result[0] == IDialogConstants.YES_ID) {
-			return true;
-		}
-		if (result[0] == IDialogConstants.NO_TO_ALL_ID) {
-			neverDeepCopy = true;
-		}
-		if (result[0] == IDialogConstants.CANCEL_ID) {
-			canceled = true;
-			throw new OperationCanceledException();
-		}
-		return false;
-	}
-	/**
-	 * Checks whether the files with the given names exist. 
-	 *
-	 * @param names path to the file. must not be null.
-	 * 	If the path is not valid it will not be tested. 
-	 * @return Multi status with one error message for each missing file.
-	 */
-	IStatus checkExist(String[] names) {
-		MultiStatus multiStatus = new MultiStatus(
-			PlatformUI.PLUGIN_ID, 
-			IStatus.OK,
-			getProblemsMessage(),
-			null);
-			 		
-		for (int i = 0; i < names.length; i++) {
-			IPath path = new Path(names[i]);
-			File file = path.toFile();
-			
-			if (file != null && file.exists() == false) {
-				String message = WorkbenchMessages.format(
-					"CopyFilesAndFoldersOperation.resourceDeleted",	//$NON-NLS-1$
-					new Object[] {file.getName()});				
-				IStatus status = new Status(
-					IStatus.ERROR, 
-					PlatformUI.PLUGIN_ID, 
-					IStatus.OK, 
-					message, 
-					null);
-				multiStatus.add(status);
-			}
-		}
-		return multiStatus;
-	}
-	/**
-	 * Checks whether the files with the given names exist. 
-	 *
-	 * @param names path to the file. must not be null.
-	 * 	If the path is not valid it will not be tested. 
-	 * @return Multi status with one error message for each missing file.
-	 */
-	IStatus checkExist(IResource[] resources) {
-		MultiStatus multiStatus = new MultiStatus(
-			PlatformUI.PLUGIN_ID, 
-			IStatus.OK,
-			getProblemsMessage(),
-			null);
-			 		
-		for (int i = 0; i < resources.length; i++) {
-			if (resources[i] != null && resources[i].exists() == false) {
-				String message = WorkbenchMessages.format(
-					"CopyFilesAndFoldersOperation.resourceDeleted",	//$NON-NLS-1$
-					new Object[] {resources[i].getName()});				
-				IStatus status = new Status(
-					IStatus.ERROR, 
-					PlatformUI.PLUGIN_ID, 
-					IStatus.OK, 
-					message, 
-					null);
-				multiStatus.add(status);
-			}
-		}
-		return multiStatus;
-	}
-	/**
-	 * Check if the user wishes to overwrite the supplied resource or 
-	 * all resources.
-	 * 
-	 * @param shell the shell to create the overwrite prompt dialog in 
-	 * @param destination the resource to be overwritten
-	 * @return one of IDialogConstants.YES_ID, IDialogConstants.YES_TO_ALL_ID,
-	 * 	IDialogConstants.NO_ID, IDialogConstants.CANCEL_ID indicating whether
-	 * 	the current resource or all resources can be overwritten, or if the 
-	 * 	operation should be canceled.
-	 */
-	private int checkOverwrite(final Shell shell, final IResource destination) {
-		final int[] result = new int[1];
-
-		// Dialogs need to be created and opened in the UI thread
-		Runnable query = new Runnable() {
-			public void run() {
-				String message;
-				int resultId[] = {
-					IDialogConstants.YES_ID,
-					IDialogConstants.YES_TO_ALL_ID,
-					IDialogConstants.NO_ID,
-					IDialogConstants.CANCEL_ID};
- 
-				if (destination.getType() == IResource.FOLDER) {
-					message = WorkbenchMessages.format(
-						"CopyFilesAndFoldersOperation.overwriteMergeQuestion", //$NON-NLS-1$
-						new Object[] { destination.getFullPath().makeRelative()});
-				} else {
-					message = WorkbenchMessages.format(
-						"CopyFilesAndFoldersOperation.overwriteQuestion", //$NON-NLS-1$
-						new Object[] { destination.getFullPath().makeRelative()});
-				}
-				MessageDialog dialog = new MessageDialog(
-					shell, 
-					WorkbenchMessages.getString("CopyFilesAndFoldersOperation.resourceExists"), //$NON-NLS-1$
-					null,
-					message,
-					MessageDialog.QUESTION,
-					new String[] {
-						IDialogConstants.YES_LABEL,
-						IDialogConstants.YES_TO_ALL_LABEL,
-						IDialogConstants.NO_LABEL,
-						IDialogConstants.CANCEL_LABEL },
-					0);
-				dialog.open();
-				result[0] = resultId[dialog.getReturnCode()];
-			}
-		};
-		shell.getDisplay().syncExec(query);
-		return result[0];
-	}
-	/**
-	 * Recursively collects existing files in the specified destination path.
-	 * 
-	 * @param destinationPath destination path to check for existing files
-	 * @param copyResources resources that may exist in the destination
-	 * @param existing holds the collected existing files 
-	 */
-	private void collectExistingReadonlyFiles(IPath destinationPath, IResource[] copyResources, ArrayList existing) {
-		IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
-
-		for (int i = 0; i < copyResources.length; i++) {
-			IResource source = copyResources[i];
-			IPath newDestinationPath = destinationPath.append(source.getName());
-			IResource newDestination = workspaceRoot.findMember(newDestinationPath);
-			IFolder folder;
-						
-			if (newDestination == null) {
-				continue;
-			}
-			folder = getFolder(newDestination);
-			if (folder != null) {
-				IFolder sourceFolder = getFolder(source);
-			
-				if (sourceFolder != null) {
-					try {
-						collectExistingReadonlyFiles(newDestinationPath, sourceFolder.members(), existing);
-					}
-					catch (CoreException exception) {
-						recordError(exception); 
-					}
-				}
-			}			
-			else {
-				IFile file = getFile(newDestination);
-				
-				if (file != null && file.isReadOnly()) {
-					existing.add(file);
-				}
-			}
-		}
-	} 
-	/**
-	 * Copies the resources to the given destination.  This method is 
-	 * called recursively to merge folders during folder copy.
-	 * 
-	 * @param resources the resources to copy
-	 * @param rejectedFiles files rejected for copy during validateEdit
-	 * @param destination destination to which resources will be copied
-	 * @param subMonitor a progress monitor for showing progress and for cancelation
-	 */
-	protected void copy(IResource[] resources, ArrayList rejectedFiles, IPath destination, IProgressMonitor subMonitor) throws CoreException {
-		for (int i = 0; i < resources.length; i++) {
-			IResource source = resources[i];
-			IPath destinationPath = destination.append(source.getName());
-			IWorkspace workspace = source.getWorkspace();
-			IWorkspaceRoot workspaceRoot = workspace.getRoot();
-			if (source.getType() == IResource.FOLDER && workspaceRoot.exists(destinationPath)) {
-				// the resource is a folder and it exists in the destination, copy the
-				// children of the folder
-				IResource[] children = ((IContainer) source).members();
-				copy(children, rejectedFiles, destinationPath, subMonitor);
-			} else if (!rejectedFiles.contains(destinationPath)) {
-				// if we're merging folders, we could be overwriting an existing file
-				IResource existing = workspaceRoot.findMember(destinationPath);
-				boolean canCopy = true;
-				
-				if (existing != null) {					
-					canCopy = !copyExisting(source, existing, subMonitor);
-					
-					if (canCopy) { 	
-						canCopy = delete(existing, subMonitor);
-					}
-				}
-				if (canCopy) {
-					int flags = IResource.SHALLOW;
-					
-					if (source.isLinked() && checkDeep(source)) {
-						// do a deep copy of the resource
-						flags = IResource.NONE;
-					}					
-					source.copy(destinationPath, flags, new SubProgressMonitor(subMonitor, 0));
-				}
-				subMonitor.worked(1);
-				if (subMonitor.isCanceled()) {
-					throw new OperationCanceledException();
-				}
-			}
-		}
-	}
-	/**
-	 * Sets the content of the existing file to the source file content.
-	 * 
-	 * @param source source file to copy
-	 * @param existing existing file to set the source content in
-	 * @param subMonitor a progress monitor for showing progress and for cancelation
-	 * @return boolean <code>true</code> if the source file was copied. 
-	 * 	<code>false</code> otherwise
-	 * @throws CoreException setContents failed
-	 */
-	private boolean copyExisting(IResource source, IResource existing, IProgressMonitor subMonitor) throws CoreException {
-		boolean copied = false;
-		IFile existingFile = getFile(existing);
-
-		if (existingFile != null) {
-			IFile sourceFile = getFile(source);
-
-			if (sourceFile != null) {
-				existingFile.setContents(sourceFile.getContents(), IResource.KEEP_HISTORY, new SubProgressMonitor(subMonitor, 0));
-				copied = true;
-			}
-		}
-		return copied;
-	}
-	/**
-	 * Copies the given resources to the destination. 
-	 * 
-	 * @param resources the resources to copy
-	 * @param destination destination to which resources will be copied
-	 */
-	public IResource[] copyResources(final IResource[] resources, IContainer destination) {
-		final IPath destinationPath = destination.getFullPath();
-		final IResource[][] copiedResources = new IResource[1][0];
-
-		alwaysDeepCopy = false;
-		neverDeepCopy = false;
-		// test resources for existence separate from validate API.
-		// Validate is performance critical and resource exists
-		// check is potentially slow. Fixes bugs 16129/28602. 
-		IStatus resourceStatus = checkExist(resources);
-		if (resourceStatus.getSeverity() != IStatus.OK) {
-			ErrorDialog.openError(
-				parentShell, 
-				getProblemsTitle(),
-				null, // no special message
-				resourceStatus);
-			return copiedResources[0];
-		}
-		String errorMsg = validateDestination(destination, resources);
-		if (errorMsg != null) {
-			displayError(errorMsg);
-			return copiedResources[0];
-		}
-
-		WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-			public void execute(IProgressMonitor monitor) {
-				IResource[] copyResources = resources;
-
-				// Checks only required if this is an exisiting container path.
-				monitor.beginTask(
-					WorkbenchMessages.getString("CopyFilesAndFoldersOperation.operationTitle"), //$NON-NLS-1$
-					100);
-					monitor.worked(10); // show some initial progress
-				boolean copyWithAutoRename = false;
-				IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-				ArrayList rejectedFiles = new ArrayList();
-				if (root.exists(destinationPath)) {
-					IContainer container = (IContainer) root.findMember(destinationPath);
-					// If we're copying to the source container then perform
-					// auto-renames on all resources to avoid name collisions.
-					if (isDestinationSameAsSource(copyResources, container) && canPerformAutoRename()) {
-						copyWithAutoRename = true;
-					} else {
-						// If no auto-renaming will be happening, check for
-						// potential name collisions at the target resource
-						copyResources = validateNoNameCollisions(container, copyResources, monitor);
-						if (copyResources == null) {
-							if (canceled)
-								return;
-							displayError(WorkbenchMessages.getString("CopyFilesAndFoldersOperation.nameCollision")); //$NON-NLS-1$
-							return;
-						}
-						rejectedFiles = validateEdit(container, copyResources);
-						if (canceled)
-							return;
-					}
-				}
-
-				errorStatus = null;
-				if (copyResources.length > 0) {
-					if (copyWithAutoRename)
-						performCopyWithAutoRename(copyResources, destinationPath, monitor);
-					else
-						performCopy(copyResources, rejectedFiles, destinationPath, monitor);
-				}
-				copiedResources[0] = copyResources;
-			}
-		};
-
-		try {
-			new ProgressMonitorDialog(parentShell).run(true, true, op);
-		} catch (InterruptedException e) {
-			return copiedResources[0];
-		} catch (InvocationTargetException e) {
-			// CoreExceptions are collected above, but unexpected runtime exceptions and errors may still occur.
-			Platform.getPlugin(PlatformUI.PLUGIN_ID).getLog().log(StatusUtil.newStatus(
-					IStatus.ERROR, 
-					MessageFormat.format(
-						"Exception in {0}.performCopy(): {1}", //$NON-NLS-1$
-						new Object[] {getClass().getName(), e.getTargetException()}), 
-					null));
-			displayError(WorkbenchMessages.format(
-				"CopyFilesAndFoldersOperation.internalError", //$NON-NLS-1$
-				new Object[] { e.getTargetException().getMessage()}));
-		}
-
-		// If errors occurred, open an Error dialog
-		if (errorStatus != null) {
-			ErrorDialog.openError(
-				parentShell, 
-				getProblemsTitle(), 
-				null, // no special message
-				errorStatus);
-			errorStatus = null;
-		}
-		return copiedResources[0];
-	}
-	/**
-	 * Copies the given files and folders to the destination. 
-	 * 
-	 * @param fileNames names of the files to copy
-	 * @param destination destination to which files will be copied
-	 */
-	public void copyFiles(final String[] fileNames, IContainer destination) {
-		alwaysOverwrite = false;
-
-		// test files for existence separate from validate API 
-		// because an external file may not exist until the copy actually 
-		// takes place (e.g., WinZip contents).
-		IStatus fileStatus = checkExist(fileNames);
-		if (fileStatus.getSeverity() != IStatus.OK) {
-			ErrorDialog.openError(
-				parentShell, 
-				getProblemsTitle(),
-				null, // no special message
-				fileStatus);
-			return;
-		}
-		String errorMsg = validateImportDestination(destination, fileNames);
-		if (errorMsg != null) {
-			displayError(errorMsg);
-			return;
-		}
-		final IPath destinationPath = destination.getFullPath();
-
-		WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-			public void execute(IProgressMonitor monitor) {
-				// Checks only required if this is an exisiting container path.
-				IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-				if (root.exists(destinationPath)) {
-					IContainer container = (IContainer) root.findMember(destinationPath);
-				
-					performFileImport(getFiles(fileNames), container, monitor);
-				}
-			}
-		};
-		try {
-			new ProgressMonitorDialog(parentShell).run(true, true, op);
-		} catch (InterruptedException e) {
-			return;
-		} catch (InvocationTargetException e) {
-			// CoreExceptions are collected above, but unexpected runtime exceptions and errors may still occur.
-			Platform.getPlugin(PlatformUI.PLUGIN_ID).getLog().log(StatusUtil.newStatus(IStatus.ERROR, MessageFormat.format("Exception in {0}.performCopy(): {1}", //$NON-NLS-1$
-			new Object[] { getClass().getName(), e.getTargetException()}), null));
-			displayError(WorkbenchMessages.format("CopyFilesAndFoldersOperation.internalError", new Object[] { e.getTargetException().getMessage()})); //$NON-NLS-1$
-		}
-
-		// If errors occurred, open an Error dialog
-		if (errorStatus != null) {
-			ErrorDialog.openError(parentShell, getProblemsTitle(), //$NON-NLS-1$
-			null, // no special message
-			errorStatus);
-			errorStatus = null;
-		}
-	}
-	/**
-	 * Creates a file or folder handle for the source resource as if 
-	 * it were to be created in the destination container.
-	 * 
-	 * @param destination destination container
-	 * @param source source resource
-	 * @return IResource file or folder handle, depending on the source 
-	 * 	type.
-	 */
-	IResource createLinkedResourceHandle(IContainer destination, IResource source) {
-		IWorkspace workspace = destination.getWorkspace();
-		IWorkspaceRoot workspaceRoot = workspace.getRoot();
-		IPath linkPath = destination.getFullPath().append(source.getName());
-		IResource linkHandle;
-		
-		if (source.getType() == IResource.FOLDER) {
-			linkHandle = workspaceRoot.getFolder(linkPath);
-		}
-		else {
-			linkHandle = workspaceRoot.getFile(linkPath);
-		}
-		return linkHandle;
-	}
-	/**
-	 * Removes the given resource from the workspace. 
-	 *  
-	 * @param resource resource to remove from the workspace
-	 * @param monitor a progress monitor for showing progress and for cancelation
-	 * @return 
-	 * 	true the resource was deleted successfully
-	 * 	false the resource was not deleted because a CoreException occurred
-	 */
-	boolean delete(IResource resource, IProgressMonitor monitor) throws CoreException {
-		boolean force = false; // don't force deletion of out-of-sync resources
-
-		if (resource.getType() == IResource.PROJECT) {
-			// if it's a project, ask whether content should be deleted too
-			IProject project = (IProject) resource;
-			try {
-				project.delete(true, force, monitor);
-			} catch (CoreException e) {
-				recordError(e); // log error
-				return false;
-			}
-		} else {
-			// if it's not a project, just delete it
-			int flags = IResource.KEEP_HISTORY;
-			if (force) {
-				flags = flags | IResource.FORCE;
-			}
-			try {
-				resource.delete(flags, monitor);
-			} catch (CoreException e) {
-				recordError(e); // log error
-				return false;
-			}				
-		}
-		return true;
-	}
-	/**
-	 * Opens an error dialog to display the given message.
-	 *
-	 * @param message the error message to show
-	 */
-	private void displayError(final String message) {
-		parentShell.getDisplay().syncExec(new Runnable() {
-			public void run() {
-				MessageDialog.openError(parentShell, getProblemsTitle(), message);
-			}
-		});
-	}
-	/**
-	 * Returns the resource either casted to or adapted to an IFile. 
-	 * 
-	 * @param resource resource to cast/adapt
-	 * @return the resource either casted to or adapted to an IFile.
-	 * 	<code>null</code> if the resource does not adapt to IFile 
-	 */
-	protected IFile getFile(IResource resource) {
-		if (resource instanceof IFile) {
-			return (IFile) resource;
-		}
-		if (resource instanceof IAdaptable) {
-			return (IFile) ((IAdaptable) resource).getAdapter(IFile.class);
-		}
-		return null;
-	}
-	/**
-	 * Returns java.io.File objects for the given file names.
-	 * 
-	 * @param fileNames files to return File object for.
-	 * @return java.io.File objects for the given file names.
-	 */
-	protected File[] getFiles(String[] fileNames) {
-		File[] files = new File[fileNames.length];
-		
-		for (int i = 0; i < fileNames.length; i++) {
-			files[i] = new File(fileNames[i]);
-		}
-		return files;
-	}
-	/**
-	 * Returns the resource either casted to or adapted to an IFolder. 
-	 * 
-	 * @param resource resource to cast/adapt
-	 * @return the resource either casted to or adapted to an IFolder.
-	 * 	<code>null</code> if the resource does not adapt to IFolder 
-	 */
-	protected IFolder getFolder(IResource resource) {
-		if (resource instanceof IFolder) {
-			return (IFolder) resource;
-		}
-		if (resource instanceof IAdaptable) {
-			return (IFolder) ((IAdaptable) resource).getAdapter(IFolder.class);
-		}
-		return null;
-	}
-	/**
-	 * Returns a new name for a copy of the resource at the given path in the 
-	 * given workspace.
-	 *
-	 * @param originalName the full path of the resource
-	 * @param workspace the workspace
-	 * @return the new full path for the copy, or <code>null</code> if the 
-	 * 	resource should not be copied
-	 */
-	private IPath getNewNameFor(final IPath originalName, final IWorkspace workspace) {
-		final IResource resource = workspace.getRoot().findMember(originalName);
-		final IPath prefix = resource.getFullPath().removeLastSegments(1);
-		final String returnValue[] = { "" };
-
-		parentShell.getDisplay().syncExec(new Runnable() {
-			public void run() {
-				IInputValidator validator = new IInputValidator() {
-					public String isValid(String string) {
-						if (resource.getName().equals(string)) {
-							return WorkbenchMessages.getString("CopyFilesAndFoldersOperation.nameMustBeDifferent"); //$NON-NLS-1$
-						}
-						IStatus status = workspace.validateName(string, resource.getType());
-						if (!status.isOK()) {
-							return status.getMessage();
-						}
-						if (workspace.getRoot().exists(prefix.append(string))) {
-							return WorkbenchMessages.getString("CopyFilesAndFoldersOperation.nameExists"); //$NON-NLS-1$
-						}
-						return null;
-					}
-				};
-
-				InputDialog dialog = new InputDialog(parentShell, WorkbenchMessages.getString("CopyFilesAndFoldersOperation.inputDialogTitle"), //$NON-NLS-1$
-				WorkbenchMessages.format("CopyFilesAndFoldersOperation.inputDialogMessage", new String[] { resource.getName()}), //$NON-NLS-1$
-				getAutoNewNameFor(originalName, workspace).lastSegment().toString(), validator);
-				dialog.setBlockOnOpen(true);
-				dialog.open();
-				if (dialog.getReturnCode() == Window.CANCEL) {
-					returnValue[0] = null;
-				} else {
-					returnValue[0] = dialog.getValue();
-				}
-			}
-		});
-		if (returnValue[0] == null) {
-			throw new OperationCanceledException();
-		}
-		return prefix.append(returnValue[0]);
-	}
-	/**
-	 * Returns the message for this operation's problems dialog.
-	 *
-	 * @return the problems message
-	 */
-	protected String getProblemsMessage() {
-		return WorkbenchMessages.getString("CopyFilesAndFoldersOperation.problemMessage"); //$NON-NLS-1$
-	}
-	/**
-	 * Returns the title for this operation's problems dialog.
-	 *
-	 * @return the problems dialog title
-	 */
-	protected String getProblemsTitle() {
-		return WorkbenchMessages.getString("CopyFilesAndFoldersOperation.copyFailedTitle"); //$NON-NLS-1$
-	}
-	/**
-	 * Returns the rejected files based on the given multi status.
-	 *  
-	 * @param multiStatus multi status to use to determine file rejection
-	 * @param files source files
-	 * @return list of rejected files as absolute paths. Object type IPath.
-	 */
-	private ArrayList getRejectedFiles(IStatus multiStatus, IFile[] files) {
-		ArrayList rejectedFiles = new ArrayList();
-
-		IStatus[] status = multiStatus.getChildren();
-		for (int i = 0; i < status.length; i++) {
-			if (status[i].isOK() == false) {
-				rejectedFiles.add(files[i].getFullPath());
-			}
-		}
-		return rejectedFiles;
-	}
-	/**
-	 * Returns whether the given resource is accessible.
-	 * Files and folders are always considered accessible and a project is 
-	 * accessible if it is open.
-	 *
-	 * @param resource the resource
-	 * @return <code>true</code> if the resource is accessible, and 
-	 *   <code>false</code> if it is not
-	 */
-	private boolean isAccessible(IResource resource) {
-		switch (resource.getType()) {
-			case IResource.FILE :
-				return true;
-			case IResource.FOLDER :
-				return true;
-			case IResource.PROJECT :
-				return ((IProject) resource).isOpen();
-			default :
-				return false;
-		}
-	}
-	/**
-	 * Returns whether any of the given source resources are being 
-	 * recopied to their current container.
-	 *
-	 * @param sourceResources the source resources 
-	 * @param destination the destination container
-	 * @return <code>true</code> if at least one of the given source 
-	 *   resource's parent container is the same as the destination 
-	 */
-	boolean isDestinationSameAsSource(IResource[] sourceResources, IContainer destination) {
-		IPath destinationLocation = destination.getLocation();
-		
-		for (int i = 0; i < sourceResources.length; i++) {
-			IResource sourceResource = sourceResources[i]; 
-			if (sourceResource.getParent().equals(destination)) {
-				return true;
-			} else if (destinationLocation != null) {
-				// do thorough check to catch linked resources. Fixes bug 29913.
-				IPath sourceLocation = sourceResource.getLocation();
-				IPath destinationResource = destinationLocation.append(sourceResource.getName());
-				if (sourceLocation != null && sourceLocation.isPrefixOf(destinationResource)) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-	/**
-	 * Copies the given resources to the destination container with 
-	 * the given name.
-	 * <p>
-	 * Note: the destination container may need to be created prior to 
-	 * copying the resources.
-	 * </p>
-	 *
-	 * @param resources the resources to copy
-	 * @param rejectedFiles files rejected for copy during validateEdit
-	 * @param destination the path of the destination container
-	 * @param monitor a progress monitor for showing progress and for cancelation
-	 * @return <code>true</code> if the copy operation completed without 
-	 * 	errors
-	 */
-	private boolean performCopy(IResource[] resources, ArrayList rejectedFiles, IPath destination, IProgressMonitor monitor) {
-		try {
-			monitor.subTask(WorkbenchMessages.getString("CopyFilesAndFoldersOperation.copying")); //$NON-NLS-1$
-			ContainerGenerator generator = new ContainerGenerator(destination);
-			generator.generateContainer(new SubProgressMonitor(monitor, 10));
-			IProgressMonitor subMonitor = new SubProgressMonitor(monitor, 75);
-			copy(resources, rejectedFiles, destination, subMonitor);
-		} catch (CoreException e) {
-			recordError(e); // log error
-			return false;
-		} finally {
-			monitor.done();
-		}
-		return true;
-	}
-
-	/**
-	 * Individually copies the given resources to the specified destination
-	 * container checking for name collisions. If a collision is detected, 
-	 * it is saved with a new name. 
-	 * <p>
-	 * Note: the destination container may need to be created prior to 
-	 * copying the resources.
-	 * </p>
-	 *
-	 * @param resources the resources to copy
-	 * @param destination the path of the destination container
-	 * @return <code>true</code> if the copy operation completed without errors.
-	 */
-	private boolean performCopyWithAutoRename(IResource[] resources, IPath destination, IProgressMonitor monitor) {
-		IWorkspace workspace = resources[0].getWorkspace();
-
-		try {
-			ContainerGenerator generator = new ContainerGenerator(destination);
-			generator.generateContainer(new SubProgressMonitor(monitor, 10));
-
-			IProgressMonitor subMonitor = new SubProgressMonitor(monitor, 75);
-			subMonitor.beginTask(
-				WorkbenchMessages.getString(
-					"CopyFilesAndFoldersOperation.copying"), //$NON-NLS-1$
-					resources.length);
-
-			for (int i = 0; i < resources.length; i++) {
-				IResource source = resources[i];
-				IPath destinationPath = destination.append(source.getName());
-
-				if (workspace.getRoot().exists(destinationPath)) {
-					destinationPath = getNewNameFor(destinationPath, workspace);
-				}
-				if (destinationPath != null) {
-					try {
-						int flags = IResource.SHALLOW;
-						
-						if (source.isLinked() && checkDeep(source)) {
-							// do a deep copy of the resource
-							flags = IResource.NONE;
-						}					
-						source.copy(destinationPath, flags, new SubProgressMonitor(subMonitor, 0));
-					} catch (CoreException e) {
-						recordError(e); // log error
-						return false;
-					}
-				}
-				subMonitor.worked(1);
-				if (subMonitor.isCanceled()) {
-					throw new OperationCanceledException();
-				}
-			}
-		} catch (CoreException e) {
-			recordError(e); // log error
-			return false;
-		} finally {
-			monitor.done();
-		}
-
-		return true;
-	}
-	/**
-	 * Performs an import of the given files into the provided container.
-	 * Returns a status indicating if the import was successful.
-	 * 
-	 * @param files files that are to be imported
-	 * @param target container to which the import will be done
-	 * @param monitor a progress monitor for showing progress and for cancelation
-	 */
-	private void performFileImport(File[] files, IContainer target, IProgressMonitor monitor) {
-		IOverwriteQuery query = new IOverwriteQuery() {
-			public String queryOverwrite(String pathString) {
-				if (alwaysOverwrite)
-					return ALL;
-
-				final String returnCode[] = { CANCEL };
-				final String msg = WorkbenchMessages.format("CopyFilesAndFoldersOperation.overwriteQuestion", new Object[] { pathString }); //$NON-NLS-1$
-				final String[] options =
-					{
-						IDialogConstants.YES_LABEL,
-						IDialogConstants.YES_TO_ALL_LABEL,
-						IDialogConstants.NO_LABEL,
-						IDialogConstants.CANCEL_LABEL };
-				parentShell.getDisplay().syncExec(new Runnable() {
-					public void run() {
-						MessageDialog dialog = new MessageDialog(parentShell, WorkbenchMessages.getString("CopyFilesAndFoldersOperation.question"), null, msg, MessageDialog.QUESTION, options, 0); //$NON-NLS-1$
-						dialog.open();
-						int returnVal = dialog.getReturnCode();
-						String[] returnCodes = { YES, ALL, NO, CANCEL };
-						returnCode[0] = returnVal == -1 ? CANCEL : returnCodes[returnVal];
-					}
-				});
-				if (returnCode[0] == ALL) {
-					alwaysOverwrite = true;
-				} else if (returnCode[0] == CANCEL) {
-					canceled = true;
-				}
-				return returnCode[0];
-			}
-		};
-
-		ImportOperation op =
-			new ImportOperation(
-				target.getFullPath(),
-				null,
-				FileSystemStructureProvider.INSTANCE,
-				query,
-				Arrays.asList(files));
-		op.setContext(parentShell);
-		op.setCreateContainerStructure(false);
-		try {
-			op.run(monitor);
-		} catch (InterruptedException e) {
-			return;
-		} catch (InvocationTargetException e) {
-			if (e.getTargetException() instanceof CoreException) {
-				final IStatus status = ((CoreException) e.getTargetException()).getStatus();
-				parentShell.getDisplay().syncExec(new Runnable() {
-					public void run() {
-						ErrorDialog.openError(parentShell, WorkbenchMessages.getString("CopyFilesAndFoldersOperation.importErrorDialogTitle"), //$NON-NLS-1$
-						null, // no special message
-						status);
-					}
-				});
-			} else {
-				// CoreExceptions are handled above, but unexpected runtime exceptions and errors may still occur.
-				Platform.getPlugin(PlatformUI.PLUGIN_ID).getLog().log(StatusUtil.newStatus(IStatus.ERROR, MessageFormat.format("Exception in {0}.performFileImport(): {1}", //$NON-NLS-1$
-				new Object[] { getClass().getName(), e.getTargetException()}), null));
-				displayError(WorkbenchMessages.format("CopyFilesAndFoldersOperation.internalError", //$NON-NLS-1$
-				new Object[] { e.getTargetException().getMessage()}));
-			}
-			return;
-		}
-		// Special case since ImportOperation doesn't throw a CoreException on
-		// failure.
-		IStatus status = op.getStatus();
-		if (!status.isOK()) {
-			if (errorStatus == null)
-				errorStatus = new MultiStatus(PlatformUI.PLUGIN_ID, IStatus.ERROR, getProblemsMessage(), null); //$NON-NLS-1$
-			errorStatus.merge(status);
-		}
-	}
-	/**
-	 * Records the core exception to be displayed to the user
-	 * once the action is finished.
-	 *
-	 * @param error a <code>CoreException</code>
-	 */
-	private void recordError(CoreException error) {
-		if (errorStatus == null)
-			errorStatus = new MultiStatus(PlatformUI.PLUGIN_ID, IStatus.ERROR, getProblemsMessage(), error); //$NON-NLS-1$
-
-		errorStatus.merge(error.getStatus());
-	}
-	/**
-	 * Checks whether the destination is valid for copying the source 
-	 * resources.
-	 * <p>
-	 * Note this method is for internal use only. It is not API.
-	 * </p>
-	 *
-	 * @param destination the destination container
-	 * @param sourceResources the source resources
-	 * @return an error message, or <code>null</code> if the path is valid
-	 */
-	public String validateDestination(IContainer destination, IResource[] sourceResources) {
-		if (!isAccessible(destination)) {
-			return WorkbenchMessages.getString("CopyFilesAndFoldersOperation.destinationAccessError"); //$NON-NLS-1$
-		}
-		String destinationMessage = validateDestinationLocation(destination);
-		if (destinationMessage != null) {
-			return destinationMessage;
-		}
-		
-		IPath destinationLocation = destination.getLocation();
-		for (int i = 0; i < sourceResources.length; i++) {
-			IResource sourceResource = sourceResources[i];
-			IPath sourceLocation = sourceResource.getLocation();
-
-			if (sourceLocation == null) {
-				if (sourceResource.isLinked()) {
-					// Don't allow copying linked resources with undefined path 
-					// variables. See bug 28754.
-					return WorkbenchMessages.format(
-						"CopyFilesAndFoldersOperation.missingPathVariable",		//$NON-NLS-1$
-						new Object[] {sourceResource.getName()});				
-				}
-				else {
-					return WorkbenchMessages.format(
-						"CopyFilesAndFoldersOperation.resourceDeleted",		//$NON-NLS-1$
-						new Object[] {sourceResource.getName()});				
-				}
-			}			
-			if (sourceLocation != null) {
-				if (sourceLocation.equals(destinationLocation)) {
-					return WorkbenchMessages.format(
-						"CopyFilesAndFoldersOperation.sameSourceAndDest", 	//$NON-NLS-1$
-						new Object[] {sourceResource.getName()});
-				}
-				// is the source a parent of the destination?
-				if (sourceLocation.isPrefixOf(destinationLocation)) {
-					return WorkbenchMessages.getString("CopyFilesAndFoldersOperation.destinationDescendentError"); //$NON-NLS-1$
-				}
-			}
-			String linkedResourceMessage = validateLinkedResource(destination, sourceResource);
-			if (linkedResourceMessage != null) {
-				return linkedResourceMessage;
-			}
-		}
-		return null;
-	}
-	/**
-	 * Validates whether the destination location exists.
-	 * Linked resources created on undefined path variables have
-	 * an undefined location. 
-	 * 
-	 * @param destination destination container
-	 * @return error message or null if destination location is 
-	 * 	valid (non-<code>null</code>)
-	 */
-	private String validateDestinationLocation(IContainer destination) {
-		IPath destinationLocation = destination.getLocation();
-		
-		if (destinationLocation == null) {
-			if (destination.isLinked()) {
-				return WorkbenchMessages.format(
-					"CopyFilesAndFoldersOperation.missingPathVariable",		//$NON-NLS-1$
-					new Object[] {destination.getName()});				
-			}
-			else {
-				return WorkbenchMessages.format(
-					"CopyFilesAndFoldersOperation.resourceDeleted",			//$NON-NLS-1$
-					new Object[] {destination.getName()});				
-			}
-		}
-		return null;		
-	}
-	/**
-	 * Validates that the given source resources can be copied to the 
-	 * destination as decided by the VCM provider.
-	 * 
-	 * @param destination copy destination
-	 * @param sourceResources source resources
-	 * @return list of rejected files as absolute paths. Object type IPath.
-	 */
-	private ArrayList validateEdit(IContainer destination, IResource[] sourceResources) {
-		ArrayList copyFiles = new ArrayList();
-		ArrayList rejectedFiles = new ArrayList();
-		
-		collectExistingReadonlyFiles(destination.getFullPath(), sourceResources, copyFiles);
-		if (copyFiles.size() > 0) {
-			IFile[] files = (IFile[]) copyFiles.toArray(new IFile[copyFiles.size()]);
-			IWorkspace workspace = ResourcesPlugin.getWorkspace();
-			IStatus status = workspace.validateEdit(files, parentShell);
-			
-			if (status.isMultiStatus()) {
-				rejectedFiles = getRejectedFiles(status, files);
-			}
-			else {
-				canceled = status.isOK() == false;
-			}
-		}
-		return rejectedFiles;
-	}
-	/**
-	 * Checks whether the destination is valid for copying the source 
-	 * files.
-	 * <p>
-	 * Note this method is for internal use only. It is not API.
-	 * </p>
-	 *
-	 * @param destination the destination container
-	 * @param sourceNames the source file names
-	 * @return an error message, or <code>null</code> if the path is valid
-	 */
-	public String validateImportDestination(IContainer destination, String[] sourceNames) {
-		if (!isAccessible(destination)) {
-			return WorkbenchMessages.getString("CopyFilesAndFoldersOperation.destinationAccessError"); //$NON-NLS-1$
-		}
-		String destinationMessage = validateDestinationLocation(destination);
-		if (destinationMessage != null) {
-			return destinationMessage;
-		}
-		// work around bug 16202. revert when fixed.
-		IPath destinationPath = destination.getLocation();
-		File destinationFile = destinationPath.toFile();		
-		for (int i = 0; i < sourceNames.length; i++) {
-			IPath sourcePath = new Path(sourceNames[i]);
-			File sourceFile = sourcePath.toFile();
-			File sourceParentFile = sourcePath.removeLastSegments(1).toFile();			
-			if (sourceFile != null) {
-				if (destinationFile.compareTo(sourceFile) == 0 || 
-					(sourceParentFile != null && destinationFile.compareTo(sourceParentFile) == 0)) {
-					return WorkbenchMessages.format("CopyFilesAndFoldersOperation.importSameSourceAndDest", //$NON-NLS-1$
-					new Object[] {sourceFile.getName()});
-				}
-				// work around bug 16202. replacement for sourcePath.isPrefixOf(destinationPath)
-				IPath destinationParent = destinationPath.removeLastSegments(1);
-				while (destinationParent.isEmpty() == false && destinationParent.isRoot() == false) {
-					destinationFile = destinationParent.toFile();
-					if (sourceFile.compareTo(destinationFile) == 0) {
-						return WorkbenchMessages.getString("CopyFilesAndFoldersOperation.destinationDescendentError"); //$NON-NLS-1$
-					}
-					destinationParent = destinationParent.removeLastSegments(1);
-				}
-			}
-		}
-		return null;
-	}
-	/**
-	 * Check if the destination is valid for the given source resource. 
-	 * 
-	 * @param destination destination container of the operation
-	 * @param source source resource
-	 * @return String error message or null if the destination is valid
-	 */
-	private String validateLinkedResource(IContainer destination, IResource source) {
-		if (source.isLinked() == false) {
-			return null;
-		}
-		IWorkspace workspace = destination.getWorkspace();
-		IResource linkHandle = createLinkedResourceHandle(destination, source);
-		IStatus locationStatus = workspace.validateLinkLocation(linkHandle,	source.getRawLocation());
-		
-		if (locationStatus.getSeverity() == IStatus.ERROR) {
-			return locationStatus.getMessage();
-		}
-		IPath sourceLocation = source.getLocation();
-		if (source.getProject().equals(destination.getProject()) == false &&
-			source.getType() == IResource.FOLDER &&
-			sourceLocation != null) {
-			// prevent merging linked folders that point to the same
-			// file system folder 
-			try {
-				IResource[] members = destination.members();
-				for (int j = 0; j < members.length; j++) {
-					if (sourceLocation.equals(members[j].getLocation()) && 
-						source.getName().equals(members[j].getName())) {
-						return WorkbenchMessages.format(
-							"CopyFilesAndFoldersOperation.sameSourceAndDest", //$NON-NLS-1$
-							new Object[] {source.getName()});
-					}
-				}
-			}
-			catch (CoreException exception) {
-				displayError(WorkbenchMessages.format(
-					"CopyFilesAndFoldersOperation.internalError", 				//$NON-NLS-1$
-					new Object[] {exception.getMessage()}));
-			}
-		}
-		return null;
-	}
-	/**
-	 * Returns whether moving all of the given source resources to the given
-	 * destination container could be done without causing name collisions.
-	 * 
-	 * @param destination the destination container
-	 * @param sourceResources the list of resources 
-	 * @param monitor a progress monitor for showing progress and for 
-	 * 	cancelation
-	 * @return <code>true</code> if there would be no name collisions, and
-	 *   <code>false</code> if there would
-	 */
-	private IResource[] validateNoNameCollisions(
-		IContainer destination,
-		IResource[] sourceResources,
-		IProgressMonitor monitor) {
-		List copyItems = new ArrayList();
-		IWorkspaceRoot workspaceRoot = destination.getWorkspace().getRoot();
-		int overwrite = IDialogConstants.NO_ID;
-
-		// Check to see if we would be overwriting a parent folder.
-		// Cancel entire copy operation if we do.
-		for (int i = 0; i < sourceResources.length; i++) {
-			final IResource sourceResource = sourceResources[i];
-			final IPath destinationPath = destination.getFullPath().append(sourceResource.getName());
-			final IPath sourcePath = sourceResource.getFullPath();
-
-			IResource newResource = workspaceRoot.findMember(destinationPath);
-			if (newResource != null && destinationPath.isPrefixOf(sourcePath)) {
-				//Run it inside of a runnable to make sure we get to parent off of the shell as we are not
-				//in the UI thread.
-				Runnable notice = new Runnable() {
-					public void run() {
-						MessageDialog.openError(
-							parentShell, 
-							WorkbenchMessages.getString("CopyFilesAndFoldersOperation.overwriteProblemTitle"), //$NON-NLS-1$
-							WorkbenchMessages.format(
-								"CopyFilesAndFoldersOperation.overwriteProblem", //$NON-NLS-1$
-								new Object[] {destinationPath, sourcePath}
-							)
-						);
-					}
-				};
-				parentShell.getDisplay().syncExec(notice);
-				canceled = true;
-				return null;
-			}
-		}
-		// Check for overwrite conflicts
-		for (int i = 0; i < sourceResources.length; i++) {
-			final IResource sourceResource = sourceResources[i];
-			final IPath destinationPath = destination.getFullPath().append(sourceResource.getName());
-
-			IResource newResource = workspaceRoot.findMember(destinationPath);
-			if (newResource != null) {
-				if (overwrite != IDialogConstants.YES_TO_ALL_ID) {
-					overwrite = checkOverwrite(parentShell, newResource);
-				}
-				if (overwrite == IDialogConstants.YES_ID || overwrite == IDialogConstants.YES_TO_ALL_ID) {
-					copyItems.add(sourceResource);
-				} else if (overwrite == IDialogConstants.CANCEL_ID) {
-					canceled = true;
-					return null;
-				}
-			} else {
-				copyItems.add(sourceResource);
-			}
-		}
-		return (IResource[]) copyItems.toArray(new IResource[copyItems.size()]);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CopyProjectAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CopyProjectAction.java
deleted file mode 100644
index 8063a51..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CopyProjectAction.java
+++ /dev/null
@@ -1,247 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ProjectLocationSelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import java.lang.reflect.InvocationTargetException;
-import java.util.List;
-
-/**
- * The CopyProjectAction is the action designed to copy projects specifically
- * as they have different semantics from other resources.
- * Note that this action assumes that a single project is selected and being
- * manipulated. This should be disabled for multi select or no selection.
- */
-public class CopyProjectAction extends SelectionListenerAction {
-	private static String COPY_TOOL_TIP = WorkbenchMessages.getString("CopyProjectAction.toolTip"); //$NON-NLS-1$
-	private static String COPY_TITLE = WorkbenchMessages.getString("CopyProjectAction.title"); //$NON-NLS-1$
-	private static String COPY_PROGRESS_TITLE = WorkbenchMessages.getString("CopyProjectAction.progressTitle"); //$NON-NLS-1$
-	private static String COPY_PROJECT_FAILED_MESSAGE =
-		WorkbenchMessages.getString("CopyProjectAction.copyFailedMessage"); //$NON-NLS-1$
-	private static String PROBLEMS_TITLE = WorkbenchMessages.getString("CopyProjectAction.copyFailedTitle"); //$NON-NLS-1$
-
-	/**
-	 * The id of this action.
-	 */
-	public static final String ID = PlatformUI.PLUGIN_ID + ".CopyProjectAction";//$NON-NLS-1$
-
-	/**
-	 * The shell in which to show any dialogs.
-	 */
-	protected Shell shell;
-
-	/**
-	 * Status containing the errors detected when running the operation or
-	 * <code>null</code> if no errors detected.
-	 */
-	protected IStatus errorStatus;
-/**
- * Creates a new project copy action with the default text.
- *
- * @param shell the shell for any dialogs
- * @param text the string used as the text for the action, 
- *   or <code>null</code> if there is no text
- */
-public CopyProjectAction(Shell shell) {
-	this(shell,COPY_TITLE);
-	WorkbenchHelp.setHelp(this, IHelpContextIds.COPY_PROJECT_ACTION);
-}
-/**
- * Creates a new project copy action with the given text.
- *
- * @param shell the shell for any dialogs
- * @param text the string used as the text for the action, 
- *   or <code>null</code> if there is no text
- */
-CopyProjectAction(Shell shell, String name) {
-	super(name);
-	setToolTipText(COPY_TOOL_TIP);
-	setId(CopyProjectAction.ID);
-	Assert.isNotNull(shell);
-	this.shell = shell;
-}
-/**
- * Create a new IProjectDescription for the copy using the name and path selected
- * from the dialog.
- * @return IProjectDescription
- * @param project the source project
- * @param projectName the name for the new project
- * @param rootLocation the path the new project will be stored under.
- */
-protected IProjectDescription createDescription(
-	IProject project,
-	String projectName,
-	IPath rootLocation)
-	throws CoreException {
-	//Get a copy of the current description and modify it
-	IProjectDescription newDescription = project.getDescription();
-	newDescription.setName(projectName);
-
-	//If the location is the default then set the location to null
-	if(rootLocation.equals(Platform.getLocation()))
-		newDescription.setLocation(null);
-	else
-		newDescription.setLocation(rootLocation);
-		
-	return newDescription;
-}
-/**
- * Opens an error dialog to display the given message.
- * <p>
- * Note that this method must be called from UI thread.
- * </p>
- *
- * @param message the message
- */
-void displayError(String message) {
-	MessageDialog.openError(this.shell,getErrorsTitle(), message);
-}
-/**
- * Return the title of the errors dialog.
- * @return java.lang.String
- */
-protected String getErrorsTitle() {
-	return PROBLEMS_TITLE;
-}
-/**
- * Get the plugin used by a copy action
- * @return AbstractUIPlugin
- */
-protected org.eclipse.ui.plugin.AbstractUIPlugin getPlugin() {
-	return (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-}
-/**
- * Copies the project to the new values.
- *
- * @param project the project to copy
- * @param projectName the name of the copy
- * @param newLocation IPath
- * @return <code>true</code> if the copy operation completed, and 
- *   <code>false</code> if it was abandoned part way
- */
-boolean performCopy(
-	final IProject project,
-	final String projectName,
-	final IPath newLocation) {
-	WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-		public void execute(IProgressMonitor monitor) {
-
-			monitor.beginTask(COPY_PROGRESS_TITLE, 100);
-			try {
-				if (monitor.isCanceled())
-					throw new OperationCanceledException();
-
-				//Get a copy of the current description and modify it
-				IProjectDescription newDescription =
-					createDescription(project, projectName, newLocation);
-				monitor.worked(50);
-
-				project.copy(newDescription, IResource.SHALLOW | IResource.FORCE, monitor);
-
-				monitor.worked(50);
-
-			} catch (CoreException e) {
-				recordError(e); // log error
-			} finally {
-				monitor.done();
-			}
-		}
-	};
-
-	try {
-		new ProgressMonitorDialog(shell).run(true, true, op);
-	} catch (InterruptedException e) {
-		return false;
-	} catch (InvocationTargetException e) {
-		displayError(WorkbenchMessages.format("CopyProjectAction.internalError", new Object[] {e.getTargetException().getMessage()})); //$NON-NLS-1$
-		return false;
-	}
-
-	return true;
-}
-/**
- * Query for a new project name and destination using the parameters in the existing
- * project.
- * @return Object []  or null if the selection is cancelled
- * @param IProject - the project we are going to copy.
- */
-protected Object [] queryDestinationParameters(IProject project) {
-	ProjectLocationSelectionDialog dialog =
-		new ProjectLocationSelectionDialog(shell, project);
-	dialog.setTitle(WorkbenchMessages.getString("CopyProjectAction.copyTitle")); //$NON-NLS-1$
-	dialog.open();
-	return dialog.getResult();
-}
-/**
- * Records the core exception to be displayed to the user
- * once the action is finished.
- *
- * @param error a <code>CoreException</code>
- */
-final void recordError(CoreException error) {
-	this.errorStatus = error.getStatus();
-}
-/**
- * Implementation of method defined on <code>IAction</code>.
- */
-public void run() {
-
-	errorStatus = null;
-	
-	IProject project = (IProject) getSelectedResources().get(0);
-
-	//Get the project name and location in a two element list
-	Object[] destinationPaths = queryDestinationParameters(project);
-	if (destinationPaths == null)
-		return;
-
-	String newName = (String) destinationPaths[0];
-	IPath newLocation = new Path((String) destinationPaths[1]);
-
-	boolean completed = performCopy(project, newName, newLocation);
-
-	if (!completed) // ie.- canceled
-		return; // not appropriate to show errors
-
-	// If errors occurred, open an Error dialog
-	if (errorStatus != null) {
-		ErrorDialog.openError(this.shell, getErrorsTitle(), null, errorStatus);
-		errorStatus = null; 
-	}
-}
-/**
- * The <code>CopyResourceAction</code> implementation of this
- * <code>SelectionListenerAction</code> method enables this action only if 
- * there is a single selection which is a project.
- */
-protected boolean updateSelection(IStructuredSelection selection) {
-	if (!super.updateSelection(selection)) {
-		return false;
-	}
-	if (getSelectedNonResources().size() > 0) {
-		return false;
-	}
-
-	// to enable this command there must be one project selected and nothing else
-	List selectedResources = getSelectedResources();
-	if (selectedResources.size() != 1)
-		return false;
-	IResource source = (IResource)selectedResources.get(0);
-	if (source instanceof IProject && ((IProject)source).isOpen())
-		return true;
-	return false;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CopyProjectOperation.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CopyProjectOperation.java
deleted file mode 100644
index 00e8ec0..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CopyProjectOperation.java
+++ /dev/null
@@ -1,201 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ProjectLocationSelectionDialog;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * Implementation class to perform the actual copying of project resources from the clipboard 
- * when paste action is invoked.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class CopyProjectOperation {
-
-	/**
-	 * Status containing the errors detected when running the operation or
-	 * <code>null</code> if no errors detected.
-	 */
-	private MultiStatus errorStatus;
-
-	/**
-	 * The parent shell used to show any dialogs.
-	 */
-	private Shell parentShell;
-
-	/** 
-	 * Create a new operation initialized with a shell. 
-	 * 
-	 * @param shell parent shell for error dialogs
-	 */	
-	public CopyProjectOperation(Shell shell) {
-		parentShell = shell;
-	}
-		
-	/**
-	 * Paste a copy of the project on the clipboard to the workspace.
-	 */
-	public void copyProject(IProject project) {
-		errorStatus = null;
-	
-		//Get the project name and location in a two element list
-		ProjectLocationSelectionDialog dialog =
-			new ProjectLocationSelectionDialog(parentShell, project);
-		dialog.setTitle(WorkbenchMessages.getString("CopyProjectOperation.copyProject")); //$NON-NLS-1$
-		if (dialog.open() != Dialog.OK) 
-			return;
-			
-		Object[] destinationPaths = dialog.getResult();
-		if (destinationPaths == null)
-			return;
-			
-		String newName = (String) destinationPaths[0];
-		IPath newLocation = new Path((String) destinationPaths[1]);
-
-		boolean completed = performProjectCopy(project, newName, newLocation);
-	
-		if (!completed) // ie.- canceled
-			return; // not appropriate to show errors
-	
-		// If errors occurred, open an Error dialog
-		if (errorStatus != null) {
-			ErrorDialog.openError(
-				parentShell, 
-				WorkbenchMessages.getString("CopyProjectOperation.copyFailedTitle"), //$NON-NLS-1$
-				null, 
-				errorStatus);
-			errorStatus = null; 
-		}
-	}
-	
-	/**
-	 * Copies the project to the new values.
-	 *
-	 * @param project the project to copy
-	 * @param projectName the name of the copy
-	 * @param newLocation IPath
-	 * @return <code>true</code> if the copy operation completed, and 
-	 *   <code>false</code> if it was abandoned part way
-	 */
-	private boolean performProjectCopy(
-		final IProject project,
-		final String projectName,
-		final IPath newLocation) {
-		WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-			public void execute(IProgressMonitor monitor) {
-	
-				monitor.beginTask(WorkbenchMessages.getString("CopyProjectOperation.progressTitle"), 100); //$NON-NLS-1$
-				try {
-					if (monitor.isCanceled())
-						throw new OperationCanceledException();
-	
-					//Get a copy of the current description and modify it
-					IProjectDescription newDescription =
-						createProjectDescription(project, projectName, newLocation);
-					monitor.worked(50);
-	
-					project.copy(newDescription, IResource.SHALLOW | IResource.FORCE, monitor);
-	
-					monitor.worked(50);
-	
-				} catch (CoreException e) {
-					recordError(e); // log error
-				} finally {
-					monitor.done();
-				}
-			}
-		};
-	
-		try {
-			new ProgressMonitorDialog(parentShell).run(true, true, op);
-		} catch (InterruptedException e) {
-			return false;
-		} catch (InvocationTargetException e) {
-			final String message = e.getTargetException().getMessage();
-			parentShell.getDisplay().syncExec(new Runnable() {
-				public void run() {
-					MessageDialog.openError(
-						parentShell,
-						WorkbenchMessages.getString("CopyProjectOperation.copyFailedTitle"), //$NON-NLS-1$
-						WorkbenchMessages.format(
-							"CopyProjectOperation.internalError", //$NON-NLS-1$
-							new Object[] {message})); 
-				}
-			});		
-			return false;
-		}
-	
-		return true;
-	}
-	
-	/**
-	 * Create a new IProjectDescription for the copy using the auto-generated
-	 * name and path.
-	 * 
-	 * @return IProjectDescription
-	 * @param project the source project
-	 * @param projectName the name for the new project
-	 * @param rootLocation the path the new project will be stored under.
-	 */
-	private IProjectDescription createProjectDescription(
-		IProject project,
-		String projectName,
-		IPath rootLocation)
-		throws CoreException {
-		//Get a copy of the current description and modify it
-		IProjectDescription newDescription = project.getDescription();
-		newDescription.setName(projectName);
-	
-		//If the location is the default then set the location to null
-		if(rootLocation.equals(Platform.getLocation()))
-			newDescription.setLocation(null);
-		else
-			newDescription.setLocation(rootLocation);
-			
-		return newDescription;
-	}
-	
-		
-	/**
-	 * Records the core exception to be displayed to the user
-	 * once the action is finished.
-	 *
-	 * @param exception a <code>CoreException</code>
-	 */
-	private void recordError(CoreException error) {
-	
-		if (errorStatus == null)
-			errorStatus = new MultiStatus(
-				PlatformUI.PLUGIN_ID, 
-				IStatus.ERROR, 
-				WorkbenchMessages.getString("CopyProjectOperation.copyFailedMessage"), //$NON-NLS-1$
-				error);
-	
-		errorStatus.merge(error.getStatus());
-	}
-	
-	/**
-	 * Set the location to the default location.
-	 */
-	private String setLocation(String projectName) {
-		IPath defaultPath = Platform.getLocation().append(projectName);
-		return defaultPath.toOSString();
-	}
-
-
-
-}
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CopyResourceAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CopyResourceAction.java
deleted file mode 100644
index 9e3a051..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CopyResourceAction.java
+++ /dev/null
@@ -1,217 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ContainerSelectionDialog;
-import org.eclipse.ui.dialogs.ISelectionValidator;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.misc.Assert;
-
-/**
- * Standard action for copying the currently selected resources elsewhere
- * in the workspace. All resources being copied as a group must be siblings.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class CopyResourceAction extends SelectionListenerAction implements ISelectionValidator {
-
-	/**
-	 * The id of this action.
-	 */
-	public static final String ID = PlatformUI.PLUGIN_ID + ".CopyResourceAction"; //$NON-NLS-1$
-
-	/**
-	 * The shell in which to show any dialogs.
-	 */
-	private Shell shell;
-
-	protected CopyFilesAndFoldersOperation operation;
-
-	/**
-	 * Returns a new name for a copy of the resource at the given path in the given
-	 * workspace. This name could be determined either automatically or by querying
-	 * the user. This name will <b>not</b> be verified by the caller, so it must be
-	 * valid and unique.
-	 * <p>
-	 * Note this method is for internal use only.
-	 * </p>
-	 *
-	 * @param originalName the full path of the resource
-	 * @param workspace the workspace
-	 * @return the new full path for the copy, or <code>null</code> if the resource
-	 *   should not be copied
-	 */
-	public static IPath getNewNameFor(IPath originalName, IWorkspace workspace) {
-		return CopyFilesAndFoldersOperation.getAutoNewNameFor(originalName, workspace);
-	}
-	/**
-	 * Creates a new action.
-	 *
-	 * @param shell the shell for any dialogs
-	 */
-	public CopyResourceAction(Shell shell) {
-		this(shell, WorkbenchMessages.getString("CopyResourceAction.title")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IHelpContextIds.COPY_RESOURCE_ACTION);
-	}
-	/**
-	 * Creates a new action with the given text.
-	 *
-	 * @param shell the shell for any dialogs
-	 * @param name the string used as the name for the action, 
-	 *   or <code>null</code> if there is no name
-	 */
-	CopyResourceAction(Shell shell, String name) {
-		super(name);
-		setToolTipText(WorkbenchMessages.getString("CopyResourceAction.toolTip")); //$NON-NLS-1$
-		setId(CopyResourceAction.ID);
-		Assert.isNotNull(shell);
-		this.shell = shell;
-	}
-	/**
-	 * Returns the operation to perform when this action runs.
-	 * 
-	 * @return the operation to perform when this action runs.
-	 */
-	protected CopyFilesAndFoldersOperation createOperation() {
-		return new CopyFilesAndFoldersOperation(getShell());
-	}
-	/**
-	 * Returns the path of the container to initially select in the container
-	 * selection dialog, or <code>null</code> if there is no initial selection
-	 */
-	IContainer getInitialContainer() {
-		List resources = getSelectedResources();
-		if (resources.size() > 0) {
-			IResource resource = (IResource) resources.get(0);
-			return resource.getParent();
-		}
-		return null;
-	}
-	/**
-	 * Returns an array of resources to use for the operation from 
-	 * the provided list.
-	 * 
-	 * @return an array of resources to use for the operation
-	 */
-	protected IResource[] getResources(List resourceList) {
-		return (IResource[]) resourceList.toArray(new IResource[resourceList.size()]);
-	}
-	/**
-	 * Returns the shell in which to show any dialogs
-	 */
-	Shell getShell() {
-		return shell;
-	}
-	/**
-	 * The <code>CopyResourceAction</code> implementation of this 
-	 * <code>ISelectionValidator</code> method checks whether the given path
-	 * is a good place to copy the selected resources.
-	 */
-	public String isValid(Object destination) {
-		IWorkspaceRoot root = WorkbenchPlugin.getPluginWorkspace().getRoot();
-		IContainer container = (IContainer) root.findMember((IPath) destination);
-		
-		if (container != null) {
-			// create a new operation here. 
-			// isValid is API and may be called in any context.
-			CopyFilesAndFoldersOperation operation = createOperation();
-			List sources = getSelectedResources();
-			IResource[] resources = (IResource[]) sources.toArray(new IResource[sources.size()]);
-			return operation.validateDestination(container, resources);
-		}
-		return null;
-	}
-	/**
-	 * Asks the user for the destination of this action.
-	 *
-	 * @return the path on an existing or new resource container, or 
-	 *  <code>null</code> if the operation should be abandoned
-	 */
-	IPath queryDestinationResource() {
-		// start traversal at root resource, should probably start at a
-		// better location in the tree
-		ContainerSelectionDialog dialog = new ContainerSelectionDialog(shell, getInitialContainer(), true, WorkbenchMessages.getString("CopyResourceAction.selectDestination")); //$NON-NLS-1$
-		dialog.setValidator(this);
-		dialog.showClosedProjects(false);
-		dialog.open();
-		Object[] result = dialog.getResult();
-		if (result != null && result.length == 1) {
-			return (IPath) result[0];
-		}
-		return null;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public void run() {
-		operation = createOperation();
-		IPath destination = queryDestinationResource();
-		if (destination == null)
-			return;
-
-		IWorkspaceRoot root = WorkbenchPlugin.getPluginWorkspace().getRoot();
-		IContainer container = (IContainer) root.findMember(destination);
-		if (container == null) {
-			return;
-		}
-
-		List sources = getSelectedResources();
-		runOperation(getResources(sources), container);
-		operation = null;
-	}
-	/**
-	 * Runs the operation created in <code>createOperaiton</code>
-	 * 
-	 * @param resources source resources to pass to the operation
-	 * @param destination destination container to pass to the operation
-	 */
-	protected void runOperation(IResource[] resources, IContainer destination) {
-		operation.copyResources(resources, destination);
-	}
-	/**
-	 * The <code>CopyResourceAction</code> implementation of this
-	 * <code>SelectionListenerAction</code> method enables this action only if 
-	 * all of the one or more selections are sibling resources which are 
-	 * local (depth infinity).
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		if (!super.updateSelection(selection)) {
-			return false;
-		}
-		if (getSelectedNonResources().size() > 0) {
-			return false;
-		}
-
-		// to enable this command all selected resources must be siblings
-		List selectedResources = getSelectedResources();
-		if (selectedResources.size() == 0)
-			return false;
-		IContainer firstParent = ((IResource) selectedResources.get(0)).getParent();
-		if (firstParent == null) {
-			return false;
-		}
-		Iterator resourcesEnum = selectedResources.iterator();
-		while (resourcesEnum.hasNext()) {
-			IResource currentResource = (IResource) resourcesEnum.next();
-			if (currentResource.getType() == IResource.PROJECT) {
-				return false;
-			}
-			if (!currentResource.getParent().equals(firstParent)) {
-				return false;
-			}
-		}
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CreateFileAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CreateFileAction.java
deleted file mode 100644
index 5dfc0dd..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CreateFileAction.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IResource;
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchImages;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.misc.Assert;
-import org.eclipse.ui.wizards.newresource.BasicNewFileResourceWizard;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-import java.util.Iterator;
-
-/**
- * Standard action for creating a file resource within the currently
- * selected folder or project.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * 
- * @deprecated should use NewWizardMenu to populate a New submenu instead (see Navigator view)
- */
-public class CreateFileAction extends SelectionListenerAction {
-	
-	/**
-	 * The id of this action.
-	 */
-	public static final String ID = PlatformUI.PLUGIN_ID + ".CreateFileAction";//$NON-NLS-1$
-	
-	/**
-	 * The shell in which to show any dialogs.
-	 */
-	private Shell shell;
-/**
- * Creates a new action for creating a file resource.
- *
- * @param shell the shell for any dialogs
- * 
- * @deprecated see deprecated tag on class
- */
-public CreateFileAction(Shell shell) {
-	super(WorkbenchMessages.getString("CreateFileAction.text")); //$NON-NLS-1$
-	Assert.isNotNull(shell);
-	this.shell = shell;
-	setToolTipText(WorkbenchMessages.getString("CreateFileAction.toolTip")); //$NON-NLS-1$
-	setImageDescriptor(WorkbenchImages.getImageDescriptor(ISharedImages.IMG_OBJ_FILE));
-	setId(ID);
-	WorkbenchHelp.setHelp(this, IHelpContextIds.CREATE_FILE_ACTION);
-}
-/**
- * The <code>CreateFileAction</code> implementation of this
- * <code>IAction</code> method opens a <code>BasicNewFileResourceWizard</code>
- * in a wizard dialog under the shell passed to the constructor.
- */
-public void run() {
-	BasicNewFileResourceWizard wizard = new BasicNewFileResourceWizard();
-	wizard.init(PlatformUI.getWorkbench(), getStructuredSelection());
-	wizard.setNeedsProgressMonitor(true);
-	WizardDialog dialog = new WizardDialog(shell, wizard);
-	dialog.create();
-	dialog.getShell().setText(WorkbenchMessages.getString("CreateFileAction.title")); //$NON-NLS-1$
-	WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.NEW_FILE_WIZARD);
-	dialog.open();
-}
-/**
- * The <code>CreateFileAction</code> implementation of this
- * <code>SelectionListenerAction</code> method enables the action only
- * if the selection contains folders and open projects.
- */
-protected boolean updateSelection(IStructuredSelection s) {
-	if (!super.updateSelection(s)) {
-		return false;
-	}
-	Iterator resources = getSelectedResources().iterator();
-	while (resources.hasNext()) {
-		IResource resource = (IResource)resources.next();
-		if (!resourceIsType(resource, IResource.PROJECT | IResource.FOLDER) || !resource.isAccessible()) {
-			return false;
-		}
-	}
-	return true;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CreateFolderAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CreateFolderAction.java
deleted file mode 100644
index a02162c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CreateFolderAction.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IResource;
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.wizards.newresource.BasicNewFolderResourceWizard;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchImages;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.misc.Assert;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-import java.util.Iterator;
-
-/**
- * Standard action for creating a folder resource within the currently
- * selected folder or project.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * 
- * @deprecated should use NewWizardMenu to populate a New submenu instead (see Navigator view)
- */
-public class CreateFolderAction extends SelectionListenerAction {
-	
-	/**
-	 * The id of this action.
-	 */
-	public static final String ID = PlatformUI.PLUGIN_ID + ".CreateFolderAction";//$NON-NLS-1$
-	
-	/**
-	 * The shell in which to show any dialogs.
-	 */
-	private Shell shell;
-/**
- * Creates a new action for creating a folder resource.
- *
- * @param shell the shell for any dialogs
- * 
- * @deprecated see deprecated tag on class
- */
-public CreateFolderAction(Shell shell) {
-	super(WorkbenchMessages.getString("CreateFolderAction.text")); //$NON-NLS-1$
-	Assert.isNotNull(shell);
-	this.shell = shell;
-	setImageDescriptor(WorkbenchImages.getImageDescriptor(ISharedImages.IMG_OBJ_FOLDER));
-	setToolTipText(WorkbenchMessages.getString("CreateFolderAction.toolTip")); //$NON-NLS-1$
-	setId(ID);
-	WorkbenchHelp.setHelp(this, IHelpContextIds.CREATE_FOLDER_ACTION);
-}
-/**
- * The <code>CreateFolderAction</code> implementation of this
- * <code>IAction</code> method opens a <code>BasicNewFolderResourceWizard</code>
- * in a wizard dialog under the shell passed to the constructor.
- */
-public void run() {
-	BasicNewFolderResourceWizard wizard = new BasicNewFolderResourceWizard();
-	wizard.init(PlatformUI.getWorkbench(), getStructuredSelection());
-	wizard.setNeedsProgressMonitor(true);
-	WizardDialog dialog = new WizardDialog(shell, wizard);
-	dialog.create();
-	dialog.getShell().setText(WorkbenchMessages.getString("CreateFolderAction.title")); //$NON-NLS-1$
-	WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.NEW_FOLDER_WIZARD);
-	dialog.open();
-
-}
-/**
- * The <code>CreateFolderAction</code> implementation of this
- * <code>SelectionListenerAction</code> method enables the action only
- * if the selection contains folders and open projects.
- */
-protected boolean updateSelection(IStructuredSelection s) {
-	if (!super.updateSelection(s)) {
-		return false;
-	}
-	Iterator resources = getSelectedResources().iterator();
-	while (resources.hasNext()) {
-		IResource resource = (IResource)resources.next();
-		if (!resourceIsType(resource, IResource.PROJECT | IResource.FOLDER) || !resource.isAccessible()) {
-			return false;
-		}
-	}
-	return true;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CreateProjectAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CreateProjectAction.java
deleted file mode 100644
index 6f55865..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/CreateProjectAction.java
+++ /dev/null
@@ -1,180 +0,0 @@
-package org.eclipse.ui.actions;
-
-/**********************************************************************
-Copyright (c) 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:
-**********************************************************************/
-import java.util.ArrayList;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.dialogs.MultiStepWizardDialog;
-import org.eclipse.ui.internal.dialogs.NewProjectWizard;
-import org.eclipse.ui.internal.misc.Assert;
-import org.eclipse.ui.internal.registry.*;
-
-/**
- * Standard action for launching the new project creation
- * wizard.
- * <p>
- * This class may be instantiated and subclassed by clients.
- * </p>
- * @deprecated This new experimental API is being temporary
- * 		deprecated for release 2.0  New project creation should
- * 		continue to make use of NewProjectAction.
- */
-public class CreateProjectAction extends Action {
-	/**
-	 * The wizard dialog width
-	 */
-	private static final int SIZING_WIZARD_WIDTH = 500;
-
-	/**
-	 * The wizard dialog height
-	 */
-	private static final int SIZING_WIZARD_HEIGHT = 500;
-
-	/**
-	 * The workbench window this action will run in
-	 */
-	private IWorkbenchWindow window;
-
-	/**
-	 * The suggested name for the new project
-	 */
-	private String initialProjectName;
-	
-	/**
-	 * The suggested capabilities for the new project
-	 */
-	private Capability[] initialProjectCapabilities;
-	
-	/**
-	 * The suggested categories to be selected
-	 */
-	private ICategory[] initialSelectedCategories;
-
-	/**
-	 * Creates a new action for launching the new project
-	 * selection wizard.
-	 *
-	 * @param window the workbench window to query the current
-	 * 		selection and shell for opening the wizard.
-	 */
-	public CreateProjectAction(IWorkbenchWindow window) {
-		super(WorkbenchMessages.getString("CreateProjectAction.text")); //$NON-NLS-1$
-		Assert.isNotNull(window);
-		this.window = window;
-		setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_NEW_WIZ));
-		setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_NEW_WIZ_HOVER));
-		setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_NEW_WIZ_DISABLED));
-		setToolTipText(WorkbenchMessages.getString("CreateProjectAction.toolTip"));	 //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IHelpContextIds.NEW_ACTION);
-	}
-
-	/**
-	 * Returns the selection to initialized the wizard with
-	 */
-	protected IStructuredSelection getInitialSelection() {
-		ISelection selection = window.getSelectionService().getSelection();
-		IStructuredSelection selectionToPass = StructuredSelection.EMPTY;
-		if (selection instanceof IStructuredSelection)
-			selectionToPass = (IStructuredSelection) selection;
-		return selectionToPass;
-	}
-	
-	/**
-	 * Sets the initial categories to be selected. Ignores
-	 * any IDs which do not represent valid categories.
-	 * 
-	 * @param ids initial category ids to select
-	 */
-	public void setInitialSelectedCategories(String[] ids) {
-		if (ids == null || ids.length == 0)
-			initialSelectedCategories = null;
-		else {
-			CapabilityRegistry reg = WorkbenchPlugin.getDefault().getCapabilityRegistry();
-			ArrayList results = new ArrayList(ids.length);
-			for (int i = 0; i < ids.length; i++) {
-				ICategory cat = reg.findCategory(ids[i]);
-				if (cat != null)
-					results.add(cat);
-			}
-			if (results.isEmpty())
-				initialSelectedCategories = null;
-			else {
-				initialSelectedCategories = new ICategory[results.size()];
-				results.toArray(initialSelectedCategories);
-			}
-		}
-	}
-	
-	/**
-	 * Sets the initial project capabilities to be selected.
-	 * Ignores any IDs which do not represent valid capabilities.
-	 * 
-	 * @param ids initial project capability ids to select
-	 */
-	public void setInitialProjectCapabilities(String[] ids) {
-		if (ids == null || ids.length == 0)
-			initialProjectCapabilities = null;
-		else {
-			CapabilityRegistry reg = WorkbenchPlugin.getDefault().getCapabilityRegistry();
-			ArrayList results = new ArrayList(ids.length);
-			for (int i = 0; i < ids.length; i++) {
-				Capability cap = reg.findCapability(ids[i]);
-				if (cap != null && cap.isValid())
-					results.add(cap);
-			}
-			if (results.isEmpty())
-				initialProjectCapabilities = null;
-			else {
-				initialProjectCapabilities = new Capability[results.size()];
-				results.toArray(initialProjectCapabilities);
-			}
-		}
-	}
-	
-	/**
-	 * Sets the initial project name. Leading and trailing
-	 * spaces in the name are ignored.
-	 * 
-	 * @param name initial project name
-	 */
-	public void setInitialProjectName(String name) {
-		if (name == null)
-			initialProjectName = null;
-		else
-			initialProjectName = name.trim();
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public void run() {
-		// Create a new project wizard 
-		NewProjectWizard wizard = new NewProjectWizard();
-		wizard.init(window.getWorkbench(), getInitialSelection());
-		wizard.setInitialProjectName(initialProjectName);
-		wizard.setInitialProjectCapabilities(initialProjectCapabilities);
-		wizard.setInitialSelectedCategories(initialSelectedCategories);
-		
-		// Create a wizard dialog.
-		WizardDialog dialog = new MultiStepWizardDialog(window.getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setSize( Math.max(SIZING_WIZARD_WIDTH, dialog.getShell().getSize().x), SIZING_WIZARD_HEIGHT );
-		WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.NEW_PROJECT_WIZARD);
-	
-		// Open the wizard.
-		dialog.open();
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/DeleteResourceAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/DeleteResourceAction.java
deleted file mode 100644
index 438e3c9..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/DeleteResourceAction.java
+++ /dev/null
@@ -1,494 +0,0 @@
-package org.eclipse.ui.actions;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. 
-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:
-**********************************************************************/
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.misc.Assert;
-
-/**
- * Standard action for deleting the currently selected resources.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class DeleteResourceAction extends SelectionListenerAction {
-
-	static class DeleteProjectDialog extends MessageDialog {
-
-		private List projects;
-		private boolean deleteContent = false;
-		private Button radio1;
-		private Button radio2;
-		
-		DeleteProjectDialog(Shell parentShell, List projects) {
-			super(
-				parentShell, 
-				getTitle(projects), 
-				null,	// accept the default window icon
-				getMessage(projects),
-				MessageDialog.QUESTION, 
-				new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL},
-				0); 	// yes is the default
-			this.projects = projects;
-		}
-		
-		static String getTitle(List projects) {
-			if (projects.size() == 1)
-				return WorkbenchMessages.getString("DeleteResourceAction.titleProject1");  //$NON-NLS-1$
-			else
-				return WorkbenchMessages.getString("DeleteResourceAction.titleProjectN");  //$NON-NLS-1$
-		}
-		
-		static String getMessage(List projects) {
-			if (projects.size() == 1) {
-				IProject project = (IProject) projects.get(0);
-				return WorkbenchMessages.format("DeleteResourceAction.confirmProject1", new Object[] { project.getName() });  //$NON-NLS-1$
-			}
-			else {
-				return WorkbenchMessages.format("DeleteResourceAction.confirmProjectN", new Object[] { new Integer(projects.size()) });  //$NON-NLS-1$
-			}
-		}
-
-		/* (non-Javadoc)
-		 * Method declared on Window.
-		 */
-		protected void configureShell(Shell newShell) {
-			super.configureShell(newShell);
-			WorkbenchHelp.setHelp(newShell, IHelpContextIds.DELETE_PROJECT_DIALOG);
-		}
-	
-		protected Control createCustomArea(Composite parent) {
-			Composite composite = new Composite(parent, SWT.NONE);
-			composite.setLayout(new GridLayout());
-			radio1 = new Button(composite, SWT.RADIO);
-			radio1.addSelectionListener(selectionListener);
-			String text1;
-			if (projects.size() == 1) {
-				IProject project = (IProject) projects.get(0);
-				if(project == null || project.getLocation() == null)
-					text1 = WorkbenchMessages.getString("DeleteResourceAction.deleteContentsN");  //$NON-NLS-1$
-				else
-					text1 = WorkbenchMessages.format("DeleteResourceAction.deleteContents1", new Object[] { project.getLocation().toOSString() });  //$NON-NLS-1$
-			} else {
-				text1 = WorkbenchMessages.getString("DeleteResourceAction.deleteContentsN");  //$NON-NLS-1$
-			}
-			radio1.setText(text1);
-			radio1.setFont(parent.getFont());
-
-			radio2 = new Button(composite, SWT.RADIO);
-			radio2.addSelectionListener(selectionListener);
-			String text2 = WorkbenchMessages.getString("DeleteResourceAction.doNotDeleteContents");  //$NON-NLS-1$
-			radio2.setText(text2);
-			radio2.setFont(parent.getFont());
-			
-			// set initial state
-			radio1.setSelection(deleteContent);
-			radio2.setSelection(!deleteContent);
-			
-			return composite;
-		}
-		
-		private SelectionListener selectionListener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				Button button = (Button) e.widget;
-				if (button.getSelection()) {
-					deleteContent = (button == radio1);
-				}
-			}
-		};
-		
-		public boolean getDeleteContent() {
-			return deleteContent;
-		}
-	}
-	
-	/**
-	 * The id of this action.
-	 */
-	public static final String ID = PlatformUI.PLUGIN_ID + ".DeleteResourceAction";//$NON-NLS-1$
-	
-	/**
-	 * The shell in which to show any dialogs.
-	 */
-	private Shell shell;
-
-	/**
-	 * Whether or not we are deleting content for projects.
-	 */
-	private boolean deleteContent = false;
-	
-	/**
-	 * Whether or not to automatically delete out of sync resources
-	 */
-	private boolean forceOutOfSyncDelete = false;
-/**
- * Creates a new delete resource action.
- *
- * @param shell the shell for any dialogs
- */
-public DeleteResourceAction(Shell shell) {
-	super(WorkbenchMessages.getString("DeleteResourceAction.text")); //$NON-NLS-1$
-	setToolTipText(WorkbenchMessages.getString("DeleteResourceAction.toolTip")); //$NON-NLS-1$
-	WorkbenchHelp.setHelp(this, IHelpContextIds.DELETE_RESOURCE_ACTION);
-	setId(ID);
-	Assert.isNotNull(shell);
-	this.shell = shell;
-}
-/**
- * Returns whether delete can be performed on the current selection.
- *
- * @return <code>true</code> if the resources can be deleted, and 
- *  <code>false</code> if the selection contains non-resources or phantom
- *  resources
- */
-boolean canDelete() {
-	// allow only projects or only non-projects to be selected; 
-	// note that the selection may contain multiple types of resource
-	if (!(containsOnlyProjects() || containsOnlyNonProjects())) {
-		return false;
-	}
-	
-	List resources = getSelectedResources();
-	if (resources.size() == 0) return false;	
-	// Return true if everything in the selection exists.
-	for (Iterator e = resources.iterator(); e.hasNext();) {
-		IResource next = (IResource)e.next();
-		if (next.isPhantom()) {
-			return false;
-		}
-	}
-	return true;
-}
-/**
- * Returns whether the selection contains linked resources.
- *
- * @return <code>true</code> if the resources contain linked   
- *  resources, and <code>false</code> otherwise
- */
-boolean containsLinkedResource() {
-	Iterator iterator = getSelectedResources().iterator();
-	while (iterator.hasNext()) {
-		IResource resource = (IResource) iterator.next();
-		if (resource.isLinked()) return true;
-	}
-	return false;
-}
-/**
- * Returns whether the selection contains only non-projects.
- *
- * @return <code>true</code> if the resources contains only non-projects, and 
- *  <code>false</code> otherwise
- */
-boolean containsOnlyNonProjects() {
-	if (getSelectedNonResources().size() > 0) return false;
-	int types = getSelectedResourceTypes();
-	// check for empty selection
-	if (types == 0) return false;
-	// note that the selection may contain multiple types of resource
-	return (types & IResource.PROJECT) == 0;
-}
-/**
- * Returns whether the selection contains only projects.
- *
- * @return <code>true</code> if the resources contains only projects, and 
- *  <code>false</code> otherwise
- */
-boolean containsOnlyProjects() {
-	if (getSelectedNonResources().size() > 0) return false;
-	int types = getSelectedResourceTypes();
-	// note that the selection may contain multiple types of resource
-	return types == IResource.PROJECT;
-}
-
-/**
- * Asks the user to confirm a delete operation.
- *
- * @return <code>true</code> if the user says to go ahead, and <code>false</code>
- *  if the deletion should be abandoned
- */
-boolean confirmDelete() {
-	if (containsOnlyProjects()) {
-		return confirmDeleteProjects();
-	}
-	else {
-		return confirmDeleteNonProjects();
-	}
-}
-/**
- * Asks the user to confirm a delete operation,
- * where the selection contains no projects.
- *
- * @return <code>true</code> if the user says to go ahead, and <code>false</code>
- *  if the deletion should be abandoned
- */
-boolean confirmDeleteNonProjects() {
-	List resources = getSelectedResources();
-	String title;
-	String msg;
-	if (resources.size() == 1) {
-		title = WorkbenchMessages.getString("DeleteResourceAction.title1");  //$NON-NLS-1$
- 		IResource resource = (IResource) resources.get(0);
- 		if (resource.isLinked())
- 			msg = WorkbenchMessages.format("DeleteResourceAction.confirmLinkedResource1", new Object[] { resource.getName() });  //$NON-NLS-1$
- 		else
-			msg = WorkbenchMessages.format("DeleteResourceAction.confirm1", new Object[] { resource.getName() });  //$NON-NLS-1$
-	}
-	else {
-		title = WorkbenchMessages.getString("DeleteResourceAction.titleN");  //$NON-NLS-1$
-		if (containsLinkedResource())
-			msg = WorkbenchMessages.format("DeleteResourceAction.confirmLinkedResourceN", new Object[] { new Integer(resources.size()) });  //$NON-NLS-1$
-		else
-			msg = WorkbenchMessages.format("DeleteResourceAction.confirmN", new Object[] { new Integer(resources.size()) });  //$NON-NLS-1$
-	}
-	return MessageDialog.openQuestion(shell, title, msg);
-}
-/**
- * Asks the user to confirm a delete operation,
- * where the selection contains only projects.
- * Also remembers whether project content should be deleted.
- *
- * @return <code>true</code> if the user says to go ahead, and <code>false</code>
- *  if the deletion should be abandoned
- */
-boolean confirmDeleteProjects() {
-	List resources = getSelectedResources();
-	DeleteProjectDialog dialog = new DeleteProjectDialog(shell, resources);
-	int code = dialog.open();
-	deleteContent = dialog.getDeleteContent();
-	return code == 0;  // YES
-}
-/**
- * Deletes the given resources.
- */
-void delete(IResource[] resourcesToDelete, IProgressMonitor monitor) throws CoreException {
-	forceOutOfSyncDelete = false;
-	monitor.beginTask("", resourcesToDelete.length); //$NON-NLS-1$
-	for (int i = 0; i < resourcesToDelete.length; ++i) {
-		if (monitor.isCanceled()) {
-			throw new OperationCanceledException();
-		}
-		delete(resourcesToDelete[i], new SubProgressMonitor(monitor, 1, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK));
-	}
-	monitor.done();
-}
-/**
- * Deletes the given resource.
- */
-void delete(IResource resourceToDelete, IProgressMonitor monitor) throws CoreException {
-	boolean force = false; // don't force deletion of out-of-sync resources
-	try {
-		if (resourceToDelete.getType() == IResource.PROJECT) {
-			// if it's a project, ask whether content should be deleted too
-			IProject project = (IProject) resourceToDelete;
-			project.delete(deleteContent, force, monitor);
-		}
-		else {
-			// if it's not a project, just delete it
-			resourceToDelete.delete(IResource.KEEP_HISTORY, monitor);
-		}
-	}
-	catch (CoreException exception) {
-		if (resourceToDelete.getType() == IResource.FILE) {
-			IStatus[] children = exception.getStatus().getChildren();
-					
-			if (children.length == 1 && 
-				children[0].getCode() == IResourceStatus.OUT_OF_SYNC_LOCAL) {
-				if (forceOutOfSyncDelete) {
-					resourceToDelete.delete(IResource.KEEP_HISTORY | IResource.FORCE, monitor);
-				}
-				else {
-					int result = queryDeleteOutOfSync(resourceToDelete);
-			
-					if (result == IDialogConstants.YES_ID) {
-						resourceToDelete.delete(IResource.KEEP_HISTORY | IResource.FORCE, monitor);
-					}
-					else
-					if (result == IDialogConstants.YES_TO_ALL_ID) {
-						forceOutOfSyncDelete = true;
-						resourceToDelete.delete(IResource.KEEP_HISTORY | IResource.FORCE, monitor);
-					}
-					else
-					if (result == IDialogConstants.CANCEL_ID) {
-						throw new OperationCanceledException();							
-					}
-				}
-			}
-			else {
-				throw exception;
-			}
-		}
-		else {
-			throw exception;
-		}
-	}
-}
-/**
- *	Return an array of the currently selected resources.
- *
- * @return the list of selected resources
- */
-IResource[] getSelectedResourcesArray() {
-	List selection = getSelectedResources();
-	IResource[] resources = new IResource[selection.size()];
-	int i = 0;
-	for (Iterator e = selection.iterator(); e.hasNext();)
-		resources[i++] = (IResource) e.next();
-	return resources;
-}
-/**
- * Returns a bit-mask containing the types of resources in the selection.
- */
-int getSelectedResourceTypes() {
-	int types = 0;
-	for (Iterator i = getSelectedResources().iterator(); i.hasNext();) {
-		IResource r = (IResource) i.next();
-		types |= r.getType();
-	}
-	return types;
-}
-/* (non-Javadoc)
- * Method declared on IAction.
- */
-public void run() {
-	if (!confirmDelete())
-		return;
-	final IResource[] resourcesToDelete = getResourcesToDelete();
-	
-	if (resourcesToDelete.length == 0)
-		return;
-	try {
-		WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-			protected void execute(IProgressMonitor monitor) throws CoreException {
-				delete(resourcesToDelete, monitor);
-			}
-		};
-		new ProgressMonitorDialog(shell).run(true, true, op);
-	} catch (InvocationTargetException e) {
-		Throwable t = e.getTargetException();
-		if (t instanceof CoreException) {
-			CoreException exception = (CoreException) t;
-			IStatus status = exception.getStatus();
-			IStatus[] children = status.getChildren();
-			boolean outOfSyncError = false;
-
-			for (int i = 0; i < children.length; i++) {
-				if (children[i].getCode() == IResourceStatus.OUT_OF_SYNC_LOCAL) {
-					outOfSyncError = true;
-					break;
-				}
-			}
-			if (outOfSyncError) {
-				ErrorDialog.openError(
-					shell, 
-					WorkbenchMessages.getString("DeleteResourceAction.errorTitle"), 	//$NON-NLS-1$
-					WorkbenchMessages.getString("DeleteResourceAction.outOfSyncError"),	//$NON-NLS-1$
-					status);
-			} 
-			else {
-				ErrorDialog.openError(
-					shell, 
-					WorkbenchMessages.getString("DeleteResourceAction.errorTitle"), // no special message //$NON-NLS-1$
-					null, status);
-			}
-		} 
-		else {
-			// CoreExceptions are collected above, but unexpected runtime exceptions and errors may still occur.
-			WorkbenchPlugin.log(MessageFormat.format("Exception in {0}.run: {1}", new Object[] {getClass().getName(), t}));//$NON-NLS-1$
-			MessageDialog.openError(
-				shell,
-				WorkbenchMessages.getString("DeleteResourceAction.messageTitle"), //$NON-NLS-1$
-				WorkbenchMessages.format("DeleteResourceAction.internalError", new Object[] {t.getMessage()})); //$NON-NLS-1$
-		}
-	} catch (InterruptedException e) {
-		// just return
-	}
-}
-/**
- * Returns the resources to delete based on the selection and their read-only status.
- * 
- * @return the resources to delete
- */
-IResource[] getResourcesToDelete() {
-	IResource[] selectedResources = getSelectedResourcesArray();
-
-	if (containsOnlyProjects()  && !deleteContent) {
-		// We can just return the selection
-		return selectedResources;
-	} 
-
-	ReadOnlyStateChecker checker =
-		new ReadOnlyStateChecker(
-			this.shell,
-			WorkbenchMessages.getString("DeleteResourceAction.title1"), //$NON-NLS-1$
-			WorkbenchMessages.getString("DeleteResourceAction.readOnlyQuestion")); //$NON-NLS-1$
-	
-	return checker.checkReadOnlyResources(selectedResources);
-}
-/**
- * The <code>DeleteResourceAction</code> implementation of this
- * <code>SelectionListenerAction</code> method disables the action
- * if the selection contains phantom resources or non-resources
- */
-protected boolean updateSelection(IStructuredSelection selection) {
-	return super.updateSelection(selection) && canDelete();
-}
-	
-/**
- * Ask the user whether the given resource should be deleted
- * despite being out of sync with the file system.
- * @param resource the out of sync resource
- * @return One of the IDialogConstants constants indicating which
- * 	of the Yes, Yes to All, No, Cancel options has been selected by 
- * 	the user.
- */
-private int queryDeleteOutOfSync(IResource resource) {
-	final MessageDialog dialog =
-		new MessageDialog(
-			shell,
-			WorkbenchMessages.getString("DeleteResourceAction.messageTitle"),	//$NON-NLS-1$		
-			null,
-			WorkbenchMessages.format("DeleteResourceAction.outOfSyncQuestion", new Object[] {resource.getName()}),	//$NON-NLS-1$
-			MessageDialog.QUESTION,
-			new String[] {
-				IDialogConstants.YES_LABEL,
-				IDialogConstants.YES_TO_ALL_LABEL,
-				IDialogConstants.NO_LABEL,
-				IDialogConstants.CANCEL_LABEL },
-			0);
-	shell.getDisplay().syncExec(new Runnable() {
-		public void run() {
-			dialog.open();
-		}
-	});
-	int result = dialog.getReturnCode();
-	if (result == 0)
-		return IDialogConstants.YES_ID;
-	if (result == 1)
-		return IDialogConstants.YES_TO_ALL_ID;
-	if (result == 2)
-		return IDialogConstants.NO_ID;
-	return IDialogConstants.CANCEL_ID;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ExportResourcesAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ExportResourcesAction.java
deleted file mode 100644
index 1b5393a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ExportResourcesAction.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.List;
-
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.dialogs.ExportWizard;
-
-/**
- * Action representing the initiation of an Export operation by the user.
- * <p>
- * This class may be instantiated. It is not intended to be subclassed.
- * </p>
- * @since 2.0
- */
-public class ExportResourcesAction extends SelectionListenerAction {
-	private static final int SIZING_WIZARD_WIDTH = 470;
-	private static final int SIZING_WIZARD_HEIGHT = 550;
-	private IWorkbench workbench;
-/**
- *	Create a new instance of this class
- */
-public ExportResourcesAction(IWorkbench aWorkbench) {
-	this(aWorkbench,WorkbenchMessages.getString("ExportResourcesAction.text")); //$NON-NLS-1$
-}
-
-/**
- *	Create a new instance of this class
- */
-public ExportResourcesAction(IWorkbench aWorkbench, String label) {
-	super(label); //$NON-NLS-1$
-	setToolTipText(WorkbenchMessages.getString("ExportResourcesAction.toolTip")); //$NON-NLS-1$
-	setId(IWorkbenchActionConstants.EXPORT);
-	WorkbenchHelp.setHelp(this, IHelpContextIds.EXPORT_ACTION);
-	this.workbench = aWorkbench;
-}
-
-
-/**
- * Invoke the Export wizards selection Wizard.
- *
- * @param browser Window
- */
-public void run() {
-	ExportWizard wizard = new ExportWizard();
-	IStructuredSelection selectionToPass; 
-	List selectedResources = getSelectedResources();
-	
-	if (selectedResources.isEmpty()) {
-		// get the current workbench selection
-		ISelection workbenchSelection = 
-			workbench.getActiveWorkbenchWindow().getSelectionService().getSelection();
-		if (workbenchSelection instanceof IStructuredSelection)
-			selectionToPass = (IStructuredSelection)workbenchSelection;
-		else
-			selectionToPass = StructuredSelection.EMPTY;
-	}
-	else
-		selectionToPass = new StructuredSelection(selectedResources);
-		
-	wizard.init(workbench, selectionToPass);
-	IDialogSettings workbenchSettings = WorkbenchPlugin.getDefault().getDialogSettings();
-	IDialogSettings wizardSettings = workbenchSettings.getSection("ExportResourcesAction");//$NON-NLS-1$
-	if(wizardSettings==null)
-		wizardSettings = workbenchSettings.addNewSection("ExportResourcesAction");//$NON-NLS-1$
-	wizard.setDialogSettings(wizardSettings);
-	wizard.setForcePreviousAndNextButtons(true);
-
-	Shell parent = workbench.getActiveWorkbenchWindow().getShell();
-	WizardDialog dialog = new WizardDialog(parent, wizard);
-	dialog.create();
-	dialog.getShell().setSize( Math.max(SIZING_WIZARD_WIDTH, dialog.getShell().getSize().x), SIZING_WIZARD_HEIGHT );
-	WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.EXPORT_WIZARD);
-	dialog.open();
-}
-
-/**
- * Sets the current selection. 
- * In for backwards compatability. Use selectionChanged() instead.
- * @param selection the new selection
- * @deprecated
- */
-public void setSelection(IStructuredSelection selection) {
-	selectionChanged(selection);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/GlobalBuildAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/GlobalBuildAction.java
deleted file mode 100644
index 127359a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/GlobalBuildAction.java
+++ /dev/null
@@ -1,258 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.misc.Assert;
-
-/**
- * Standard action for full and incremental builds of all projects
- * within the workspace.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class GlobalBuildAction extends Action {
-	
-	/**
-	 * The type of build performed by this action. Can be either
-	 * <code>IncrementalProjectBuilder.INCREMENTAL_BUILD</code> or
-	 * <code>IncrementalProjectBuilder.FULL_BUILD</code>.
-	 */
-	private int buildType;
-	
-	/**
-	 * The workbench this action applies to.
-	 */
-	private IWorkbench workbench;
-	
-	/**
-	 * The window this action appears in.
-	 */
-	private IWorkbenchWindow window;
-	
-	/**
-	 * The shell used to display message dialogs to the user
-	 */
-	private Shell shell;
-	
-/**
- * Creates a new action of the appropriate type. The action id is 
- * <code>IWorkbenchActionConstants.BUILD</code> for incremental builds
- * and <code>IWorkbenchActionConstants.REBUILD_ALL</code> for full builds.
- *
- * @param workbench the active workbench
- * @param shell the shell for any dialogs
- * @param type the type of build; one of
- *  <code>IncrementalProjectBuilder.INCREMENTAL_BUILD</code> or 
- *  <code>IncrementalProjectBuilder.FULL_BUILD</code>
- * 
- * @deprecated use GlobalBuildAction(IWorkbenchWindow, type) instead
- */
-public GlobalBuildAction(IWorkbench workbench, Shell shell, int type) {
-	Assert.isNotNull(workbench);
-	Assert.isNotNull(shell);
-	this.workbench = workbench;
-	this.shell = shell;
-	setBuildType(type);
-}
-
-/**
- * Creates a new action of the appropriate type. The action id is 
- * <code>IWorkbenchActionConstants.BUILD</code> for incremental builds
- * and <code>IWorkbenchActionConstants.REBUILD_ALL</code> for full builds.
- *
- * @param window the window in which this action appears
- * @param type the type of build; one of
- *  <code>IncrementalProjectBuilder.INCREMENTAL_BUILD</code> or 
- *  <code>IncrementalProjectBuilder.FULL_BUILD</code>
- */
-public GlobalBuildAction(IWorkbenchWindow window, int type) {
-	Assert.isNotNull(window);
-	this.workbench = window.getWorkbench();
-	this.window = window;
-	setBuildType(type);
-}
-
-/**
- * Sets the build type.
- * 
- * @param type the type of build; one of
- *  <code>IncrementalProjectBuilder.INCREMENTAL_BUILD</code> or 
- *  <code>IncrementalProjectBuilder.FULL_BUILD</code>
- */
-private void setBuildType(int type) {
-	// allow AUTO_BUILD as well for backwards compatibility, but treat it the same as INCREMENTAL_BUILD
-	switch (type) {
-		case IncrementalProjectBuilder.INCREMENTAL_BUILD:
-		case IncrementalProjectBuilder.AUTO_BUILD:
-			setText(WorkbenchMessages.getString("GlobalBuildAction.text")); //$NON-NLS-1$
-			setToolTipText(WorkbenchMessages.getString("GlobalBuildAction.toolTip")); //$NON-NLS-1$
-			setId(IWorkbenchActionConstants.BUILD);
-			WorkbenchHelp.setHelp(this, IHelpContextIds.GLOBAL_INCREMENTAL_BUILD_ACTION);
-			break;
-		case IncrementalProjectBuilder.FULL_BUILD:
-			setText(WorkbenchMessages.getString("GlobalBuildAction.rebuildText")); //$NON-NLS-1$
-			setToolTipText(WorkbenchMessages.getString("GlobalBuildAction.rebuildToolTip")); //$NON-NLS-1$
-			setId(IWorkbenchActionConstants.REBUILD_ALL);
-			WorkbenchHelp.setHelp(this, IHelpContextIds.GLOBAL_FULL_BUILD_ACTION);
-			break;
-		default:
-			Assert.isTrue(false, "Invalid build type"); //$NON-NLS-1$
-			break;
-	}
-	this.buildType = type;
-}
-
-/**
- * Returns the shell to use.  Uses the window's shell if a window
- * has been set, otherwise it uses the shell passed to the deprecated constructor.
- */
-private Shell getShell() {
-	if (window != null) {
-		return window.getShell();
-	}
-	else {
-		return shell;
-	}
-}
-
-/**
- * Builds all projects within the workspace. Does
- * not save any open editors.
- */
-public void doBuild() {
-	doBuildOperation();
-}
-/**
- * Invokes a build on all projects within the workspace.
- * Reports any errors with the build to the user.
- */
-/* package */ void doBuildOperation() {
-	
-	final MultiStatus status = new MultiStatus(
-		PlatformUI.PLUGIN_ID,
-		0,
-		WorkbenchMessages.getString("GlobalBuildAction.buildProblems"), //$NON-NLS-1$
-		null);
-
-	IRunnableWithProgress op = new IRunnableWithProgress() {
-		public void run(IProgressMonitor monitor) {
-			try {
-				ResourcesPlugin.getWorkspace().build(buildType, monitor);
-			}
-			catch (CoreException e) {
-				status.add(e.getStatus());
-			}
-		}
-	};
-	
-	try {
-		new ProgressMonitorDialog(getShell()).run(true, true, op);
-	}
-	catch (InterruptedException e) {
-		// do nothing
-	}
-	catch (InvocationTargetException e) {
-		// Unexpected runtime exceptions
-		WorkbenchPlugin.log("Exception in " + getClass().getName() + ".run: " + e.getTargetException());//$NON-NLS-2$//$NON-NLS-1$
-		MessageDialog.openError(
-			shell, 
-			WorkbenchMessages.getString("GlobalBuildAction.buildProblems"), //$NON-NLS-1$
-			WorkbenchMessages.format(
-				"GlobalBuildAction.internalError", //$NON-NLS-1$
-				new Object[] {e.getTargetException().getMessage()}));
-		return;
-	}
-
-	// If errors occurred, open an error dialog
-	if (!status.isOK()) {
-		ErrorDialog.openError(
-			shell,
-			WorkbenchMessages.getString("GlobalBuildAction.problemTitle"), //$NON-NLS-1$
-			null, // no special message
-			status);
-	}
-}
-/**
- * Returns an array of all projects in the workspace
- */
-/* package */ IProject[] getWorkspaceProjects() {
-	return ResourcesPlugin.getWorkspace().getRoot().getProjects();
-}
-/* (non-Javadoc)
- * Method declared on IAction.
- * 
- * Builds all projects within the workspace. Saves
- * all editors prior to build depending on user's
- * preference.
- */
-public void run() {
-	// Do nothing if there are no projects...
-	IProject[] roots = getWorkspaceProjects();
-	if (roots.length < 1)
-		return;
-
-	// Verify that there are builders registered on at
-	// least one project
-	if (!verifyBuildersAvailable(roots))
-		return;
-		
-	// Save all resources prior to doing build
-	saveAllResources();
-
-	// Perform the build on all the projects
-	doBuildOperation();
-}
-/**
- * Causes all editors to save any modified resources
- * depending on the user's preference.
- */
-/* package */ void saveAllResources() {
-	if (!BuildAction.isSaveAllSet())
-		return;
-		
-	IWorkbenchWindow[] windows = this.workbench.getWorkbenchWindows();
-	for (int i = 0; i < windows.length; i++) {
-		IWorkbenchPage[] perspectives = windows[i].getPages();
-		for (int j = 0; j < perspectives.length; j++)
-			perspectives[j].saveAllEditors(false);
-	}
-}
-/**
- * Checks that there is at least one project with a
- * builder registered on it.
- */
-/* package */ boolean verifyBuildersAvailable(IProject[] roots) {
-	try {
-		for (int i = 0; i < roots.length; i++) {
-			if (roots[i].isAccessible())
-				if (roots[i].getDescription().getBuildSpec().length > 0)
-					return true;
-		}
-	}
-	catch (CoreException e) {
-		WorkbenchPlugin.log("Exception in " + getClass().getName() + ".run: " + e);//$NON-NLS-2$//$NON-NLS-1$
-		ErrorDialog.openError(
-			getShell(),
-			WorkbenchMessages.getString("GlobalBuildAction.buildProblems"), //$NON-NLS-1$
-			WorkbenchMessages.format("GlobalBuildAction.internalError", new Object[] {e.getMessage()}), //$NON-NLS-1$
-			e.getStatus());
-		return false;
-	}
-	
-	return false;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ImportResourcesAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ImportResourcesAction.java
deleted file mode 100644
index 183399c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ImportResourcesAction.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.List;
-
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.dialogs.ImportWizard;
-
-/**
- * Action representing the initiation of an Import operation by the user.
- * <p>
- * This class may be instantiated. It is not intended to be subclassed.
- * </p>
- * @since 2.0
- */
-public class ImportResourcesAction extends SelectionListenerAction {
-	private static final int SIZING_WIZARD_WIDTH = 470;
-	private static final int SIZING_WIZARD_HEIGHT = 550;
-	private IWorkbench workbench;
-/**
- *	Create a new instance of this class
- */
-public ImportResourcesAction(IWorkbench aWorkbench) {
-	super(WorkbenchMessages.getString("ImportResourcesAction.text")); //$NON-NLS-1$
-	setToolTipText(WorkbenchMessages.getString("ImportResourcesAction.toolTip")); //$NON-NLS-1$
-	setId(IWorkbenchActionConstants.IMPORT);
-	WorkbenchHelp.setHelp(this, IHelpContextIds.IMPORT_ACTION);
-	this.workbench = aWorkbench;
-}
-
-
-/**
- * Invoke the Import wizards selection Wizard.
- *
- * @param browser Window
- */
-public void run() {
-	ImportWizard wizard = new ImportWizard();
-	List selectedResources = getSelectedResources();;
-	IStructuredSelection selectionToPass;
-	
-	if (selectedResources.isEmpty()) {
-		// get the current workbench selection
-		ISelection workbenchSelection = 
-			workbench.getActiveWorkbenchWindow().getSelectionService().getSelection();
-		if (workbenchSelection instanceof IStructuredSelection)
-			selectionToPass = (IStructuredSelection)workbenchSelection;
-		else
-			selectionToPass = StructuredSelection.EMPTY;
-	}
-	else
-		selectionToPass = new StructuredSelection(selectedResources);
-		
-	wizard.init(workbench, selectionToPass);
-	IDialogSettings workbenchSettings = WorkbenchPlugin.getDefault().getDialogSettings();
-	IDialogSettings wizardSettings = workbenchSettings.getSection("ImportResourcesAction");//$NON-NLS-1$
-	if(wizardSettings==null)
-		wizardSettings = workbenchSettings.addNewSection("ImportResourcesAction");//$NON-NLS-1$
-	wizard.setDialogSettings(wizardSettings);
-	wizard.setForcePreviousAndNextButtons(true);
-	
-	Shell parent = workbench.getActiveWorkbenchWindow().getShell();
-	WizardDialog dialog = new WizardDialog(parent, wizard);
-	dialog.create();
-	dialog.getShell().setSize( Math.max(SIZING_WIZARD_WIDTH, dialog.getShell().getSize().x), SIZING_WIZARD_HEIGHT );
-	WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.IMPORT_WIZARD);
-	dialog.open();
-}
-
-/**
- * Sets the current selection. 
- * In for backwards compatability. Use selectionChanged() instead.
- * @param selection the new selection
- * @deprecated
- */
-public void setSelection(IStructuredSelection selection) {
-	selectionChanged(selection);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/LabelRetargetAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/LabelRetargetAction.java
deleted file mode 100644
index 2b8a594..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/LabelRetargetAction.java
+++ /dev/null
@@ -1,182 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.PropertyChangeEvent;
-
-/**
- * A <code>LabelRetargetAction</code> extends the behavior of
- * RetargetAction.  It will track the enable state, label, and 
- * tool tip text of the target action..
- * <p>
- * This class may be instantiated. It is not intented to be subclassed.
- * </p>
- *
- * @since 2.0 
- */
-public class LabelRetargetAction extends RetargetAction {
-	private String defaultText;
-	private String defaultToolTipText;
-	private ImageDescriptor defaultHoverImage;
-	private ImageDescriptor defaultImage;
-	private ImageDescriptor defaultDisabledImage;
-	private String acceleratorText;
-	
-/**
- * Constructs a LabelRetargetAction.
- */
-public LabelRetargetAction(String actionID, String text) {
-	super(actionID, text);
-	this.defaultText = text;
-	this.defaultToolTipText = text;
-	acceleratorText = extractAcceleratorText(text);
-}
-/**
- * The action handler has changed.  Update self.
- */
-protected void propagateChange(PropertyChangeEvent event) {
-	super.propagateChange(event);
-	String prop = event.getProperty();
-	if (prop.equals(Action.TEXT)) {
-		String str = (String) event.getNewValue();
-		super.setText(appendAccelerator(str));
-	} 
-	else if (prop.equals(Action.TOOL_TIP_TEXT)) {
-		String str = (String) event.getNewValue();
-		super.setToolTipText(str);
-	}
-	else if (prop.equals(Action.IMAGE)) {
-		updateImages(getActionHandler());
-	}
-}
-/**
- * Sets the action handler.  Update self.
- */
-protected void setActionHandler(IAction handler) {
-	// Run the default behavior.
-	super.setActionHandler(handler);
-
-	// Now update the label, tooltip and images.
-	if (handler == null) {
-		super.setText(defaultText);
-		super.setToolTipText(defaultToolTipText);
-	} else {
-		// If no text is specified by the handler, use the default text.  Fixes 22529.
-		String handlerText = handler.getText();
-		if (handlerText == null || handlerText.length() == 0) {
-			handlerText = defaultText;
-		}
-		super.setText(appendAccelerator(handlerText));
-		super.setToolTipText(handler.getToolTipText());
-	}
-	updateImages(handler);
-}
-
-/* (non-Javadoc)
- * Method declared on IAction.
- */
-public void setDisabledImageDescriptor(ImageDescriptor image) {
-	super.setDisabledImageDescriptor(image);
-	defaultDisabledImage = image;
-}
-
-/* (non-Javadoc)
- * Method declared on IAction.
- */
-public void setHoverImageDescriptor(ImageDescriptor image) {
-	super.setHoverImageDescriptor(image);
-	defaultHoverImage = image;
-}
-
-/* (non-Javadoc)
- * Method declared on IAction.
- */
-public void setImageDescriptor(ImageDescriptor image) {
-	super.setImageDescriptor(image);
-	defaultImage = image;
-}
-
-/**
- * Sets the action's label text to the given value.
- */
-public void setText(String text) {
-	super.setText(text);
-	acceleratorText = extractAcceleratorText(text);
-	defaultText = text;
-}
-/**
- * Sets the tooltip text to the given text.
- * The value <code>null</code> clears the tooltip text.
- */
-public void setToolTipText(String text) {
-	super.setToolTipText(text);
-	defaultToolTipText = text;
-}
-/**
- * Ensures the accelerator is correct in the text (handlers are not
- * allowed to change the accelerator).
- */
-private String appendAccelerator(String newText) {
-	if (newText == null)
-		return null;
-		
-	// Remove any accelerator
-	String str = removeAcceleratorText(newText);
-	// Append our accelerator
-	if (acceleratorText != null)
-		str = str + acceleratorText;
-	return str;
-}
-/**
- * Extracts the accelerator text from the given text.
- * Returns <code>null</code> if there is no accelerator text,
- * and the empty string if there is no text after the accelerator delimeter (tab or '@').
- *
- * @param text the text for the action
- * @return the accelerator text including '@' or '\t', or <code>null</code>
- */
-private String extractAcceleratorText(String text) {
-	if (text == null)
-		return null;
-		
-	int index = text.lastIndexOf('\t');
-	if (index == -1)
-		index = text.lastIndexOf('@');
-	if (index >= 0)
-		return text.substring(index);
-	return null;
-}
-
-/**
- * Updates the images for this action based on the given handler.
- */
-private void updateImages(IAction handler) {
-	if (handler == null) {
-		super.setHoverImageDescriptor(defaultHoverImage);
-		super.setImageDescriptor(defaultImage);
-		super.setDisabledImageDescriptor(defaultDisabledImage);
-	}
-	else {
-		// use the default images if the handler has no images set
-		ImageDescriptor hoverImage = handler.getHoverImageDescriptor();
-		ImageDescriptor image = handler.getImageDescriptor();
-		ImageDescriptor disabledImage = handler.getDisabledImageDescriptor();
-		if (hoverImage != null || image != null || disabledImage != null) {
-			super.setHoverImageDescriptor(hoverImage);
-			super.setImageDescriptor(image);
-			super.setDisabledImageDescriptor(disabledImage);
-		}
-		else {
-			super.setHoverImageDescriptor(defaultHoverImage);
-			super.setImageDescriptor(defaultImage);
-			super.setDisabledImageDescriptor(defaultDisabledImage);
-		}
-	}
-}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/MoveFilesAndFoldersOperation.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/MoveFilesAndFoldersOperation.java
deleted file mode 100644
index b6d27ac..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/MoveFilesAndFoldersOperation.java
+++ /dev/null
@@ -1,183 +0,0 @@
-package org.eclipse.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 java.util.ArrayList;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * Moves files and folders.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * 
- * @since 2.1
- */
-public class MoveFilesAndFoldersOperation extends CopyFilesAndFoldersOperation {
-
-	/** 
-	 * Creates a new operation initialized with a shell.
-	 * 
-	 * @param shell parent shell for error dialogs
-	 */
-	public MoveFilesAndFoldersOperation(Shell shell) {
-		super(shell);
-	}
-	/**
-	 * Returns whether this operation is able to perform on-the-fly 
-	 * auto-renaming of resources with name collisions.
-	 *
-	 * @return <code>true</code> if auto-rename is supported, 
-	 * 	and <code>false</code> otherwise
-	 */
-	protected boolean canPerformAutoRename() {
-		return false;
-	}
-	/**
-	 * Moves the resources to the given destination.  This method is 
-	 * called recursively to merge folders during folder move.
-	 * 
-	 * @param resources the resources to move
-	 * @param rejectedFiles files rejected for copy during validateEdit
-	 * @param destination destination to which resources will be moved
-	 * @param subMonitor a progress monitor for showing progress and for cancelation
-	 */
-	protected void copy(IResource[] resources, ArrayList rejectedFiles, IPath destination, IProgressMonitor subMonitor) throws CoreException {
-		for (int i = 0; i < resources.length; i++) {
-			IResource source = resources[i];
-			IPath destinationPath = destination.append(source.getName());
-			IWorkspace workspace = source.getWorkspace();
-			IWorkspaceRoot workspaceRoot = workspace.getRoot();
-			boolean isFolder = source.getType() == IResource.FOLDER;
-			boolean exists = workspaceRoot.exists(destinationPath);
-			if (isFolder && exists) {
-				// the resource is a folder and it exists in the destination, copy the
-				// children of the folder
-				IResource[] children = ((IContainer) source).members();
-				copy(children, rejectedFiles, destinationPath, subMonitor);
-				// need to explicitly delete the folder since we're not moving it
-				delete(source, subMonitor);
-			} else if (!rejectedFiles.contains(destinationPath)) {
-				// if we're merging folders, we could be overwriting an existing file
-				IResource existing = workspaceRoot.findMember(destinationPath);
-				boolean canMove = true;
-
-				if (existing != null) {
-					canMove = !moveExisting(source, existing, subMonitor);
-					
-					if (canMove) { 	
-						canMove = delete(existing, subMonitor);
-					}
-				}
-				// was the resource deleted successfully or was there no existing resource to delete?
-				if (canMove) {
-					int flags = IResource.SHALLOW;
-					
-					if (source.isLinked() && checkDeep(source)) {
-						// do a deep move of the resource
-						flags = IResource.NONE;
-					}			
-					flags |= IResource.KEEP_HISTORY;		
-					source.move(destinationPath, flags, new SubProgressMonitor(subMonitor, 0));
-				}
-				subMonitor.worked(1);
-				if (subMonitor.isCanceled()) {
-					throw new OperationCanceledException();
-				}
-			}
-		}
-	}	
-	/**
-	 * Returns the message for querying deep copy/move of a linked 
-	 * resource.
-	 *
-	 * @param source resource the query is made for
-	 * @return the deep query message
-	 */
-	protected String getDeepCheckQuestion(IResource source) {
-		return WorkbenchMessages.format(
-			"CopyFilesAndFoldersOperation.deepMoveQuestion", //$NON-NLS-1$
-			new Object[] {source.getFullPath().makeRelative()});
-	}
-	/**
-	 * Returns the message for this operation's problems dialog.
-	 *
-	 * @return the problems message
-	 */
-	protected String getProblemsMessage() {
-		return WorkbenchMessages.getString("MoveFilesAndFoldersOperation.problemMessage"); //$NON-NLS-1$
-	}
-	/**
-	 * Returns the title for this operation's problems dialog.
-	 *
-	 * @return the problems dialog title
-	 */
-	protected String getProblemsTitle() {
-		return WorkbenchMessages.getString("MoveFilesAndFoldersOperation.moveFailedTitle"); //$NON-NLS-1$
-	}
-	/**
-	 * Sets the content of the existing file to the source file content.
-	 * Deletes the source file.
-	 * 
-	 * @param source source file to move
-	 * @param existing existing file to set the source content in
-	 * @param subMonitor a progress monitor for showing progress and for cancelation
-	 * @return boolean <code>true</code> if the source file was moved. 
-	 * 	<code>false</code> otherwise
-	 * @throws CoreException setContents failed
-	 */
-	private boolean moveExisting(IResource source, IResource existing, IProgressMonitor subMonitor) throws CoreException {
-		boolean moved = false;
-		IFile existingFile = getFile(existing);
-
-		if (existingFile != null) {
-			IFile sourceFile = getFile(source);
-
-			if (sourceFile != null) {
-				existingFile.setContents(sourceFile.getContents(), IResource.KEEP_HISTORY, new SubProgressMonitor(subMonitor, 0));
-				delete(sourceFile, subMonitor);
-				moved = true;
-			}
-		}
-		return moved;
-	}
-	/* (non-Javadoc)
-	 * Overrides method in CopyFilesAndFoldersOperation
-	 *
-	 * Note this method is for internal use only. It is not API.
-	 *
-	 */
-	public String validateDestination(IContainer destination, IResource[] sourceResources) {
-		IPath destinationLocation = destination.getLocation();
-		
-		for (int i = 0; i < sourceResources.length; i++) {
-			IResource sourceResource = sourceResources[i];
-
-			// is the source being copied onto itself?
-			if (sourceResource.getParent().equals(destination)) {
-				return WorkbenchMessages.format(
-					"MoveFilesAndFoldersOperation.sameSourceAndDest", //$NON-NLS-1$
-					new Object[] {sourceResource.getName()});
-			}
-			// test if linked source is copied onto itself. Fixes bug 29913.
-			if (destinationLocation != null) {
-				IPath sourceLocation = sourceResource.getLocation();
-				IPath destinationResource = destinationLocation.append(sourceResource.getName());
-				if (sourceLocation != null && sourceLocation.isPrefixOf(destinationResource)) {
-					return WorkbenchMessages.format(
-						"MoveFilesAndFoldersOperation.sameSourceAndDest", //$NON-NLS-1$
-						new Object[] {sourceResource.getName()});
-				}
-			}
-		}
-		return super.validateDestination(destination, sourceResources);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/MoveProjectAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/MoveProjectAction.java
deleted file mode 100644
index d9a3149..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/MoveProjectAction.java
+++ /dev/null
@@ -1,148 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- 
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ProjectLocationMoveDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.swt.widgets.Shell;
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-/**
- * The MoveProjectAction is the action designed to move projects specifically
- * as they have different semantics from other resources.
- */
-public class MoveProjectAction extends CopyProjectAction {
-	private static String MOVE_TOOL_TIP = WorkbenchMessages.getString("MoveProjectAction.toolTip"); //$NON-NLS-1$
-	private static String MOVE_TITLE = WorkbenchMessages.getString("MoveProjectAction.text"); //$NON-NLS-1$
-	private static String PROBLEMS_TITLE = WorkbenchMessages.getString("MoveProjectAction.dialogTitle"); //$NON-NLS-1$
-	private static String MOVE_PROGRESS_TITLE = WorkbenchMessages.getString("MoveProjectAction.progressMessage"); //$NON-NLS-1$
-
-	
-	/**
-	 * The id of this action.
-	 */
-	public static final String ID = PlatformUI.PLUGIN_ID + ".MoveProjectAction";//$NON-NLS-1$
-
-/**
- * Creates a new project move action with the given text.
- *
- * @param shell the shell for any dialogs
- */
-public MoveProjectAction(Shell shell) {
-	super(shell,MOVE_TITLE);
-	setToolTipText(MOVE_TOOL_TIP);
-	setId(MoveProjectAction.ID);
-	WorkbenchHelp.setHelp(this, IHelpContextIds.MOVE_PROJECT_ACTION);
-}
-/**
- * Return the title of the errors dialog.
- * @return java.lang.String
- */
-protected String getErrorsTitle() {
-	return PROBLEMS_TITLE;
-}
-/**
- * Moves the project to the new values.
- *
- * @param project the project to copy
- * @param projectName the name of the copy
- * @param newLocation IPath
- * @return <code>true</code> if the copy operation completed, and 
- *   <code>false</code> if it was abandoned part way
- */
-boolean performMove(
-	final IProject project,
-	final String projectName,
-	final IPath newLocation) {
-	WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-		public void execute(IProgressMonitor monitor) {
-
-			monitor.beginTask(MOVE_PROGRESS_TITLE, 100);
-			try {
-				if (monitor.isCanceled())
-					throw new OperationCanceledException();
-				//Get a copy of the current description and modify it
-				IProjectDescription newDescription =
-					createDescription(project, projectName, newLocation);
-
-				monitor.worked(50);
-
-				project.move(newDescription, IResource.FORCE | IResource.SHALLOW, monitor);
-
-				monitor.worked(50);
-
-			} catch (CoreException e) {
-				recordError(e); // log error
-			} finally {
-				monitor.done();
-			}
-		}
-	};
-
-	try {
-		new ProgressMonitorDialog(shell).run(true, true, op);
-	} catch (InterruptedException e) {
-		return false;
-	} catch (InvocationTargetException e) {
-		// CoreExceptions are collected above, but unexpected runtime exceptions and errors may still occur.
-		WorkbenchPlugin.log(
-			MessageFormat.format("Exception in {0}.performMove(): {1}", new Object[] {getClass().getName(),e.getTargetException()}));//$NON-NLS-1$
-		displayError(WorkbenchMessages.format("MoveProjectAction.internalError", new Object[] {e.getTargetException().getMessage()})); //$NON-NLS-1$
-		return false;
-	}
-
-	return true;
-}
-/**
- * Query for a new project destination using the parameters in the existing
- * project.
- * @return Object[]  or null if the selection is cancelled
- * @param IProject - the project we are going to move.
- */
-protected Object[] queryDestinationParameters(IProject project) {
-	ProjectLocationMoveDialog dialog =
-		new ProjectLocationMoveDialog(shell, project);
-	dialog.setTitle(WorkbenchMessages.getString("MoveProjectAction.moveTitle")); //$NON-NLS-1$
-	dialog.open();
-	return dialog.getResult();
-}
-/**
- * Implementation of method defined on <code>IAction</code>.
- */
-public void run() {
-
-	errorStatus = null; 
-
-	IProject project = (IProject) getSelectedResources().get(0);
-
-	//Get the project name and location in a two element list
-	Object[] destinationPaths = queryDestinationParameters(project);
-	if (destinationPaths == null)
-		return;
-
-	String projectName = (String) destinationPaths[0];
-	IPath newLocation = new Path((String) destinationPaths[1]);
-
-	boolean completed = performMove(project, projectName, newLocation);
-
-	if (!completed) // ie.- canceled
-		return; // not appropriate to show errors
-
-	// If errors occurred, open an Error dialog
-	if (errorStatus != null) {
-		ErrorDialog.openError(this.shell, PROBLEMS_TITLE, null, errorStatus);
-		errorStatus = null; 
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/MoveResourceAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/MoveResourceAction.java
deleted file mode 100644
index 329dd37..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/MoveResourceAction.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * Standard action for moving the currently selected resources elsewhere
- * in the workspace. All resources being moved as a group must be siblings.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class MoveResourceAction extends CopyResourceAction {
-
-	/**
-	 * The id of this action.
-	 */
-	public static final String ID = PlatformUI.PLUGIN_ID + ".MoveResourceAction"; //$NON-NLS-1$
-
-	/**
- 	 * Keep a list of destinations so that any required update can be done after the
- 	 * move.
-	 */
-	protected List destinations;
-
-	/**
-	 * Creates a new action.
-	 *
-	 * @param shell the shell for any dialogs
-	 */
-	public MoveResourceAction(Shell shell) {
-		super(shell, WorkbenchMessages.getString("MoveResourceAction.text")); //$NON-NLS-1$
-		setToolTipText(WorkbenchMessages.getString("MoveResourceAction.toolTip")); //$NON-NLS-1$
-		setId(MoveResourceAction.ID);
-		WorkbenchHelp.setHelp(this, IHelpContextIds.MOVE_RESOURCE_ACTION);
-	}
-	/* (non-Javadoc)
-	 * Overrides method in CopyResourceAction
-	 */
-	protected CopyFilesAndFoldersOperation createOperation() {
-		return new MoveFilesAndFoldersOperation(getShell());
-	}
-	/**
-	 * Returns the destination resources for the resources that have been moved so far.
-	 *
-	 * @return list of destination <code>IResource</code>s
-	 */
-	protected List getDestinations() {
-		return destinations;
-	}
-	/* (non-Javadoc)
-	 * Overrides method in CopyResourceAction
-	 */
-	protected IResource[] getResources(List resourceList) {
-		ReadOnlyStateChecker checker = new ReadOnlyStateChecker(
-			getShell(), 
-			WorkbenchMessages.getString("MoveResourceAction.title"),			//$NON-NLS-1$
-			WorkbenchMessages.getString("MoveResourceAction.checkMoveMessage"));//$NON-NLS-1$	
-		return checker.checkReadOnlyResources(super.getResources(resourceList));
-	}
-	/* (non-Javadoc)
-	 * Overrides method in CopyResourceAction
-	 */
-	protected void runOperation(IResource[] resources, IContainer destination) {
-		//Initialize the destinations
-		destinations = new ArrayList();
-		IResource[] copiedResources = operation.copyResources(resources, destination);
-
-		for (int i = 0; i < copiedResources.length; i++) {
-			destinations.add(destination.getFullPath().append(copiedResources[i].getName()));
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/NewProjectAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/NewProjectAction.java
deleted file mode 100644
index 67eb685..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/NewProjectAction.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.wizard.WizardDialog;
-
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.dialogs.NewWizard;
-import org.eclipse.ui.internal.misc.Assert;
-
-/**
- * Standard action for launching the create project selection
- * wizard.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class NewProjectAction extends Action {
-
-	/**
-	 * The wizard dialog width
-	 */
-	private static final int SIZING_WIZARD_WIDTH = 500;
-
-	/**
-	 * The wizard dialog height
-	 */
-	private static final int SIZING_WIZARD_HEIGHT = 500;
-	
-	/**
-	 * The workbench window this action will run in
-	 */
-	private IWorkbenchWindow window;
-
-/**
- * This default constructor allows the the action to be called from the welcome page.
- */
-public NewProjectAction() {
-	this(((Workbench)PlatformUI.getWorkbench()).getActiveWorkbenchWindow());
-}
-
-/**
- * Creates a new action for launching the new project
- * selection wizard.
- *
- * @param window the workbench window to query the current
- * 		selection and shell for opening the wizard.
- */
-public NewProjectAction(IWorkbenchWindow window) {
-	super(WorkbenchMessages.getString("NewProjectAction.text")); //$NON-NLS-1$
-	Assert.isNotNull(window);
-	this.window = window;
-	setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_NEW_WIZ));
-	setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_NEW_WIZ_HOVER));
-	setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_NEW_WIZ_DISABLED));
-	setToolTipText(WorkbenchMessages.getString("NewProjectAction.toolTip"));	 //$NON-NLS-1$
-	WorkbenchHelp.setHelp(this, IHelpContextIds.NEW_ACTION);
-}
-
-/* (non-Javadoc)
- * Method declared on IAction.
- */
-public void run() {
-	// Create wizard selection wizard.
-	IWorkbench workbench = PlatformUI.getWorkbench();
-	NewWizard wizard = new NewWizard();
-	wizard.setProjectsOnly(true);
-	ISelection selection = window.getSelectionService().getSelection();
-	IStructuredSelection selectionToPass = StructuredSelection.EMPTY;
-	if (selection instanceof IStructuredSelection)
-		selectionToPass = (IStructuredSelection) selection;
-	wizard.init(workbench, selectionToPass);
-	IDialogSettings workbenchSettings = WorkbenchPlugin.getDefault().getDialogSettings();
-	IDialogSettings wizardSettings = workbenchSettings.getSection("NewWizardAction");//$NON-NLS-1$
-	if(wizardSettings==null)
-		wizardSettings = workbenchSettings.addNewSection("NewWizardAction");//$NON-NLS-1$
-	wizard.setDialogSettings(wizardSettings);
-	wizard.setForcePreviousAndNextButtons(true);
-
-	// Create wizard dialog.
-	Shell parent = window.getShell();
-	WizardDialog dialog = new WizardDialog(parent, wizard);
-	dialog.create();
-	dialog.getShell().setSize( Math.max(SIZING_WIZARD_WIDTH, dialog.getShell().getSize().x), SIZING_WIZARD_HEIGHT );
-	WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.NEW_PROJECT_WIZARD);
-
-	// Open wizard.
-	dialog.open();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/NewWizardAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/NewWizardAction.java
deleted file mode 100644
index 86d0191..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/NewWizardAction.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/**********************************************************************
-Copyright (c) 2000, 2003 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:
-**********************************************************************/
-
-package org.eclipse.ui.actions;
-
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.IWorkbenchGraphicConstants;
-import org.eclipse.ui.internal.WorkbenchImages;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.dialogs.NewWizard;
-
-/**
- * Invoke the resource creation wizard selection Wizard.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class NewWizardAction extends Action {
-
-	/**
-	 * The wizard dialog width
-	 */
-	private static final int SIZING_WIZARD_WIDTH = 500;
-
-	/**
-	 * The wizard dialog height
-	 */
-	private static final int SIZING_WIZARD_HEIGHT = 500;
-
-	/**
-	 * The id of the category to show or <code>null</code> to
-	 * show all the categories.
-	 */
-	private String categoryId = null;
-	
-/**
- *	Create a new instance of this class
- */
-public NewWizardAction() {
-	super(WorkbenchMessages.getString("NewWizardAction.text")); //$NON-NLS-1$
-	setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_NEW_WIZ));
-	setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_NEW_WIZ_HOVER));
-	setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_NEW_WIZ_DISABLED));
-	setToolTipText(WorkbenchMessages.getString("NewWizardAction.toolTip"));	 //$NON-NLS-1$
-	WorkbenchHelp.setHelp(this, IHelpContextIds.NEW_ACTION);
-	setActionDefinitionId("org.eclipse.ui.newWizard"); //$NON-NLS-1$
-}
-/**
- * Returns the id of the category of wizards to show
- * or <code>null</code> to show all categories.
- */
-public String getCategoryId() {
-	return categoryId;
-}
-/**
- * Sets the id of the category of wizards to show
- * or <code>null</code> to show all categories.
- */
-public void setCategoryId(String id) {
-	categoryId = id;
-}
-/* (non-Javadoc)
- * Method declared on IAction.
- */
-public void run() {
-	IWorkbench workbench = PlatformUI.getWorkbench();
-	NewWizard wizard = new NewWizard();
-	wizard.setCategoryId(categoryId);
-
-	ISelection selection = workbench.getActiveWorkbenchWindow().getSelectionService().getSelection();
-	IStructuredSelection selectionToPass = StructuredSelection.EMPTY;
-	if (selection instanceof IStructuredSelection) {
-		selectionToPass = (IStructuredSelection) selection;
-	} else {
-		// Build the selection from the IFile of the editor
-		IWorkbenchPart part = workbench.getActiveWorkbenchWindow().getPartService().getActivePart();
-		if (part instanceof IEditorPart) {
-			IEditorInput input = ((IEditorPart)part).getEditorInput();
-			if (input instanceof IFileEditorInput) {
-				selectionToPass = new StructuredSelection(((IFileEditorInput)input).getFile());
-			}	
-		}
-	}
-	
-	wizard.init(workbench, selectionToPass);
-	IDialogSettings workbenchSettings = WorkbenchPlugin.getDefault().getDialogSettings();
-	IDialogSettings wizardSettings = workbenchSettings.getSection("NewWizardAction");//$NON-NLS-1$
-	if (wizardSettings == null)
-		wizardSettings = workbenchSettings.addNewSection("NewWizardAction");//$NON-NLS-1$
-	wizard.setDialogSettings(wizardSettings);
-	wizard.setForcePreviousAndNextButtons(true);
-	
-	Shell parent = workbench.getActiveWorkbenchWindow().getShell();
-	WizardDialog dialog = new WizardDialog(parent, wizard);
-	dialog.create();
-	dialog.getShell().setSize( Math.max(SIZING_WIZARD_WIDTH, dialog.getShell().getSize().x), SIZING_WIZARD_HEIGHT );
-	WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.NEW_WIZARD);
-	dialog.open();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/NewWizardMenu.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/NewWizardMenu.java
deleted file mode 100644
index 63085a5..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/NewWizardMenu.java
+++ /dev/null
@@ -1,167 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- 
-import org.eclipse.jface.action.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.dialogs.WorkbenchWizardElement;
-import org.eclipse.ui.internal.registry.NewWizardsRegistryReader;
-import java.util.*;
-import java.util.List;
-
-/**
- * A <code>NewWizardMenu</code> is used to populate a menu manager with
- * New Wizard actions.  The visible actions are determined by user preference
- * from the Perspective Customize dialog.
- */
-public class NewWizardMenu extends ContributionItem {
-	private Action showDlgAction = new NewWizardAction();
-	private Action newProjectAction;
-	private Map actions = new HashMap(21);
-	private NewWizardsRegistryReader reader = new NewWizardsRegistryReader();
-	private boolean enabled = true;
-	private IWorkbenchWindow window;
-	
-	private boolean dirty = true;
-	private IMenuListener menuListener = new IMenuListener() {
-		public void menuAboutToShow(IMenuManager manager) {
-			manager.markDirty();
-			dirty = true;
-		}
-	};	
-/**
- * Create a new wizard shortcut menu.  
- * <p>
- * If the menu will appear on a semi-permanent basis, for instance within
- * a toolbar or menubar, the value passed for <code>register</code> should be true.
- * If set, the menu will listen to perspective activation and update itself
- * to suit.  In this case clients are expected to call <code>deregister</code> 
- * when the menu is no longer needed.  This will unhook any perspective
- * listeners.
- * </p>
- *
- * @param innerMgr the location for the shortcut menu contents
- * @param window the window containing the menu
- * @param register if <code>true</code> the menu listens to perspective changes in
- * 		the window
- */
-public NewWizardMenu(IMenuManager innerMgr, IWorkbenchWindow window, boolean register) {
-	this(window);
-	newProjectAction = new NewProjectAction(window);
-	fillMenu(innerMgr); // Must be done after constructor to ensure field initialization.
-}
-
-public NewWizardMenu(IWorkbenchWindow window) {
-	super();
-	this.window = window;
-	newProjectAction = new NewProjectAction(window);
-}
-/* (non-Javadoc)
- * Fills the menu with New Wizards.
- */
-private void fillMenu(IContributionManager innerMgr) {
-	// Remove all.
-	innerMgr.removeAll();
-
-	if (this.enabled) {
-		// Add new project ..
-		innerMgr.add(newProjectAction);
-		innerMgr.add(new Separator());
-
-		// Get visible actions.
-		List actions = null;
-		IWorkbenchPage page = window.getActivePage();
-		if (page != null)
-			actions = ((WorkbenchPage) page).getNewWizardActionIds();
-		if (actions != null) {
-			for (Iterator i = actions.iterator(); i.hasNext();) {
-				String id = (String) i.next();
-				IAction action = getAction(id);
-				if (action != null)
-					innerMgr.add(action);
-			}
-		}
-
-		// Add other ..
-		innerMgr.add(new Separator());
-		innerMgr.add(showDlgAction);
-	}
-}
-/* (non-Javadoc)
- * Returns the action for the given wizard id, or null if not found.
- */
-private IAction getAction(String id) {
-	// Keep a cache, rather than creating a new action each time,
-	// so that image caching in ActionContributionItem works.
-	IAction action = (IAction) actions.get(id);
-	if (action == null) {
-		WorkbenchWizardElement element = reader.findWizard(id);
-		if (element != null) {
-			action = new NewWizardShortcutAction(window.getWorkbench(), element);
-			actions.put(id, action);
-		}
-	}
-	return action;
-}
-/* (non-Javadoc)
- * Method declared on IContributionItem.
- */
-public boolean isEnabled() {
-	return enabled;
-}
-/* (non-Javadoc)
- * Method declared on IContributionItem.
- */
-public boolean isDynamic() {
-	return true;
-}
-/* (non-Javadoc)
- * Method declared on IContributionItem.
- */
-public boolean isDirty() {
-	return dirty;
-}
-/**
- * Sets the enabled state of the receiver.
- * 
- * @param enabledValue if <code>true</code> the menu is enabled; else
- * 		it is disabled
- */
-public void setEnabled(boolean enabledValue) {
-	this.enabled = enabledValue;
-}
-/**
- * Removes all listeners from the containing workbench window.
- * <p>
- * This method should only be called if the shortcut menu is created
- * with <code>register = true</code>.
- * </p>
- * 
- * @deprecated
- */
-public void deregisterListeners() {}
-/* (non-Javadoc)
- * Method declared on IContributionItem.
- */
-public void fill(Menu menu, int index) {
-	if(getParent() instanceof MenuManager)
-		((MenuManager)getParent()).addMenuListener(menuListener);
-			
-	if(!dirty)
-		return;
-	
-	MenuManager manager = new MenuManager();
-	fillMenu(manager);
-	IContributionItem items[] = manager.getItems();
-	for (int i = 0; i < items.length; i++) {
-		items[i].fill(menu,index++);
-	}
-	dirty = false;
-}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenFileAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenFileAction.java
deleted file mode 100644
index 0d3ddcd..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenFileAction.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.util.OpenStrategy;
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.dialogs.DialogUtil;
-
-/**
- * Standard action for opening an editor on the currently selected file 
- * resource(s).
- * <p>
- * Note that there is a different action for opening closed projects:
- * <code>OpenResourceAction</code>.
- * </p>
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class OpenFileAction extends OpenSystemEditorAction {
-
-	/**
-	 * The id of this action.
-	 */
-	public static final String ID = PlatformUI.PLUGIN_ID + ".OpenFileAction";//$NON-NLS-1$
-
-	/**
-	 * The editor to open.
-	 */
-	private IEditorDescriptor editorDescriptor;
-/**
- * Creates a new action that will open editors on the then-selected file 
- * resources. Equivalent to <code>OpenFileAction(page,null)</code>.
- *
- * @param page the workbench page in which to open the editor
- */
-public OpenFileAction(IWorkbenchPage page) {
-	this(page, null);
-}
-/**
- * Creates a new action that will open instances of the specified editor on 
- * the then-selected file resources.
- *
- * @param page the workbench page in which to open the editor
- * @param descriptor the editor descriptor, or <code>null</code> if unspecified
- */
-public OpenFileAction(IWorkbenchPage page, IEditorDescriptor descriptor) {
-	super(page);
-	setText(descriptor == null ? WorkbenchMessages.getString("OpenFileAction.text") : descriptor.getLabel()); //$NON-NLS-1$
-	WorkbenchHelp.setHelp(this, IHelpContextIds.OPEN_FILE_ACTION);
-	setToolTipText(WorkbenchMessages.getString("OpenFileAction.toolTip")); //$NON-NLS-1$
-	setId(ID);
-	this.editorDescriptor = descriptor;
-}
-/**
- * Ensures that the contents of the given file resource are local.
- *
- * @param file the file resource
- * @return <code>true</code> if the file is local, and <code>false</code> if
- *   it could not be made local for some reason
- */
-boolean ensureFileLocal(final IFile file) {
-	//Currently fails due to Core PR.  Don't do it for now
-	//1G5I6PV: ITPCORE:WINNT - IResource.setLocal() attempts to modify immutable tree
-	//file.setLocal(true, IResource.DEPTH_ZERO);
-	return true;
-}
-/**
- * Opens an editor on the given file resource.
- *
- * @param file the file resource
- */
-void openFile(IFile file) {
-	if (getWorkbenchPage() == null) {
-		IStatus status = new Status(IStatus.ERROR, WorkbenchPlugin.PI_WORKBENCH, 1, WorkbenchMessages.getString("OpenFileAction.openFileError"), null); //$NON-NLS-1$
-		WorkbenchPlugin.log(WorkbenchMessages.getString("OpenFileAction.openFileErrorTitle"), status); //$NON-NLS-1$
-		return;
-	}
-	try {
-		boolean activate = OpenStrategy.activateOnOpen();
-		if (editorDescriptor == null)
-			getWorkbenchPage().openEditor(file,null,activate);
-		else {
-			if (ensureFileLocal(file))
-				getWorkbenchPage().openEditor(file, editorDescriptor.getId(),activate);
-		}
-	} catch (PartInitException e) {
-		DialogUtil.openError(
-			getWorkbenchPage().getWorkbenchWindow().getShell(),
-			WorkbenchMessages.getString("OpenFileAction.openFileShellTitle"), //$NON-NLS-1$
-			e.getMessage(),
-			e);
-	}
-}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenInNewWindowAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenInNewWindowAction.java
deleted file mode 100644
index 4b491cc..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenInNewWindowAction.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * Opens a new window. The initial perspective
- * for the new window will be the same type as
- * the active perspective in the window which this
- * action is running in. The default input for the 
- * new window's page is the workspace root.
- */
-public class OpenInNewWindowAction extends Action {
-	private IWorkbenchWindow workbenchWindow;
-	private IAdaptable pageInput;
-
-	/**
-	 * Creates a new <code>OpenInNewWindowAction</code>. Sets
-	 * the new window page's input to be the workspace root
-	 * by default.
-	 * 
-	 * @param window the workbench window containing this action
-	 */
-	public OpenInNewWindowAction(IWorkbenchWindow window) {
-		this(window, WorkbenchPlugin.getPluginWorkspace().getRoot());
-	}
-
-	/**
-	 * Creates a new <code>OpenInNewWindowAction</code>.
-	 * 
-	 * @param window the workbench window containing this action
-	 * @param input the input for the new window's page
-	 */
-	public OpenInNewWindowAction(IWorkbenchWindow window, IAdaptable input) {
-		super(WorkbenchMessages.getString("OpenInNewWindowAction.text")); //$NON-NLS-1$
-		setToolTipText(WorkbenchMessages.getString("OpenInNewWindowAction.toolTip")); //$NON-NLS-1$
-		workbenchWindow = window;
-		pageInput = input;
-		WorkbenchHelp.setHelp(this,IHelpContextIds.OPEN_NEW_WINDOW_ACTION);
-	}
-
-	/**
-	 * Set the input to use for the new window's page.
-	 */
-	public void setPageInput(IAdaptable input) {
-		pageInput = input;
-	}
-	
-	/**
-	 * The implementation of this <code>IAction</code> method
-	 * opens a new window. The initial perspective
-	 * for the new window will be the same type as
-	 * the active perspective in the window which this
-	 * action is running in.
-	 */
-	public void run() {
-		try {
-			String perspId;
-			
-			IWorkbenchPage page = workbenchWindow.getActivePage();
-			if (page != null && page.getPerspective() != null)
-				perspId = page.getPerspective().getId();
-			else
-				perspId = workbenchWindow.getWorkbench().getPerspectiveRegistry().getDefaultPerspective();
-
-			workbenchWindow.getWorkbench().openWorkbenchWindow(perspId, pageInput);
-		} catch (WorkbenchException e) {
-			ErrorDialog.openError(
-				workbenchWindow.getShell(),
-				WorkbenchMessages.getString("OpenInNewWindowAction.errorTitle"), //$NON-NLS-1$,
-				e.getMessage(),
-				e.getStatus());
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenNewPageMenu.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenNewPageMenu.java
deleted file mode 100644
index 34fdddd..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenNewPageMenu.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * A menu for page creation in the workbench.  
- * <p>
- * An <code>OpenNewPageMenu</code> is used to populate a menu with
- * "Open Page" actions.  One item is added for each shortcut perspective,
- * as defined by the product ini.  If the user selects one of these items a new page is 
- * created in the workbench with the given perspective.  
- * </p><p>
- * The visible perspectives within the menu may also be updated dynamically to
- * reflect user preference.
- * </p><p>
- * The input for the page is determined by the value of <code>pageInput</code>.
- * The input should be passed into the constructor of this class or set using
- * the <code>setPageInput</code> method.
- * </p><p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * @deprecated Workbench no longer exposes the concept of "pages" in the
- * 		user ui model. See IWorkbench.showPerspective methods.
- */
-public class OpenNewPageMenu extends PerspectiveMenu {
-	private IAdaptable pageInput;
-/**
- * Constructs a new instance of <code>OpenNewPageMenu</code>. 
- * <p>
- * If this method is used be sure to set the page input by invoking
- * <code>setPageInput</code>.  The page input is required when the user
- * selects an item in the menu.  At that point the menu will attempt to
- * open a new page with the selected perspective and page input.  If there
- * is no page input an error dialog will be opened.
- * </p>
- *
- * @param window the window where a new page is created if an item within
- *		the menu is selected
- */
-public OpenNewPageMenu(IWorkbenchWindow window) {
-	this(window, null);
-}
-/**
- * Constructs a new instance of <code>OpenNewPageMenu</code>.  
- *
- * @param window the window where a new page is created if an item within
- *		the menu is selected
- * @param input the page input
- */
-public OpenNewPageMenu(IWorkbenchWindow window, IAdaptable input) {
-	super(window, "Open New Page Menu");//$NON-NLS-1$
-	this.pageInput = input;
-}
-/* (non-Javadoc)
- * Opens a new page with a particular perspective and input.
- */
-protected void run(IPerspectiveDescriptor desc) {
-	// Verify page input.
-	if (pageInput == null) {
-		MessageDialog.openError(getWindow().getShell(), WorkbenchMessages.getString("OpenNewPageMenu.dialogTitle"), //$NON-NLS-1$
-			WorkbenchMessages.getString("OpenNewPageMenu.unknownPageInput")); //$NON-NLS-1$
-		return;
-	}
-
-	// Open the page.
-	try {
-		getWindow().openPage(desc.getId(), pageInput);
-	} catch (WorkbenchException e) {
-		MessageDialog.openError(getWindow().getShell(), WorkbenchMessages.getString("OpenNewPageMenu.dialogTitle"), //$NON-NLS-1$
-			e.getMessage());
-	}
-}
-/**
- * Sets the page input.  
- *
- * @param input the page input
- */
-public void setPageInput(IAdaptable input) {
-	pageInput = input;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenNewWindowMenu.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenNewWindowMenu.java
deleted file mode 100644
index 702caf2..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenNewWindowMenu.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * A menu for window creation in the workbench.  
- * <p>
- * An <code>OpenNewWindowMenu</code> is used to populate a menu with
- * "Open Window" actions.  One item is added for each shortcut perspective,
- * as defined by the product ini.  If the user selects one of these items a new window is 
- * created in the workbench with the given perspective.  
- * </p><p>
- * The visible perspectives within the menu may also be updated dynamically to
- * reflect user preference.
- * </p><p>
- * The input for the page is determined by the value of <code>pageInput</code>.
- * The input should be passed into the constructor of this class or set using
- * the <code>setPageInput</code> method.
- * </p><p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * @deprecated See IWorkbench.showPerspective methods.
- */
-public class OpenNewWindowMenu extends PerspectiveMenu {
-	private IAdaptable pageInput;
-/**
- * Constructs a new instance of <code>OpenNewPageMenu</code>. 
- * <p>
- * If this method is used be sure to set the page input by invoking
- * <code>setPageInput</code>.  The page input is required when the user
- * selects an item in the menu.  At that point the menu will attempt to
- * open a new page with the selected perspective and page input.  If there
- * is no page input an error dialog will be opened.
- * </p>
- *
- * @param window the window where a new page is created if an item within
- *		the menu is selected
- */
-public OpenNewWindowMenu(IWorkbenchWindow window) {
-	this(window, null);
-}
-/**
- * Constructs a new instance of <code>OpenNewPageMenu</code>.  
- *
- * @param window the window where a new page is created if an item within
- *		the menu is selected
- * @param input the page input
- */
-public OpenNewWindowMenu(IWorkbenchWindow window, IAdaptable input) {
-	super(window, "Open New Page Menu");//$NON-NLS-1$
-	this.pageInput = input;
-}
-/* (non-Javadoc)
- * Opens a new window with a particular perspective and input.
- */
-protected void run(IPerspectiveDescriptor desc) {
-	// Verify page input.
-	if (pageInput == null) {
-		MessageDialog.openError(getWindow().getShell(), WorkbenchMessages.getString("OpenNewWindowMenu.dialogTitle"), //$NON-NLS-1$
-			WorkbenchMessages.getString("OpenNewWindowMenu.unknownInput")); //$NON-NLS-1$
-		return;
-	}
-
-	// Open the page.
-	try {
-		getWindow().getWorkbench().openWorkbenchWindow(desc.getId(), pageInput);
-	} catch (WorkbenchException e) {
-		MessageDialog.openError(getWindow().getShell(), WorkbenchMessages.getString("OpenNewWindowMenu.dialogTitle"), //$NON-NLS-1$
-			e.getMessage());
-	}
-}
-/**
- * Sets the page input.  
- *
- * @param input the page input
- */
-public void setPageInput(IAdaptable input) {
-	pageInput = input;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenPerspectiveMenu.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenPerspectiveMenu.java
deleted file mode 100644
index f2cf8bc..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenPerspectiveMenu.java
+++ /dev/null
@@ -1,162 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * A menu for window creation in the workbench.  
- * <p>
- * An <code>OpenPerspectiveMenu</code> is used to populate a menu with
- * actions that will open a new perspective. If the user selects one of 
- * these items either a new page is added to the workbench, a new 
- * workbench window is created with the chosen perspective or the current
- * perspective will be replaced with the new onw.
- * </p><p>
- * The visible perspectives within the menu may also be updated dynamically to
- * reflect user preference.
- * </p><p>
- * The input for the page is determined by the value of <code>pageInput</code>.
- * The input should be passed into the constructor of this class or set using
- * the <code>setPageInput</code> method.
- * </p><p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * @deprecated  See IWorkbench.showPerspective methods.
- */
-public class OpenPerspectiveMenu extends PerspectiveMenu {
-	private IAdaptable pageInput;
-	private IMenuManager parentMenuManager;
-	private boolean replaceEnabled = true;
-	private IWorkbenchWindow window;
-	private IPerspectiveRegistry reg;
-
-	private static String PAGE_PROBLEMS_TITLE = WorkbenchMessages.getString("OpenPerspectiveMenu.pageProblemsTitle"); //$NON-NLS-1$
-	private static String PAGE_PROBLEMS_MESSAGE = WorkbenchMessages.getString("OpenPerspectiveMenu.errorUnknownInput"); //$NON-NLS-1$
-/**
- * Constructs a new menu.
- */
-public OpenPerspectiveMenu(IMenuManager menuManager, IWorkbenchWindow window) {
-	this(window);
-	this.parentMenuManager = menuManager;
-}
-/**
- * Constructs a new instance of <code>OpenNewPageMenu</code>. 
- * <p>
- * If this method is used be sure to set the page input by invoking
- * <code>setPageInput</code>.  The page input is required when the user
- * selects an item in the menu.  At that point the menu will attempt to
- * open a new page with the selected perspective and page input.  If there
- * is no page input an error dialog will be opened.
- * </p>
- *
- * @param window the window where a new page is created if an item within
- *		the menu is selected
- */
-public OpenPerspectiveMenu(IWorkbenchWindow window) {
-	this(window, null);
-	showActive(true);
-}
-/**
- * Constructs a new instance of <code>OpenNewPageMenu</code>.  
- *
- * @param window the window where a new page is created if an item within
- *		the menu is selected
- * @param input the page input
- */
-public OpenPerspectiveMenu(IWorkbenchWindow window, IAdaptable input) {
-	super(window, "Open New Page Menu");//$NON-NLS-1$
-	this.pageInput = input;
-}
-/**
- * Return whether or not the menu can be run. Answer true unless the current perspective
- * is replace and the replaceEnabled flag is false.
- * @return String
- */
-private boolean canRun() {
-	if (openPerspectiveSetting()
-		.equals(IWorkbenchPreferenceConstants.OPEN_NEW_PERSPECTIVE))
-		return replaceEnabled;
-	return true;
-}
-/**
- * Return the current perspective setting.
- * @return String
- */
-private String openPerspectiveSetting() {
-	
-	AbstractUIPlugin uiPlugin =
-			(AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-	return uiPlugin.getPreferenceStore().getString(
-		IWorkbenchPreferenceConstants.OPEN_NEW_PERSPECTIVE);
-}
-/**
- * Runs an action for a particular perspective. Opens the perspective supplied
- * in a new window or a new page depending on the workbench preference.
- *
- * @param desc the selected perspective
- */
-protected void run(IPerspectiveDescriptor desc) {
-	openPage(desc, 0);
-}
-/**
- * Runs an action for a particular perspective. Check for shift or control events
- * to decide which event to run.
- *
- * @param desc the selected perspective
- * @param event the event sent along with the selection callback
- */
-protected void run(IPerspectiveDescriptor desc, SelectionEvent event) {
-	openPage(desc, event.stateMask);
-}
-/* (non-Javadoc)
- * Opens a new page with a particular perspective and input.
- */
-private void openPage(IPerspectiveDescriptor desc, int keyStateMask) {
-	// Verify page input.
-	if (pageInput == null) {
-		MessageDialog.openError(
-			getWindow().getShell(),
-			PAGE_PROBLEMS_TITLE,
-			PAGE_PROBLEMS_MESSAGE);
-		return;
-	}
-
-	// Open the page.
-	try {
-		getWindow().getWorkbench().showPerspective(desc.getId(), getWindow(), pageInput);
-	} catch (WorkbenchException e) {
-		MessageDialog.openError(
-			getWindow().getShell(),
-			PAGE_PROBLEMS_TITLE,
-			e.getMessage());
-	}
-}
-/**
- * Sets the page input.  
- *
- * @param input the page input
- */
-public void setPageInput(IAdaptable input) {
-	pageInput = input;
-}
-/**
- * Set whether replace menu item is enabled within its parent menu.
- */
-public void setReplaceEnabled(boolean isEnabled) {
-	if (replaceEnabled != isEnabled) {
-		replaceEnabled = isEnabled;
-		if (canRun() && parentMenuManager != null)
-			parentMenuManager.update(true);
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenResourceAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenResourceAction.java
deleted file mode 100644
index fa0602f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenResourceAction.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * Standard action for opening the currently selected project(s).
- * <p>
- * Note that there is a different action for opening an editor on file resources:
- * <code>OpenFileAction</code>.
- * </p>
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class OpenResourceAction extends WorkspaceAction implements IResourceChangeListener {
-
-	/**
-	 * The id of this action.
-	 */
-	public static final String ID = PlatformUI.PLUGIN_ID + ".OpenResourceAction"; //$NON-NLS-1$
-	/**
-	 * Creates a new action.
-	 *
-	 * @param shell the shell for any dialogs
-	 */
-	public OpenResourceAction(Shell shell) {
-		super(shell, WorkbenchMessages.getString("OpenResourceAction.text")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IHelpContextIds.OPEN_RESOURCE_ACTION);
-		setToolTipText(WorkbenchMessages.getString("OpenResourceAction.toolTip")); //$NON-NLS-1$
-		setId(ID);
-	}
-	/* (non-Javadoc)
-	 * Method declared on WorkspaceAction.
-	 */
-	String getOperationMessage() {
-		return ""; //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * Method declared on WorkspaceAction.
-	 */
-	String getProblemsMessage() {
-		return WorkbenchMessages.getString("OpenResourceAction.problemMessage"); //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * Method declared on WorkspaceAction.
-	 */
-	String getProblemsTitle() {
-		return WorkbenchMessages.getString("OpenResourceAction.dialogTitle"); //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * Method declared on WorkspaceAction.
-	 */
-	void invokeOperation(IResource resource, IProgressMonitor monitor) throws CoreException {
-		((IProject) resource).open(monitor);
-	}
-	/* (non-Javadoc)
-	 * Method declared on WorkspaceAction.
-	 */
-	boolean shouldPerformResourcePruning() {
-		return false;
-	}
-	/**
-	 * The <code>OpenResourceAction</code> implementation of this
-	 * <code>SelectionListenerAction</code> method ensures that this action is
-	 * enabled only if one of the selections is a closed project.
-	 */
-	protected boolean updateSelection(IStructuredSelection s) {
-		// don't call super since we want to enable if closed project is selected.
-
-		if (!selectionIsOfType(IResource.PROJECT))
-			return false;
-
-		Iterator resources = getSelectedResources().iterator();
-		while (resources.hasNext()) {
-			IProject currentResource = (IProject) resources.next();
-			if (!currentResource.isOpen()) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Handles a resource changed event by updating the enablement
-	 * if one of the selected projects is opened or closed.
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		// Warning: code duplicated in CloseResourceAction
-		List sel = getSelectedResources();
-		// don't bother looking at delta if selection not applicable
-		if (selectionIsOfType(IResource.PROJECT)) {
-			IResourceDelta delta = event.getDelta();
-			if (delta != null) {
-				IResourceDelta[] projDeltas = delta.getAffectedChildren(IResourceDelta.CHANGED);
-				for (int i = 0; i < projDeltas.length; ++i) {
-					IResourceDelta projDelta = projDeltas[i];
-					if ((projDelta.getFlags() & IResourceDelta.OPEN) != 0) {
-						if (sel.contains(projDelta.getResource())) {
-							selectionChanged(getStructuredSelection());
-							return;
-						}
-					}
-				}
-			}
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenSystemEditorAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenSystemEditorAction.java
deleted file mode 100644
index 15d8db6..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenSystemEditorAction.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.misc.Assert;
-import org.eclipse.ui.internal.dialogs.DialogUtil;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import java.util.Iterator;
-
-/**
- * Standard action for opening a system editor on the currently selected file 
- * resource.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class OpenSystemEditorAction extends SelectionListenerAction  {
-
-	/**
-	 * The id of this action.
-	 */
-	public static final String ID = PlatformUI.PLUGIN_ID + ".OpenSystemEditorAction";//$NON-NLS-1$
-	
-	/**
-	 * The workbench page to open the editor in.
-	 */
-	private IWorkbenchPage workbenchPage;
-/**
- * Creates a new action that will open system editors on the then-selected file 
- * resources.
- *
- * @param page the workbench page in which to open the editor
- */
-public OpenSystemEditorAction(IWorkbenchPage page) {
-	super(WorkbenchMessages.getString("OpenSystemEditorAction.text")); //$NON-NLS-1$
-	setToolTipText(WorkbenchMessages.getString("OpenSystemEditorAction.toolTip")); //$NON-NLS-1$
-	setId(ID);
-	WorkbenchHelp.setHelp(this, IHelpContextIds.OPEN_SYSTEM_EDITOR_ACTION);
-	Assert.isNotNull(page);
-	this.workbenchPage = page;
-}
-/**
- * Return the workbench page to open the editor in.
- *
- * @return the workbench page to open the editor in
- */
-IWorkbenchPage getWorkbenchPage() {
-	return workbenchPage;
-}
-/**
- * Opens a system editor on the given file resource.
- *
- * @param file the file resource
- */
-void openFile(IFile file) {
-	if (getWorkbenchPage() == null) {
-		IStatus status = new Status(IStatus.ERROR, WorkbenchPlugin.PI_WORKBENCH, 1, WorkbenchMessages.getString("OpenSystemEditorAction.pageError"), null); //$NON-NLS-1$
-		WorkbenchPlugin.log(WorkbenchMessages.getString("OpenSystemEditorAction.logTitle"), status); //$NON-NLS-1$
-		return;
-	}
-	try {
-		getWorkbenchPage().openSystemEditor(file);
-	} catch (PartInitException e) {
-		DialogUtil.openError(
-			getWorkbenchPage().getWorkbenchWindow().getShell(),
-			WorkbenchMessages.getString("OpenSystemEditorAction.dialogTitle"), //$NON-NLS-1$
-			e.getMessage(),
-			e);
-	}
-}
-/* (non-Javadoc)
- * Method declared on IAction.
- */
-public void run() {
-	Iterator enum = getSelectedResources().iterator();
-	while (enum.hasNext()) {
-		IResource resource = (IResource) enum.next();
-		if (resource instanceof IFile)
-			openFile((IFile) resource);
-	}
-}
-/**
- * The <code>OpenSystemEditorAction</code> implementation of this
- * <code>SelectionListenerAction</code> method enables the action only
- * if the selection contains just file resources.
- */
-protected boolean updateSelection(IStructuredSelection selection) {
-	return super.updateSelection(selection) && selectionIsOfType(IResource.FILE);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenWithMenu.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenWithMenu.java
deleted file mode 100644
index 0637e0a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenWithMenu.java
+++ /dev/null
@@ -1,269 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.text.Collator;
-import java.util.Hashtable;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.IWorkbenchConstants;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.dialogs.DialogUtil;
-import org.eclipse.ui.internal.misc.Sorter;
-import org.eclipse.ui.internal.registry.EditorDescriptor;
-import org.eclipse.ui.internal.registry.EditorRegistry;
-
-/**
- * A menu for opening files in the workbench.
- * <p>
- * An <code>OpenWithMenu</code> is used to populate a menu with
- * "Open With" actions.  One action is added for each editor which is applicable
- * to the selected file. If the user selects one of these items, the corresponding
- * editor is opened on the file.
- * </p>
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */ 
-public class OpenWithMenu extends ContributionItem {
-	private IWorkbenchPage page;
-	private IAdaptable file;
-	private EditorRegistry registry = (EditorRegistry) PlatformUI.getWorkbench().getEditorRegistry();
-
-	private static Hashtable imageCache = new Hashtable(11);
-	 
-	/**
-	 * The id of this action.
-	 */
-	public static final String ID = PlatformUI.PLUGIN_ID + ".OpenWithMenu";//$NON-NLS-1$
-
-
-	private Sorter sorter = new Sorter() {
-		private Collator collator = Collator.getInstance();
-		
-		public boolean compare(Object o1, Object o2) {
-			String s1 = ((IEditorDescriptor)o1).getLabel();
-			String s2 = ((IEditorDescriptor)o2).getLabel();
-			//Return true if elementTwo is 'greater than' elementOne
-			return collator.compare(s2, s1) > 0;
-		}
-	};
-/**
- * Constructs a new instance of <code>OpenWithMenu</code>. 
- * <p>
- * If this method is used be sure to set the selected file by invoking
- * <code>setFile</code>.  The file input is required when the user
- * selects an item in the menu.  At that point the menu will attempt to
- * open an editor with the file as its input.
- * </p>
- *
- * @param page the page where the editor is opened if an item within
- *		the menu is selected
- */
-public OpenWithMenu(IWorkbenchPage page) {
-	this(page, null);
-}
-/**
- * Constructs a new instance of <code>OpenWithMenu</code>.  
- *
- * @param window the window where a new page is created if an item within
- *		the menu is selected
- * @param file the selected file
- */
-public OpenWithMenu(IWorkbenchPage page, IAdaptable file) {
-	super(ID);
-	this.page = page;
-	this.file = file;
-}
-/**
- * Returns an image to show for the corresponding editor descriptor.
- *
- * @param editorDesc the editor descriptor, or null for the system editor
- * @return the image or null
- */
-private Image getImage(IEditorDescriptor editorDesc) {
-	ImageDescriptor imageDesc = getImageDescriptor(editorDesc);
-	if (imageDesc == null) {
-		return null;
-	}
-	Image image = (Image) imageCache.get(imageDesc);
-	if (image == null) {
-		image = imageDesc.createImage();
-		imageCache.put(imageDesc, image);
-	}
-	return image;
-}
-
-
-/**
- * Returns the image descriptor for the given editor descriptor,
- * or null if it has no image.
- */
-private ImageDescriptor getImageDescriptor(IEditorDescriptor editorDesc) {
-	ImageDescriptor imageDesc = null;
-	if (editorDesc == null) {
-		imageDesc = registry.getImageDescriptor(getFileResource());
-	}
-	else {
-		imageDesc = editorDesc.getImageDescriptor();
-	}
-	if (imageDesc == null) {
-		if (editorDesc.getId().equals(IWorkbenchConstants.SYSTEM_EDITOR_ID))
-			imageDesc = registry.getSystemEditorImageDescriptor(getFileResource());
-	}
-	return imageDesc;
-}
-/**
- * Creates the menu item for the editor descriptor.
- *
- * @param menu the menu to add the item to
- * @param descriptor the editor descriptor, or null for the system editor
- * @param preferredEditor the descriptor of the preferred editor, or <code>null</code>
- */
-private void createMenuItem(Menu menu, final IEditorDescriptor descriptor, final IEditorDescriptor preferredEditor) {
-	// XXX: Would be better to use bold here, but SWT does not support it.
-	final MenuItem menuItem = new MenuItem(menu, SWT.RADIO);
-	boolean isPreferred = preferredEditor != null && descriptor.getId().equals(preferredEditor.getId());
-	menuItem.setSelection(isPreferred);
-	menuItem.setText(descriptor.getLabel());
-	Image image = getImage(descriptor);
-	if (image != null) {
-		menuItem.setImage(image);
-	}
-	Listener listener = new Listener() {
-		public void handleEvent(Event event) {
-			switch (event.type) {
-				case SWT.Selection:
-					if(menuItem.getSelection())
-						openEditor(descriptor);
-					break;
-			}
-		}
-	};
-	menuItem.addListener(SWT.Selection, listener);
-}
-/* (non-Javadoc)
- * Fills the menu with perspective items.
- */
-public void fill(Menu menu, int index) {
-	IFile file = getFileResource();
-	if (file == null) {
-		return;
-	}
-
-	IEditorDescriptor defaultEditor = registry.getDefaultEditor(); // should not be null
-	IEditorDescriptor preferredEditor = registry.getDefaultEditor(file); // may be null
-	
-	Object[] editors = sorter.sort(registry.getEditors(file));
-	boolean defaultFound = false;
-
-	for (int i = 0; i < editors.length; i++) {
-		IEditorDescriptor editor = (IEditorDescriptor) editors[i];
-		createMenuItem(menu, editor, preferredEditor);
-		if (defaultEditor != null && editor.getId().equals(defaultEditor.getId()))
-			defaultFound = true;
-	}
-
-	// Only add a separator if there is something to separate
-	if (editors.length > 0)
-		new MenuItem(menu, SWT.SEPARATOR);
-
-	// Add default editor. Check it if it is saved as the preference.
-	if (!defaultFound && defaultEditor != null) {
-		createMenuItem(menu, defaultEditor, preferredEditor);
-	}
-
-	// Add system editor.
-	IEditorDescriptor descriptor = EditorDescriptor.getSystemEditorDescriptor();
-	createMenuItem(menu, descriptor, preferredEditor);
-	createDefaultMenuItem(menu, file);
-}
-/**
- * Converts the IAdaptable file to IFile or null.
- */
-private IFile getFileResource() {
-	if (this.file instanceof IFile) {
-		return (IFile) this.file;
-	}
-	else {
-		IResource resource = (IResource) this.file.getAdapter(IResource.class);
-		if (resource instanceof IFile) {
-			return (IFile) resource;
-		}
-	}
-	return null;
-}
-/* (non-Javadoc)
- * Returns whether this menu is dynamic.
- */
-public boolean isDynamic() {
-	return true;
-}
-/**
- * Opens the given editor on the selected file.
- *
- * @param editor the editor descriptor, or null for the system editor
- */
-private void openEditor(IEditorDescriptor editor) {
-	IFile file = getFileResource();
-	try {
-		if (editor == null) {
-			page.openSystemEditor(file);
-		} else {
-			page.openEditor(file, editor.getId());
-		}
-	} catch (PartInitException e) {
-		DialogUtil.openError(
-			page.getWorkbenchWindow().getShell(),
-			WorkbenchMessages.getString("OpenWithMenu.dialogTitle"), //$NON-NLS-1$
-			e.getMessage(),
-			e);
-	}
-}
-
-/**
- * Creates the menu item for clearing the current selection.
- *
- * @param menu the menu to add the item to
- * @param file the file bing edited
- * @param registry the editor registry
- */
-private void createDefaultMenuItem(Menu menu, final IFile file) {
-	final MenuItem menuItem = new MenuItem(menu, SWT.RADIO);
-	menuItem.setSelection(registry.getDefaultEditor(file) == null);
-	menuItem.setText(WorkbenchMessages.getString("DefaultEditorDescription.name")); //$NON-NLS-1$
-	
-	Listener listener = new Listener() {
-		public void handleEvent(Event event) {
-			switch (event.type) {
-				case SWT.Selection:
-					if(menuItem.getSelection()) {
-						registry.setDefaultEditor(file,null);
-						try{
-							page.openEditor(file);
-						} catch (PartInitException e) {
-							DialogUtil.openError(
-								page.getWorkbenchWindow().getShell(),
-								WorkbenchMessages.getString("OpenWithMenu.dialogTitle"), //$NON-NLS-1$
-								e.getMessage(),
-								e);
-						}
-					}
-					break;
-			}
-		}
-	};
-	
-	menuItem.addListener(SWT.Selection, listener);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/PartEventAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/PartEventAction.java
deleted file mode 100644
index ed81a37..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/PartEventAction.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-import org.eclipse.jface.action.Action;
-
-/**
- * The abstract superclass for actions that listen to part activation and
- * open/close events. This implementation tracks the active part (see 
- * <code>getActivePart</code>) and provides a convenient place to monitor
- * part lifecycle events that could affect the availability of the action.
- * <p>
- * Subclasses must implement the following <code>IAction</code> method:
- * <ul>
- *   <li><code>run</code> - to do the action's work</li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may extend any of the <code>IPartListener</code> methods if the
- * action availablity needs to be recalculated:
- * <ul>
- *   <li><code>partActivated</code></li> 
- *   <li><code>partDeactivated</code></li>
- *   <li><code>partOpened</code></li>
- *   <li><code>partClosed</code></li>
- *   <li><code>partBroughtToTop</code></li>
- * </ul>
- * </p>
- */
-public abstract class PartEventAction extends Action implements IPartListener {
-
-	/**
-	 * The active part, or <code>null</code> if none.
-	 */
-	private IWorkbenchPart activePart;
-/**
- * Creates a new action with the given text.
- *
- * @param text the string used as the text for the action, 
- *   or <code>null</code> if there is no text
- */
-protected PartEventAction(String text) {
-	super(text);
-}
-/**
- * Returns the currently active part in the workbench.
- *
- * @return currently active part in the workbench, or <code>null</code> if none
- */
-public IWorkbenchPart getActivePart() {
-	return activePart;
-}
-/**
- * The <code>PartEventAction</code> implementation of this 
- * <code>IPartListener</code> method records that the given part is active.
- * Subclasses may extend this method if action availability has to be
- * recalculated.
- */
-public void partActivated(IWorkbenchPart part) {
-	activePart = part;
-}
-/**
- * The <code>PartEventAction</code> implementation of this 
- * <code>IPartListener</code> method does nothing. Subclasses should extend
- * this method if action availability has to be recalculated.
- */
-public void partBroughtToTop(IWorkbenchPart part) {
-}
-/**
- * The <code>PartEventAction</code> implementation of this 
- * <code>IPartListener</code> method clears the active part if it just closed.
- * Subclasses may extend this method if action availability has to be
- * recalculated.
- */
-public void partClosed(IWorkbenchPart part) {
-	if (part == activePart)
-		activePart = null;
-}
-/**
- * The <code>PartEventAction</code> implementation of this 
- * <code>IPartListener</code> method records that there is no active part.
- * Subclasses may extend this method if action availability has to be
- * recalculated.
- */
-public void partDeactivated(IWorkbenchPart part) {
-	activePart = null;
-}
-/**
- * The <code>PartEventAction</code> implementation of this 
- * <code>IPartListener</code> method does nothing. Subclasses should extend
- * this method if action availability has to be recalculated.
- */
-public void partOpened(IWorkbenchPart part) {
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/PerspectiveMenu.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/PerspectiveMenu.java
deleted file mode 100644
index 28628c7..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/PerspectiveMenu.java
+++ /dev/null
@@ -1,350 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.dialogs.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.Image;
-import java.text.Collator;
-import java.util.*;
-import java.util.List;
-
-/**
- * A menu for perspective selection.  
- * <p>
- * A <code>PerspectiveMenu</code> is used to populate a menu with
- * perspective shortcut items.  If the user selects one of these items 
- * an action is performed for the selected perspective.
- * </p><p>
- * The visible perspective items within the menu are dynamic and reflect the
- * available set generated by each subclass. The default available set consists
- * of a limited combination of the perspective shortcut list of the current
- * perspective, and the most recently used perspective list.
- * </p><p>
- * This class is abstract.  Subclasses must implement the <code>run</code> method,
- * which performs a specialized action for the selected perspective.
- * </p>
- */
-public abstract class PerspectiveMenu extends ContributionItem {
-	private static final int MAX_PERSPECTIVE_ITEMS = 9;
-	private static IPerspectiveRegistry reg;
-
-	private IWorkbenchWindow window;
-	private boolean showActive = false;
-	private boolean dirty = true;
-	private IMenuListener menuListener = new IMenuListener() {
-		public void menuAboutToShow(IMenuManager manager) {
-			manager.markDirty();
-			dirty = true;
-		}
-	};
-
-	private Comparator comparator = new Comparator() {
-		private Collator collator = Collator.getInstance();
-
-		public int compare(Object ob1, Object ob2) {
-			IPerspectiveDescriptor d1 = (IPerspectiveDescriptor) ob1;
-			IPerspectiveDescriptor d2 = (IPerspectiveDescriptor) ob2;
-			return collator.compare(d1.getLabel(), d2.getLabel());
-		}
-	};
-	
-	private static Hashtable imageCache = new Hashtable(11);
-
-	/**
-	 * Constructs a new instance of <code>PerspectiveMenu</code>.  
-	 *
-	 * @param window the window containing this menu
-	 * @param id the menu id
-	 */
-	public PerspectiveMenu(IWorkbenchWindow window, String id) {
-		super(id);
-		this.window = window;
-		if (reg == null)
-			reg = PlatformUI.getWorkbench().getPerspectiveRegistry();
-	}
-	
-	/* (non-Javadoc)
-	 * Creates a menu item for a perspective.
-	 */
-	/* package */
-	void createMenuItem(
-		Menu menu,
-		int index,
-		final IPerspectiveDescriptor desc,
-		boolean bCheck) {
-			
-		MenuItem mi = new MenuItem(menu, bCheck ? SWT.RADIO : SWT.PUSH, index);
-		mi.setText(desc.getLabel());
-		Image image = getImage(desc);
-		if (image != null) {
-			mi.setImage(image);
-		}
-		mi.setSelection(bCheck);
-		mi.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				run(desc, e);
-			}
-		});
-	}
-	
-	/* (non-Javadoc)
-	 * Creates a menu item for "Other...".
-	 */
-	/* package */
-	void createOtherItem(Menu menu, int index) {
-		MenuItem mi = new MenuItem(menu, SWT.PUSH, index);
-		mi.setText(WorkbenchMessages.getString("PerspectiveMenu.otherItem"));  //$NON-NLS-1$
-		mi.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				runOther(e);
-			}
-		});
-	}
-	
-	/* (non-Javadoc)
-	 * Fills the menu with perspective items.
-	 */
-	public void fill(Menu menu, int index) {
-
-		if(getParent() instanceof MenuManager)
-			((MenuManager)getParent()).addMenuListener(menuListener);
-		
-		if(!dirty)
-			return;
-			
-		String checkID = null;
-		if (showActive) {
-			IWorkbenchPage activePage = window.getActivePage();
-			if ((activePage != null) && (activePage.getPerspective() != null))
-				checkID = activePage.getPerspective().getId();
-		}
-
-		// Collect and sort perspective items.
-		ArrayList persps = getPerspectiveItems();
-		Collections.sort(persps, comparator);
-
-		// Add perspective shortcut
-		for (int i = 0; i < persps.size(); i++) {
-			IPerspectiveDescriptor desc = (IPerspectiveDescriptor) persps.get(i);
-			createMenuItem(menu, index++, desc, desc.getId().equals(checkID));
-		}
-
-		// Add others item..
-		if (persps.size() > 0) {
-			new MenuItem(menu, SWT.SEPARATOR, index++);
-		}
-		createOtherItem(menu, index);
-		dirty = false;
-	}
-	
-	/**
-	 * Returns an image to show for the corresponding perspective descriptor.
-	 *
-	 * @param perspDesc the perspective descriptor
-	 * @return the image or null
-	 */
-	private Image getImage(IPerspectiveDescriptor perspDesc) {
-		ImageDescriptor imageDesc = perspDesc.getImageDescriptor();
-		if (imageDesc == null) {
-			imageDesc =
-				WorkbenchImages.getImageDescriptor(
-					IWorkbenchGraphicConstants.IMG_CTOOL_DEF_PERSPECTIVE_HOVER);
-		}
-		if (imageDesc == null) {
-			return null;
-		}
-		Image image = (Image) imageCache.get(imageDesc);
-		if (image == null) {
-			image = imageDesc.createImage();
-			imageCache.put(imageDesc, image);
-		}
-		return image;
-	}
-	
-	/* (non-Javadoc)
-	 * Returns the perspective shortcut items for the active perspective.
-	 * 
-	 * @return a list of <code>IPerspectiveDescriptor</code> items
-	 */
-	private ArrayList getPerspectiveShortcuts() {
-		ArrayList list = new ArrayList();
-
-		IWorkbenchPage page = window.getActivePage();
-		if (page == null)
-			return list;
-
-		ArrayList ids = ((WorkbenchPage) page).getPerspectiveActionIds();
-		if (ids == null)
-			return list;
-
-		for (int i = 0; i < ids.size(); i++) {
-			String perspID = (String) ids.get(i);
-			IPerspectiveDescriptor desc = reg.findPerspectiveWithId(perspID);
-			if (desc != null && !list.contains(desc))
-				list.add(desc);
-		}
-
-		return list;
-	}
-	
-	/* (non-Javadoc)
-	 * Gets the most recently used (MRU) shortcut perspectives
-	 * (<code>IPerspectiveDescriptor</code> items)
-	 * <p>
-	 * The list is formed from the global perspective history
-	 * in the workbench.
-	 * </p>
-	 * @param dest destination list to contain the items
-	 * @param destStart index in destination list to start copying items at
-	 * @param count number of items to copy from history
-	 * @return the number of items actually copied
-	 */
-	private int getPerspectiveMru(List dest, int destStart, int count) {
-		Workbench wb = (Workbench) WorkbenchPlugin.getDefault().getWorkbench();
-		return wb.getPerspectiveHistory().copyItems(dest, destStart, count);
-	}
-	
-	/**
-	 * Returns the available list of perspectives to display
-	 * in the menu.
-	 * <p>
-	 * By default, the list contains the perspective shortcuts
-	 * for the current perspective, the most recently used
-	 * perspectives, and the default perspective.
-	 * </p><p>
-	 * Subclasses can override this method to return a different list.
-	 * Care should be taken to keep this list to a minimum (7 +/- 2 items
-	 * is a good guideline to follow).
-	 * </p>
-	 * 
-	 * @return an <code>ArrayList<code> of perspective items <code>IPerspectiveDescriptor</code>
-	 */
-	protected ArrayList getPerspectiveItems() {
-		/* Allow the user to see all the perspectives they have 
-	 	 * selected via Customize Perspective. Bugzilla bug #23445 */
-		ArrayList shortcuts = getPerspectiveShortcuts();		
-		int emptySlots = shortcuts.size();
-		if (emptySlots < MAX_PERSPECTIVE_ITEMS)
-			emptySlots = MAX_PERSPECTIVE_ITEMS;
-		ArrayList list = new ArrayList(emptySlots);
-
-		// Add default perspective.
-		String id = reg.getDefaultPerspective();
-		IPerspectiveDescriptor desc = reg.findPerspectiveWithId(id);
-		if (desc != null) {
-			list.add(desc);
-			emptySlots--;
-		}
-
-		// Add perspective shortcuts from the active perspective
-		int size = shortcuts.size();
-		for (int i = 0; i < size && emptySlots > 0; i++) {
-			if (!list.contains(shortcuts.get(i))) {
-				list.add(shortcuts.get(i));
-				emptySlots--;
-			}
-		}
-
-		// Add perspectives from MRU list
-		if (emptySlots > 0) {
-			ArrayList mru = new ArrayList(MAX_PERSPECTIVE_ITEMS);
-			int count = getPerspectiveMru(mru, 0, MAX_PERSPECTIVE_ITEMS);
-			for (int i = 0; i < count && emptySlots > 0; i++) {
-				if (!list.contains(mru.get(i))) {
-					list.add(mru.get(i));
-					emptySlots--;
-				}
-			}
-		}
-				
-
-		return list;
-	}
-
-	/**
-	 * Returns whether the menu item representing the active perspective
-	 * will have a check mark.
-	 *
-	 * @return <code>true</code> if a check mark is shown, <code>false</code> otherwise
-	 */
-	protected boolean getShowActive() {
-		return showActive;
-	}
-	
-	/**
-	 * Returns the window for this menu.
-	 *
-	 * @returns the window 
-	 */
-	protected IWorkbenchWindow getWindow() {
-		return window;
-	}
-	/* (non-Javadoc)
-	 * Returns whether this menu is dynamic.
-	 */
-	public boolean isDirty() {
-		return dirty;
-	}	
-	/* (non-Javadoc)
-	 * Returns whether this menu is dynamic.
-	 */
-	public boolean isDynamic() {
-		return true;
-	}
-	/**
-	 * Runs an action for a particular perspective.  The behavior of the
-	 * action is defined by the subclass.
-	 *
-	 * @param desc the selected perspective
-	 */
-	protected abstract void run(IPerspectiveDescriptor desc);
-	
-	/**
-	 * Runs an action for a particular perspective.  The behavior of the
-	 * action is defined by the subclass.
-	 *
-	 * @param desc the selected perspective
-	 * @param event SelectionEvent - the event send along with the selection callback
-	 */
-	protected void run(IPerspectiveDescriptor desc, SelectionEvent event) {
-		//Do a run without the event by default
-		run(desc);
-	}
-	
-	/* (non-Javadoc)
-	 * Show the "other" dialog, select a perspective, and run it. Pass on the selection
-	 * event should the meny need it.
-	 */
-	void runOther(SelectionEvent event) {
-		SelectPerspectiveDialog dlg =
-			new SelectPerspectiveDialog(window.getShell(), reg);
-		dlg.open();
-		if (dlg.getReturnCode() == Window.CANCEL)
-			return;
-		IPerspectiveDescriptor desc = dlg.getSelection();
-		if (desc != null) {
-			run(desc, event);
-		}
-	}
-	
-	/**
-	 * Sets the showActive flag.  If <code>showActive == true</code> then the
-	 * active perspective is hilighted with a check mark.
-	 *
-	 * @param the new showActive flag
-	 */
-	protected void showActive(boolean b) {
-		showActive = b;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ReadOnlyStateChecker.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ReadOnlyStateChecker.java
deleted file mode 100644
index 13ea237..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ReadOnlyStateChecker.java
+++ /dev/null
@@ -1,206 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.ui.actions.*;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.jface.dialogs.*;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.text.MessageFormat;
-
-/**
- * The ReadOnlyStateChecker is a helper class that takes a set of resource
- * some of which may be read only and queries the user as to whether or
- * not they wish to continue the operation on it.
- */
-public class ReadOnlyStateChecker {
-	private Shell shell;
-	private String titleMessage;
-	private String mainMessage;
-	private boolean yesToAllSelected = false;
-	private boolean cancelSelected = false;
-
-	private String READ_ONLY_EXCEPTION_MESSAGE = WorkbenchMessages.getString("ReadOnlyCheck.problems"); //$NON-NLS-1$
-	
-/**
- * Create a new checker that parents the dialog off of parent using the supplied
- * title and message.
- * @param parent the shell used for dialogs
- * @param title the title for dialogs
- * @param message the message for a dialog - this will be prefaced with the name of the resource.
- */
-public ReadOnlyStateChecker(Shell parent, String title, String message) {
-	this.shell = parent;
-	this.titleMessage = title;
-	this.mainMessage = message;
-}
-/**
- * Check an individual resource to see if it passed the read only query. If it is a file
- * just add it, otherwise it is a container and the children need to be checked too.
- * Return true if all items are selected and false if any are skipped.
- */
-private boolean checkAcceptedResource(
-	IResource resourceToCheck,
-	List selectedChildren)
-	throws CoreException {
-
-	if (resourceToCheck.getType() == IResource.FILE)
-		selectedChildren.add(resourceToCheck);
-	else {
-		//Now check below
-		int childCheck =
-			checkReadOnlyResources(
-				((IContainer) resourceToCheck).members(),
-				selectedChildren);
-		//Add in the resource only if nothing was left out
-		if (childCheck == IDialogConstants.YES_TO_ALL_ID)
-			selectedChildren.add(resourceToCheck);
-		else //Something was left out - return false
-			return false;
-	}
-	return true;
-
-}
-/**
- * Check the supplied resources to see if they are read only. If so then prompt
- * the user to see if they can be deleted.Return those that were accepted.
- * @return the resulting selected resources
- */
-/*package*/
-public IResource[] checkReadOnlyResources(IResource[] itemsToCheck) {
-
-	List selections = new ArrayList();
-	int result = IDialogConstants.CANCEL_ID;
-	try {
-		result = checkReadOnlyResources(itemsToCheck, selections);
-	} catch (final CoreException exception) {
-		shell.getDisplay().syncExec(new Runnable() {
-			public void run() {
-				ErrorDialog.openError(
-					shell,
-					READ_ONLY_EXCEPTION_MESSAGE,
-					null,
-					exception.getStatus());
-			}
-		});
-	}
-
-	if (result == IDialogConstants.CANCEL_ID)
-		return new IResource[0];
-
-	//All were selected so return the original items
-	if (result == IDialogConstants.YES_TO_ALL_ID)
-		return itemsToCheck;
-
-
-	IResource[] returnValue = new IResource[selections.size()];
-	selections.toArray(returnValue);
-	return returnValue;
-}
-/**
- * Check the children of the container to see if they are read only.
- * @return int
- * one of
- * 	YES_TO_ALL_ID - all elements were selected
- * 	NO_ID - No was hit at some point
- * 	CANCEL_ID - cancel was hit
- * @param itemsToCheck IResource[]
- * @param allSelected the List of currently selected resources to add to.
- */
-private int checkReadOnlyResources(IResource[] itemsToCheck, List allSelected)
-	throws CoreException {
-
-	//Shortcut. If the user has already selected yes to all then just return it
-	if (yesToAllSelected)
-		return IDialogConstants.YES_TO_ALL_ID;
-		
-	boolean noneSkipped = true;
-	List selectedChildren = new ArrayList();
-
-	for (int i = 0; i < itemsToCheck.length; i++) {
-		IResource resourceToCheck = itemsToCheck[i];
-		if (!yesToAllSelected && resourceToCheck.isReadOnly()) {
-			int action = queryYesToAllNoCancel(resourceToCheck);
-			if (action == IDialogConstants.YES_ID) {
-				boolean childResult = checkAcceptedResource(resourceToCheck, selectedChildren);
-				if (!childResult)
-					noneSkipped = false;
-			}
-			if (action == IDialogConstants.NO_ID)
-				noneSkipped = false;
-			if (action == IDialogConstants.CANCEL_ID) {
-				cancelSelected = true;
-				return IDialogConstants.CANCEL_ID;
-			}
-			if (action == IDialogConstants.YES_TO_ALL_ID) {
-				yesToAllSelected = true;
-				selectedChildren.add(resourceToCheck);
-			}
-		} else {
-			boolean childResult = checkAcceptedResource(resourceToCheck, selectedChildren);
-			if (cancelSelected)
-				return IDialogConstants.CANCEL_ID;
-			if (!childResult)
-				noneSkipped = false;
-		}
-
-	}
-
-	if (noneSkipped)
-		return IDialogConstants.YES_TO_ALL_ID;
-	else {
-		allSelected.addAll(selectedChildren);
-		return IDialogConstants.NO_ID;
-	}
-
-}
-/**
- * Open a message dialog with Yes No, Yes To All and Cancel buttons. Return the
- * code that indicates the selection.
- * @return int 
- *	one of
- *		YES_TO_ALL_ID
- *		YES_ID
- *		NO_ID
- *		CANCEL_ID
- * 		
- * @param resource - the resource being queried.
- */
-private int queryYesToAllNoCancel(IResource resource) {
-
-	final MessageDialog dialog =
-		new MessageDialog(
-			this.shell,
-			this.titleMessage,
-			null,
-			MessageFormat.format(this.mainMessage, new Object[] {resource.getName()}),
-			MessageDialog.QUESTION,
-			new String[] {
-				IDialogConstants.YES_LABEL,
-				IDialogConstants.YES_TO_ALL_LABEL,
-				IDialogConstants.NO_LABEL,
-				IDialogConstants.CANCEL_LABEL },
-			0);
-	shell.getDisplay().syncExec(new Runnable() {
-		public void run() {
-			dialog.open();
-		}
-	});
-	int result = dialog.getReturnCode();
-	if (result == 0)
-		return IDialogConstants.YES_ID;
-	if (result == 1)
-		return IDialogConstants.YES_TO_ALL_ID;
-	if (result == 2)
-		return IDialogConstants.NO_ID;
-	return IDialogConstants.CANCEL_ID;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/RefreshAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/RefreshAction.java
deleted file mode 100644
index ea99861..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/RefreshAction.java
+++ /dev/null
@@ -1,152 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * Standard action for refreshing the workspace from the local file system for
- * the selected resources and all of their descendents.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class RefreshAction extends WorkspaceAction {
-
-	/**
-	 * The id of this action.
-	 */
-	public static final String ID = PlatformUI.PLUGIN_ID + ".RefreshAction";//$NON-NLS-1$
-/**
- * Creates a new action.
- *
- * @param shell the shell for any dialogs
- */
-public RefreshAction(Shell shell) {
-	super(shell, WorkbenchMessages.getString("RefreshAction.text")); //$NON-NLS-1$
-	setToolTipText(WorkbenchMessages.getString("RefreshAction.toolTip")); //$NON-NLS-1$
-	setId(ID);
-	WorkbenchHelp.setHelp(this, IHelpContextIds.REFRESH_ACTION);
-}
-/**
- * Checks whether the given project's location has been deleted.
- * If so, prompts the user with whether to delete the project or not.
- */
-void checkLocationDeleted(IProject project) throws CoreException {
-	if (!project.exists())
-		return;
-	File location = project.getLocation().toFile();
-	if (!location.exists()) {
-		String message = WorkbenchMessages.format("RefreshAction.locationDeletedMessage", new Object[] {project.getName(),location.getAbsolutePath()});//$NON-NLS-1$
-		
-		final MessageDialog dialog = new MessageDialog(
-			getShell(),
-			WorkbenchMessages.getString("RefreshAction.dialogTitle"), // dialog title //$NON-NLS-1$
-			null, // use default window icon
-			message,
-			MessageDialog.QUESTION,
-			new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL},
-			0); // yes is the default
-
-		// Must prompt user in UI thread (we're in the operation thread here).
-		getShell().getDisplay().syncExec(new Runnable() {
-			public void run() {
-				dialog.open();
-			}
-		});
-
-		// Do the deletion back in the operation thread
-		if (dialog.getReturnCode() == 0) { // yes was chosen
-			project.delete(true, true, null);
-		}
-	}
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-String getOperationMessage() {
-	return WorkbenchMessages.getString("RefreshAction.progressMessage"); //$NON-NLS-1$
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-String getProblemsMessage() {
-	return WorkbenchMessages.getString("RefreshAction.problemMessage"); //$NON-NLS-1$
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-String getProblemsTitle() {
-	return WorkbenchMessages.getString("RefreshAction.problemTitle"); //$NON-NLS-1$
-}
-/**
- * Returns a list containing the workspace root if the selection would otherwise be empty.
- */
-protected List getSelectedResources() {
-	List resources = super.getSelectedResources();
-	if (resources.isEmpty()) {
-		resources = new ArrayList();
-		resources.add(ResourcesPlugin.getWorkspace().getRoot());
-	}
-	return resources;
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-void invokeOperation(IResource resource, IProgressMonitor monitor) throws CoreException {
-	resource.refreshLocal(IResource.DEPTH_INFINITE,monitor);
-	// Check if project's location has been deleted, 
-	// as per 1G83UCE: ITPUI:WINNT - Refresh from local doesn't detect new or deleted projects
-	if (resource.getType() == IResource.PROJECT) {
-		checkLocationDeleted((IProject) resource);
-	}
-}
-/**
- * The <code>RefreshAction</code> implementation of this
- * <code>SelectionListenerAction</code> method ensures that this action is
- * enabled if the selection is empty, but is disabled if any of the selected 
- * elements are not resources.
- */
-protected boolean updateSelection(IStructuredSelection s) {
-	return (super.updateSelection(s) || s.isEmpty()) && getSelectedNonResources().size() == 0;
-}
-
-/**
- * Handle the key release.
- */
-public void handleKeyReleased(KeyEvent event) {
-
-	if (event.keyCode == SWT.F5 && event.stateMask == 0) {
-		refreshAll();
-	}
-}
-
-/**
- * Refreshes the entire workspace.
- */
-public void refreshAll() {
-	IStructuredSelection currentSelection = getStructuredSelection();
-	selectionChanged(StructuredSelection.EMPTY);
-	run();
-	selectionChanged(currentSelection);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/RenameResourceAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/RenameResourceAction.java
deleted file mode 100644
index 4d285f5..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/RenameResourceAction.java
+++ /dev/null
@@ -1,460 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-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.graphics.Point;
-import org.eclipse.swt.widgets.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-
-
-/**
- * Standard action for renaming the selected resources.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class RenameResourceAction extends WorkspaceAction {
-
-	/*The tree editing widgets. If treeEditor is null then edit using the
-	dialog. We keep the editorText around so that we can close it if
-	a new selection is made. */
-	private TreeEditor treeEditor;
-	private Tree navigatorTree;
-	private Text textEditor;
-	private Composite textEditorParent;
-	private TextActionHandler textActionHandler;
-	
-	//The resource being edited if this is being done inline
-	private IResource inlinedResource;
-	
-	/**
-	 * The id of this action.
-	 */
-	public static final String ID = PlatformUI.PLUGIN_ID + ".RenameResourceAction";//$NON-NLS-1$
-
-	/**
-	 * The new path.
-	 */
-	private IPath newPath;
-
-	private static final String CHECK_RENAME_TITLE = WorkbenchMessages.getString("RenameResourceAction.checkTitle"); //$NON-NLS-1$
-
-	private static final String CHECK_RENAME_MESSAGE =
-		WorkbenchMessages.getString("RenameResourceAction.readOnlyCheck"); //$NON-NLS-1$
-	private static String RESOURCE_EXISTS_TITLE = WorkbenchMessages.getString("RenameResourceAction.resourceExists"); //$NON-NLS-1$
-	private static String RESOURCE_EXISTS_MESSAGE = WorkbenchMessages.getString("RenameResourceAction.overwriteQuestion"); //$NON-NLS-1$
-	private static String RENAMING_MESSAGE = WorkbenchMessages.getString("RenameResourceAction.progressMessage"); //$NON-NLS-1$
-
-/**
- * Creates a new action. Using this constructor directly will rename using a
- * dialog rather than the inline editor of a ResourceNavigator.
- *
- * @param shell the shell for any dialogs
- */
-public RenameResourceAction(Shell shell) {
-	super(shell, WorkbenchMessages.getString("RenameResourceAction.text")); //$NON-NLS-1$
-	setToolTipText(WorkbenchMessages.getString("RenameResourceAction.toolTip")); //$NON-NLS-1$
-	setId(ID);
-	WorkbenchHelp.setHelp(this, IHelpContextIds.RENAME_RESOURCE_ACTION);
-}
-/**
- * Creates a new action.
- *
- * @param shell the shell for any dialogs
- */
-public RenameResourceAction(Shell shell, Tree tree) {
-	this(shell);
-	this.navigatorTree = tree;
-	this.treeEditor = new TreeEditor(tree);
-}
-/**
- * Check if the user wishes to overwrite the supplied resource
- * @returns true if there is no collision or delete was successful
- * @param shell the shell to create the dialog in 
- * @param destination - the resource to be overwritten
- */
-private boolean checkOverwrite(
-	final Shell shell,
-	final IResource destination) {
-
-	final boolean[] result = new boolean[1];
-
-	//Run it inside of a runnable to make sure we get to parent off of the shell as we are not
-	//in the UI thread.
-
-	Runnable query = new Runnable() {
-		public void run() {
-			String pathName = destination.getFullPath().makeRelative().toString();
-			result[0] =
-				MessageDialog.openQuestion(
-					shell,
-					RESOURCE_EXISTS_TITLE,
-					MessageFormat.format(RESOURCE_EXISTS_MESSAGE, new Object[] {pathName}));
-		}
-
-	};
-
-	shell.getDisplay().syncExec(query);
-	return result[0];
-}
-/**
- * Check if the supplied resource is read only or null. If it is then ask the user if they want
- * to continue. Return true if the resource is not read only or if the user has given
- * permission.
- * @return boolean
- */
-private boolean checkReadOnlyAndNull(IResource currentResource) {
-	//Do a quick read only and null check
-	if (currentResource == null)
-		return false;
-
-	//Do a quick read only check
-	if (currentResource.isReadOnly())
-		return MessageDialog.openQuestion(
-			getShell(),
-			CHECK_RENAME_TITLE,
-			MessageFormat.format(CHECK_RENAME_MESSAGE, new Object[] {currentResource.getName()}));
-	else
-		return true;
-}
-Composite createParent() {
-	Tree tree = getTree();
-	Composite result = new Composite (tree, SWT.NONE);
-	TreeItem[] selectedItems = tree.getSelection();
-	treeEditor.horizontalAlignment = SWT.LEFT;
-	treeEditor.grabHorizontal = true;
-	treeEditor.setEditor(result, selectedItems[0]);
-	return result;
-}
-/**
- * Create the text editor widget.
- * 
- * @param resource the resource to rename
- */
-private void createTextEditor(final IResource resource) {
-	// Create text editor parent.  This draws a nice bounding rect.
-	textEditorParent = createParent();
-	textEditorParent.setVisible(false);
-	textEditorParent.addListener(SWT.Paint, new Listener() {
-		public void handleEvent (Event e) {
-			Point textSize = textEditor.getSize();
-			Point parentSize = textEditorParent.getSize();
-			e.gc.drawRectangle(0, 0, Math.min(textSize.x + 4, parentSize.x - 1), parentSize.y - 1);
-		}
-	});
-	
-	// Create inner text editor.
-	textEditor = new Text(textEditorParent, SWT.NONE);
-	textEditorParent.setBackground(textEditor.getBackground());
-	textEditor.addListener(SWT.Modify, new Listener() {
-		public void handleEvent (Event e) {
-			Point textSize = textEditor.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			textSize.x += textSize.y; // Add extra space for new characters.
-			Point parentSize = textEditorParent.getSize();
-			textEditor.setBounds(2, 1, Math.min(textSize.x, parentSize.x - 4), parentSize.y - 2);
-			textEditorParent.redraw();
-		}
-	});
-	textEditor.addListener(SWT.Traverse, new Listener() {
-		public void handleEvent(Event event) {
-			
-			//Workaround for Bug 20214 due to extra
-			//traverse events
-			switch (event.detail) {
-				case SWT.TRAVERSE_ESCAPE:
-					//Do nothing in this case
-					disposeTextWidget();
-					event.doit = true;
-					event.detail = SWT.TRAVERSE_NONE;
-					break;
-				case SWT.TRAVERSE_RETURN:
-					saveChangesAndDispose(resource);
-					event.doit = true;
-					event.detail = SWT.TRAVERSE_NONE;
-					break;
-			}
-		}
-	});
-	textEditor.addFocusListener(new FocusAdapter() {
-		public void focusLost(FocusEvent fe) {
-			saveChangesAndDispose(resource);
-		}
-	});
-	
-	if (textActionHandler != null)
-		textActionHandler.addText(textEditor);
-}
-/**
- * Close the text widget and reset the editorText field.
- */
-private void disposeTextWidget() {
-	if (textActionHandler != null)
-		textActionHandler.removeText(textEditor);
-	
-	if (textEditorParent != null) {
-		textEditorParent.dispose();
-		textEditorParent = null;
-		textEditor = null;
-		treeEditor.setEditor(null,null);
-	}
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-String getOperationMessage() {
-	return WorkbenchMessages.getString("RenameResourceAction.progress"); //$NON-NLS-1$
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-String getProblemsMessage() {
-	return WorkbenchMessages.getString("RenameResourceAction.problemMessage"); //$NON-NLS-1$
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-String getProblemsTitle() {
-	return WorkbenchMessages.getString("RenameResourceAction.problemTitle"); //$NON-NLS-1$
-}
-/**
- * Get the Tree being edited.
- * @returnTree
- */
-private Tree getTree() {
-	return this.navigatorTree;
-}
-/**
- * Get the boolean that indicates if this action should be enabled or disabled.
- */
-private boolean getUpdateValue(IStructuredSelection selection) {
-	if (selection.size() > 1)
-		return false;
-	if (!super.updateSelection(selection))
-		return false;
-
-	List resources = getSelectedResources();
-	if(resources.size() != 1)
-		return false;
-		
-	return true;
-}
-
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-void invokeOperation(IResource resource, IProgressMonitor monitor)
-	throws CoreException {
-
-	monitor.beginTask(RENAMING_MESSAGE, 100);
-	IWorkspaceRoot workspaceRoot = resource.getWorkspace().getRoot();
-
-	IResource newResource = workspaceRoot.findMember(newPath);
-	if (newResource != null) {
-		if (checkOverwrite(getShell(), newResource))
-			newResource.delete(IResource.KEEP_HISTORY, new SubProgressMonitor(monitor, 50));
-		else {
-			monitor.worked(100);
-			return;
-		}
-	}
-	if (resource.getType() == IResource.PROJECT) {
-	    IProject project = (IProject) resource;
-		IProjectDescription description = project.getDescription();
-		description.setName(newPath.segment(0));
-		project.move(description, IResource.FORCE | IResource.SHALLOW, monitor);
-	} else
-		resource.move(newPath, IResource.KEEP_HISTORY | IResource.SHALLOW, new SubProgressMonitor(monitor, 50));
-}
-/**
- * Return the new name to be given to the target resource.
- *
- * @return java.lang.String
- * @param context IVisualPart
- */
-protected String queryNewResourceName(final IResource resource) {
-	final IWorkspace workspace = WorkbenchPlugin.getPluginWorkspace();
-	final IPath prefix = resource.getFullPath().removeLastSegments(1);
-	IInputValidator validator = new IInputValidator() {
-		public String isValid(String string) {
-			if (resource.getName().equals(string)) {
-				return WorkbenchMessages.getString("RenameResourceAction.nameMustBeDifferent"); //$NON-NLS-1$
-			}
-			IStatus status = workspace.validateName(string, resource.getType());
-			if (!status.isOK()) {
-				return status.getMessage();
-			}
-			if (workspace.getRoot().exists(prefix.append(string))) {
-				return WorkbenchMessages.getString("RenameResourceAction.nameExists"); //$NON-NLS-1$
-			}
-			return null;
-		}
-	};
-		
-	InputDialog dialog = new InputDialog(
-		getShell(),
-		WorkbenchMessages.getString("RenameResourceAction.inputDialogTitle"),  //$NON-NLS-1$
-		WorkbenchMessages.getString("RenameResourceAction.inputDialogMessage"), //$NON-NLS-1$
-		resource.getName(), 
-		validator); 
-	dialog.setBlockOnOpen(true);
-	dialog.open();
-	return dialog.getValue();
-}
-/**
- * Return the new name to be given to the target resource or <code>null<code>
- * if the query was canceled. Rename the currently selected resource using the table editor. 
- * Continue the action when the user is done.
- *
- * @return java.lang.String
- * @param resource the resource to rename
- */
-private void queryNewResourceNameInline(final IResource resource) {
-	// Make sure text editor is created only once. Simply reset text 
-	// editor when action is executed more than once. Fixes bug 22269.
-	if (textEditorParent == null) {
-		createTextEditor(resource);
-	}
-	textEditor.setText(resource.getName());
-
-	// Open text editor with initial size.
-	textEditorParent.setVisible(true);
-	Point textSize = textEditor.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-	textSize.x += textSize.y; // Add extra space for new characters.
-	Point parentSize = textEditorParent.getSize();
-	textEditor.setBounds(2, 1, Math.min(textSize.x, parentSize.x - 4), parentSize.y - 2);
-	textEditorParent.redraw();
-	textEditor.selectAll ();
-	textEditor.setFocus ();
-}
-/* (non-Javadoc)
- * Method declared on IAction; overrides method on WorkspaceAction.
- */
-public void run() {
-
-	if (this.navigatorTree == null) {
-		IResource currentResource =
-			(IResource) getStructuredSelection().getFirstElement();
-		//Do a quick read only and null check
-		if (!checkReadOnlyAndNull(currentResource))
-			return;
-		String newName = queryNewResourceName(currentResource);
-		if (newName == null || newName.equals(""))//$NON-NLS-1$
-			return;
-		newPath = currentResource.getFullPath().removeLastSegments(1).append(newName);
-		super.run();
-	} else
-		runWithInlineEditor();
-}
-/* 
- * Run the receiver using an inline editor from the supplied navigator. The
- * navigator will tell the action when the path is ready to run.
- */
-private void runWithInlineEditor() {
-	IResource currentResource =
-		(IResource) getStructuredSelection().getFirstElement();
-	if (!checkReadOnlyAndNull(currentResource))
-		return;
-
-	queryNewResourceNameInline(currentResource);
-
-}
-/* (non-Javadoc)
- * Run the action to completion using the supplied path.
- */
-protected void runWithNewPath(IPath path, IResource resource) {
-	this.newPath = path;
-	super.run();
-}
-/**
- * Save the changes and dispose of the text widget.
- * @param resource - the resource to move.
- */
-private void saveChangesAndDispose(IResource resource) {
-	// Cache the resource to avoid selection loss since a selection of
-	// another item can trigger this method
-	inlinedResource = resource;
-	final String newName = textEditor.getText();
-	// Run this in an async to make sure that the operation that triggered
-	// this action is completed.  Otherwise this leads to problems when the
-	// icon of the item being renamed is clicked (i.e., which causes the rename
-	// text widget to lose focus and trigger this method).
-	Runnable query = new Runnable() {
-		public void run() {
-			//Dispose the text widget regardless
-			disposeTextWidget();
-			if (!newName.equals(inlinedResource.getName())) {
-				IWorkspace workspace = WorkbenchPlugin.getPluginWorkspace();
-				IStatus status = workspace.validateName(newName, inlinedResource.getType());
-				if (!status.isOK()) {
-					displayError(status.getMessage());
-				}
-				else {
-					IPath newPath = inlinedResource.getFullPath().removeLastSegments(1).append(newName);
-					runWithNewPath(newPath, inlinedResource);
-				}
-			}
-			inlinedResource = null;
-		}
-	};
-	getTree().getShell().getDisplay().asyncExec(query);
-}
-/**
- * The <code>RenameResourceAction</code> implementation of this
- * <code>SelectionListenerAction</code> method ensures that this action is
- * disabled if any of the selections are not resources or resources that are
- * not local.
- */
-protected boolean updateSelection(IStructuredSelection selection) {
-	disposeTextWidget();
-
-	if (selection.size() > 1)
-		return false;
-	if (!super.updateSelection(selection))
-		return false;
-
-	List resources = getSelectedResources();
-	if (resources.size() != 1)
-		return false;
-
-	return true;
-}
-public void setTextActionHandler(TextActionHandler actionHandler){
-	textActionHandler = actionHandler;
-}
-
-/**
- * Returns the elements that the action is to be performed on.
- * Return the resource cached by the action as we cannot rely
- * on the selection being correct for inlined text.
- *
- * @return list of resource elements (element type: <code>IResource</code>)
- */
- protected List getActionResources() {
- 	if(inlinedResource == null)
- 		return super.getActionResources();
- 	
-	List actionResources = new ArrayList();
-	actionResources.add(inlinedResource);
-	return actionResources;
-}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/RetargetAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/RetargetAction.java
deleted file mode 100644
index 93efe96..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/RetargetAction.java
+++ /dev/null
@@ -1,219 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.PartSite;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.util.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.widgets.Event;
-
-/**
- * A <code>RetargetAction</code> tracks the active part in the workbench.  
- * Each RetargetAction has an ID.  If the active part provides an action 
- * handler for the ID the enable state of the RetargetAction is determined
- * from the enable state of the handler.  If the active part does not 
- * provide an action handler then this action is disabled.
- * </p>
- * <p>
- * Note: instances of this class add themselves as listeners to their
- * action handler. It is important for the creator of a retarget action to call
- * dispose when the action is no longer needed. This will ensure that the 
- * listener is removed.
- * </p>
- * <p>
- * This class may be instantiated. It is not intented to be subclassed.
- * </p>
- *
- * @since 2.0 
- */
-public class RetargetAction extends PartEventAction {
-	/**
-	 * The help listener assigned to this action, or <code>null</code> if none.
-	 */
-	private HelpListener localHelpListener;
-
-	private boolean enableAccelerator = true;
-	private IAction handler;
-	private IPropertyChangeListener propertyChangeListener = new IPropertyChangeListener() {
-		public void propertyChange(PropertyChangeEvent event) {
-			RetargetAction.this.propagateChange(event);
-		}
-	};
-	
-	/**
-	 * Constructs a RetargetAction.
-	 */
-	public RetargetAction(String actionID, String label) {
-		super(label);
-		setId(actionID);
-		setEnabled(false);
-		super.setHelpListener(new HelpListener() {
-			public void helpRequested(HelpEvent e) {
-				HelpListener listener = null;
-				if (handler != null) {
-					// if we have a handler, see if it has a help listener
-					listener = handler.getHelpListener();
-					if (listener == null)
-						// use our own help listener
-						listener = localHelpListener;
-				}
-				if (listener != null)
-					// pass on the event
-					listener.helpRequested(e);
-			}
-		});
-	}
-	
-	/**
-	 * Disposes of the action and any resources held.
-	 */
-	public void dispose() {
-		if (handler != null) {
-			handler.removePropertyChangeListener(propertyChangeListener);
-			handler = null;
-		}
-	}
-
-	/**
-	 * Enables the accelerator for this action. 
-	 *
-	 * @param boolean the new enable state
-	 */
-	public void enableAccelerator(boolean b) {
-		enableAccelerator = b;
-	}
-	
-	/* (non-Javadoc)
-	 * Retaget actions do not have accelerators.  It is up to the
-	 * part to hook the accelerator.
-	 */
-	public int getAccelerator() {
-		if (enableAccelerator)
-			return super.getAccelerator();
-		else
-			return 0;
-	}
-	
-	/**
-	 * A workbench part has been activated. Try to connect
-	 * to it.
-	 *
-	 * @param part the workbench part that has been activated
-	 */
-	public void partActivated(IWorkbenchPart part) {
-		super.partActivated(part);
-		IWorkbenchPartSite site = part.getSite();
-		SubActionBars bars = (SubActionBars) ((PartSite) site).getActionBars();
-		bars.addPropertyChangeListener(propertyChangeListener);
-		setActionHandler(bars.getGlobalActionHandler(getId()));
-	}
-	
-	/**
-	 * A workbench part has been closed. 
-	 *
-	 * @param part the workbench part that has been closed
-	 */
-	public void partClosed(IWorkbenchPart part) {
-		IWorkbenchPart activePart = part.getSite().getPage().getActivePart();
-		if (activePart != null)
-			// We are going to get a part activated message so don't bother setting the 
-			// action handler to null. This prevents enablement flash in the toolbar
-			return;
-		if (part == getActivePart())
-			setActionHandler(null);
-		super.partClosed(part);
-	}
-	
-	/**
-	 * A workbench part has been deactivated. Disconnect from it.
-	 *
-	 * @param part the workbench part that has been deactivated
-	 */
-	public void partDeactivated(IWorkbenchPart part) {
-		super.partDeactivated(part);
-		IWorkbenchPartSite site = part.getSite();
-		SubActionBars bars = (SubActionBars) ((PartSite) site).getActionBars();
-		bars.removePropertyChangeListener(propertyChangeListener);
-
-		IWorkbenchPart activePart = part.getSite().getPage().getActivePart();
-		if (activePart != null)
-			// We are going to get a part activated message so don't bother setting the 
-			// action handler to null. This prevents enablement flash in the toolbar
-			return;
-
-		setActionHandler(null);
-	}
-	
-	/**
-	 * Either the action handler itself has changed, or the configured action
-	 * handlers on the action bars have changed. Update self.
-	 */
-	protected void propagateChange(PropertyChangeEvent event) {
-		if (event.getProperty().equals(Action.ENABLED)) {
-			Boolean bool = (Boolean) event.getNewValue();
-			setEnabled(bool.booleanValue());
-		} else if (event.getProperty().equals(SubActionBars.P_ACTION_HANDLERS)) {
-			setActionHandler(((IActionBars) event.getSource()).getGlobalActionHandler(getId()));
-		}
-	}
-
-	/**
-	 * Invoked when an action occurs. 
-	 */
-	public void run() {
-		if (handler != null)
-			handler.run();
-	}
-
-	/**
-	 * Invoked when an action occurs. 
-	 */
-	public void runWithEvent(Event event) {
-		if (handler != null)
-			handler.runWithEvent(event);
-	}
-
-	/**
-	 * Returns the action handler.
-	 */
-	protected IAction getActionHandler() {
-		return handler;
-	}
-
-	/**
-	 * Sets the action handler.
-	 */
-	protected void setActionHandler(IAction newHandler) {
-		// Optimize.
-		if (newHandler == handler)
-			return;
-
-		// Clear old action.
-		if (handler != null) {
-			handler.removePropertyChangeListener(propertyChangeListener);
-			handler = null;
-		}
-
-		// Set new action.
-		handler = newHandler;
-		if (handler == null) {
-			setEnabled(false);
-		} else {
-			setEnabled(handler.isEnabled());
-			handler.addPropertyChangeListener(propertyChangeListener);
-		}
-	}
-	
-	/** 
-	 * The <code>RetargetAction</code> implementation of this method declared on
-	 * <code>IAction</code> stores the help listener in a local field. The
-	 * supplied listener is only used if there is no hanlder.
-	 */
-	public void setHelpListener(HelpListener listener) {
-		localHelpListener = listener;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ScrubLocalAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ScrubLocalAction.java
deleted file mode 100644
index 503a37d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ScrubLocalAction.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Standard action for scrubbing the local content in the local file system of
- * the selected resources and all of their descendents.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class ScrubLocalAction extends WorkspaceAction {
-
-	/**
-	 * The id of this action.
-	 */
-	public static final String ID = "org.eclipse.ui.ScrubLocalAction";//$NON-NLS-1$
-/**
- * Creates a new action.
- *
- * @param shell the shell for any dialogs
- */
-public ScrubLocalAction(Shell shell) {
-	super(shell, WorkbenchMessages.getString("ScrubLocalAction.text")); //$NON-NLS-1$
-	setToolTipText(WorkbenchMessages.getString("ScrubLocalAction.toolTip")); //$NON-NLS-1$
-	setId(ID);
-	WorkbenchHelp.setHelp(this, IHelpContextIds.SCRUB_LOCAL_ACTION);
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-String getOperationMessage() {
-	return WorkbenchMessages.getString("ScrubLocalAction.progress"); //$NON-NLS-1$
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-String getProblemsMessage() {
-	return WorkbenchMessages.getString("ScrubLocalAction.problemsMessage"); //$NON-NLS-1$
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-String getProblemsTitle() {
-	return WorkbenchMessages.getString("ScrubLocalAction.problemsTitle"); //$NON-NLS-1$
-}
-/* (non-Javadoc)
- * Method declared on WorkspaceAction.
- */
-void invokeOperation(IResource resource, IProgressMonitor monitor) throws CoreException {
-	resource.setLocal(false, IResource.DEPTH_INFINITE,monitor);
-}
-/**
- * The <code>ScrubLocalAction</code> implementation of this
- * <code>SelectionListenerAction</code> method ensures that this action is
- * disabled if any of the selections are not resources.
- */
-protected boolean updateSelection(IStructuredSelection s) {
-	return super.updateSelection(s)
-		&& getSelectedNonResources().size() == 0;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/SelectionListenerAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/SelectionListenerAction.java
deleted file mode 100644
index f546faf..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/SelectionListenerAction.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.actions;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.*;
-import java.util.*;
-
-/**
- * The abstract superclass for actions that listen to selection change events.
- * This implementation tracks the current selection (see 
- * <code>getStructuredSelection</code>) and provides a convenient place to 
- * monitor selection changes that could affect the availability of the action.
- * <p>
- * Subclasses must implement the following <code>IAction</code> method:
- * <ul>
- *   <li><code>run</code> - to do the action's work</li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may extend the <code>updateSelection</code> method to update
- * the action determine its availability based on the current selection.
- * </p>
- * <p>
- * The object instantiating the subclass is responsible for registering
- * the instance with a selection provider. Alternatively, the object can
- * notify the subclass instance directly of a selection change using the
- * methods:
- * <ul>
- *   <li><code>selectionChanged(IStructuredSelection)</code> - passing the selection</li>
- *   <li><code>selectionChanged(ISelectionChangedEvent)</code> - passing the selection change event</li>
- * </ul>
- * </p>
- */
-public abstract class SelectionListenerAction extends Action implements ISelectionChangedListener {
-	/**
-	 * Empty list that is immutable.
-	 */
-	private static final List EMPTY_LIST = Arrays.asList(new Object[0]);
-	
-	/**
-	 * The current selection.
-	 */
-	private IStructuredSelection selection = new StructuredSelection();
-
-	/**
-	 * Indicates whether the selection has changes since <code>resources</code>
-	 * and <code>nonResources</code> were computed.
-	 */
-	private boolean selectionDirty = true;
-
-	/**
-	 * The list of resource elements in the current selection
-	 * (element type: <code>IResource</code>); meaningful only when
-	 * <code>selectionDirty == false</code>.
-	 */
-	private List resources;
-
-	/**
-	 * The list of non-resource elements in the current selection
-	 * (element type: <code>Object</code>); meaningful only when
-	 * <code>selectionDirty == false</code>.
-	 */
-	private List nonResources;
-	
-	/**
-	 * Creates a new action with the given text.
-	 *
-	 * @param text the string used as the text for the action, 
-	 *   or <code>null</code> if there is no text
-	 */
-	protected SelectionListenerAction(String text) {
-		super(text);
-	}
-	
-	/**
-	 * Extracts <code>IResource</code>s from the current selection and adds them to
-	 * the resources list, and the rest into the non-resources list.
-	 */
-	private final void computeResources() {
-		resources = null;
-		nonResources = null;
-		
-		for (Iterator e = selection.iterator(); e.hasNext();) {
-			Object next = e.next();
-			if (next instanceof IResource) {
-				if (resources == null) {
-					// assume selection contains mostly resources most times
-					resources = new ArrayList(selection.size());
-				}
-				resources.add(next);
-				continue;
-			}
-			if (next instanceof IAdaptable) {
-				Object resource = ((IAdaptable) next).getAdapter(IResource.class);
-				if (resource != null) {
-					if (resources == null) {
-						// assume selection contains mostly resources most times
-						resources = new ArrayList(selection.size());
-					}
-					resources.add(resource);
-					continue;
-				}
-			}
-			
-			if (nonResources == null) {
-				// assume selection contains mostly resources most times
-				nonResources = new ArrayList(1);
-			}
-			nonResources.add(next);
-		}
-	}
-	
-	/**
-	 * Returns the elements in the current selection that are not 
-	 * <code>IResource</code>s.
-	 *
-	 * @return list of elements (element type: <code>Object</code>)
-	 */
-	protected List getSelectedNonResources() {
-		//recompute if selection has changed.
-		if (selectionDirty) {
-			computeResources();
-			selectionDirty = false;
-		}
-		
-		if (nonResources == null)
-			return EMPTY_LIST;
-		else
-			return nonResources;
-	}
-	
-	/**
-	 * Returns the elements in the current selection that are 
-	 * <code>IResource</code>s.
-	 *
-	 * @return list of resource elements (element type: <code>IResource</code>)
-	 */
-	protected List getSelectedResources() {
-		//recompute if selection has changed.
-		if (selectionDirty) {
-			computeResources();
-			selectionDirty = false;
-		}
-		
-		if (resources == null)
-			return EMPTY_LIST;
-		else
-			return resources;
-	}
-	
-	/**
-	 * Returns the current structured selection in the workbench, or an empty
-	 * selection if nothing is selected or if selection does not include
-	 * objects (for example, raw text).
-	 *
-	 * @return the current structured selection in the workbench
-	 */
-	public IStructuredSelection getStructuredSelection() {
-		return selection;
-	}
-	
-	/**
-	 * Returns whether the type of the given resource is among those in the given
-	 * resource type mask.
-	 * 
-	 * @param resource the resource
-	 * @param resourceMask a bitwise OR of resource types: 
-	 *   <code>IResource</code>.{<code>FILE</code>, <code>FOLDER</code>,
-	 *   <code>PROJECT</code>, <code>ROOT</code>}
-	 * @return <code>true</code> if the resource type matches, and <code>false</code>
-	 *   otherwise
-	 * @see IResource
-	 */
-	protected boolean resourceIsType(IResource resource, int resourceMask) {
-		return (resource.getType() & resourceMask) != 0;
-	}
-	
-	/**
-	 * Notifies this action that the given structured selection has changed.
-	 * <p>
-	 * The <code>SelectionListenerAction</code> implementation of this method
-	 * records the given selection for future reference and calls
-	 * <code>updateSelection</code>, updating the enable state of this action
-	 * based on the outcome. Subclasses should override <code>updateSelection</code>
-	 * to react to selection changes.
-	 * </p>
-	 *
-	 * @param selection the new selection
-	 */
-	public final void selectionChanged(IStructuredSelection selection) {
-		this.selection = selection;
-		selectionDirty = true;
-		// clear out the lists in case computeResources does not get called immediately
-		resources = null;
-		nonResources = null;
-		setEnabled(updateSelection(selection));
-	}
-	
-	/**
-	 * The <code>SelectionListenerAction</code> implementation of this 
-	 * <code>ISelectionChangedListener</code> method calls 
-	 * <code>selectionChanged(IStructuredSelection)</code> assuming the selection is
-	 * a structured one. Subclasses should override the <code>updateSelection</code>
-	 * method to react to selection changes.
-	 */
-	public final void selectionChanged(SelectionChangedEvent event) {
-		ISelection selection = event.getSelection();
-		if (selection instanceof IStructuredSelection)
-			selectionChanged((IStructuredSelection) selection);
-		else
-			selectionChanged(StructuredSelection.EMPTY);
-	}
-	
-	/**
-	 * Returns whether the current selection consists entirely of resources whose
-	 * types are among those in the given resource type mask.
-	 * 
-	 * @param resourceMask a bitwise OR of resource types: 
-	 *   <code>IResource</code>.{<code>FILE</code>, <code>FOLDER</code>,
-	 *   <code>PROJECT</code>, <code>ROOT</code>}
-	 * @return <code>true</code> if all resources in the current selection are of the
-	 *   specified types or if the current selection is empty, and <code>false</code> if some
-	 *   elements are resources of a different type or not resources
-	 * @see IResource
-	 */
-	protected boolean selectionIsOfType(int resourceMask) {
-		if (getSelectedNonResources().size() > 0)
-			return false;
-
-		for (Iterator e = getSelectedResources().iterator(); e.hasNext();) {
-			IResource next = (IResource) e.next();
-			if (!resourceIsType(next, resourceMask))
-				return false;
-		}
-		return true;
-	}
-	
-	/**
-	 * Updates this action in response to the given selection.
-	 * <p>
-	 * The <code>SelectionListenerAction</code> implementation of this method
-	 * returns <code>true</code>. Subclasses may extend to react to selection
-	 * changes; however, if the super method returns <code>false</code>, the
-	 * overriding method must also return <code>false</code>.
-	 * </p>
-	 *
-	 * @param selection the new selection
-	 * @return <code>true</code> if the action should be enabled for this selection,
-	 *   and <code>false</code> otherwise
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/SelectionProviderAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/SelectionProviderAction.java
deleted file mode 100644
index 01fc2d9..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/SelectionProviderAction.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.action.Action;
-
-/**
- * The abstract superclass for actions that listen to selection changes
- * from a particular selection provider. This implementation splits the current
- * selection along structured/unstructured lines, providing a convenient place
- * to monitor selection changes that require adjusting action state.
- * <p>
- * Subclasses must implement the following <code>IAction</code> method:
- * <ul>
- *   <li><code>run</code> - to do the action's work</li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may reimplement either of the following methods:
- * <ul>
- *   <li><code>selectionChanged(IStructuredSelection)</code></li> 
- *   <li><code>selectionChanged(ISelection)</code></li> 
- * </ul>
- * </p>
- */
-public abstract class SelectionProviderAction extends Action
-	implements ISelectionChangedListener
-{
-	
-	/**
-	 * The selection provider that is the target of this action.
-	 */
-	private ISelectionProvider provider;
-/**
- * Creates a new action with the given text that monitors selection changes
- * within the given selection provider.
- * The resulting action is added as a listener on the selection provider.
- *
- * @param provider the selection provider that will provide selection notification
- * @param text the string used as the text for the action, 
- *   or <code>null</code> if there is no text
- */
-protected SelectionProviderAction(ISelectionProvider provider, String text) {
-	super(text);
-	this.provider = provider;
-	provider.addSelectionChangedListener(this);
-}
-
-/**
- * Disposes this action by removing it as a listener from the selection provider.
- * This must be called by the creator of the action when the action is no longer needed.
- */
-public void dispose() {
-	provider.removeSelectionChangedListener(this);
-}
-
-/**
- * Returns the current selection in the selection provider.
- *
- * @return the current selection in the selection provider
- */
-public ISelection getSelection() {
-	return provider.getSelection();
-}
-/**
- * Returns the selection provider that is the target of this action.
- *
- * @return the target selection provider of this action
- */
-public ISelectionProvider getSelectionProvider() {
-	return provider;
-}
-/**
- * Returns the current structured selection in the selection provider, or an
- * empty selection if nothing is selected or if selection does not include
- * objects (for example, raw text).
- *
- * @return the current structured selection in the selection provider
- */
-public IStructuredSelection getStructuredSelection() {
-	ISelection selection = provider.getSelection();
-	if (selection instanceof IStructuredSelection)
-		return (IStructuredSelection) selection;
-	else
-		return new StructuredSelection();
-}
-/**
- * Notifies this action that the given (non-structured) selection has changed
- * in the selection provider.
- * <p>
- * The <code>SelectionProviderAction</code> implementation of this method
- * does nothing. Subclasses may reimplement to react to this selection change.
- * </p>
- *
- * @param selection the new selection
- */
-public void selectionChanged(ISelection selection) {
-}
-/**
- * Notifies this action that the given structured selection has changed
- * in the selection provider.
- * <p>
- * The <code>SelectionProviderAction</code> implementation of this method
- * does nothing. Subclasses may reimplement to react to this selection change.
- * </p>
- *
- * @param selection the new selection
- */
-public void selectionChanged(IStructuredSelection selection) {
-	// Hook in subclass.
-}
-/**
- * The <code>SelectionProviderAction</code> implementation of this 
- * <code>ISelectionChangedListener</code> method calls 
- * <code>selectionChanged(IStructuredSelection)</code> if the selection is
- * a structured selection but <code>selectionChanged(ISelection)</code> if it is
- * not. Subclasses should override either of those methods method to react to
- * selection changes.
- */
-public final void selectionChanged(SelectionChangedEvent event) {
-	ISelection selection = event.getSelection();
-	if (selection instanceof IStructuredSelection)
-		selectionChanged((IStructuredSelection)selection);
-	else
-		selectionChanged(selection);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ShowInAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ShowInAction.java
deleted file mode 100644
index 3b8be4d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ShowInAction.java
+++ /dev/null
@@ -1,289 +0,0 @@
-/************************************************************************
-Copyright (c) 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.actions;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IViewPart;
-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.ListDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPage;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.dialogs.ViewLabelProvider;
-import org.eclipse.ui.internal.misc.Assert;
-import org.eclipse.ui.internal.registry.IViewDescriptor;
-import org.eclipse.ui.internal.registry.IViewRegistry;
-import org.eclipse.ui.part.IShowInSource;
-import org.eclipse.ui.part.IShowInTarget;
-import org.eclipse.ui.part.ShowInContext;
-
-/**
- * This action opens the Show In prompter, allowing the user to choose a view 
- * in which to show the current context (input and/or selection).
- * 
- * @see org.eclipse.ui.dialogs.ShowInContext
- * @see org.eclipse.ui.dialogs.IShowInSource
- * @see org.eclipse.ui.dialogs.IShowInTarget
- * 
- * @since 2.1
- */
-public class ShowInAction extends Action {
-
-	private IWorkbenchWindow window;
-	
-	/**
-	 * Constructs a new <code>ShowInAction<code> for the given window.
-	 * Note that this class does not track part activation itself.
-	 * The caller must call <code>updateState</code> at the appropriate times
-	 * to update the enabled state of this action.
-	 */
-	public ShowInAction(IWorkbenchWindow window) {
-		Assert.isNotNull(window);
-		this.window = window;
-		setText(WorkbenchMessages.getString("ShowInAction.text")); //$NON-NLS-1$
-		setToolTipText(WorkbenchMessages.getString("ShowInAction.toolTip")); //$NON-NLS-1$
-		setId(IWorkbenchActionConstants.SHOW_IN);
-		WorkbenchHelp.setHelp(this, IHelpContextIds.SHOW_IN_ACTION);
-	}
-
-	/**
-	 * Returns the window.
-	 * 
-	 * @return the window
-	 */
-	public IWorkbenchWindow getWindow() {
-		return window;
-	}
-	
-	/**
-	 * Updates the enabled state of this action.
-	 * Calls <code>updateState(getSourcePart())</code>.
-	 */
-	public void updateState() {
-		updateState(getSourcePart());
-	}
-	
-	/**
-	 * Updates the enabled state of this action given the source part.
-	 * This action is enabled if and only if the source part provides an 
-	 * <code>IShowInSource</code> (either directly or via <code>IAdaptable</code>),
-	 * or the source part is an editor.
-	 * 
-	 * @param sourcePart the source part
-	 */
-	protected void updateState(IWorkbenchPart sourcePart) {
-		setEnabled(sourcePart != null && (
-			(sourcePart instanceof IEditorPart)
-				|| getShowInSource(sourcePart) != null) && hasShowInItems(sourcePart));
-	}
-
-	/**
-	 * Returns the Show In... part ids.  
-	 * Don't expose this internal array to subclasses.
-	 */
-	private ArrayList getShowInPartIds() {
-		WorkbenchPage page = (WorkbenchPage) getWindow().getActivePage();
-		if (page != null)
-			return page.getShowInPartIds();
-		return new ArrayList();
-	}
-	
-	/**
-	 * Returns whether there are any items to list for the given part.
-	 */
-	private boolean hasShowInItems(IWorkbenchPart sourcePart) {
-		ArrayList ids = getShowInPartIds();
-		if (ids.isEmpty())
-			return false;
-		String srcId = sourcePart.getSite().getId();
-		if (ids.contains(srcId))
-			return ids.size() > 1;
-		else
-			return ids.size() > 0;
-	}
-	
-	/**
-	 * Returns the source part, or <code>null</code> if there is no applicable
-	 * source part
-	 * <p>
-	 * This implementation returns the current part in the window.
-	 * Subclasses may extend or reimplement.
-	 * 
-	 * @return the source part or <code>null</code>
-	 */
-	protected IWorkbenchPart getSourcePart() {
-		IWorkbenchPage page = getWindow().getActivePage();
-		if (page != null) {
-			return page.getActivePart();
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the <code>IShowInSource</code> provided by the source part,
-	 * or <code>null</code> if it does not provide one.
-	 * 
-	 * @param sourcePart the source part
-	 * @return an <code>IShowInSource</code> or <code>null</code>
-	 */
-	protected IShowInSource getShowInSource(IWorkbenchPart sourcePart) {
-		if (sourcePart instanceof IShowInSource) {
-			return (IShowInSource) sourcePart;
-		}
-		Object o = sourcePart.getAdapter(IShowInSource.class);
-		if (o instanceof IShowInSource) {
-			return (IShowInSource) o;
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the <code>IShowInTarget</code> for the given part,
-	 * or <code>null</code> if it does not provide one.
-	 * 
-	 * @param targetPart the target part
-	 * @return the <code>IShowInTarget</code> or <code>null</code>
-	 */
-	protected IShowInTarget getShowInTarget(IWorkbenchPart targetPart) {
-		if (targetPart instanceof IShowInTarget) {
-			return (IShowInTarget) targetPart;
-		}
-		Object o = targetPart.getAdapter(IShowInTarget.class);
-		if (o instanceof IShowInTarget) {
-			return (IShowInTarget) o;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the <code>ShowInContext</code> to show in the selected target,
-	 * or <code>null</code> if there is no valid context to show.
-	 * <p>
-	 * This implementation obtains the context from the <code>IShowInSource</code>
-	 * of the source part (if provided), or, if the source part is an editor,
-	 * it creates the context from the editor's input and selection.
-	 * <p>
-	 * Subclasses may extend or reimplement.
-	 * 
-	 * @return the <code>ShowInContext</code> to show or <code>null</code>
-	 */
-	protected ShowInContext getContext() {
-		IWorkbenchPart source = getSourcePart();
-		if (source == null) {
-			return null;
-		}
-		Object o = source.getAdapter(IShowInSource.class);
-		if (o instanceof IShowInSource) {
-			ShowInContext context = ((IShowInSource) o).getShowInContext();
-			if (context != null) {
-				return context;
-			}
-		}
-		else if (source instanceof IEditorPart) {
-			Object input = ((IEditorPart) source).getEditorInput();
-			ISelectionProvider sp = source.getSite().getSelectionProvider();
-			ISelection sel = sp == null ? null : sp.getSelection();
-			return new ShowInContext(input, sel);
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the view descriptors to show in the dialog.
-	 */
-	private IViewDescriptor[] getViewDescriptors() {
-		String srcId = getSourcePart().getSite().getId();
-		ArrayList ids = getShowInPartIds();
-		ArrayList descs = new ArrayList();
-		IViewRegistry reg = WorkbenchPlugin.getDefault().getViewRegistry();
-		for (Iterator i = ids.iterator(); i.hasNext();) {
-			String id = (String) i.next();
-			if (!id.equals(srcId)) {
-				IViewDescriptor desc = reg.find(id);
-				if (desc != null) {
-					descs.add(desc);
-				}
-			}
-		}
-		return (IViewDescriptor[]) descs.toArray(new IViewDescriptor[descs.size()]);
-	}
-	
-	/**
-	 * Opens the Show In prompter if the context is valid, otherwise generates
-	 * a system beep.  If the user selects a target, then the context is passed
-	 * to the target to show.
-	 */
-	public void run() {
-		ShowInContext context = getContext();
-		if (context == null) {
-			getWindow().getShell().getDisplay().beep();
-			return;
-		}
-		Object[] viewDescs = getViewDescriptors();
-		if (viewDescs.length == 0) {
-			getWindow().getShell().getDisplay().beep();
-			return;
-		}
-		ListDialog dialog = new ListDialog(getWindow().getShell());
-		dialog.setTitle(WorkbenchMessages.getString("ShowInDialog.title")); // $NON-NLS-1$
-		dialog.setMessage(WorkbenchMessages.getString("ShowInDialog.message")); // $NON-NLS-1$
-		dialog.setContentProvider(new ArrayContentProvider());
-		dialog.setLabelProvider(new ViewLabelProvider());
-		dialog.setInput(viewDescs);
-		dialog.setInitialSelections(new Object[] { viewDescs[0] });
-		if (dialog.open() == Dialog.OK) {
-			Object[] result = dialog.getResult();
-			if (result.length > 0) {
-				String targetId = ((IViewDescriptor) result[0]).getId();
-				showIn(context, targetId);
-			}
-		}
-	}
-
-	/**
-	 * Shows the context in the specified target view.
-	 */	
-	protected void showIn(ShowInContext context, String targetId) {
-		IWorkbenchPage page = getWindow().getActivePage();
-		if (page != null) {
-			try {
-				IViewPart view = page.showView(targetId);
-				IShowInTarget target = getShowInTarget(view);
-				if (target != null && target.show(context)) {
-				}
-				else {
-					getWindow().getShell().getDisplay().beep();
-				}
-				((WorkbenchPage) page).performedShowIn(targetId);  // TODO: move back up
-			}
-			catch (PartInitException e) {
-				WorkbenchPlugin.log("Error showing view in ShowInAction.run", e.getStatus());  // $NON-NLS-1$
-			}
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/SimpleWildcardTester.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/SimpleWildcardTester.java
deleted file mode 100644
index 41114f1..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/SimpleWildcardTester.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * Implements an algorithm for very simple pattern matching in a string.
- * There is only one feature: "*" may be used at the start or the end of the
- * pattern to represent "one or more characters".
- */
-public final class SimpleWildcardTester {
-/**
- * Returns whether a string matches a particular pattern.
- *
- * @param pattern the input pattern
- * @param str the string to test
- * @return <code>true</code> if a match occurs; <code>false</code>otherwise.
- */
-public static boolean testWildcard(String pattern, String str) {
-	if (pattern.equals("*")) {//$NON-NLS-1$
-		return true;
-	} else if (pattern.startsWith("*")) {//$NON-NLS-1$
-		if (pattern.endsWith("*")) {//$NON-NLS-1$
-			if (pattern.length() == 2)
-				return true;
-			return str.indexOf(pattern.substring(1, pattern.length() - 1)) >= 0;
-		}
-		return str.endsWith(pattern.substring(1));
-	} else if (pattern.endsWith("*")) {//$NON-NLS-1$
-		return str.startsWith(pattern.substring(0, pattern.length() - 1));
-	} else {
-		return str.equals(pattern);
-	}
-}
-/**
- * Returns whether a string matches a particular pattern.  Both string and
- * pattern are converted to lower case before pattern matching occurs.
- *
- * @param pattern the input pattern
- * @param str the string to test
- * @return <code>true</code> if a match occurs; <code>false</code>otherwise.
- */
-public static boolean testWildcardIgnoreCase(String pattern, String str) {
-	
-	//If str is null there was no extension to test
-	if(str == null)
-		return false;
-	pattern = pattern.toLowerCase();
-	str = str.toLowerCase();
-	return testWildcard(pattern, str);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/TextActionHandler.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/TextActionHandler.java
deleted file mode 100644
index a0dda13..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/TextActionHandler.java
+++ /dev/null
@@ -1,442 +0,0 @@
-package org.eclipse.ui.actions;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. 
-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:
-**********************************************************************/
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.util.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-
-/**
- * Handles the redirection of the global Cut, Copy, Paste, and
- * Select All actions to either the current inline text control
- * or the part's supplied action handler.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p><p>
- * Example usage:
- * <pre>
- * textActionHandler = new TextActionHandler(this.getViewSite().getActionBars());
- * textActionHandler.addText((Text)textCellEditor1.getControl());
- * textActionHandler.addText((Text)textCellEditor2.getControl());
- * textActionHandler.setSelectAllAction(selectAllAction);
- * </pre>
- * </p>
- */
-public class TextActionHandler {
-	private DeleteActionHandler textDeleteAction = new DeleteActionHandler();
-	private CutActionHandler textCutAction = new CutActionHandler();
-	private CopyActionHandler textCopyAction = new CopyActionHandler();
-	private PasteActionHandler textPasteAction = new PasteActionHandler();
-	private SelectAllActionHandler textSelectAllAction = new SelectAllActionHandler();
-	
-	private IAction deleteAction;
-	private IAction cutAction;
-	private IAction copyAction;
-	private IAction pasteAction;
-	private IAction selectAllAction;
-	
-	private IPropertyChangeListener deleteActionListener = new PropertyChangeListener(textDeleteAction);
-	private IPropertyChangeListener cutActionListener = new PropertyChangeListener(textCutAction);
-	private IPropertyChangeListener copyActionListener = new PropertyChangeListener(textCopyAction);
-	private IPropertyChangeListener pasteActionListener = new PropertyChangeListener(textPasteAction);
-	private IPropertyChangeListener selectAllActionListener = new PropertyChangeListener(textSelectAllAction);
-	
-	private Listener textControlListener = new TextControlListener();
-	private Text activeTextControl;
-	
-	private MouseAdapter mouseAdapter = new MouseAdapter() {
-		public void mouseUp(MouseEvent e) {
-			updateActionsEnableState();
-		}
-	};
-	private KeyAdapter keyAdapter = new KeyAdapter() {
-		public void keyReleased(KeyEvent e) {
-			updateActionsEnableState();
-		}
-	};
-	
-	private class TextControlListener implements Listener {
-		public void handleEvent(Event event) {
-			switch (event.type) {
-				case SWT.Activate:
-					activeTextControl = (Text) event.widget;
-					updateActionsEnableState();
-					break;
-				case SWT.Deactivate:
-					activeTextControl = null;
-					updateActionsEnableState();
-					break;
-				default:
-					break;
-			}
-		}
-	}
-	
-	private class PropertyChangeListener implements IPropertyChangeListener {
-		private IAction actionHandler;
-		protected PropertyChangeListener(IAction actionHandler) {
-			super();
-			this.actionHandler = actionHandler;
-		}
-		public void propertyChange(PropertyChangeEvent event) {
-			if (activeTextControl != null)
-				return;
-			if (event.getProperty().equals(IAction.ENABLED)) {
-				Boolean bool = (Boolean) event.getNewValue();
-				actionHandler.setEnabled(bool.booleanValue());
-			}
-		}
-	};
-
-	private class DeleteActionHandler extends Action {
-		protected DeleteActionHandler() {
-			super(WorkbenchMessages.getString("Delete")); //$NON-NLS-1$
-			setId("TextDeleteActionHandler");//$NON-NLS-1$
-			setEnabled(false);
-			WorkbenchHelp.setHelp(this, IHelpContextIds.TEXT_DELETE_ACTION);
-		}
-		public void runWithEvent(Event event) {
-			if (activeTextControl != null && !activeTextControl.isDisposed()) {
-				activeTextControl.clearSelection();
-				return;
-			}
-			if (deleteAction != null) {
-				deleteAction.runWithEvent(event);
-				return;
-			}
-		}
-		public void updateEnabledState() {
-			if (activeTextControl != null && !activeTextControl.isDisposed()) {
-				setEnabled(activeTextControl.getSelectionCount() > 0 || activeTextControl.getCaretPosition() < activeTextControl.getCharCount());
-				return;
-			}
-			if (deleteAction != null) {
-				setEnabled(deleteAction.isEnabled());
-				return;
-			}
-			setEnabled(false);
-		}
-	}
-	
-	private class CutActionHandler extends Action {
-		protected CutActionHandler() {
-			super(WorkbenchMessages.getString("Cut")); //$NON-NLS-1$
-			setId("TextCutActionHandler");//$NON-NLS-1$
-			setEnabled(false);
-			WorkbenchHelp.setHelp(this, IHelpContextIds.TEXT_CUT_ACTION);
-		}
-		public void runWithEvent(Event event) {
-			if (activeTextControl != null && !activeTextControl.isDisposed()) {
-				activeTextControl.cut();
-				return;
-			}
-			if (cutAction != null) {
-				cutAction.runWithEvent(event);
-				return;
-			}
-		}
-		public void updateEnabledState() {
-			if (activeTextControl != null && !activeTextControl.isDisposed()) {
-				setEnabled(activeTextControl.getSelectionCount() > 0);
-				return;
-			}
-			if (cutAction != null) {
-				setEnabled(cutAction.isEnabled());
-				return;
-			}
-			setEnabled(false);
-		}
-	}
-	
-	private class CopyActionHandler extends Action {
-		protected CopyActionHandler() {
-			super(WorkbenchMessages.getString("Copy")); //$NON-NLS-1$
-			setId("TextCopyActionHandler");//$NON-NLS-1$
-			setEnabled(false);
-			WorkbenchHelp.setHelp(this, IHelpContextIds.TEXT_COPY_ACTION);
-		}
-		public void runWithEvent(Event event) {
-			if (activeTextControl != null && !activeTextControl.isDisposed()) {
-				activeTextControl.copy();
-				return;
-			}
-			if (copyAction != null) {
-				copyAction.runWithEvent(event);
-				return;
-			}
-		}
-		public void updateEnabledState() {
-			if (activeTextControl != null && !activeTextControl.isDisposed()) {
-				setEnabled(activeTextControl.getSelectionCount() > 0);
-				return;
-			}
-			if (copyAction != null) {
-				setEnabled(copyAction.isEnabled());
-				return;
-			}
-			setEnabled(false);
-		}
-	}
-	
-	private class PasteActionHandler extends Action {
-		protected PasteActionHandler() {
-			super(WorkbenchMessages.getString("Paste")); //$NON-NLS-1$
-			setId("TextPasteActionHandler");//$NON-NLS-1$
-			setEnabled(false);
-			WorkbenchHelp.setHelp(this, IHelpContextIds.TEXT_PASTE_ACTION);
-		}
-		public void runWithEvent(Event event) {
-			if (activeTextControl != null && !activeTextControl.isDisposed()) {
-				activeTextControl.paste();
-				return;
-			}
-			if (pasteAction != null) {
-				pasteAction.runWithEvent(event);
-				return;
-			}
-		}
-		public void updateEnabledState() {
-			if (activeTextControl != null && !activeTextControl.isDisposed()) {
-				setEnabled(true);
-				return;
-			}
-			if (pasteAction != null) {
-				setEnabled(pasteAction.isEnabled());
-				return;
-			}
-			setEnabled(false);
-		}
-	}
-	
-	private class SelectAllActionHandler extends Action {
-		protected SelectAllActionHandler() {
-			super(WorkbenchMessages.getString("TextAction.selectAll")); //$NON-NLS-1$
-			setId("TextSelectAllActionHandler");//$NON-NLS-1$
-			setEnabled(false);
-			WorkbenchHelp.setHelp(this, IHelpContextIds.TEXT_SELECT_ALL_ACTION);
-		}
-		public void runWithEvent(Event event) {
-			if (activeTextControl != null && !activeTextControl.isDisposed()) {
-				activeTextControl.selectAll();
-				return;
-			}
-			if (selectAllAction != null) {
-				selectAllAction.runWithEvent(event);
-				return;
-			}
-		}
-		public void updateEnabledState() {
-			if (activeTextControl != null && !activeTextControl.isDisposed()) {
-				setEnabled(true);
-				return;
-			}
-			if (selectAllAction != null) {
-				setEnabled(selectAllAction.isEnabled());
-				return;
-			}
-			setEnabled(false);
-		}
-	}
-/**
- * Creates a <code>Text</code> control action handler
- * for the global Cut, Copy, Paste, Delete, and Select All 
- * of the action bar.
- *
- * @param actionBar the action bar to register global
- *    action handlers for Cut, Copy, Paste, Delete, 
- * 	  and Select All
- */
-public TextActionHandler(IActionBars actionBar) {
-	super();
-	actionBar.setGlobalActionHandler(IWorkbenchActionConstants.CUT, textCutAction);
-	actionBar.setGlobalActionHandler(IWorkbenchActionConstants.COPY, textCopyAction);
-	actionBar.setGlobalActionHandler(IWorkbenchActionConstants.PASTE, textPasteAction);
-	actionBar.setGlobalActionHandler(IWorkbenchActionConstants.SELECT_ALL, textSelectAllAction);
-	actionBar.setGlobalActionHandler(IWorkbenchActionConstants.DELETE, textDeleteAction);
-}
-/**
- * Add a <code>Text</code> control to the handler
- * so that the Cut, Copy, Paste, Delete, and Select All 
- * actions are redirected to it when active.
- *
- * @param textControl the inline <code>Text</code> control
- */
-public void addText(Text textControl) {
-	if (textControl == null)
-		return;
-
-	activeTextControl = textControl;
-	textControl.addListener(SWT.Activate, textControlListener);
-	textControl.addListener(SWT.Deactivate, textControlListener);
-
-	// We really want a selection listener but it is not supported so we
-	// use a key listener and a mouse listener to know when selection changes
-	// may have occured
-	textControl.addKeyListener(keyAdapter);
-	textControl.addMouseListener(mouseAdapter);	
-	
-}
-/**
- * Dispose of this action handler
- */
-public void dispose() {
-	setCutAction(null);
-	setCopyAction(null);
-	setPasteAction(null);
-	setSelectAllAction(null);
-	setDeleteAction(null);
-}
-/**
- * Removes a <code>Text</code> control from the handler
- * so that the Cut, Copy, Paste, Delete, and Select All 
- * actions are no longer redirected to it when active.
- *
- * @param textControl the inline <code>Text</code> control
- */
-public void removeText(Text textControl) {
-	if (textControl == null)
-		return;
-
-	textControl.removeListener(SWT.Activate, textControlListener);
-	textControl.removeListener(SWT.Deactivate, textControlListener);
-
-	textControl.removeMouseListener(mouseAdapter);
-	textControl.removeKeyListener(keyAdapter);
-	
-	activeTextControl = null;
-	updateActionsEnableState();
-}
-/**
- * Set the default <code>IAction</code> handler for the Copy
- * action. This <code>IAction</code> is run only if no active
- * inline text control.
- *
- * @param action the <code>IAction</code> to run for the
- *    Copy action, or <code>null</null> if not interested.
- */
-public void setCopyAction(IAction action) {
-	if (copyAction == action)
-		return;
-
-	if (copyAction != null)
-		copyAction.removePropertyChangeListener(copyActionListener);
-		
-	copyAction = action;
-
-	if (copyAction != null)
-		copyAction.addPropertyChangeListener(copyActionListener);
-
-	textCopyAction.updateEnabledState();
-}
-/**
- * Set the default <code>IAction</code> handler for the Cut
- * action. This <code>IAction</code> is run only if no active
- * inline text control.
- *
- * @param action the <code>IAction</code> to run for the
- *    Cut action, or <code>null</null> if not interested.
- */
-public void setCutAction(IAction action) {
-	if (cutAction == action)
-		return;
-
-	if (cutAction != null)
-		cutAction.removePropertyChangeListener(cutActionListener);
-		
-	cutAction = action;
-
-	if (cutAction != null)
-		cutAction.addPropertyChangeListener(cutActionListener);
-
-	textCutAction.updateEnabledState();
-}
-/**
- * Set the default <code>IAction</code> handler for the Paste
- * action. This <code>IAction</code> is run only if no active
- * inline text control.
- *
- * @param action the <code>IAction</code> to run for the
- *    Paste action, or <code>null</null> if not interested.
- */
-public void setPasteAction(IAction action) {
-	if (pasteAction == action)
-		return;
-
-	if (pasteAction != null)
-		pasteAction.removePropertyChangeListener(pasteActionListener);
-		
-	pasteAction = action;
-
-	if (pasteAction != null)
-		pasteAction.addPropertyChangeListener(pasteActionListener);
-
-	textPasteAction.updateEnabledState();
-}
-/**
- * Set the default <code>IAction</code> handler for the Select All
- * action. This <code>IAction</code> is run only if no active
- * inline text control.
- *
- * @param action the <code>IAction</code> to run for the
- *    Select All action, or <code>null</null> if not interested.
- */
-public void setSelectAllAction(IAction action) {
-	if (selectAllAction == action)
-		return;
-
-	if (selectAllAction != null)
-		selectAllAction.removePropertyChangeListener(selectAllActionListener);
-		
-	selectAllAction = action;
-
-	if (selectAllAction != null)
-		selectAllAction.addPropertyChangeListener(selectAllActionListener);
-
-	textSelectAllAction.updateEnabledState();
-}
-/**
- * Set the default <code>IAction</code> handler for the Delete
- * action. This <code>IAction</code> is run only if no active
- * inline text control.
- *
- * @param action the <code>IAction</code> to run for the
- *    Delete action, or <code>null</null> if not interested.
- */
-public void setDeleteAction(IAction action) {
-	if (deleteAction == action)
-		return;
-
-	if (deleteAction != null)
-		deleteAction.removePropertyChangeListener(deleteActionListener);
-		
-	deleteAction = action;
-
-	if (deleteAction != null)
-		deleteAction.addPropertyChangeListener(deleteActionListener);
-
-	textDeleteAction.updateEnabledState();
-}
-/**
- * Update the enable state of the Cut, Copy,
- * Paste, Delete, and Select All action handlers
- */
-private void updateActionsEnableState() {
-	textCutAction.updateEnabledState();
-	textCopyAction.updateEnabledState();
-	textPasteAction.updateEnabledState();
-	textSelectAllAction.updateEnabledState();
-	textDeleteAction.updateEnabledState();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/WorkingSetFilterActionGroup.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/WorkingSetFilterActionGroup.java
deleted file mode 100644
index 4918af2..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/WorkingSetFilterActionGroup.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.actions;
-
-import java.util.*;
-
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.util.*;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.WorkingSetComparator;
-import org.eclipse.ui.internal.WorkingSetMenuContributionItem;
-import org.eclipse.ui.internal.actions.*;
-
-/**
- * Adds working set filter actions (set / clear / edit)
- * 
- * @since 2.1 
- */
-public class WorkingSetFilterActionGroup extends ActionGroup {
-	public static final String CHANGE_WORKING_SET = "changeWorkingSet"; //$NON-NLS-1$
-	
-	private static final String SEPARATOR_ID = "workingSetGroupSeparator"; //$NON-NLS-1$
-
-	private IWorkingSet workingSet = null;
-	
-	private ClearWorkingSetAction clearWorkingSetAction;
-	private SelectWorkingSetAction selectWorkingSetAction;
-	private EditWorkingSetAction editWorkingSetAction;
-	
-	private IPropertyChangeListener workingSetUpdater;
-	
-	private int mruMenuCount;
-	private IMenuManager menuManager;
-	private IMenuListener menuListener;
-
-	/**
-	 * Creates a new instance of the receiver
-	 * 
-	 * @param shell shell to open dialogs and wizards on
-	 * @param workingSetUpdater property change listener notified when a 
-	 * 	working set is set
-	 */
-	public WorkingSetFilterActionGroup(Shell shell, IPropertyChangeListener workingSetUpdater) {
-		Assert.isNotNull(shell);
-
-		this.workingSetUpdater = workingSetUpdater;
-		clearWorkingSetAction = new ClearWorkingSetAction(this);
-		selectWorkingSetAction = new SelectWorkingSetAction(this, shell);
-		editWorkingSetAction = new EditWorkingSetAction(this, shell);
-	}
-	/**
-	 * Adds actions for the most recently used working sets to the 
-	 * specified menu manager.
-	 *  
-	 * @param menuManager menu manager to add actions to
-	 */
-	private void addMruWorkingSetActions(IMenuManager menuManager) {
-		IWorkingSet[] workingSets = PlatformUI.getWorkbench().getWorkingSetManager().getRecentWorkingSets();
-		List sortedWorkingSets = Arrays.asList(workingSets);
-		Collections.sort(sortedWorkingSets, new WorkingSetComparator());
-		
-		Iterator iter = sortedWorkingSets.iterator();
-		mruMenuCount = 0;
-		while (iter.hasNext()) {
-			IWorkingSet workingSet = (IWorkingSet)iter.next();
-			if (workingSet != null) {
-				IContributionItem item = new WorkingSetMenuContributionItem(++mruMenuCount, this, workingSet);
-				menuManager.insertBefore(SEPARATOR_ID, item);
-			}
-		}
-	}
-	/**
-	 * Removes the menu listener
-	 * 
-	 * @see ActionGroup#dispose()
-	 */
-	public void dispose() {
-		if (menuManager != null)
-			menuManager.removeMenuListener(menuListener);
-		super.dispose();
-	}
-	/**
-	 * Adds working set actions to the specified action bar.
-	 * 
-	 * @param actionBars action bar to add working set actions to.
-	 * @see ActionGroup#fillActionBars(IActionBars)
-	 */
-	public void fillActionBars(IActionBars actionBars) {
-		menuManager = actionBars.getMenuManager();
-		menuManager.add(selectWorkingSetAction);
-		menuManager.add(clearWorkingSetAction);
-		menuManager.add(editWorkingSetAction);
-		menuManager.add(new Separator());
-		menuManager.add(new Separator(SEPARATOR_ID));
-		
-		menuListener = new IMenuListener() {
-			public void menuAboutToShow(IMenuManager manager) {
-				removePreviousMruWorkingSetActions(manager);
-				addMruWorkingSetActions(manager);
-			}
-		};
-		menuManager.addMenuListener(menuListener);
-	};
-	/**
-	 * Returns the working set which is currently selected.
-	 * 
-	 * @return the working set which is currently selected.
-	 */
-	public IWorkingSet getWorkingSet() {
-		return workingSet;
-	}
-	/**
-	 * Removes the most recently used working set actions that were
-	 * added to the specified menu.
-	 * 
-	 * @param menuManager menu manager to remove actions from
-	 */
-	private void removePreviousMruWorkingSetActions(IMenuManager menuManager) {
-		for (int i = 1; i <= mruMenuCount; i++)
-			menuManager.remove(WorkingSetMenuContributionItem.getId(i));
-	}
-	/**
-	 * Sets the current working set.
-	 * 
-	 * @param newWorkingSet the new working set
-	 */
-	public void setWorkingSet(IWorkingSet newWorkingSet) {
-		IWorkingSet oldWorkingSet = workingSet;
-		
-		workingSet = newWorkingSet;
-		// Update action
-		clearWorkingSetAction.setEnabled(newWorkingSet != null);
-		editWorkingSetAction.setEnabled(newWorkingSet != null);
-		
-		// Update viewer
-		if (workingSetUpdater != null) {
-			workingSetUpdater.propertyChange(
-				new PropertyChangeEvent(
-					this, 
-					WorkingSetFilterActionGroup.CHANGE_WORKING_SET, 
-					oldWorkingSet, 
-					newWorkingSet));
-		}
-	}
-	
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/WorkspaceAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/WorkspaceAction.java
deleted file mode 100644
index 52120ce..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/WorkspaceAction.java
+++ /dev/null
@@ -1,338 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.misc.Assert;
-import org.eclipse.ui.internal.misc.StatusUtil;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-/**
- * The abstract superclass for actions whose only role in life is to invoke 
- * core commands on a set of selected resources.
- * When the action is run, all the work is done within a modal progress
- * dialog. It iterates over all selected resources; errors are collected and
- * displayed to the user via a problems dialog at the end of the operation.
- * User requests to cancel the operation are passed along to the core.
- * <p>
- * Subclasses must implement the following methods:
- * <ul>
- *   <li><code>invokeOperation</code> - to perform the operation on one of the 
- *      selected resources</li>
- *   <li><code>getOperationMessage</code> - to furnish a title for the progress
- *      dialog</li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may override the following methods:
- * <ul>
- *   <li><code>shouldPerformResourcePruning</code> - reimplement to turn off</li>
- *   <li><code>updateSelection</code> - extend to refine enablement criteria</li>
- *   <li><code>getProblemsTitle</code> - reimplement to furnish a title for the
- *      problems dialog</li>
- *   <li><code>getProblemsMessage</code> - reimplement to furnish a message for 
- *      the problems dialog</li>
- *   <li><code>run</code> - extend to </li>
- * </ul>
- * </p>
- */
-public abstract class WorkspaceAction extends SelectionListenerAction {
-
-	/**
-	 * Multi status containing the errors detected when running the operation or
-	 * <code>null</code> if no errors detected.
-	 */
-	private MultiStatus errorStatus;
-
-	/**
-	 * The shell in which to show the progress and problems dialog.
-	 */
-	private Shell shell;
-/**
- * Creates a new action with the given text.
- *
- * @param shell the shell (for the modal progress dialog and error messages)
- * @param text the string used as the text for the action, 
- *   or <code>null</code> if there is no text
- */
-protected WorkspaceAction(Shell shell, String text) {
-	super(text);
-	Assert.isNotNull(shell);
-	this.shell = shell;
-}
-/**
- * Opens an error dialog to display the given message.
- * <p>
- * Note that this method must be called from UI thread.
- * </p>
- *
- * @param message the message
- */
-void displayError(String message) {
-	if (message == null) {
-		message = WorkbenchMessages.getString("WorkbenchAction.internalError"); //$NON-NLS-1$
-	}
-	MessageDialog.openError(shell, getProblemsTitle(), message);
-}
-/**
- * Runs <code>invokeOperation</code> on each of the selected resources, reporting
- * progress and fielding cancel requests from the given progress monitor.
- *
- * @param monitor a progress monitor
- */
-final void execute(IProgressMonitor monitor) {
-	//1FTIMQN: ITPCORE:WIN - clients required to do too much iteration work
-	List resources = getActionResources();
-	if (shouldPerformResourcePruning()) {
-		resources = pruneResources(resources);
-	}
-	Iterator resourcesEnum = resources.iterator();
-
-	// 1FV0B3Y: ITPUI:ALL - sub progress monitors granularity issues
-	monitor.beginTask(getOperationMessage(), resources.size() * 1000);
-
-	try {
-		while (resourcesEnum.hasNext()) {
-			IResource resource = (IResource)resourcesEnum.next();
-
-			try {
-				// 1FV0B3Y: ITPUI:ALL - sub progress monitors granularity issues
-				invokeOperation(resource,new SubProgressMonitor(monitor,1000));
-			} catch (CoreException e) {
-				recordError(e);
-			}
-
-			if (monitor.isCanceled())
-				throw new OperationCanceledException();
-		}
-	} finally {
-		monitor.done();
-	}
-}
-/**
- * Returns the string to display for this action's operation.
- * <p>
- * Note that this hook method is invoked in a non-UI thread.
- * </p>
- * <p>
- * Subclasses must implement this method.
- * </p>
- *
- * @return the message
- */
-abstract String getOperationMessage();
-/**
- * Returns the string to display for this action's problems dialog.
- * <p>
- * The <code>WorkspaceAction</code> implementation of this method returns a
- * vague message (localized counterpart of something like "The following 
- * problems occurred."). Subclasses may reimplement to provide something more
- * suited to the particular action.
- * </p>
- *
- * @return the problems message
- */
-String getProblemsMessage() {
-	return WorkbenchMessages.getString("WorkbenchAction.problemsMessage"); //$NON-NLS-1$
-}
-/**
- * Returns the title for this action's problems dialog.
- * <p>
- * The <code>WorkspaceAction</code> implementation of this method returns a
- * generic title (localized counterpart of "Problems"). Subclasses may 
- * reimplement to provide something more suited to the particular action.
- * </p>
- *
- * @return the problems dialog title
- */
-String getProblemsTitle() {
-	return WorkbenchMessages.getString("WorkspaceAction.problemsTitle"); //$NON-NLS-1$
-}
-/**
- * Returns the shell for this action. This shell is used for the modal progress
- * and error dialogs.
- *
- * @return the shell
- */
-Shell getShell() {
-	return shell;
-}
-/**
- * Performs this action's operation on each of the selected resources, reporting
- * progress to, and fielding cancel requests from, the given progress monitor.
- * <p>
- * Note that this method is invoked in a non-UI thread.
- * </p>
- * <p>
- * Subclasses must implement this method.
- * </p>
- *
- * @param resource one of the selected resources
- * @param monitor a progress monitor
- * @exception CoreException if the operation fails
- */
-abstract void invokeOperation(IResource resource, IProgressMonitor monitor) throws CoreException;
-/**
- * Returns whether the given resource is accessible, where files and folders
- * are always considered accessible, and where a project is accessible iff it
- * is open.
- *
- *	@param resource the resource
- *	@return <code>true</code> if the resource is accessible, and 
- *     <code>false</code> if it is not
- */
-boolean isAccessible(IResource resource) {
-	switch (resource.getType()) {
-		case IResource.FILE:
-			return true;
-		case IResource.FOLDER:
-			return true;
-		case IResource.PROJECT:
-			return ((IProject)resource).isOpen();
-		default:
-			return false;
-	}
-}
-/**
- * Returns whether the given resource is a descendent of any of the resources
- * in the given list.
- *
- * @param resources the list of resources (element type: <code>IResource</code>)
- * @param child the resource to check
- * @return <code>true</code> if <code>child</code> is a descendent of any of the
- *   elements of <code>resources</code>
- */
-boolean isDescendent(List resources, IResource child) {
-	IResource parent = child.getParent();
-	return parent != null && (resources.contains(parent) || isDescendent(resources, parent));
-}
-/**
- * Performs pruning on the given list of resources, as described in 
- * <code>shouldPerformResourcePruning</code>.
- *
- * @param resourceCollection the list of resources (element type: 
- *    <code>IResource</code>)
- * @return the list of resources (element type: <code>IResource</code>)
- *		after pruning. 
- * @see #shouldPerformResourcePruning
- */
-List pruneResources(List resourceCollection) {
-	List prunedList = new ArrayList(resourceCollection);
-	Iterator elementsEnum = prunedList.iterator();
-	while (elementsEnum.hasNext()) {
-		IResource currentResource = (IResource)elementsEnum.next();
-		if (isDescendent(prunedList, currentResource))
-			elementsEnum.remove(); //Removes currentResource
-	}
-
-	return prunedList;
-}
-/**
- * Records the core exception to be displayed to the user
- * once the action is finished.
- *
- * @param error a <code>CoreException</code>
- */
-private void recordError(CoreException error) {
-	if (errorStatus == null)
-		errorStatus = new MultiStatus(WorkbenchPlugin.PI_WORKBENCH, IStatus.ERROR, getProblemsMessage(), error);
-
-	errorStatus.merge(error.getStatus());
-}
-/**
- * The <code>CoreWrapperAction</code> implementation of this <code>IAction</code>
- * method uses a <code>ProgressMonitorDialog</code> to run the operation. The
- * operation calls <code>execute</code> (which, in turn, calls 
- * <code>invokeOperation</code>). Afterwards, any <code>CoreException</code>s
- * encountered while running the operation are reported to the user via a
- * problems dialog.
- * <p>
- * Subclasses may extend this method.
- * </p>
- */
-public void run() {
-	try {
-		WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-			public void execute(IProgressMonitor monitor) {
-				WorkspaceAction.this.execute(monitor);
-			}
-		};
-		new ProgressMonitorDialog(shell).run(true, true, op);
-	} catch (InterruptedException e) {
-		return;
-	} catch (InvocationTargetException e) {
-		// we catch CoreException in execute(), but unexpected runtime exceptions or errors may still occur
-		String msg = WorkbenchMessages.format("WorkspaceAction.logTitle", new Object[] {getClass().getName(), e.getTargetException()}); //$NON-NLS-1$
-		WorkbenchPlugin.log(msg,StatusUtil.newStatus(IStatus.ERROR, msg, e.getTargetException())); 
-		displayError(e.getTargetException().getMessage());
-	}
-
-	// If errors occurred, open an Error dialog & build a multi status error for it
-	if (errorStatus != null) {
-		ErrorDialog.openError(shell,
-			getProblemsTitle(),
-			null,		// no special message
-			errorStatus);
-	}
-	errorStatus = null;
-}
-/**
- * Returns whether this action should attempt to optimize the resources being
- * operated on. This kind of pruning makes sense when the operation has depth
- * infinity semantics (when the operation is applied explicitly to a resource
- * then it is also applied implicitly to all the resource's descendents).
- * <p>
- * The <code>WorkspaceAction</code> implementation of this method returns
- * <code>true</code>. Subclasses should reimplement to return <code>false</code>
- * if pruning is not required.
- * </p>
- *
- * @return <code>true</code> if pruning should be performed, 
- *   and <code>false</code> if pruning is not desired
- */
-boolean shouldPerformResourcePruning() {
-	return true;
-}
-/**
- * The <code>WorkspaceAction</code> implementation of this
- * <code>SelectionListenerAction</code> method ensures that this action is
- * disabled if any of the selected resources are inaccessible. Subclasses may
- * extend to react to selection changes; however, if the super method returns
- * <code>false</code>, the overriding method should also return <code>false</code>.
- */
-protected boolean updateSelection(IStructuredSelection selection) {
-	if (!super.updateSelection(selection) || selection.isEmpty()) {
-		return false;
-	}
-
-	for (Iterator i = getSelectedResources().iterator(); i.hasNext();) {
-		IResource r = (IResource) i.next();
-		if (!isAccessible(r)) {
-			return false;
-		}
-	}
-	return true;
-}
-
-/**
- * Returns the elements that the action is to be performed on.
- * By default return the selected resources.
- *
- * @return list of resource elements (element type: <code>IResource</code>)
- */
-protected List getActionResources() {
-	return getSelectedResources();
-}
-	
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/WorkspaceModifyDelegatingOperation.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/WorkspaceModifyDelegatingOperation.java
deleted file mode 100644
index 2db6ffe..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/WorkspaceModifyDelegatingOperation.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import java.lang.reflect.InvocationTargetException;
-
-/**
- * An operation which delegates its work to a runnable that modifies the
- * workspace.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class WorkspaceModifyDelegatingOperation extends WorkspaceModifyOperation {
-	
-	/**
-	 * The runnable to delegate work to at execution time.
-	 */
-	private IRunnableWithProgress content;
-/**
- * Creates a new operation which will delegate its work to the given runnable.
- *
- * @param content the runnable to delegate to when this operation is executed
- */
-public WorkspaceModifyDelegatingOperation(IRunnableWithProgress content) {
-	super();
-	this.content = content;
-}
-/* (non-Javadoc)
- * Method declared on WorkbenchModifyOperation.
- */
-protected void execute(IProgressMonitor monitor) throws CoreException, InterruptedException {
-	try {
-		content.run(monitor);
-	}
-	catch (InvocationTargetException e) {
-		if (e.getTargetException() instanceof CoreException)
-			throw (CoreException) e.getTargetException();
-		if (e.getTargetException() instanceof RuntimeException)
-			throw (RuntimeException) e.getTargetException();
-		if (e.getTargetException() instanceof Error)
-			throw (Error) e.getTargetException();
-		e.getTargetException().printStackTrace();
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/WorkspaceModifyOperation.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/WorkspaceModifyOperation.java
deleted file mode 100644
index 6fa17f1..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/WorkspaceModifyOperation.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package org.eclipse.ui.actions;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import java.lang.reflect.InvocationTargetException;
-
-/**
- * An operation which potentially makes changes to the workspace. All resource 
- * modification should be performed using this operation. The primary 
- * consequence of using this operation is that events which typically occur as a
- * result of workspace changes (such as the firing of resource deltas, 
- * performance of autobuilds, etc.) are deferred until the outermost operation
- * has successfully completed.
- * <p>
- * Subclasses must implement <code>execute</code> to do the work of the
- * operation.
- * </p>
- */
-public abstract class WorkspaceModifyOperation
-	implements IRunnableWithProgress
-{
-/**
- * Creates a new operation.
- */
-protected WorkspaceModifyOperation() {
-}
-/**
- * Performs the steps that are to be treated as a single logical workspace
- * change.
- * <p>
- * Subclasses must implement this method.
- * </p>
- *
- * @param monitor the progress monitor to use to display progress and field
- *   user requests to cancel
- * @exception CoreException if the operation fails due to a CoreException
- * @exception InvocationTargetException if the operation fails due to an exception other than CoreException
- * @exception InterruptedException if the operation detects a request to cancel, 
- *  using <code>IProgressMonitor.isCanceled()</code>, it should exit by throwing 
- *  <code>InterruptedException</code>.  It is also possible to throw 
- *  <code>OperationCanceledException</code>, which gets mapped to <code>InterruptedException</code>
- *  by the <code>run</code> method.
- */
-protected abstract void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException;
-/**
- * The <code>WorkspaceModifyOperation</code> implementation of this 
- * <code>IRunnableWithProgress</code> method initiates a batch of changes by 
- * invoking the <code>execute</code> method as a workspace runnable 
- * (<code>IWorkspaceRunnable</code>).
- */
-public synchronized final void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { 
-	final InvocationTargetException[] iteHolder = new InvocationTargetException[1];
-	try {
-		IWorkspaceRunnable workspaceRunnable = new IWorkspaceRunnable() {
-			public void run(IProgressMonitor pm) throws CoreException {
-				try {
-					execute(pm);
-				}
-				catch (InvocationTargetException e) {
-					// Pass it outside the workspace runnable
-					iteHolder[0] = e;
-				}
-				catch (InterruptedException e) {
-					// Re-throw as OperationCanceledException, which will be
-					// caught and re-thrown as InterruptedException below.
-					throw new OperationCanceledException(e.getMessage());
-				}
-				// CoreException and OperationCanceledException are propagated
-			}
-		};
-		WorkbenchPlugin.getPluginWorkspace().run(workspaceRunnable, monitor);
-	} catch (CoreException e) {
-		throw new InvocationTargetException(e);
-	} catch (OperationCanceledException e) {
-		throw new InterruptedException(e.getMessage());
-	}
-	// Re-throw the InvocationTargetException, if any occurred
-	if (iteHolder[0] != null) {
-		throw iteHolder[0];
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/package.html b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/package.html
deleted file mode 100644
index 968b564..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/package.html
+++ /dev/null
@@ -1,28 +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.5 [en] (WinNT; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Classes for actions and operations used in a workbench
-window, page, or part in the Eclipse Platform User Interface.
-<h2>
-Package Specification</h2>
-Actions for resource management, project build and workbench page management
-are provided to encourage a standard look and feel across views and editors
-contributed by independent system vendors. Base classes are also provided
-for selection oriented actions which enable or disable based upon selection
-in a part or viewer. These should be used by ISV's to define actions for
-menus, toolbars, and context menus.
-<p>Action which leads to resource modification should take advantage of
-the <tt>WorkspaceModifyOperation</tt> classes.&nbsp; These classes are
-used to defer events which typically occur as a result of workspace changes
-(such as the firing of resource deltas, performance of autobuilds, etc.)
-until the outermost operation has successfully completed.&nbsp; This deferral
-leads to an optimized, faster execution of resource modification because
-fewer deltas and autobuilds are performed.
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/AbstractElementListSelectionDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/AbstractElementListSelectionDialog.java
deleted file mode 100644
index c0eaaa8..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/AbstractElementListSelectionDialog.java
+++ /dev/null
@@ -1,466 +0,0 @@
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- * Contributors: Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog
- * font should be activated and used by other components.
- */
-package org.eclipse.ui.dialogs;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.ILabelProvider;
-
-import org.eclipse.ui.PlatformUI;
-
-/**
- * An abstract class to select elements out of a list of elements.
- * 
- * @since 2.0
- */
-public abstract class AbstractElementListSelectionDialog
-	extends SelectionStatusDialog {
-
-	private ILabelProvider fRenderer;
-	private boolean fIgnoreCase = true;
-	private boolean fIsMultipleSelection = false;
-	private boolean fMatchEmptyString = true;
-	private boolean fAllowDuplicates = true;
-
-	private Label fMessage;
-
-	protected FilteredList fFilteredList;
-	private Text fFilterText;
-
-	private ISelectionStatusValidator fValidator;
-	private String fFilter = null;
-
-	private String fEmptyListMessage = ""; //$NON-NLS-1$
-	private String fEmptySelectionMessage = ""; //$NON-NLS-1$
-
-	private int fWidth = 60;
-	private int fHeight = 18;
-
-	private Object[] fSelection = new Object[0];
-
-	/**
-	 * Constructs a list selection dialog.
-	 * @param renderer The label renderer used
-	 * @param ignoreCase Decides if the match string ignores lower/upppr case
-	 * @param multipleSelection Allow multiple selection	 
-	 */
-	protected AbstractElementListSelectionDialog(
-		Shell parent,
-		ILabelProvider renderer) {
-		super(parent);
-		fRenderer = renderer;
-
-		int shellStyle = getShellStyle();
-		setShellStyle(shellStyle | SWT.MAX | SWT.RESIZE);
-	}
-
-	/**
-	 * Handles default selection (double click).
-	 * By default, the OK button is pressed.
-	 */
-	protected void handleDefaultSelected() {
-		if (validateCurrentSelection())
-			buttonPressed(IDialogConstants.OK_ID);
-	}
-
-	/**
-	 * Specifies if sorting, filtering and folding is case sensitive.
-	 */
-	public void setIgnoreCase(boolean ignoreCase) {
-		fIgnoreCase = ignoreCase;
-	}
-
-	/**
-	 * Returns if sorting, filtering and folding is case sensitive.
-	 */
-	public boolean isCaseIgnored() {
-		return fIgnoreCase;
-	}
-
-	/**
-	 * Specifies whether everything or nothing should be filtered on
-	 * empty filter string.
-	 */
-	public void setMatchEmptyString(boolean matchEmptyString) {
-		fMatchEmptyString = matchEmptyString;
-	}
-
-	/**
-	 * Specifies if multiple selection is allowed.
-	 */
-	public void setMultipleSelection(boolean multipleSelection) {
-		fIsMultipleSelection = multipleSelection;
-	}
-
-	/**
-	 * Specifies whether duplicate entries are displayed or not.
-	 */
-	public void setAllowDuplicates(boolean allowDuplicates) {
-		fAllowDuplicates = allowDuplicates;
-	}
-
-	/**
-	 * Sets the list size in unit of characters.
-	 * @param width  the width of the list.
-	 * @param height the height of the list.
-	 */
-	public void setSize(int width, int height) {
-		fWidth = width;
-		fHeight = height;
-	}
-
-	/**
-	 * Sets the message to be displayed if the list is empty.
-	 * @param message the message to be displayed.
-	 */
-	public void setEmptyListMessage(String message) {
-		fEmptyListMessage = message;
-	}
-
-	/**
-	 * Sets the message to be displayed if the selection is empty.
-	 * @param message the message to be displayed.
-	 */
-	public void setEmptySelectionMessage(String message) {
-		fEmptySelectionMessage = message;
-	}
-
-	/**
-	 * Sets an optional validator to check if the selection is valid.
-	 * The validator is invoked whenever the selection changes.
-	 * @param validator the validator to validate the selection.
-	 */
-	public void setValidator(ISelectionStatusValidator validator) {
-		fValidator = validator;
-	}
-
-	/**
-	 * Sets the elements of the list (widget).
-	 * To be called within open().
-	 * @param elements the elements of the list.
-	 */
-	protected void setListElements(Object[] elements) {
-		Assert.isNotNull(fFilteredList);
-		fFilteredList.setElements(elements);
-	}
-
-	/**
-	 * Sets the filter pattern.
-	 * @param filter the filter pattern.
-	 */
-	public void setFilter(String filter) {
-		if (fFilterText == null)
-			fFilter = filter;
-		else
-			fFilterText.setText(filter);
-	}
-
-	/**
-	 * Returns the current filter pattern.
-	 * @return returns the current filter pattern or <code>null<code> if filter was not set.
-	 */
-	public String getFilter() {
-		if (fFilteredList == null)
-			return fFilter;
-		else
-			return fFilteredList.getFilter();
-	}
-
-	/**
-	 * Returns the indices referring the current selection.
-	 * To be called within open().
-	 * @return returns the indices of the current selection.
-	 */
-	protected int[] getSelectionIndices() {
-		Assert.isNotNull(fFilteredList);
-		return fFilteredList.getSelectionIndices();
-	}
-
-	/**
-	 * Returns an index referring the first current selection.
-	 * To be called within open().
-	 * @return returns the indices of the current selection.
-	 */
-	protected int getSelectionIndex() {
-		Assert.isNotNull(fFilteredList);
-		return fFilteredList.getSelectionIndex();
-	}
-
-	/**
-	 * Sets the selection referenced by an array of elements.
-	 * Empty or null array removes selection.
-	 * To be called within open().
-	 * @param selection the indices of the selection.
-	 */
-	protected void setSelection(Object[] selection) {
-		Assert.isNotNull(fFilteredList);
-		fFilteredList.setSelection(selection);
-	}
-
-	/**
-	 * Returns an array of the currently selected elements.
-	 * To be called within or after open().
-	 * @return returns an array of the currently selected elements.
-	 */
-	protected Object[] getSelectedElements() {
-		Assert.isNotNull(fFilteredList);
-		return fFilteredList.getSelection();
-	}
-
-	/**
-	 * Returns all elements which are folded together to one entry in the list.
-	 * @param  index the index selecting the entry in the list.
-	 * @return returns an array of elements folded together.
-	 */
-	public Object[] getFoldedElements(int index) {
-		Assert.isNotNull(fFilteredList);
-		return fFilteredList.getFoldedElements(index);
-	}
-
-	/**
-	 * Creates the message text widget and sets layout data.
-	 * @param composite the parent composite of the message area.
-	 */
-	protected Label createMessageArea(Composite composite) {
-		Label label = super.createMessageArea(composite);
-
-		GridData data = new GridData();
-		data.grabExcessVerticalSpace = false;
-		data.grabExcessHorizontalSpace = true;
-		data.horizontalAlignment = GridData.FILL;
-		data.verticalAlignment = GridData.BEGINNING;
-		label.setLayoutData(data);
-
-		fMessage = label;
-
-		return label;
-	}
-
-	/**
-	 * Handles a selection changed event.
-	 * By default, the current selection is validated.
-	 */
-	protected void handleSelectionChanged() {
-		validateCurrentSelection();
-	}
-
-	/**
-	 * Validates the current selection and updates the status line
-	 * accordingly.
-	 */
-	protected boolean validateCurrentSelection() {
-		Assert.isNotNull(fFilteredList);
-
-		IStatus status;
-		Object[] elements = getSelectedElements();
-
-		if (elements.length > 0) {
-			if (fValidator != null) {
-				status = fValidator.validate(elements);
-			} else {
-				status =
-					new Status(
-						IStatus.OK,
-						PlatformUI.PLUGIN_ID,
-						IStatus.OK,
-						"",
-						null);
-			}
-		} else {
-			if (fFilteredList.isEmpty()) {
-				status =
-					new Status(
-						IStatus.ERROR,
-						PlatformUI.PLUGIN_ID,
-						IStatus.ERROR,
-						fEmptyListMessage,
-						null);
-			} else {
-				status =
-					new Status(
-						IStatus.ERROR,
-						PlatformUI.PLUGIN_ID,
-						IStatus.ERROR,
-						fEmptySelectionMessage,
-						null);
-			}
-		}
-
-		updateStatus(status);
-
-		return status.isOK();
-	}
-
-	/*
-	 * @see Dialog#cancelPressed
-	 */
-	protected void cancelPressed() {
-		setResult(null);
-		super.cancelPressed();
-	}
-
-	/**
-	 * Creates a filtered list.
-	 * @param parent the parent composite.
-	 * @return returns the filtered list widget.
-	 */
-	protected FilteredList createFilteredList(Composite parent) {
-		int flags =
-			SWT.BORDER
-				| SWT.V_SCROLL
-				| SWT.H_SCROLL
-				| (fIsMultipleSelection ? SWT.MULTI : SWT.SINGLE);
-
-		FilteredList list =
-			new FilteredList(
-				parent,
-				flags,
-				fRenderer,
-				fIgnoreCase,
-				fAllowDuplicates,
-				fMatchEmptyString);
-
-		GridData data = new GridData();
-		data.widthHint = convertWidthInCharsToPixels(fWidth);
-		data.heightHint = convertHeightInCharsToPixels(fHeight);
-		data.grabExcessVerticalSpace = true;
-		data.grabExcessHorizontalSpace = true;
-		data.horizontalAlignment = GridData.FILL;
-		data.verticalAlignment = GridData.FILL;
-		list.setLayoutData(data);
-		list.setFont(parent.getFont());
-		list.setFilter((fFilter == null ? "" : fFilter)); //$NON-NLS-1$		
-
-		list.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				handleDefaultSelected();
-			}
-			public void widgetSelected(SelectionEvent e) {
-				handleWidgetSelected();
-			}
-		});
-
-		fFilteredList = list;
-
-		return list;
-	}
-
-	// 3515	
-	private void handleWidgetSelected() {
-		Object[] newSelection = fFilteredList.getSelection();
-
-		if (newSelection.length != fSelection.length) {
-			fSelection = newSelection;
-			handleSelectionChanged();
-		} else {
-			for (int i = 0; i != newSelection.length; i++) {
-				if (!newSelection[i].equals(fSelection[i])) {
-					fSelection = newSelection;
-					handleSelectionChanged();
-					break;
-				}
-			}
-		}
-	}
-
-	protected Text createFilterText(Composite parent) {
-		Text text = new Text(parent, SWT.BORDER);
-
-		GridData data = new GridData();
-		data.grabExcessVerticalSpace = false;
-		data.grabExcessHorizontalSpace = true;
-		data.horizontalAlignment = GridData.FILL;
-		data.verticalAlignment = GridData.BEGINNING;
-		text.setLayoutData(data);
-		text.setFont(parent.getFont());
-
-		text.setText((fFilter == null ? "" : fFilter)); //$NON-NLS-1$
-
-		Listener listener = new Listener() {
-			public void handleEvent(Event e) {
-				fFilteredList.setFilter(fFilterText.getText());
-			}
-		};
-		text.addListener(SWT.Modify, listener);
-
-		text.addKeyListener(new KeyListener() {
-			public void keyPressed(KeyEvent e) {
-				if (e.keyCode == SWT.ARROW_DOWN)
-					fFilteredList.setFocus();
-			}
-
-			public void keyReleased(KeyEvent e) {
-			}
-		});
-
-		fFilterText = text;
-
-		return text;
-	}
-
-	/*
-	 * @see Window#open()
-	 */
-	public int open() {
-		super.open();
-		return getReturnCode();
-	}
-
-	private void access$superCreate() {
-		super.create();
-	}
-
-	/*
-	 * @see Window#create(Shell)
-	 */
-	public void create() {
-
-		BusyIndicator.showWhile(null, new Runnable() {
-			public void run() {
-				access$superCreate();
-
-				Assert.isNotNull(fFilteredList);
-
-				if (fFilteredList.isEmpty()) {
-					handleEmptyList();
-				} else {
-					validateCurrentSelection();
-					fFilterText.selectAll();
-					fFilterText.setFocus();
-				}
-			}
-		});
-
-	}
-
-	/**
-	 * Handles empty list by disabling widgets.
-	 */
-	protected void handleEmptyList() {
-		fMessage.setEnabled(false);
-		fFilterText.setEnabled(false);
-		fFilteredList.setEnabled(false);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/CheckedTreeSelectionDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/CheckedTreeSelectionDialog.java
deleted file mode 100644
index cef7582..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/CheckedTreeSelectionDialog.java
+++ /dev/null
@@ -1,371 +0,0 @@
-/*
- * (c) Copyright IBM Corp. 2000, 2002 All Rights Reserved.  
- * Contributors:    
- * Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog font should be
- * activated and used by other components.
- */
-package org.eclipse.ui.dialogs;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-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.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Tree;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.dialogs.ContainerCheckedTreeViewer;
-
-/**
- * A class to select elements out of a tree structure.
- * 
- * @since 2.0
- */
-public class CheckedTreeSelectionDialog extends SelectionStatusDialog {
-
-	private CheckboxTreeViewer fViewer;
-
-	private ILabelProvider fLabelProvider;
-	private ITreeContentProvider fContentProvider;
-
-	private ISelectionStatusValidator fValidator = null;
-	private ViewerSorter fSorter;
-	private String fEmptyListMessage = WorkbenchMessages.getString("CheckedTreeSelectionDialog.nothing_available"); //$NON-NLS-1$	
-
-	private IStatus fCurrStatus = new Status(IStatus.OK, PlatformUI.PLUGIN_ID, 0, "", null); //$NON-NLS$
-	private List fFilters;
-	private Object fInput;
-	private boolean fIsEmpty;
-
-	private int fWidth = 60;
-	private int fHeight = 18;
-
-	private boolean fContainerMode;
-	private Object[] fExpandedElements;
-
-	/**
-	 * Constructs an instance of <code>ElementTreeSelectionDialog</code>.
-	 * @param labelProvider   the label provider to render the entries
-	 * @param contentProvider the content provider to evaluate the tree structure
-	 */
-	public CheckedTreeSelectionDialog(
-		Shell parent,
-		ILabelProvider labelProvider,
-		ITreeContentProvider contentProvider) {
-		super(parent);
-
-		fLabelProvider = labelProvider;
-		fContentProvider = contentProvider;
-
-		setResult(new ArrayList(0));
-		setStatusLineAboveButtons(true);
-
-		fContainerMode = false;
-		fExpandedElements = null;
-
-		int shellStyle = getShellStyle();
-		setShellStyle(shellStyle | SWT.MAX | SWT.RESIZE);
-	}
-
-	/**
-	 * If set, the checked /gray state of containers (inner nodes) is derived from the checked state of its 
-	 * leaf nodes.
-	 * @param containerMode The containerMode to set
-	 */
-	public void setContainerMode(boolean containerMode) {
-		fContainerMode = containerMode;
-	}
-
-	/**
-	 * Sets the initial selection.
-	 * Convenience method.
-	 * @param selection the initial selection.
-	 */
-	public void setInitialSelection(Object selection) {
-		setInitialSelections(new Object[] { selection });
-	}
-
-	/**
-	 * Sets the message to be displayed if the list is empty.
-	 * @param message the message to be displayed.
-	 */
-	public void setEmptyListMessage(String message) {
-		fEmptyListMessage = message;
-	}
-
-	/**
-	 * Sets the sorter used by the tree viewer.
-	 */
-	public void setSorter(ViewerSorter sorter) {
-		fSorter = sorter;
-	}
-
-	/**
-	 * Adds a filter to the tree viewer.
-	 * @param filter a filter.
-	 */
-	public void addFilter(ViewerFilter filter) {
-		if (fFilters == null)
-			fFilters = new ArrayList(4);
-
-		fFilters.add(filter);
-	}
-
-	/**
-	 * Sets an optional validator to check if the selection is valid.
-	 * The validator is invoked whenever the selection changes.
-	 * @param validator the validator to validate the selection.
-	 */
-	public void setValidator(ISelectionStatusValidator validator) {
-		fValidator = validator;
-	}
-
-	/**
-	 * Sets the tree input.
-	 * @param input the tree input.
-	 */
-	public void setInput(Object input) {
-		fInput = input;
-	}
-
-	/**
-	 * Expands the tree
-	 */
-	public void setExpandedElements(Object[] elements) {
-		fExpandedElements = elements;
-	}
-
-	/**
-	 * Sets the size of the tree in unit of characters.
-	 * @param width  the width of the tree.
-	 * @param height the height of the tree.
-	 */
-	public void setSize(int width, int height) {
-		fWidth = width;
-		fHeight = height;
-	}
-
-	protected void updateOKStatus() {
-		if (!fIsEmpty) {
-			if (fValidator != null) {
-				fCurrStatus = fValidator.validate(fViewer.getCheckedElements());
-				updateStatus(fCurrStatus);
-			} else if (!fCurrStatus.isOK()) {
-				fCurrStatus =
-					new Status(
-						IStatus.OK,
-						PlatformUI.PLUGIN_ID,
-						IStatus.OK,
-						"",
-						null);
-			}
-		} else {
-			fCurrStatus =
-				new Status(
-					IStatus.ERROR,
-					PlatformUI.PLUGIN_ID,
-					IStatus.OK,
-					fEmptyListMessage,
-					null);
-		}
-		updateStatus(fCurrStatus);
-	}
-
-	/*
-	 * @see Window#open()
-	 */
-	public int open() {
-		fIsEmpty = evaluateIfTreeEmpty(fInput);
-		super.open();
-
-		return getReturnCode();
-	}
-
-	private void access$superCreate() {
-		super.create();
-	}
-
-	/**
-	 * Handles cancel button pressed event.
-	 */
-	protected void cancelPressed() {
-		setResult(null);
-		super.cancelPressed();
-	}
-
-	/*
-	 * @see SelectionStatusDialog#computeResult()
-	 */
-	protected void computeResult() {
-		setResult(Arrays.asList(fViewer.getCheckedElements()));
-	}
-
-	/*
-	 * @see Window#create()
-	 */
-	public void create() {
-
-		BusyIndicator.showWhile(null, new Runnable() {
-			public void run() {
-				access$superCreate();
-
-				fViewer.setCheckedElements(
-					getInitialElementSelections().toArray());
-
-				if (fExpandedElements != null) {
-					fViewer.setExpandedElements(fExpandedElements);
-				}
-
-				updateOKStatus();
-			}
-		});
-
-	}
-
-	/*
-	 * @see Dialog#createDialogArea(Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = (Composite) super.createDialogArea(parent);
-
-		Label messageLabel = createMessageArea(composite);
-		CheckboxTreeViewer treeViewer = createTreeViewer(composite);
-		Control buttonComposite = createSelectionButtons(composite);
-
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = convertWidthInCharsToPixels(fWidth);
-		data.heightHint = convertHeightInCharsToPixels(fHeight);
-
-		Tree treeWidget = treeViewer.getTree();
-		treeWidget.setLayoutData(data);
-		treeWidget.setFont(parent.getFont());
-
-		if (fIsEmpty) {
-			messageLabel.setEnabled(false);
-			treeWidget.setEnabled(false);
-			buttonComposite.setEnabled(false);
-		}
-
-		return composite;
-	}
-
-	/**
-	 * Creates the tree viewer.
-	 * 
-	 * @param parent the parent composite
-	 * @return the tree viewer
-	 */
-	protected CheckboxTreeViewer createTreeViewer(Composite parent) {
-		if (fContainerMode) {
-			fViewer = new ContainerCheckedTreeViewer(parent, SWT.BORDER);
-		} else {
-			fViewer = new CheckboxTreeViewer(parent, SWT.BORDER);
-		}
-
-		fViewer.setContentProvider(fContentProvider);
-		fViewer.setLabelProvider(fLabelProvider);
-		fViewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				updateOKStatus();
-			}
-		});
-
-		fViewer.setSorter(fSorter);
-		if (fFilters != null) {
-			for (int i = 0; i != fFilters.size(); i++)
-				fViewer.addFilter((ViewerFilter) fFilters.get(i));
-		}
-
-		fViewer.setInput(fInput);
-
-		return fViewer;
-	}
-
-	/**
-	 * Returns the tree viewer.
-	 * 
-	 * @return the tree viewer
-	 */
-	protected CheckboxTreeViewer getTreeViewer() {
-		return fViewer;
-	}
-
-	/**
-	 * Adds the selection and deselection buttons to the dialog.
-	 * 
-	 * @param composite the parent composite
-	 */
-	protected Composite createSelectionButtons(Composite composite) {
-
-		Composite buttonComposite = new Composite(composite, SWT.RIGHT);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		buttonComposite.setLayout(layout);
-		buttonComposite.setFont(composite.getFont());
-		GridData data =
-			new GridData(
-				GridData.HORIZONTAL_ALIGN_END | GridData.GRAB_HORIZONTAL);
-		data.grabExcessHorizontalSpace = true;
-		composite.setData(data);
-
-		Button selectButton = createButton(buttonComposite, IDialogConstants.SELECT_ALL_ID, WorkbenchMessages.getString("CheckedTreeSelectionDialog.select_all"), false); //$NON-NLS-1$	
-
-		SelectionListener listener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				fViewer.setCheckedElements(
-					fContentProvider.getElements(fInput));
-				updateOKStatus();
-			}
-		};
-		selectButton.addSelectionListener(listener);
-
-		Button deselectButton = createButton(buttonComposite, IDialogConstants.DESELECT_ALL_ID, WorkbenchMessages.getString("CheckedTreeSelectionDialog.deselect_all"), false); //$NON-NLS-1$	
-
-		listener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				fViewer.setCheckedElements(new Object[0]);
-				updateOKStatus();
-			}
-		};
-		deselectButton.addSelectionListener(listener);
-		return buttonComposite;
-	}
-
-	private boolean evaluateIfTreeEmpty(Object input) {
-		Object[] elements = fContentProvider.getElements(input);
-		if (elements.length > 0) {
-			if (fFilters != null) {
-				for (int i = 0; i < fFilters.size(); i++) {
-					ViewerFilter curr = (ViewerFilter) fFilters.get(i);
-					elements = curr.filter(fViewer, input, elements);
-				}
-			}
-		}
-		return elements.length == 0;
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ContainerGenerator.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ContainerGenerator.java
deleted file mode 100644
index 7921802..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ContainerGenerator.java
+++ /dev/null
@@ -1,176 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * For creating non-existing folder resources along a given workspace path.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * <p>
- * Example usage:
- * <pre>
- * ContainerGenerator gen = new ContainerGenerator(new Path("/A/B"));
- * IContainer res = null;
- * try {
- *   res = gen.getContainer(monitor); // creates project A and folder B if required
- * } catch (CoreException e) {
- *   // handle failure
- * } catch (OperationCanceledException e) {
- *   // handle cancelation
- * }
- * </pre>
- * </p>
- */
-public class ContainerGenerator {
-	private IPath containerFullPath;
-	private IContainer container;
-/**
- * Creates a generator for the container resource (folder or project) at the
- * given workspace path. Assumes the path has already been validated.
- * <p>
- * Call <code>getContainer</code> to create any missing resources along the
- * path.
- * </p>
- *
- * @param containerPath the workspace path of the container
- */
-public ContainerGenerator(IPath containerPath) {
-	super();
-	this.containerFullPath = containerPath;
-}
-/**
- * Creates a folder resource for the given folder handle.
- *
- * @param folderHandle the handle to create a folder resource
- * @param monitor the progress monitor to show visual progress
- * @return the folder handle (<code>folderHandle</code>)
- * @exception CoreException if the operation fails
- * @exception OperationCanceledException if the operation is canceled
- */
-private IFolder createFolder(IFolder folderHandle, IProgressMonitor monitor) throws CoreException {
-	folderHandle.create(false, true, monitor);
-
-	if (monitor.isCanceled())
-		throw new OperationCanceledException();
-
-	return folderHandle;
-}
-/**
- * Creates a folder resource handle for the folder with the given name.
- * This method does not create the folder resource; this is the responsibility
- * of <code>createFolder</code>.
- *
- * @param container the resource container
- * @param folderName the name of the folder
- * @return the new folder resource handle
- */
-private IFolder createFolderHandle(IContainer container, String folderName) {
-	return container.getFolder(new Path(folderName));
-}
-/**
- * Creates a project resource for the given project handle.
- *
- * @param projectHandle the handle to create a project resource
- * @param monitor the progress monitor to show visual progress
- * @return the project handle (<code>projectHandle</code>)
- * @exception CoreException if the operation fails
- * @exception OperationCanceledException if the operation is canceled
- */
-private IProject createProject(IProject projectHandle, IProgressMonitor monitor) throws CoreException {
-	try {
-		monitor.beginTask("",2000);//$NON-NLS-1$
-	
-		projectHandle.create(new SubProgressMonitor(monitor, 1000));
-		if (monitor.isCanceled())
-			throw new OperationCanceledException();
-
-		projectHandle.open(new SubProgressMonitor(monitor, 1000));
-		if (monitor.isCanceled())
-			throw new OperationCanceledException();
-	}
-	finally {
-		monitor.done();
-	}
-
-	return projectHandle;
-}
-/**
- * Creates a project resource handle for the project with the given name.
- * This method does not create the project resource; this is the responsibility
- * of <code>createProject</code>.
- *
- * @param root the workspace root resource
- * @param projectName the name of the project
- * @return the new project resource handle
- */
-private IProject createProjectHandle(IWorkspaceRoot root, String projectName) {
-	return root.getProject(projectName);
-}
-/**
- * Ensures that this generator's container resource exists. Creates any missing
- * resource containers along the path; does nothing if the container resource
- * already exists.
- * <p>
- * Note: This method should be called within a workspace modify operation since
- * it may create resources.
- * </p>
- *
- * @param monitor a progress monitor
- * @return the container resource
- * @exception CoreException if the operation fails
- * @exception OperationCanceledException if the operation is canceled
- */
-public IContainer generateContainer(IProgressMonitor monitor) throws CoreException {
-	WorkbenchPlugin.getPluginWorkspace().run(new IWorkspaceRunnable() {
-		public void run(IProgressMonitor monitor) throws CoreException {
-			monitor.beginTask(WorkbenchMessages.getString("ContainerGenerator.progressMessage"), 1000 * containerFullPath.segmentCount()); //$NON-NLS-1$
-			if (container != null)
-				return;
-
-			// Does the container exist already?
-			IWorkspaceRoot root = getWorkspaceRoot();
-			container = (IContainer) root.findMember(containerFullPath);
-			if (container != null)
-				return;
-
-			// Create the container for the given path
-			container = root;
-			for (int i = 0; i < containerFullPath.segmentCount(); i++) {
-				String currentSegment = containerFullPath.segment(i);
-				IResource resource = container.findMember(currentSegment);
-				if (resource != null) {
-					container = (IContainer) resource;
-					monitor.worked(1000);
-				}
-				else {
-					if (i == 0) {
-						IProject projectHandle = createProjectHandle(root, currentSegment);
-						container = createProject(projectHandle, new SubProgressMonitor(monitor,1000));
-					}
-					else {
-						IFolder folderHandle = createFolderHandle(container, currentSegment);
-						container = createFolder(folderHandle, new SubProgressMonitor(monitor,1000));
-					}
-				}
-			}
-		}
-	}, monitor);
-	return container;
-}
-/**
- * Returns the workspace root resource handle.
- *
- * @return the workspace root resource handle
- */
-private IWorkspaceRoot getWorkspaceRoot() {
-	return WorkbenchPlugin.getPluginWorkspace().getRoot();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ContainerSelectionDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ContainerSelectionDialog.java
deleted file mode 100644
index 61948be..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ContainerSelectionDialog.java
+++ /dev/null
@@ -1,154 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002. All Rights Reserved.
- * Contributors:  Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog
- * font should be activated and used by other components.
- */
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.jface.resource.JFaceColors;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.misc.ContainerSelectionGroup;
-
-/**
- * A standard selection dialog which solicits a container resource from the user.
- * The <code>getResult</code> method returns the selected container resource.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * ContainerSelectionDialog dialog =
- *    new ContainerSelectionDialog(getShell(), initialSelection, allowNewContainerName(), msg);
- *	dialog.open();
- *	Object[] result = dialog.getResult();
- * </pre> 	
- * </p>
- */
-public class ContainerSelectionDialog extends SelectionDialog {
-	// the widget group;
-	private ContainerSelectionGroup group;
-
-	// the root resource to populate the viewer with
-	private IContainer initialSelection;
-
-	// allow the user to type in a new container name
-	private boolean allowNewContainerName = true;
-	
-	// the validation message
-	private Label statusMessage;
-
-	//for validating the selection
-	private ISelectionValidator validator;
-	
-	// show closed projects by default
-	private boolean showClosedProjects = true;
-
-	// sizing constants
-	private static final int	SIZING_SELECTION_PANE_HEIGHT = 250;
-	private static final int	SIZING_SELECTION_PANE_WIDTH = 300;
-/**
- * Creates a resource container selection dialog rooted at the given resource.
- * All selections are considered valid. 
- *
- * @param parentShell the parent shell
- * @param initialRoot the initial selection in the tree
- * @param allowNewContainerName <code>true</code> to enable the user to type in
- *  a new container name, and <code>false</code> to restrict the user to just
- *  selecting from existing ones
- * @param message the message to be displayed at the top of this dialog, or
- *    <code>null</code> to display a default message
- */
-public ContainerSelectionDialog(Shell parentShell, IContainer initialRoot, boolean allowNewContainerName, String message) {
-	super(parentShell);
-	setTitle(WorkbenchMessages.getString("ContainerSelectionDialog.title")); //$NON-NLS-1$
-	this.initialSelection = initialRoot;
-	this.allowNewContainerName = allowNewContainerName;
-	if (message != null)
-		setMessage(message);
-	else
-		setMessage(WorkbenchMessages.getString("ContainerSelectionDialog.message")); //$NON-NLS-1$
-	setShellStyle(getShellStyle() | SWT.RESIZE);
-}
-/* (non-Javadoc)
- * Method declared in Window.
- */
-protected void configureShell(Shell shell) {
-	super.configureShell(shell);
-	WorkbenchHelp.setHelp(shell, IHelpContextIds.CONTAINER_SELECTION_DIALOG);
-}
-/* (non-Javadoc)
- * Method declared on Dialog.
- */
-protected Control createDialogArea(Composite parent) {
-	// create composite 
-	Composite dialogArea = (Composite)super.createDialogArea(parent);
-
-	Listener listener = new Listener() {
-		public void handleEvent (Event event) {
-			if (statusMessage != null && validator != null) {
-				String errorMsg = validator.isValid(group.getContainerFullPath());
-				if (errorMsg == null || errorMsg.equals("")) {//$NON-NLS-1$
-					statusMessage.setText("");//$NON-NLS-1$
-					getOkButton().setEnabled(true);
-				} else {
-					statusMessage.setForeground(
-						JFaceColors.getErrorText(
-							statusMessage.getDisplay()));
-					statusMessage.setText(errorMsg);
-					getOkButton().setEnabled(false);
-				}
-			}
-		}
-	};
-	
-	// container selection group
-	group = new ContainerSelectionGroup(dialogArea, listener, allowNewContainerName, getMessage(), showClosedProjects);
-	if (initialSelection != null) {
-		group.setSelectedContainer(initialSelection);
-	}
-
-	statusMessage = new Label(parent, SWT.NONE);
-	statusMessage.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	statusMessage.setFont(parent.getFont());
-	
-	return dialogArea;
-}
-/**
- * The <code>ContainerSelectionDialog</code> implementation of this 
- * <code>Dialog</code> method builds a list of the selected resource containers
- * for later retrieval by the client and closes this dialog.
- */
-protected void okPressed() {
-	List chosenContainerPathList = new ArrayList();
-		chosenContainerPathList.add(group.getContainerFullPath());
-	setResult(chosenContainerPathList);
-	super.okPressed();
-}
-/**
- * Sets the validator to use.  
- * 
- * @param validator A selection validator
- */
-public void setValidator(ISelectionValidator validator) {
-	this.validator = validator;
-}
-/**
- * Set whether or not closed projects should be shown
- * in the selection dialog.
- * 
- * @param show Whether or not to show closed projects.
- */
-public void showClosedProjects(boolean show) {
-	this.showClosedProjects = show;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ElementListSelectionDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ElementListSelectionDialog.java
deleted file mode 100644
index ebdd961..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ElementListSelectionDialog.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-package org.eclipse.ui.dialogs;
-
-import java.util.Arrays;
-
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.widgets.*;
-
-/**
- * A class to select elements out of a list of elements.
- * 
- * @since 2.0
- */
-public class ElementListSelectionDialog extends AbstractElementListSelectionDialog {
-	
-	private Object[] fElements;
-	
-	/**
-	 * Creates a list selection dialog.
-	 * @param parent   the parent widget.
-	 * @param renderer the label renderer.
-	 */	
-	public ElementListSelectionDialog(Shell parent,	ILabelProvider renderer) {
-		super(parent, renderer);
-	}
-
-	/**
-	 * Sets the elements of the list.
-	 * @param elements the elements of the list.
-	 */
-	public void setElements(Object[] elements) {
-		fElements= elements;
-	}
-
-	/*
-	 * @see SelectionStatusDialog#computeResult()
-	 */
-	protected void computeResult() {
-		setResult(Arrays.asList(getSelectedElements()));
-	}
-	
-	/*
-	 * @see Dialog#createDialogArea(Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite contents= (Composite) super.createDialogArea(parent);
-		
-		createMessageArea(contents);
-		createFilterText(contents);
-		createFilteredList(contents);
-
-		setListElements(fElements);
-
-		setSelection(getInitialElementSelections().toArray());
-					
-		return contents;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ElementTreeSelectionDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ElementTreeSelectionDialog.java
deleted file mode 100644
index c936e98..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ElementTreeSelectionDialog.java
+++ /dev/null
@@ -1,344 +0,0 @@
-/*
- * (c) Copyright IBM Corp. 2000, 2002. All Rights Reserved.
- * Contributors:  Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog
- * font should be activated and used by other components.
- */
-package org.eclipse.ui.dialogs;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * A class to select elements out of a tree structure.
- * 
- * @since 2.0
- */
-public class ElementTreeSelectionDialog extends SelectionStatusDialog {
-
-	private TreeViewer fViewer;
-	private ILabelProvider fLabelProvider;
-	private ITreeContentProvider fContentProvider;
-
-	private ISelectionStatusValidator fValidator = null;
-	private ViewerSorter fSorter;
-	private boolean fAllowMultiple = true;
-	private boolean fDoubleClickSelects = true;
-	private String fEmptyListMessage = WorkbenchMessages.getString("ElementTreeSelectionDialog.nothing_available"); //$NON-NLS-1$	
-
-	private IStatus fCurrStatus =
-		new Status(IStatus.OK, PlatformUI.PLUGIN_ID, IStatus.OK, "", null);
-	private List fFilters;
-	private Object fInput;
-	private boolean fIsEmpty;
-
-	private int fWidth = 60;
-	private int fHeight = 18;
-
-	/**
-	 * Constructs an instance of <code>ElementTreeSelectionDialog</code>.
-	 * @param labelProvider   the label provider to render the entries
-	 * @param contentProvider the content provider to evaluate the tree structure
-	 */
-	public ElementTreeSelectionDialog(
-		Shell parent,
-		ILabelProvider labelProvider,
-		ITreeContentProvider contentProvider) {
-		super(parent);
-
-		fLabelProvider = labelProvider;
-		fContentProvider = contentProvider;
-
-		setResult(new ArrayList(0));
-		setStatusLineAboveButtons(true);
-
-		int shellStyle = getShellStyle();
-		setShellStyle(shellStyle | SWT.MAX | SWT.RESIZE);
-	}
-
-	/**
-	 * Sets the initial selection.
-	 * Convenience method.
-	 * @param selection the initial selection.
-	 */
-	public void setInitialSelection(Object selection) {
-		setInitialSelections(new Object[] { selection });
-	}
-
-	/**
-	 * Sets the message to be displayed if the list is empty.
-	 * @param message the message to be displayed.
-	 */
-	public void setEmptyListMessage(String message) {
-		fEmptyListMessage = message;
-	}
-
-	/**
-	 * Specifies if multiple selection is allowed.
-	 */
-	public void setAllowMultiple(boolean allowMultiple) {
-		fAllowMultiple = allowMultiple;
-	}
-
-	/**
-	 * Specifies if default selected events (double click) are created.
-	 */
-	public void setDoubleClickSelects(boolean doubleClickSelects) {
-		fDoubleClickSelects = doubleClickSelects;
-	}
-
-	/**
-	 * Sets the sorter used by the tree viewer.
-	 */
-	public void setSorter(ViewerSorter sorter) {
-		fSorter = sorter;
-	}
-
-	/**
-	 * Adds a filter to the tree viewer.
-	 * @param filter a filter.
-	 */
-	public void addFilter(ViewerFilter filter) {
-		if (fFilters == null)
-			fFilters = new ArrayList(4);
-
-		fFilters.add(filter);
-	}
-
-	/**
-	 * Sets an optional validator to check if the selection is valid.
-	 * The validator is invoked whenever the selection changes.
-	 * @param validator the validator to validate the selection.
-	 */
-	public void setValidator(ISelectionStatusValidator validator) {
-		fValidator = validator;
-	}
-
-	/**
-	 * Sets the tree input.
-	 * @param input the tree input.
-	 */
-	public void setInput(Object input) {
-		fInput = input;
-	}
-
-	/**
-	 * Sets the size of the tree in unit of characters.
-	 * @param width  the width of the tree.
-	 * @param height the height of the tree.
-	 */
-	public void setSize(int width, int height) {
-		fWidth = width;
-		fHeight = height;
-	}
-
-	protected void updateOKStatus() {
-		if (!fIsEmpty) {
-			if (fValidator != null) {
-				fCurrStatus = fValidator.validate(getResult());
-				updateStatus(fCurrStatus);
-			} else {
-				fCurrStatus =
-					new Status(
-						IStatus.OK,
-						PlatformUI.PLUGIN_ID,
-						IStatus.OK,
-						"",
-						null);
-			}
-		} else {
-			fCurrStatus =
-				new Status(
-					IStatus.ERROR,
-					PlatformUI.PLUGIN_ID,
-					IStatus.ERROR,
-					fEmptyListMessage,
-					null);
-		}
-		updateStatus(fCurrStatus);
-	}
-
-	/*
-	 * @see Window#open()
-	 */
-	public int open() {
-		fIsEmpty = evaluateIfTreeEmpty(fInput);
-		super.open();
-		return getReturnCode();
-	}
-
-	private void access$superCreate() {
-		super.create();
-	}
-
-	/**
-	 * Handles cancel button pressed event.
-	 */
-	protected void cancelPressed() {
-		setResult(null);
-		super.cancelPressed();
-	}
-
-	/*
-	 * @see SelectionStatusDialog#computeResult()
-	 */
-	protected void computeResult() {
-		setResult(((IStructuredSelection) fViewer.getSelection()).toList());
-	}
-
-	/*
-	 * @see Window#create()
-	 */
-	public void create() {
-		BusyIndicator.showWhile(null, new Runnable() {
-			public void run() {
-				access$superCreate();
-				fViewer.setSelection(
-					new StructuredSelection(getInitialElementSelections()),
-					true);
-				updateOKStatus();
-			}
-		});
-	}
-
-	/*
-	 * @see Dialog#createDialogArea(Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = (Composite) super.createDialogArea(parent);
-
-		Label messageLabel = createMessageArea(composite);
-		TreeViewer treeViewer = createTreeViewer(composite);
-
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = convertWidthInCharsToPixels(fWidth);
-		data.heightHint = convertHeightInCharsToPixels(fHeight);
-
-		Tree treeWidget = treeViewer.getTree();
-		treeWidget.setLayoutData(data);
-		treeWidget.setFont(parent.getFont());
-
-		if (fIsEmpty) {
-			messageLabel.setEnabled(false);
-			treeWidget.setEnabled(false);
-		}
-
-		return composite;
-	}
-
-	/**
-	 * Creates the tree viewer.
-	 * 
-	 * @param parent the parent composite
-	 * @return the tree viewer
-	 */
-	protected TreeViewer createTreeViewer(Composite parent) {
-		int style = SWT.BORDER | (fAllowMultiple ? SWT.MULTI : SWT.SINGLE);
-
-		fViewer = new TreeViewer(new Tree(parent, style));
-		fViewer.setContentProvider(fContentProvider);
-		fViewer.setLabelProvider(fLabelProvider);
-		fViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				access$setResult(
-					((IStructuredSelection) event.getSelection()).toList());
-				updateOKStatus();
-			}
-		});
-
-		fViewer.setSorter(fSorter);
-		if (fFilters != null) {
-			for (int i = 0; i != fFilters.size(); i++)
-				fViewer.addFilter((ViewerFilter) fFilters.get(i));
-		}
-
-		if (fDoubleClickSelects) {
-			Tree tree = fViewer.getTree();
-			tree.addSelectionListener(new SelectionAdapter() {
-				public void widgetDefaultSelected(SelectionEvent e) {
-					updateOKStatus();
-					if (fCurrStatus.isOK())
-						access$superButtonPressed(IDialogConstants.OK_ID);
-				}
-			});
-		}
-		fViewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				updateOKStatus();
-				
-				//If it is not OK or if double click does not
-				//select then expand
-				if (!(fDoubleClickSelects && fCurrStatus.isOK())) {
-					ISelection selection = event.getSelection();
-					if (selection instanceof IStructuredSelection) {
-						Object item =
-							((IStructuredSelection) selection)
-								.getFirstElement();
-						if (fViewer.getExpandedState(item))
-							fViewer.collapseToLevel(item, 1);
-						else
-							fViewer.expandToLevel(item, 1);
-					}
-				}
-			}
-		});
-
-		fViewer.setInput(fInput);
-
-		return fViewer;
-	}
-
-	/**
-	 * Returns the tree viewer.
-	 * 
-	 * @return the tree viewer
-	 */
-	protected TreeViewer getTreeViewer() {
-		return fViewer;
-	}
-
-	private boolean evaluateIfTreeEmpty(Object input) {
-		Object[] elements = fContentProvider.getElements(input);
-		if (elements.length > 0) {
-			if (fFilters != null) {
-				for (int i = 0; i < fFilters.size(); i++) {
-					ViewerFilter curr = (ViewerFilter) fFilters.get(i);
-					elements = curr.filter(fViewer, input, elements);
-				}
-			}
-		}
-		return elements.length == 0;
-	}
-
-	protected void access$superButtonPressed(int id) {
-		super.buttonPressed(id);
-	}
-
-	protected void access$setResult(List result) {
-		super.setResult(result);
-	}
-
-	/**
-		* @see org.eclipse.jface.window.Window#handleShellCloseEvent()
-		*/
-	protected void handleShellCloseEvent() {
-		super.handleShellCloseEvent();
-
-		//Handle the closing of the shell by selecting the close icon
-		if (getReturnCode() == CANCEL)
-			setResult(null);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FileEditorMappingContentProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FileEditorMappingContentProvider.java
deleted file mode 100644
index 0fdd382..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FileEditorMappingContentProvider.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * A content provider for displaying of <code>IFileEditorMapping</code>
- * objects in viewers.
- * <p>
- * This class has a singleton instance, 
- * <code>FileEditorMappingContentProvider.INSTANCE</code>,
- * which can be used any place this kind of content provider is needed.
- * </p>
- *
- * @see org.eclipse.ui.IResourceTypeEditorMapping
- * @see org.eclipse.jface.viewers.IContentProvider
- */ 
-public class FileEditorMappingContentProvider implements IStructuredContentProvider {
-
-	/**
-	 * Singleton instance accessor.
-	 */
-	public final static FileEditorMappingContentProvider INSTANCE = new FileEditorMappingContentProvider();
-/**
- * Creates an instance of this class.  The private visibility of this
- * constructor ensures that this class is only usable as a singleton.
- */
-private FileEditorMappingContentProvider() {
-	super();
-}
-/* (non-Javadoc)
- * Method declared on IContentProvider.
- */
-public void dispose() {}
-/* (non-Javadoc)
- * Method declared on IStructuredContentProvider.
- */
-public Object[] getElements(Object element) {
-	IFileEditorMapping[] array = (IFileEditorMapping[]) element;
-	return array == null ? new Object[0] : array;
-}
-/* (non-Javadoc)
- * Method declared on IContentProvider.
- */
-public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FileEditorMappingLabelProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FileEditorMappingLabelProvider.java
deleted file mode 100644
index 1fc7d2c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FileEditorMappingLabelProvider.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.IFileEditorMapping;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.graphics.Image;
-import java.util.*;
-
-/**
- * A label provider for displaying of <code>IFileEditorMapping</code>
- * objects in viewers.
- * <p>
- * This class has a singleton instance, 
- * <code>FileEditorMappingLabelProvider.INSTANCE</code>,
- * which can be used any place this kind of label provider is needed.
- * </p>
- * <p>
- * The singleton instance hangs on to images, which get freed up when 
- * <code>dispose</code> is called.
- * </p>
- *
- * @see org.eclipse.ui.IResourceTypeEditorMapping
- * @see org.eclipse.jface.viewers.ILabelProvider
- */ 
-public class FileEditorMappingLabelProvider extends LabelProvider implements ITableLabelProvider {
-
-	/**
-	 * Singleton instance accessor.
-	 */
-	public final static FileEditorMappingLabelProvider INSTANCE = new FileEditorMappingLabelProvider();
-
-	/**
-	 * Images that will require disposal.
-	 */
-	private List imagesToDispose = new ArrayList();
-/**
- * Creates an instance of this class.  The private visibility of this
- * constructor ensures that this class is only usable as a singleton.
- */
-private FileEditorMappingLabelProvider() {
-	super();
-}
-/* (non-Javadoc)
- * Method declared on ILabelProvider.
- */
-public void dispose() {
-	super.dispose();
-	for (Iterator e = imagesToDispose.iterator(); e.hasNext();) {
-		((Image) e.next()).dispose();
-	}
-	imagesToDispose.clear();
-}
-/**
- * The <code>ResourceTypeEditorMappingLabelProvider</code> implementation of this
- * <code>ITableLabelProvider</code> method creates and returns an new image. The 
- * image is remembered internally and will be deallocated by
- * <code>dispose</code>.
- */
-public Image getColumnImage(Object element, int row) {
-	return getImage(element);
-}
-/* (non-Javadoc)
- * Method declared on ITableLabelProvider.
- */
-public String getColumnText(Object element, int row) {
-	return getText(element);
-}
-/**
- * The <code>ResourceTypeEditorMappingLabelProvider</code> implementation of this
- * <code>ILabelProvider</code> method creates and returns an new image. The image
- * is remembered internally and will be deallocated by <code>dispose</code>.
- */
-public Image getImage(Object element) {
-	if (element instanceof IFileEditorMapping) {
-		Image image = ((IFileEditorMapping)element).getImageDescriptor().createImage();
-		imagesToDispose.add(image);
-		return image;
-	}
-	return null;
-}
-/* (non-Javadoc)
- * Method declared on ILabelProvider.
- */
-public String getText(Object element) {
-	if (element instanceof IFileEditorMapping)
-		return ((IFileEditorMapping)element).getLabel();
-
-	return null;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FileSelectionDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FileSelectionDialog.java
deleted file mode 100644
index 384751d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FileSelectionDialog.java
+++ /dev/null
@@ -1,249 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002. All Rights Reserved.
- * Contributors:  Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog
- * font should be activated and used by other components.
- */
-import org.eclipse.ui.help.*;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.misc.CheckboxTreeAndListGroup;
-import org.eclipse.ui.model.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-/**
- * A standard file selection dialog which solicits a list of files from the user.
- * The <code>getResult</code> method returns the selected files.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- *	FileSelectionDialog dialog = 
- *		new FileSelectionDialog(getShell(), rootElement, msg);
- *	dialog.setInitialSelections(selectedResources);
- *	dialog.open();
- *	return dialog.getResult();
- * </pre>
- * </p>
- * @deprecated. Use org.eclipse.swt.widgets.FileDialog,
- */
-public class FileSelectionDialog extends SelectionDialog {
-	// the root file representative to populate the viewer with
-	private FileSystemElement root;
-
-	// the visual selection widget group
-	private CheckboxTreeAndListGroup selectionGroup;
-
-	// expand all items in the tree view on dialog open
-	private boolean expandAllOnOpen = false;
-	
-	// sizing constants
-	private	static final int SIZING_SELECTION_WIDGET_WIDTH = 500;
-	private	static final int SIZING_SELECTION_WIDGET_HEIGHT = 250;
-/**
- * Creates a file selection dialog rooted at the given file system element.
- *
- * @param parentShell the parent shell
- * @param fileSystemElement the root element to populate this dialog with
- * @param message the message to be displayed at the top of this dialog, or
- *    <code>null</code> to display a default message
- */
-public FileSelectionDialog(Shell parentShell, FileSystemElement fileSystemElement, String message) {
-	super(parentShell);
-	setTitle(WorkbenchMessages.getString("FileSelectionDialog.title")); //$NON-NLS-1$
-	root = fileSystemElement;
-	if (message != null)
-		setMessage(message);
-	else
-		setMessage(WorkbenchMessages.getString("FileSelectionDialog.message")); //$NON-NLS-1$
-}
-/**
- * Add the selection and deselection buttons to the dialog.
- * @param composite org.eclipse.swt.widgets.Composite
- */
-private void addSelectionButtons(Composite composite) {
-	Font font = composite.getFont();
-	
-	Composite buttonComposite = new Composite(composite,SWT.RIGHT);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 2;
-	buttonComposite.setLayout(layout);
-	GridData data = new GridData(GridData.HORIZONTAL_ALIGN_END);
-	composite.setData(data);
-
-	Button selectButton = new Button(buttonComposite,SWT.PUSH);
-	selectButton.setFont(font);
-	selectButton.setText(SELECT_ALL_TITLE);
-	SelectionListener listener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			selectionGroup.setAllSelections(true);
-		}
-	};
-	selectButton.addSelectionListener(listener);
-
-	Button deselectButton = new Button(buttonComposite,SWT.PUSH);
-	deselectButton.setFont(font);
-	deselectButton.setText(DESELECT_ALL_TITLE);
-	listener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			selectionGroup.setAllSelections(false);
-
-		}
-	};
-	deselectButton.addSelectionListener(listener);
-	
-	}
-/**
- * Visually checks the previously-specified elements in the container (left)
- * portion of this dialog's file selection viewer.
- */
-private void checkInitialSelections() {
-	Iterator itemsToCheck = getInitialElementSelections().iterator();
-	
-	while (itemsToCheck.hasNext()) {
-		FileSystemElement currentElement = (FileSystemElement)itemsToCheck.next();
-		
-		if (currentElement.isDirectory())
-			selectionGroup.initialCheckTreeItem(currentElement);
-		else
-			selectionGroup.initialCheckListItem(currentElement);
-	}
-}
-/* (non-Javadoc)
- * Method declared in Window.
- */
-protected void configureShell(Shell shell) {
-	super.configureShell(shell);
-	WorkbenchHelp.setHelp(shell, IHelpContextIds.FILE_SELECTION_DIALOG);
-}
-public void create() {
-	super.create();
-	initializeDialog();
-}
-/* (non-Javadoc)
- * Method declared on Dialog.
- */
-protected Control createDialogArea(Composite parent) {
-	// page group
-	Composite composite = (Composite)super.createDialogArea(parent);
-	
-	createMessageArea(composite);
-
-	// Create a fake parent of the root to be the dialog input element.
-	// Use an empty label so that display of the element's full name
-	// doesn't include a confusing label
-	FileSystemElement input = new FileSystemElement("", null, true);//$NON-NLS-1$
-	input.addChild(root);
-	root.setParent(input);
-
-	selectionGroup =
-		new CheckboxTreeAndListGroup(
-			composite,
-			input,
-			getFolderProvider(),
-			new WorkbenchLabelProvider(),
-			getFileProvider(),
-			new WorkbenchLabelProvider(),
-			SWT.NONE,
-			SIZING_SELECTION_WIDGET_WIDTH,		// since this page has no other significantly-sized
-			SIZING_SELECTION_WIDGET_HEIGHT);	// widgets we need to hardcode the combined widget's
-												// size, otherwise it will open too small
-
-	ICheckStateListener listener = new ICheckStateListener() {
-		public void checkStateChanged(CheckStateChangedEvent event) {
-			getOkButton().setEnabled(selectionGroup.getCheckedElementCount() > 0);
-		}
-	};
-
-	WorkbenchViewerSorter sorter = new WorkbenchViewerSorter();
-	selectionGroup.setTreeSorter(sorter);
-	selectionGroup.setListSorter(sorter);
-	selectionGroup.addCheckStateListener(listener);
-
-	addSelectionButtons(composite);
-
-	return composite;
-}
-/**
- * Returns whether the tree view of the file system element
- * will be fully expanded when the dialog is opened.
- *
- * @return true to expand all on dialog open, false otherwise.
- */
-public boolean getExpandAllOnOpen() {
-	return expandAllOnOpen;
-}
-/**
- * Returns a content provider for <code>FileSystemElement</code>s that returns 
- * only files as children.
- */
-private ITreeContentProvider getFileProvider() {
-	return new WorkbenchContentProvider() {
-		public Object[] getChildren(Object o) {
-			if (o instanceof FileSystemElement) {
-				return ((FileSystemElement)o).getFiles().getChildren(o);
-			}
-			return new Object[0];
-		}
-	};
-}
-/**
- * Returns a content provider for <code>FileSystemElement</code>s that returns 
- * only folders as children.
- */
-private ITreeContentProvider getFolderProvider() {
-	return new WorkbenchContentProvider() {
-		public Object[] getChildren(Object o) {
-			if (o instanceof FileSystemElement) {
-				return ((FileSystemElement)o).getFolders().getChildren(o);
-			}
-			return new Object[0];
-		}
-	};
-}
-/**
- * Initializes this dialog's controls.
- */
-private void initializeDialog() {
-	// initialize page	
-	if (getInitialElementSelections().isEmpty())
-		getOkButton().setEnabled(false);
-	else
-		checkInitialSelections();
-	selectionGroup.aboutToOpen();
-	if (expandAllOnOpen)
-		selectionGroup.expandAll();
-}
-/**
- * The <code>FileSelectionDialog</code> implementation of this
- * <code>Dialog</code> method builds a list of the selected files for later 
- * retrieval by the client and closes this dialog.
- */
-protected void okPressed() {
-	Iterator resultEnum = selectionGroup.getAllCheckedListItems();
-	ArrayList list = new ArrayList();
-	while (resultEnum.hasNext())
-		list.add(resultEnum.next());
-	setResult(list);
-	super.okPressed();
-}
-/**
- * Set whether the tree view of the file system element
- * will be fully expanded when the dialog is opened.
- *
- * @parm expandAll true to expand all on dialog open, false otherwise.
- */
-public void setExpandAllOnOpen(boolean expandAll) {
-	expandAllOnOpen = expandAll;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FileSystemElement.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FileSystemElement.java
deleted file mode 100644
index 25b0e90..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FileSystemElement.java
+++ /dev/null
@@ -1,210 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.model.AdaptableList;
-import org.eclipse.ui.internal.model.WorkbenchAdapter;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- *  Instances of this class represent files or file-like entities (eg.- zip
- *  file entries) on the local file system.  They do not represent resources
- *  within the workbench.  This distinction is made because the representation of
- *  a file system resource is significantly different from that of a workbench
- *  resource.
- *
- *  If self represents a collection (eg.- file system directory, zip directory)
- *  then its icon will be the folderIcon static field.  Otherwise (ie.- self
- *  represents a file system file) self's icon is stored in field "icon", and is
- *  determined by the extension of the file that self represents.
- *
- * This class is adaptable, and implements one adapter itself, namely the 
- * IWorkbenchAdapter adapter used for navigation and display in the workbench.
- */
-public class FileSystemElement implements IAdaptable {
-	private String name;
-	private Object fileSystemObject;
-
-	/* Wait until a child is added to initialize the receiver's lists.
-	 * Doing so minimizes the amount of memory that is allocated when
-	 * a large directory structure is being processed.
-	 */
-	private AdaptableList folders = null;
-	private AdaptableList files = null;
-
-	private boolean isDirectory = false;
-	private FileSystemElement parent;
-
-	private final static AdaptableList EMPTY_LIST = new AdaptableList(0);
-
-	private WorkbenchAdapter workbenchAdapter = new WorkbenchAdapter() {
-		/**
-		 *	Answer the children property of this element
-		 */
-		public Object[] getChildren(Object o) {
-			return getFolders().getChildren(o);
-		}
-		/**
-		 * Returns the parent of this element
-		 */
-		public Object getParent(Object o) {
-			return parent;
-		}
-		/**
-		 * Returns an appropriate label for this file system element.
-		 */
-		public String getLabel(Object o) {
-			return name;
-		}
-	/**
-	 * Returns an image descriptor for this file system element
-	 */
-	public ImageDescriptor getImageDescriptor(Object object) {
-		if (isDirectory()) {
-			return WorkbenchImages.getImageDescriptor(ISharedImages.IMG_OBJ_FOLDER);
-		} else {
-			return WorkbenchPlugin.getDefault().getEditorRegistry().getImageDescriptor(name);
-		}
-	}
-};
-/**
- * Creates a new <code>FileSystemElement</code> and initializes it
- * and its parent if applicable.
- *
- * @param name java.lang.String
- */
-public FileSystemElement(String name,FileSystemElement parent,boolean isDirectory) {
-	this.name = name;
-	this.parent = parent;
-	this.isDirectory = isDirectory;
-	if (parent != null)
-		parent.addChild(this);
-}
-/**
- * Adds the passed child to this object's collection of children.
- *
- * @param child FileSystemElement
- */
-public void addChild(FileSystemElement child) {
-	if (child.isDirectory()) {
-		if (folders == null) folders = new AdaptableList(1);
-		folders.add(child);
-	} else {
-		if (files == null) files = new AdaptableList(1);
-		files.add(child);
-	}
-}
-/**
- * Returns the adapter
- */
-public Object getAdapter(Class adapter) {
-	if (adapter == IWorkbenchAdapter.class) {
-		return workbenchAdapter;
-	}
-	//defer to the platform
-	return Platform.getAdapterManager().getAdapter(this, adapter);
-}
-/** 
- * Returns the extension of this element's filename.  Returns
- * The empty string if there is no extension.
- */
-public String getFileNameExtension() {
-	int lastDot = name.lastIndexOf('.');
-	return lastDot < 0 ? "" : name.substring(lastDot+1);	//$NON-NLS-1$
-}
-/**
- *	Answer the files property of this element.  Answer an empty list if the
- *  files property is null. 
- *  This method should not be used to add children
- *  to the receiver. Use addChild(FileSystemElement) instead.
- */
-public AdaptableList getFiles() {
-	
-	if (files == null) return EMPTY_LIST;
-	return files;
-}
-/**
- *	Returns the file system object property of this element
- *
- *	@return the file system object
- */
-public Object getFileSystemObject() {
-	return fileSystemObject;
-}
-/**
- * Returns a list of the folders that are immediate children
- * of this folder.  Answer an empty list if the folders property is null.
- * This method should not be used to add children
- * to the receiver. Use addChild(FileSystemElement) instead.
- */
-public AdaptableList getFolders() {
-	if (folders == null) return EMPTY_LIST;
-	return folders;
-}
-/**
- * Return the parent of this element.
- *
- * @return the parent file system element, or <code>null</code> if this is the root
- */
-public FileSystemElement getParent() {
-	return this.parent;
-}
-/**
- * Returns true if this element represents a directory, and false
- * otherwise.
- */
-public boolean isDirectory() {
-	return isDirectory;
-}
-/**
- * Removes a sub-folder from this file system element.
- */
-public void removeFolder(FileSystemElement child) {
-	if (folders == null) return;
-	folders.remove(child);
-	child.setParent(null);
-}
-/**
- *	Set the file system object property of this element
- *
- *	@param value the file system object
- */
-public void setFileSystemObject(Object value) {
-	fileSystemObject = value;
-}
-/**
- * Sets the parent of this file system element.
- */
-public void setParent(FileSystemElement element) {
-	parent = element;
-}
-/**
- * For debugging purposes only.
- */
-public String toString() {
-	StringBuffer buf = new StringBuffer();
-	if (isDirectory()) {
-		buf.append("Folder(");//$NON-NLS-1$
-	} else {
-		buf.append("File(");//$NON-NLS-1$
-	}
-	buf.append(name).append(")");//$NON-NLS-1$
-
-	if (!isDirectory()) {
-		return buf.toString();
-	}
-
-	buf.append(" folders: ");//$NON-NLS-1$
-	buf.append(folders);
-	buf.append(" files: ");//$NON-NLS-1$
-	buf.append(files);
-	return buf.toString();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FilteredList.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FilteredList.java
deleted file mode 100644
index 29241b9..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FilteredList.java
+++ /dev/null
@@ -1,652 +0,0 @@
-/*
- * (c) Copyright IBM Corp. 2000, 2002. All Rights Reserved.
- * Contributors:  Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog
- * font should be activated and used by other components.
- */
-package org.eclipse.ui.dialogs;
-
-import java.util.Comparator;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.Vector;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.ILabelProvider;
-
-import org.eclipse.ui.internal.misc.StringMatcher;
-
-/**
- * A composite widget which holds a list of elements for user selection.
- * The elements are sorted alphabetically.
- * Optionally, the elements can be filtered and duplicate entries can
- * be hidden (folding).
- * 
- * @since 2.0
- */
-public class FilteredList extends Composite {
-
-	public interface FilterMatcher {
-		/**
-		 * Sets the filter.
-		 * 
-		 * @param pattern         the filter pattern.
-		 * @param ignoreCase      a flag indicating whether pattern matching is case insensitive or not.
-		 * @param ignoreWildCards a flag indicating whether wildcard characters are interpreted or not.
-		 */
-		void setFilter(String pattern, boolean ignoreCase, boolean ignoreWildCards);
-
-		/**
-		 * Returns <code>true</code> if the object matches the pattern, <code>false</code> otherwise.
-		 * <code>setFilter()</code> must have been called at least once prior to a call to this method.
-		 */
-		boolean match(Object element);	
-	}
-	
-	private class DefaultFilterMatcher implements FilterMatcher {
-		private StringMatcher fMatcher;
-		
-		public void setFilter(String pattern, boolean ignoreCase, boolean ignoreWildCards) {
-			fMatcher= new StringMatcher(pattern + '*', ignoreCase, ignoreWildCards);
-		}
-		
-		public boolean match(Object element) {
-			return fMatcher.match(fLabelProvider.getText(element));
-		}	
-	}
-
-	private Table fList;
-	private ILabelProvider fLabelProvider;
-	private boolean fMatchEmptyString= true;
-	private boolean fIgnoreCase;
-	private boolean fAllowDuplicates;
-	private String fFilter= ""; //$NON-NLS-1$
-	private TwoArrayQuickSorter fSorter;
-	
-	private Object[] fElements= new Object[0];
-	private Label[] fLabels;
-	private Vector fImages= new Vector();
-
-	private int[] fFoldedIndices;
-	private int fFoldedCount;
-	
-	private int[] fFilteredIndices;
-	private int fFilteredCount;
-	
-	private FilterMatcher fFilterMatcher= new DefaultFilterMatcher();
-	private Comparator fComparator;
-	
-	private UpdateThread fUpdateThread;
-
-	private static class Label {
-		public final String string;
-		public final Image image;
-
-		public Label(String string, Image image) {
-			this.string= string;
-			this.image= image;
-		}
-		
-		public boolean equals(Label label) {
-			if (label == null)
-				return false;
-				
-			return			
-				string.equals(label.string) &&
-				image.equals(label.image);
-		}
-	}
-
-	private final class LabelComparator implements Comparator {
-		private boolean fIgnoreCase;
-	
-		LabelComparator(boolean ignoreCase) {
-			fIgnoreCase= ignoreCase;
-		}
-	
-		public int compare(Object left, Object right) {
-			Label leftLabel= (Label) left;
-			Label rightLabel= (Label) right;			
-
-			int value;
-			
-			if (fComparator == null) {
-				value= fIgnoreCase
-					? leftLabel.string.compareToIgnoreCase(rightLabel.string)
-					: leftLabel.string.compareTo(rightLabel.string);
-			} else {
-			    value= fComparator.compare(leftLabel.string, rightLabel.string);
-			}
-
-			if (value != 0)
-				return value;
-
-			// images are allowed to be null
-			if (leftLabel.image == null) {
-				return (rightLabel.image == null) ? 0 : -1;
-			} else if (rightLabel.image == null) {
-				return +1;				
-			} else {
-				return
-					fImages.indexOf(leftLabel.image) -
-					fImages.indexOf(rightLabel.image);
-			}
-		}
-		
-	}	
-	
-	/**
-	 * Constructs a new filtered list.
-	 * 
-	 * @param parent           the parent composite
-	 * @param style            the widget style
-	 * @param labelProvider    the label renderer
-	 * @param ignoreCase       specifies whether sorting and folding is case sensitive
-	 * @param allowDuplicates  specifies whether folding of duplicates is desired
-	 * @param matchEmptyString specifies whether empty filter strings should filter everything or nothing
-	 */
-	public FilteredList(Composite parent, int style, ILabelProvider labelProvider,
-		boolean ignoreCase, boolean allowDuplicates, boolean matchEmptyString)
-	{
-		super(parent, SWT.NONE);
-
-		GridLayout layout= new GridLayout();
-		layout.marginHeight= 0;
-		layout.marginWidth= 0;
-		setLayout(layout);
-		
-		fList= new Table(this, style);
-		fList.setLayoutData(new GridData(GridData.FILL_BOTH));
-		fList.setFont(parent.getFont());
-		fList.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				fLabelProvider.dispose();
-				if (fUpdateThread != null)
-					fUpdateThread.requestStop();
-			}
-		});
-		
-		fLabelProvider= labelProvider;
-		fIgnoreCase= ignoreCase;		
-		fSorter= new TwoArrayQuickSorter(new LabelComparator(ignoreCase));
-		fAllowDuplicates= allowDuplicates;
-		fMatchEmptyString= matchEmptyString;
-	}
-
-	/**
-	 * Sets the list of elements.
-	 * @param elements the elements to be shown in the list.
-	 */
-	public void setElements(Object[] elements) {
-		if (elements == null) {
-			fElements= new Object[0];
-		} else {
-			// copy list for sorting
-			fElements= new Object[elements.length];
-			System.arraycopy(elements, 0, fElements, 0, elements.length);
-		}
-			
-		int length= fElements.length;
-
-		// fill labels			
-		fLabels= new Label[length];
-		Set imageSet= new HashSet();
-		for (int i= 0; i != length; i++) {
-			String text= fLabelProvider.getText(fElements[i]);
-			Image image= fLabelProvider.getImage(fElements[i]);
-			
-			fLabels[i]= new Label(text, image);				
-			imageSet.add(image);
-		}
-		fImages.clear();
-		fImages.addAll(imageSet);
-
-		fSorter.sort(fLabels, fElements);
-
-		fFilteredIndices= new int[length];	
-		fFoldedIndices= new int[length];
-
-		updateList();
-	}
-
-	/**
-	 * Tests if the list (before folding and filtering) is empty.
-	 * @return returns <code>true</code> if the list is empty, <code>false</code> otherwise.
-	 */
-	public boolean isEmpty() {
-		return (fElements == null) || (fElements.length == 0);
-	}
-
-	/**
-	 * Sets the filter matcher.
-	 */
-	public void setFilterMatcher(FilterMatcher filterMatcher) {
-		Assert.isNotNull(filterMatcher);
-		fFilterMatcher= filterMatcher;
-	}
-	
-	/**
-	 * Sets a custom comparator for sorting the list.
-	 */
-	public void setComparator(Comparator comparator) {
-	    Assert.isNotNull(comparator);
-	    fComparator= comparator;
-	}
-
-    /**
-     * Adds a selection listener to the list.
-     * @param listener the selection listener to be added.
-     */
-	public void addSelectionListener(SelectionListener listener) {
-		fList.addSelectionListener(listener);
-	}
-
-    /**
-     * Removes a selection listener from the list.
-     * @param listener the selection listener to be removed.
-     */
-	public void removeSelectionListener(SelectionListener listener) {
-		fList.removeSelectionListener(listener);
-	}	
-
-    /**
-     * Sets the selection of the list.
-     * Empty or null array removes selection.
-     * @param selection an array of indices specifying the selection.
-     */
-	public void setSelection(int[] selection) {
-		if (selection == null || selection.length == 0)
-			fList.deselectAll();
-		else
-			fList.setSelection(selection);
-	}
-	
-	/**
-	 * Returns the selection of the list.
-	 * @return returns an array of indices specifying the current selection.
-	 */
-	public int[] getSelectionIndices() {
-		return fList.getSelectionIndices();
-	}
-	
-	/**
-	 * Returns the selection of the list.
-	 * This is a convenience function for <code>getSelectionIndices()</code>.
-	 * @return returns the index of the selection, -1 for no selection.
-	 */
-	public int getSelectionIndex() {
-		return fList.getSelectionIndex();		
-	}
-	
-	/**
-	 * Sets the selection of the list.
-	 * Empty or null array removes selection.
-	 * @param elements the array of elements to be selected.
-	 */
-	public void setSelection(Object[] elements) {
-		if (elements == null || elements.length == 0) {
-			fList.deselectAll();
-			return;
-		}
-		
-		if (fElements == null)
-			return;
-		
-		// fill indices
-		int[] indices= new int[elements.length];
-		for (int i= 0; i != elements.length; i++) {
-			int j;			
-			for (j= 0; j != fFoldedCount; j++) {
-				int max= (j == fFoldedCount - 1)
-					? fFilteredCount
-					: fFoldedIndices[j + 1];
-
-				int l;					
-				for (l= fFoldedIndices[j]; l != max; l++) {
-					// found matching element?
-					if (fElements[fFilteredIndices[l]].equals(elements[i])) {
-						indices[i]= j;
-						break;	
-					}
-				}
-				
-				if (l != max)
-					break;
-			}
-			
-			// not found
-			if (j == fFoldedCount)
-				indices[i] = 0;
-		}
-		
-		fList.setSelection(indices);
-	}
-	
-	/**
-	 * Returns an array of the selected elements. The type of the elements
-	 * returned in the list are the same as the ones passed with
-	 * <code>setElements</code>. The array does not contain the rendered strings.
-	 * @return returns the array of selected elements.
-	 */
-	public Object[] getSelection() {
-		if (fList.isDisposed() || (fList.getSelectionCount() == 0))
-			return new Object[0];
-
-		int[] indices= fList.getSelectionIndices();
-		Object[] elements= new Object[indices.length];
-		
-		for (int i= 0; i != indices.length; i++)
-			elements[i]= fElements[fFilteredIndices[fFoldedIndices[indices[i]]]];
-		
-		return elements;		
-	}
-
-	/**
-	 * Sets the filter pattern. Current only prefix filter patterns are supported.
-	 * @param filter the filter pattern.
-	 */
-	public void setFilter(String filter) {
-		fFilter= (filter == null) ? "" : filter; //$NON-NLS-1$
-
-		updateList();
-	}
-
-	private void updateList() {
-		fFilteredCount= filter();
-		fFoldedCount= fold();
-
-		if (fUpdateThread != null)
-			fUpdateThread.requestStop();
-		fUpdateThread= new UpdateThread(new TableUpdater(fList, fFoldedCount));
-		fUpdateThread.start();
-	}
-	
-	/**
-	 * Returns the filter pattern.
-	 * @return returns the filter pattern.
-	 */
-	public String getFilter() {
-		return fFilter;
-	}
-
-	/**
-	 * Returns all elements which are folded together to one entry in the list.
-	 * @param  index the index selecting the entry in the list.
-	 * @return returns an array of elements folded together, <code>null</code> if index is out of range.
-	 */
-	public Object[] getFoldedElements(int index) {
-		if ((index < 0) || (index >= fFoldedCount))
-			return null;
-		
-		int start= fFoldedIndices[index];			
-		int count= (index == fFoldedCount - 1)
-			? fFilteredCount - start
-			: fFoldedIndices[index + 1] - start;
-			
-		Object[] elements= new Object[count];
-		for (int i= 0; i != count; i++)
-			elements[i]= fElements[fFilteredIndices[start + i]];
-				
-		return elements;
-	}
-
-    /*
-     * Folds duplicate entries. Two elements are considered as a pair of
-     * duplicates if they coiincide in the rendered string and image.
-     * @return returns the number of elements after folding.
-     */
-	private int fold() {
-		if (fAllowDuplicates) {
-			for (int i= 0; i != fFilteredCount; i++) 		
-				fFoldedIndices[i]= i; // identity mapping
-
-			return fFilteredCount;			
-		
-		} else {
-			int k= 0;
-			Label last= null;
-			for (int i= 0; i != fFilteredCount; i++) {
-				int j= fFilteredIndices[i];
-				
-				Label current= fLabels[j];
-				if (! current.equals(last)) {
-					fFoldedIndices[k]= i;
-					k++;
-					last= current;
-				}
-			}
-			return k;
-		}
-	}
-
-	/*
-	 * Filters the list with the filter pattern.
-     * @return returns the number of elements after filtering.
-	 */
-	private int filter() {
-		if (((fFilter == null) || (fFilter.length() == 0)) && !fMatchEmptyString)
-			return 0;
-		
-		fFilterMatcher.setFilter(fFilter.trim(), fIgnoreCase, false);
-
-		int k= 0;
-		for (int i= 0; i != fElements.length; i++) {
-			if (fFilterMatcher.match(fElements[i]))
-				fFilteredIndices[k++]= i;
-		}			
-						
-		return k;
-	}	
-
-	private interface IncrementalRunnable extends Runnable {
-		public int getCount();		
-		public void cancel();
-	}
-
-	private class TableUpdater implements IncrementalRunnable {
-		private final Display fDisplay;
-		private final Table fTable;
-		private final int fCount;
-		private int fIndex;
-		
-		public TableUpdater(Table table, int count) {
-			fTable= table;
-			fDisplay= table.getDisplay();
-			fCount= count;
-		}
-		
-		/*
-		 * @see IncrementalRunnable#getCount()
-		 */
-		public int getCount() {
-			return fCount + 1;	
-		}
-		
-		/*
-		 * @see IncrementalRunnable#cancel()
-		 */
-		public void cancel() {
-			fIndex= 0;
-		}
-		
-		/*
-		 * @see Runnable#run()
-		 */
-		public void run() {
-			final int index= fIndex++;
-
-			fDisplay.syncExec(new Runnable() {
-				public void run() {
-					if (fTable.isDisposed())
-						return;
-					
-			 		final int itemCount= fTable.getItemCount();
-					
-					if (index < fCount) {
-						final TableItem item= (index < itemCount)
-							? fTable.getItem(index)
-							: new TableItem(fTable, SWT.NONE);
-	
-						final Label label= fLabels[fFilteredIndices[fFoldedIndices[index]]];
-	
-						item.setText(label.string);
-						item.setImage(label.image);		
-
-						// select first item
-						if (index == 0) {
-							fTable.setSelection(0);				 		
-							fTable.notifyListeners(SWT.Selection, new Event());
-						}
-
-					// finish
-					} else {
-				 		if (fCount < itemCount) {
-				 			fTable.setRedraw(false);
-					 		fTable.remove(fCount, itemCount - 1);
-				 			fTable.setRedraw(true);
-				 		}
-
-						// table empty -> no selection
-						if (fCount == 0)
-							fTable.notifyListeners(SWT.Selection, new Event());
-					}
-				}
-			});
-		}
-	}
-
-	private static class UpdateThread extends Thread {
-
-		/** The incremental runnable */
-		private final IncrementalRunnable fRunnable;
-		/** A flag indicating a thread stop request */
-		private boolean fStop;
-		
-		/**
-		 * Creates an update thread.
-		 */
-		public UpdateThread(IncrementalRunnable runnable) {
-			fRunnable= runnable;
-		}
-		
-		/**
-		 * Requests the thread to stop.
-		 */
-		public void requestStop() {
-			fStop= true;
-		}
-		
-		/**
-		 * @see Runnable#run()
-		 */
-		public void run() {
-			final int count= fRunnable.getCount();
-			for (int i= 0; i != count; i++) {
-				if (i % 50 == 0)
-					try { Thread.sleep(10); } catch (InterruptedException e) {}
-
-				if (fStop) {
-					fRunnable.cancel();
-					break;
-				}
-
-				fRunnable.run();
-			}		
-		}
-	}
-
-	/**
-	 * Returns whether or not duplicates are allowed.
-	 * 
-	 * @return <code>true</code> indicates duplicates are allowed
-	 */
-	public boolean getAllowDuplicates() {
-		return fAllowDuplicates;
-	}
-
-	/**
-	 * Sets whether or not duplicates are allowed.
-	 * If this value is set the items should be set again for this value
-	 * to take effect.
-	 *
-	 * @param allowDuplicates <code>true</code> indicates duplicates are allowed
-	 */
-	public void setAllowDuplicates(boolean allowDuplicates) {
-		this.fAllowDuplicates = allowDuplicates;
-	}
-
-	/**
-	 * Returns whether or not case should be ignored.
-	 * 
-	 * @return <code>true</code> if case should be ignored
-	 */
-	public boolean getIgnoreCase() {
-		return fIgnoreCase;
-	}
-
-	/**
-	 * Sets whether or not case should be ignored
-	 * If this value is set the items should be set again for this value 
-	 * to take effect.
-	 * 
-	 * @param ignoreCase <code>true</code> if case should be ignored
-	 */
-	public void setIgnoreCase(boolean ignoreCase) {
-		this.fIgnoreCase = ignoreCase;
-	}
-
-	/**
-	 * Returns whether empty filter strings should filter everything or nothing.
-	 * 
-	 * @return <code>true</code> for the empty string to
-	 *   match all items, <code>false</code> to match none
-	 */
-	public boolean getMatchEmptyString() {
-		return fMatchEmptyString;
-	}
-
-	/**
-	 * Sets whether empty filter strings should filter everything or nothing.
-	 * If this value is set the items should be set again for this value 
-	 * to take effect.
-	 * 
-	 * @param matchEmptyString <code>true</code> for the empty string to
-	 *   match all items, <code>false</code> to match none
-	 */
-	public void setMatchEmptyString(boolean matchEmptyString) {
-		this.fMatchEmptyString = matchEmptyString;
-	}
-
-	/**
-	 * Returns the label provider for the items.
-	 * 
-	 * @return the label provider
-	 */
-	public ILabelProvider getLabelProvider() {
-		return fLabelProvider;
-	}
-
-	/**
-	 * Sets the label provider.
-	 * If this value is set the items should be set again for this value 
-	 * to take effect.
-	 * 
-	 * @param labelProvider the label provider
-	 */
-	public void setLabelProvider(ILabelProvider labelProvider) {
-		this.fLabelProvider = labelProvider;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IOverwriteQuery.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IOverwriteQuery.java
deleted file mode 100644
index 10c1f35..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IOverwriteQuery.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- *	Implementors of this interface answer one of the prescribed return codes
- *	when asked whether to overwrite a certain path string (which could
- *	represent a resource path, a file system path, etc).
- */
-public interface IOverwriteQuery {
-	/**
-	 * Return code indicating the operation should be canceled.
-	 */
-	public static final String CANCEL = "CANCEL"; //$NON-NLS-1$
-
-	/**
-	 * Return code indicating the entity should not be overwritten, 
-	 * but operation should not be canceled.
-	 */
-	public static final String NO = "NO"; //$NON-NLS-1$
-
-	/**
-	 * Return code indicating the entity should be overwritten.
-	 */
-	public static final String YES = "YES"; //$NON-NLS-1$
-
-	/**
-	 * Return code indicating the entity should be overwritten, 
-	 * and all subsequent entities should be overwritten without prompting.
-	 */
-	public static final String ALL = "ALL"; //$NON-NLS-1$
-	
-	/**
-	 * Return code indicating the entity should not be overwritten, 
-	 * and all subsequent entities should not be overwritten without prompting.
-	 */
-	public static final String NO_ALL = "NOALL"; //$NON-NLS-1$
-/**
- * Returns one of the return code constants declared on this interface,
- * indicating whether the entity represented by the passed String should be overwritten.
- * <p>
- * This method may be called from a non-UI thread, in which case this method must run the query
- * in a sync exec in the UI thread, if it needs to query the user.
- * </p>
- * @param pathString the path representing the entity to be overwritten
- * @return one of the return code constants declared on this interface
- */
-String queryOverwrite(String pathString);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ISelectionStatusValidator.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ISelectionStatusValidator.java
deleted file mode 100644
index 4b0ca43..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ISelectionStatusValidator.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-package org.eclipse.ui.dialogs;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * Used in selection dialogs to validate selections
- * 
- * @since 2.0
- */
-public interface ISelectionStatusValidator {
-	
-	/**
- 	 * Validates an array of elements and returns the resulting status.
- 	 * @param selection The elements to validate
- 	 * @return The resulting status
-	 */	
-	IStatus validate(Object[] selection);
-	
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ISelectionValidator.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ISelectionValidator.java
deleted file mode 100644
index 52d29cb..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ISelectionValidator.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- 
-/**
- * For validating selections in some selection dialogs.
- * <p>
- * Clients should implement this interface to define specialized selection
- * validators. 
- * </p>
- *
- * @see ContainerSelectionDialog
- */
-public interface ISelectionValidator {
-/**
- * Returns a string indicating whether the given selection is valid. If the
- * result is <code>null</code>, the selection is considered to be valid; if the result is
- * non-empty, it contains the error message to be displayed to the user.
- *
- * @param selection the selection to be validated
- * @return the error message, or <code>null</code> indicating
- *	that the value is valid
- */
-public String isValid(Object selection);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IWorkingSetEditWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IWorkingSetEditWizard.java
deleted file mode 100644
index cda6513..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IWorkingSetEditWizard.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**********************************************************************
-Copyright (c) 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 v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-
-Contributors:
-    IBM Corporation - Initial implementation
-**********************************************************************/
-package org.eclipse.ui.dialogs;
-
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.ui.IWorkingSet;
-
-/**
- * A working set edit wizard allows editing a working set using
- * the IWorkingSetPage associated with the working set.
- * See the org.eclipse.ui.workingSets extension point for details.
- * <p>
- * Use org.eclipse.ui.IWorkingSetManager#createWorkingSetEditWizard(IWorkingSet)
- * to create an instance of this wizard.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @see org.eclipse.ui.IWorkingSetManager
- * @since 2.1
- */
-public interface IWorkingSetEditWizard extends IWizard {
-	/**
-	 * Returns the working set edited in the wizard.
-	 * 
-	 * @return the working set edited in the wizard.
-	 */	
-	public IWorkingSet getSelection();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IWorkingSetPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IWorkingSetPage.java
deleted file mode 100644
index 0313ed1..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IWorkingSetPage.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines 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 API and implementation
- ******************************************************************************/
-package org.eclipse.ui.dialogs;
-
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.ui.IWorkingSet;
-
-/**
- * A working set page allows the user to edit an existing 
- * working set and create a new working set.
- * <p>
- * Clients should implement this interface and include the 
- * name of their class in an extension contributed to the 
- * workbench's working set extension point 
- * (named <code>"org.eclipse.ui.workingSets"</code>) if they 
- * want to provide a special wizard page for a particular 
- * working set element type.
- * </p>
- * <p>
- * Clients implementing this interface may subclass from 
- * org.eclipse.jface.wizard.WizardPage.
- * </p>
- *
- * @since 2.0
- */
-public interface IWorkingSetPage extends IWizardPage {
-	/**
-	 * Called when the working set wizard is closed by selecting 
-	 * the finish button.
-	 * Implementers may store the page result (new/changed working 
-	 * set returned in getSelection) here.
-	 */
-	public void finish();
-	/**
-	 * Returns the working set edited or created on the page 
-	 * after the wizard has closed.
-	 * Returns the working set that was initially set using 
-	 * <code>setSelection</code>if the wizard has not been 
-	 * closed yet.
-	 * Implementors should return the object set in setSelection
-	 * instead of making a copy and returning the changed copy.
-	 * 
-	 * @return the working set edited or created on the page.
-	 */
-	public IWorkingSet getSelection();
-	/**
-	 * Sets the working set edited on the page.
-	 * Implementors should not make a copy of this working set.
-	 * The passed object can be edited as is and should be 
-	 * returned in getSelection().
-	 * 
-	 * @param workingSet the working set edited on the page.
-	 */
-	public void setSelection(IWorkingSet workingSet);	
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IWorkingSetSelectionDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IWorkingSetSelectionDialog.java
deleted file mode 100644
index 75c48c8..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IWorkingSetSelectionDialog.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.ui.dialogs;
-/*
- * (c) Copyright IBM Corp. 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.ui.IWorkingSet;
-
-/**
- * A working set selection dialog displays the list of working
- * sets available in the workbench.
- * <p>
- * Use org.eclipse.ui.IWorkingSetManager#createWorkingSetSelectionDialog(Shell)
- * to create an instance of this dialog.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @see org.eclipse.ui.IWorkingSetManager
- * @since 2.0
- */
-public interface IWorkingSetSelectionDialog {
-	/**
-	 * Returns the working sets selected in the dialog or 
-	 * <code>null</code> if the dialog was canceled.
-	 * 
-	 * @return the working sets selected in the dialog.
-	 */	
-	public IWorkingSet[] getSelection();
-	/**
-	 * Displays the working set selection dialog.
-	 * 
-	 * @return Window.OK if the dialog closes with the working 
-	 * 	set selection confirmed.
-	 * 	Window.CANCEL if the dialog closes with the working set 
-	 * 	selection dismissed.
-	 * @see org.eclipse.jface.Window
-	 */	
-	public int open();
-	/**
-	 * Sets the working sets that are initially selected in the dialog.
-	 * 
-	 * @param workingSets the working sets to select in the dialog.
-	 */	
-	public void setSelection(IWorkingSet[] workingSets);	
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ListDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ListDialog.java
deleted file mode 100644
index c2b5142..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ListDialog.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/************************************************************************
-Copyright (c) 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.dialogs;
-
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-
-public class ListDialog extends SelectionDialog {
-
-	private IStructuredContentProvider fContentProvider;
-	private ILabelProvider fLabelProvider;
-	private Object fInput;
-	private TableViewer fTableViewer;
-	private boolean fAddCancelButton = true;
-	private int widthInChars = 55;
-	private int heightInChars = 15;
-
-	public ListDialog(Shell parent) {
-		super(parent);
-	}
-
-	public void setInput(Object input) {
-		fInput = input;
-	}
-
-	public void setContentProvider(IStructuredContentProvider sp) {
-		fContentProvider = sp;
-	}
-
-	public void setLabelProvider(ILabelProvider lp) {
-		fLabelProvider = lp;
-	}
-
-	public void setAddCancelButton(boolean addCancelButton) {
-		fAddCancelButton = addCancelButton;
-	}
-
-	public TableViewer getTableViewer() {
-		return fTableViewer;
-	}
-
-	public void create() {
-		setShellStyle(SWT.DIALOG_TRIM | SWT.RESIZE);
-		super.create();
-	}
-
-	protected void createButtonsForButtonBar(Composite parent) {
-		if (!fAddCancelButton)
-			createButton(
-				parent,
-				IDialogConstants.OK_ID,
-				IDialogConstants.OK_LABEL,
-				true);
-		else
-			super.createButtonsForButtonBar(parent);
-	}
-
-	protected Control createDialogArea(Composite container) {
-		Composite parent = (Composite) super.createDialogArea(container);
-		createMessageArea(parent);
-		fTableViewer = new TableViewer(parent, getTableStyle());
-		fTableViewer.setContentProvider(fContentProvider);
-		fTableViewer.setLabelProvider(fLabelProvider);
-		fTableViewer.setInput(fInput);
-		fTableViewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				if (fAddCancelButton)
-					okPressed();
-			}
-		});
-		List initialSelection = getInitialElementSelections();
-		if (initialSelection != null)
-			fTableViewer.setSelection(
-				new StructuredSelection(initialSelection));
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.heightHint = convertHeightInCharsToPixels(heightInChars);
-		gd.widthHint = convertWidthInCharsToPixels(widthInChars);
-		Table table = fTableViewer.getTable();
-		table.setLayoutData(gd);
-		table.setFont(container.getFont());
-		return parent;
-	}
-
-	protected int getTableStyle() {
-		return SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER;
-	}
-	
-	/*
-	 * Overrides method from Dialog
-	 */
-	protected void okPressed() {
-		// Build a list of selected children.
-		IStructuredSelection selection= (IStructuredSelection) fTableViewer.getSelection();
-		setResult(selection.toList());
-		super.okPressed();
-	}
-	
-	/**
-	 * Returns the initial height of the dialog in number of characters.
-	 * 
-	 * @return the initial height of the dialog in number of characters
-	 */
-	public int getHeightInChars() {
-		return heightInChars;
-	}
-
-	/**
-	 * Returns the initial width of the dialog in number of characters.
-	 * 
-	 * @return the initial width of the dialog in number of characters
-	 */
-	public int getWidthInChars() {
-		return widthInChars;
-	}
-
-	/**
-	 * Sets the initial height of the dialog in number of characters.
-	 * 
-	 * @param heightInChars the initialheight of the dialog in number of characters
-	 */
-	public void setHeightInChars(int heightInChars) {
-		this.heightInChars = heightInChars;
-	}
-
-	/**
-	 * Sets the initial width of the dialog in number of characters.
-	 * 
-	 * @param widthInChars the initial width of the dialog in number of characters
-	 */
-	public void setWidthInChars(int widthInChars) {
-		this.widthInChars = widthInChars;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ListSelectionDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ListSelectionDialog.java
deleted file mode 100644
index f2856e7..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ListSelectionDialog.java
+++ /dev/null
@@ -1,213 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * A standard dialog which solicits a list of selections from the user.
- * This class is configured with an arbitrary data model represented by content
- * and label provider objects. The <code>getResult</code> method returns the
- * selected elements.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * ListSelectionDialog dlg =
- *   new ListSelectionDialog(
- *       getShell(),
- *       input,
- *       new WorkbenchContentProvider(),
- *		 new WorkbenchLabelProvider(),
- *		 "Select the resources to save.");
- *	dlg.setInitialSelections(dirtyEditors);
- *	dlg.setTitle("Save Resources");
- *	dlg.open();
- * </pre>
- * </p>
- */
-public class ListSelectionDialog extends SelectionDialog  {
-	// the root element to populate the viewer with
-	private Object inputElement;
-
-	// providers for populating this dialog
-	private ILabelProvider labelProvider;
-	private IStructuredContentProvider contentProvider;
-
-	// the visual selection widget group
-	private CheckboxTableViewer listViewer;
-
-	// sizing constants
-	private final static int SIZING_SELECTION_WIDGET_HEIGHT = 250;
-	private final static int SIZING_SELECTION_WIDGET_WIDTH = 300;
-/**
- * Creates a list selection dialog.
- *
- * @param parentShell the parent shell
- * @param input	the root element to populate this dialog with
- * @param contentProvider the content provider for navigating the model
- * @param labelProvider the label provider for displaying model elements
- * @param message the message to be displayed at the top of this dialog, or
- *    <code>null</code> to display a default message
- */
-public ListSelectionDialog(
-		Shell parentShell,
-		Object input,
-		IStructuredContentProvider contentProvider,
-		ILabelProvider labelProvider,
-		String message) {
-	super(parentShell);
-	setTitle(WorkbenchMessages.getString("ListSelection.title")); //$NON-NLS-1$
-	inputElement = input;
-	this.contentProvider = contentProvider;
-	this.labelProvider = labelProvider;
-	if (message != null)
-		setMessage(message);
-	else
-		setMessage(WorkbenchMessages.getString("ListSelection.message")); //$NON-NLS-1$
-}
-/**
- * Add the selection and deselection buttons to the dialog.
- * @param composite org.eclipse.swt.widgets.Composite
- */
-private void addSelectionButtons(Composite composite) {
-
-	Composite buttonComposite = new Composite(composite, SWT.RIGHT);
-	buttonComposite.setFont(composite.getFont());	
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 2;
-	buttonComposite.setLayout(layout);
-	GridData data =
-		new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.GRAB_HORIZONTAL);
-	data.grabExcessHorizontalSpace = true;
-	composite.setData(data);
-
-	Button selectButton = createButton(buttonComposite, IDialogConstants.SELECT_ALL_ID, SELECT_ALL_TITLE, false);
-
-	SelectionListener listener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			listViewer.setAllChecked(true);
-		}
-	};
-	selectButton.addSelectionListener(listener);
-
-
-	Button deselectButton = createButton(buttonComposite, IDialogConstants.DESELECT_ALL_ID, DESELECT_ALL_TITLE, false);
-
-	listener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			listViewer.setAllChecked(false);
-
-		}
-	};
-	deselectButton.addSelectionListener(listener);
-	
-
-}
-/**
- * Visually checks the previously-specified elements in this dialog's list 
- * viewer.
- */
-private void checkInitialSelections() {
-	Iterator itemsToCheck = getInitialElementSelections().iterator();
-	
-	while (itemsToCheck.hasNext())
-		listViewer.setChecked(itemsToCheck.next(),true);
-}
-/* (non-Javadoc)
- * Method declared in Window.
- */
-protected void configureShell(Shell shell) {
-	super.configureShell(shell);
-	WorkbenchHelp.setHelp(shell, IHelpContextIds.LIST_SELECTION_DIALOG);
-}
-
-/* (non-Javadoc)
- * Method declared on Dialog.
- */
-protected Control createDialogArea(Composite parent) {
-	// page group
-	Composite composite = (Composite)super.createDialogArea(parent);
-	
-	Font font = parent.getFont();
-	composite.setFont(font);
-
-	createMessageArea(composite);
-
-	listViewer = CheckboxTableViewer.newCheckList(composite, SWT.BORDER);
-	GridData data = new GridData(GridData.FILL_BOTH);
-	data.heightHint = SIZING_SELECTION_WIDGET_HEIGHT;
-	data.widthHint = SIZING_SELECTION_WIDGET_WIDTH;
-	listViewer.getTable().setLayoutData(data);
-
-	listViewer.setLabelProvider(labelProvider);
-	listViewer.setContentProvider(contentProvider);
-	listViewer.getControl().setFont(font);
-
-	addSelectionButtons(composite);
-
-	initializeViewer();
-
-	// initialize page
-	if (!getInitialElementSelections().isEmpty())
-		checkInitialSelections();
-
-	return composite;
-}
-
-/**
- * Returns the viewer used to show the list.
- * 
- * @return the viewer, or <code>null</code> if not yet created
- */
-protected CheckboxTableViewer getViewer() {
-	return listViewer;
-}
-
-/**
- * Initializes this dialog's viewer after it has been laid out.
- */
-private void initializeViewer() {
-	listViewer.setInput(inputElement);
-}
-/**
- * The <code>ListSelectionDialog</code> implementation of this 
- * <code>Dialog</code> method builds a list of the selected elements for later
- * retrieval by the client and closes this dialog.
- */
-protected void okPressed() {
-
-	// Get the input children.
-	Object[] children = contentProvider.getElements(inputElement);
-
-	// Build a list of selected children.
-	if (children != null) {
-		ArrayList list = new ArrayList();
-		for (int i = 0; i < children.length; ++i) {
-			Object element = children[i];
-			if (listViewer.getChecked(element))
-				list.add(element);
-		}
-		setResult(list);
-	}
-
-	super.okPressed();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/MarkerResolutionSelectionDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/MarkerResolutionSelectionDialog.java
deleted file mode 100644
index df6f3cd..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/MarkerResolutionSelectionDialog.java
+++ /dev/null
@@ -1,135 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. 
-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:Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog
-font should be activated and used by other components.
-*********************************************************************/
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.IMarkerResolution;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.dialogs.SimpleListContentProvider;
-import org.eclipse.ui.internal.misc.Assert;
-
-/**
- * Dialog to allow the user to select from a list of marker
- * resolutions.
- * <p>
- * This dialog may be instantiated, it is not intented to 
- * be subclassed.
- * </p>
- * 
- * @since 2.0
- */
-public class MarkerResolutionSelectionDialog extends SelectionDialog {
-	/**
-	 * List width in characters.
-	 */
-	private final static int LIST_WIDTH = 60;
-	/**
-	 * List height in characters.
-	 */
-	private final static int LIST_HEIGHT = 10;
-	/**
-	 * The marker resolutions.
-	 */
-	private IMarkerResolution[] resolutions;
-	/**
-	 * List to display the resolutions.
-	 */
-	private ListViewer listViewer;
-
-	/**
-	 * Creates an instance of this dialog to display
-	 * the given resolutions.
-	 * <p>
-	 * There must be at least one resolution.
-	 * </p>
-	 * 
-	 * @param shell the parent shell
-	 * @param markerResolutions the resolutions to display
-	 */
-	public MarkerResolutionSelectionDialog(Shell shell, IMarkerResolution[] markerResolutions) {
-		super(shell);
-		Assert.isTrue(markerResolutions != null && markerResolutions.length > 0);
-		resolutions = markerResolutions;
-		setTitle(WorkbenchMessages.getString("MarkerResolutionSelectionDialog.title"));	//$NON-NLS-1$
-		setMessage(WorkbenchMessages.getString("MarkerResolutionSelectionDialog.messageLabel")); //$NON-NLS-1$
-		setInitialSelections(new Object[]{markerResolutions[0]});
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on Window.
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		WorkbenchHelp.setHelp(newShell, IHelpContextIds.MARKER_RESOLUTION_SELECTION_DIALOG);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = (Composite)super.createDialogArea(parent);
-		
-		// Create label
-		createMessageArea(composite);
-		// Create list viewer	
-		listViewer = new ListViewer(composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.heightHint = convertHeightInCharsToPixels(LIST_HEIGHT);
-		data.widthHint = convertWidthInCharsToPixels(LIST_WIDTH);
-		listViewer.getList().setLayoutData(data);
-		listViewer.getList().setFont(parent.getFont());
-		// Set the label provider		
-		listViewer.setLabelProvider(new LabelProvider() {
-			public String getText(Object element) {
-			 	// Return the resolution's label.
-				return element == null ? "" : ((IMarkerResolution)element).getLabel(); //$NON-NLS-1$
-			}
-		});
-		
-		// Set the content provider
-		SimpleListContentProvider cp = new SimpleListContentProvider();
-		cp.setElements(resolutions);
-		listViewer.setContentProvider(cp);
-		listViewer.setInput(new Object()); // it is ignored but must be non-null
-		
-		// Set the initial selection
-		listViewer.setSelection(new StructuredSelection(getInitialElementSelections()), true);	
-		
-		// Add a selection change listener
-		listViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				// Update OK button enablement
-				getOkButton().setEnabled(!event.getSelection().isEmpty());
-			}
-		});
-		
-		// Add double-click listener
-		listViewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				okPressed();
-			}
-		});
-		return composite;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void okPressed() {
-		IStructuredSelection selection = (IStructuredSelection)listViewer.getSelection(); 
-		setResult(selection.toList());
-		super.okPressed();
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/NewFolderDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/NewFolderDialog.java
deleted file mode 100644
index 808079c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/NewFolderDialog.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/*
- * Copyright (c) 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
- * 
- * Contributors:  Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog
- * font should be activated and used by other components.
- */
-package org.eclipse.ui.dialogs;
-
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.dialogs.CreateLinkedResourceGroup;
-
-/**
- * The NewFolderDialog is used to create a new folder.
- * The folder can optionally be linked to a file system folder.
- * <p>
- * NOTE: 
- * A linked folder can only be created at the project 
- * level. The widgets used to specify a link target are disabled 
- * if the supplied container is not a project.
- * </p>
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class NewFolderDialog extends SelectionStatusDialog {
-	// widgets
-	private Text folderNameField;
-	private CreateLinkedResourceGroup linkedResourceGroup;
-
-	private IContainer container;
-	private boolean firstLinkCheck = true;
-	
-/**
- * Creates a NewFolderDialog
- * 
- * @param parentShell parent of the new dialog
- * @param container parent of the new folder
- */
-public NewFolderDialog(Shell parentShell, IContainer container) {
-	super(parentShell);
-	this.container = container;
-	linkedResourceGroup = new CreateLinkedResourceGroup(
-		IResource.FOLDER,
-		new Listener() {
-			public void handleEvent(Event e) {
-				validateLinkedResource();
-				firstLinkCheck = false;
-			}
-		});
-	setTitle(WorkbenchMessages.getString("NewFolderDialog.title")); //$NON-NLS-1$
-	setShellStyle(getShellStyle() | SWT.RESIZE);
-	setStatusLineAboveButtons(true);
-}
-/* (non-Javadoc)
- * Method declared in Window.
- */
-protected void configureShell(Shell shell) {
-	super.configureShell(shell);
-	WorkbenchHelp.setHelp(shell, IHelpContextIds.NEW_FOLDER_DIALOG);
-}
-/**
- * @see org.eclipse.jface.window.Window#create()
- */
-public void create() {
-	super.create();
-	// initially disable the ok button since we don't preset the
-	// folder name field
-	getButton(IDialogConstants.OK_ID).setEnabled(false);
-}
-/* (non-Javadoc)
- * Method declared on Dialog.
- */
-protected Control createDialogArea(Composite parent) {
-	Font font = parent.getFont();
-	Composite composite = (Composite) super.createDialogArea(parent);
-	composite.setLayout(new GridLayout());
-	composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-	createFolderNameGroup(composite);
-	linkedResourceGroup.createContents(composite);
-	return composite;
-}
-/**
- * Creates the folder name specification controls.
- *
- * @param parent the parent composite
- */
-private void createFolderNameGroup(Composite parent) {
-	Font font = parent.getFont();
-	// project specification group
-	Composite folderGroup = new Composite(parent,SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 2;
-	folderGroup.setLayout(layout);
-	folderGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-	// new project label
-	Label folderLabel = new Label(folderGroup,SWT.NONE);
-	folderLabel.setFont(font);
-	folderLabel.setText(WorkbenchMessages.getString("NewFolderDialog.nameLabel"));	//$NON-NLS-1$
-
-	// new project name entry field
-	folderNameField = new Text(folderGroup, SWT.BORDER);
-	GridData data = new GridData(GridData.FILL_HORIZONTAL);
-	data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-	folderNameField.setLayoutData(data);
-	folderNameField.setFont(font);
-	folderNameField.addListener(SWT.Modify, new Listener() {
-		public void handleEvent(Event event) {
-			validateLinkedResource();
-		}
-	});
-}
-/**
- * Creates a folder resource handle for the folder with the given name.
- * The folder handle is created relative to the container specified during 
- * object creation. 
- *
- * @param folderName the name of the folder resource to create a handle for
- * @return the new folder resource handle
- */
-private IFolder createFolderHandle(String folderName) {
-	IWorkspaceRoot workspaceRoot = container.getWorkspace().getRoot();
-	IPath folderPath = container.getFullPath().append(folderName);
-	IFolder folderHandle = workspaceRoot.getFolder(folderPath);
-	
-	return folderHandle;
-}
-/**
- * Creates a new folder with the given name and optionally linking to
- * the specified link target.
- * 
- * @param folderName name of the new folder
- * @param linkTargetName name of the link target folder. may be null.
- * @return IFolder the new folder
- */
-private IFolder createNewFolder(String folderName, final String linkTargetName) {
-	final IFolder folderHandle = createFolderHandle(folderName);
-	
-	WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
-		public void execute(IProgressMonitor monitor) throws CoreException {
-			try {
-				monitor.beginTask(WorkbenchMessages.getString("NewFolderDialog.progress"), 2000); //$NON-NLS-1$
-				if (monitor.isCanceled())
-					throw new OperationCanceledException();
-				if (linkTargetName == null)
-					folderHandle.create(false, true, monitor);
-				else
-					folderHandle.createLink(new Path(linkTargetName), IResource.ALLOW_MISSING_LOCAL, monitor);
-				if (monitor.isCanceled())
-					throw new OperationCanceledException();
-			} finally {
-				monitor.done();
-			}
-		}
-	};
-
-	try {
-		new ProgressMonitorDialog(getShell()).run(true, true, operation);
-	} catch (InterruptedException exception) {
-		return null;
-	} catch (InvocationTargetException exception) {
-		if (exception.getTargetException() instanceof CoreException) {
-			ErrorDialog.openError(
-				getShell(),
-				WorkbenchMessages.getString("NewFolderDialog.errorTitle"),  //$NON-NLS-1$
-				null,	// no special message
-				((CoreException) exception.getTargetException()).getStatus());
-		}
-		else {
-			// CoreExceptions are handled above, but unexpected runtime exceptions and errors may still occur.
-			WorkbenchPlugin.log(MessageFormat.format(
-				"Exception in {0}.createNewFolder(): {1}", 					//$NON-NLS-1$
-				new Object[] {getClass().getName(), exception.getTargetException()}));
-			MessageDialog.openError(
-				getShell(), 
-				WorkbenchMessages.getString("NewFolderDialog.errorTitle"), 	//$NON-NLS-1$
-				WorkbenchMessages.format("NewFolderDialog.internalError", 	//$NON-NLS-1$
-				new Object[] {exception.getTargetException().getMessage()}));
-		}
-		return null;
-	}
-	return folderHandle;
-}
-/**
- * Creates the folder using the name and link target entered
- * by the user.
- * Sets the dialog result to the created folder.  
- */
-protected void computeResult() {
-	String linkTarget = linkedResourceGroup.getLinkTarget();
-	IFolder folder = createNewFolder(folderNameField.getText(), linkTarget);
-	if(folder == null)
-		return;
-			
-	setSelectionResult(new IFolder[] {folder});
-}
-/**
- * Update the dialog's status line to reflect the given status. It is safe to call
- * this method before the dialog has been opened.
- */
-protected void updateStatus(IStatus status) {
-	if (firstLinkCheck && status != null) {
-		// don't show the first validation result as an error.
-		// fixes bug 29659
-		Status newStatus = new Status(
-			IStatus.OK, 
-			status.getPlugin(), 
-			status.getCode(), 
-			status.getMessage(), 
-			status.getException());
-		super.updateStatus(newStatus);
-	}
-	else {
-		super.updateStatus(status);
-	}
-}
-/**
- * Update the dialog's status line to reflect the given status. It is safe to call
- * this method before the dialog has been opened.
- */
-private void updateStatus(int severity, String message) {
-	updateStatus(
-		new Status(
-			severity,
-			WorkbenchPlugin.getDefault().getDescriptor().getUniqueIdentifier(),
-			severity,
-			message,
-			null));
-}
-/**
- * Checks whether the folder name and link location are valid.
- *
- * @return null if the folder name and link location are valid.
- * 	a message that indicates the problem otherwise.
- */
-private void validateLinkedResource() {
-	boolean valid = validateFolderName();
-
-	if (valid) {
-		IFolder linkHandle = createFolderHandle(folderNameField.getText());
-		IStatus status = linkedResourceGroup.validateLinkLocation(linkHandle);
-		
-		if (status.getSeverity() != IStatus.ERROR)
-			getOkButton().setEnabled(true);
-		else
-			getOkButton().setEnabled(false);
-			
-		if (status.isOK() == false)
-			updateStatus(status);
-	}
-}
-/**
- * Checks if the folder name is valid.
- *
- * @return null if the new folder name is valid.
- * 	a message that indicates the problem otherwise.
- */
-private boolean validateFolderName() {
-	String name = folderNameField.getText();
-	IWorkspace workspace = container.getWorkspace();
-	IStatus nameStatus = workspace.validateName(name, IResource.FOLDER);
-
-	if ("".equals(name)) {
-		updateStatus(IStatus.ERROR, WorkbenchMessages.getString("NewFolderDialog.folderNameEmpty"));	//$NON-NLS-1$
-		return false;
-	}
-	if (nameStatus.isOK() == false) {
-		updateStatus(nameStatus);
-		return false;
-	}
-	IFolder newFolder = container.getFolder(new Path(name));
-	if (newFolder.exists()) {
-		updateStatus(IStatus.ERROR, WorkbenchMessages.format("NewFolderDialog.alreadyExists", new Object[] { name }));	//$NON-NLS-1$
-		return false;
-	}
-	updateStatus(IStatus.OK, "");	//$NON-NLS-1$
-	return true;
-}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ProjectLocationMoveDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ProjectLocationMoveDialog.java
deleted file mode 100644
index 60314fd..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ProjectLocationMoveDialog.java
+++ /dev/null
@@ -1,318 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- * Contributors:  Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog
- * font should be activated and used by other components.
- */
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.resource.JFaceColors;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.help.*;
-import org.eclipse.ui.internal.*;
-import java.io.File;
-import java.util.ArrayList;
-
-/**
- * The ProjectLocationMoveDialog is the dialog used to select the
- * location of a project for moving.
- */
-public class ProjectLocationMoveDialog extends SelectionDialog {
-	private IProject project;
-	private IPath originalPath;
-	
-	// widgets
-	private Text locationPathField;
-	private Label locationLabel;
-	private Label statusMessageLabel;
-	private Button browseButton;
-
-	private static String LOCATION_LABEL = WorkbenchMessages.getString("ProjectLocationSelectionDialog.locationLabel"); //$NON-NLS-1$
-	private static String BROWSE_LABEL = WorkbenchMessages.getString("ProjectLocationSelectionDialog.browseLabel"); //$NON-NLS-1$
-	private static String DIRECTORY_DIALOG_LABEL = WorkbenchMessages.getString("ProjectLocationSelectionDialog.directoryLabel"); //$NON-NLS-1$
-	private static String INVALID_LOCATION_MESSAGE = WorkbenchMessages.getString("ProjectLocationSelectionDialog.locationError"); //$NON-NLS-1$
-	private static String PROJECT_LOCATION_SELECTION_TITLE = WorkbenchMessages.getString("ProjectLocationSelectionDialog.selectionTitle"); //$NON-NLS-1$
-
-	// constants
-	private static final int SIZING_TEXT_FIELD_WIDTH = 250;
-	private static final int SIZING_INDENTATION_WIDTH = 10;
-
-	private boolean useDefaults = true;
-
-/**
- * Create a ProjectLocationMoveDialog on the supplied project parented by the parentShell.
- * @param parentShell
- * @param existingProject
- */
-public ProjectLocationMoveDialog(Shell parentShell, IProject existingProject) {
-	super(parentShell);
-	setTitle(PROJECT_LOCATION_SELECTION_TITLE);
-	this.project = existingProject;
-	try {
-		this.originalPath = this.getProject().getDescription().getLocation();
-		this.useDefaults = this.originalPath == null;
-	} catch (CoreException exception) {
-		// Leave it as the default.
-	}
-}
-/**
- * Check the message. If it is null then continue otherwise inform the user via the
- * status value and disable the OK.
- * @param message - the error message to show if it is not null.
- */
-private void applyValidationResult(String errorMsg) {
-
-	if (errorMsg == null) {
-		statusMessageLabel.setText("");//$NON-NLS-1$
-		statusMessageLabel.setToolTipText("");//$NON-NLS-1$
-		getOkButton().setEnabled(true);
-	} else {
-		statusMessageLabel.setForeground(
-			JFaceColors.getErrorText(
-				statusMessageLabel.getDisplay()));
-		statusMessageLabel.setText(errorMsg);
-		statusMessageLabel.setToolTipText(errorMsg);
-		getOkButton().setEnabled(false);
-	}
-}
-/**
- * Check whether the entries are valid. If so return null. Otherwise
- * return a string that indicates the problem.
- */
-private String checkValid() {
-	return checkValidLocation();
-}
-/**
- * Check if the entry in the widget location is valid. If it is valid return null.
- * Otherwise return a string that indicates the problem.
- */
-private String checkValidLocation() {
-
-	if (useDefaults) {
-		if (this.originalPath == null)
-			return INVALID_LOCATION_MESSAGE;
-		return null;
-	}
-	else {
-		String locationFieldContents = locationPathField.getText();
-		if (locationFieldContents.equals("")) {//$NON-NLS-1$
-			return(WorkbenchMessages.getString("WizardNewProjectCreationPage.projectLocationEmpty")); //$NON-NLS-1$
-		}
-		else{
-			IPath path = new Path("");//$NON-NLS-1$
-			if (!path.isValidPath(locationFieldContents)) {
-				return INVALID_LOCATION_MESSAGE;
-			}
-		}
-
-		Path newPath = new Path(locationFieldContents);
-		IStatus locationStatus =
-			this.project.getWorkspace().validateProjectLocation(
-				this.project,
-				newPath);
-
-		if (!locationStatus.isOK())
-			return locationStatus.getMessage();
-
-		if (originalPath != null && originalPath.equals(newPath)) {
-			return INVALID_LOCATION_MESSAGE;
-		}
-		
-		return null;
-	}
-}
-/* (non-Javadoc)
- * Method declared in Window.
- */
-protected void configureShell(Shell shell) {
-	super.configureShell(shell);
-	WorkbenchHelp.setHelp(shell, IHelpContextIds.PROJECT_LOCATION_SELECTION_DIALOG);
-}
-/* (non-Javadoc)
- * Method declared on Dialog.
- */
-protected Control createContents(Composite parent) {
-	Control content = super.createContents(parent);
-	getOkButton().setEnabled(false);
-	return content;
-}
-/* (non-Javadoc)
- * Method declared on Dialog.
- */
-protected Control createDialogArea(Composite parent) {
-	// page group
-	Composite composite = (Composite) super.createDialogArea(parent);
-
-	composite.setLayout(new GridLayout());
-	composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-	createProjectLocationGroup(composite);
-
-	//Add in a label for status messages if required
-	statusMessageLabel = new Label(composite, SWT.WRAP);
-	statusMessageLabel.setLayoutData(new GridData(GridData.FILL_BOTH));
-	statusMessageLabel.setFont(parent.getFont());
-	//Make it two lines.
-	statusMessageLabel.setText(" \n ");
-
-	return composite;
-}
-/**
- * Create the listener that is used to validate the location entered by the iser
- */
-private void createLocationListener() {
-
-	Listener listener = new Listener() {
-		public void handleEvent(Event event) {
-			applyValidationResult(checkValid());
-		}
-	};
-
-	this.locationPathField.addListener(SWT.Modify, listener);
-}
-/**
- * Creates the project location specification controls.
- *
- * @param parent the parent composite
- */
-private final void createProjectLocationGroup(Composite parent) {
-	Font font = parent.getFont();
-	// project specification group
-	Composite projectGroup = new Composite(parent, SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 3;
-	projectGroup.setLayout(layout);
-	projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	projectGroup.setFont(font);
-	
-	final Button useDefaultsButton =
-		new Button(projectGroup, SWT.CHECK | SWT.RIGHT);
-	useDefaultsButton.setFont(font);
-	useDefaultsButton.setText(WorkbenchMessages.getString("ProjectLocationSelectionDialog.useDefaultLabel")); //$NON-NLS-1$
-	useDefaultsButton.setSelection(this.useDefaults);
-	GridData buttonData = new GridData();
-	buttonData.horizontalSpan = 3;
-	useDefaultsButton.setLayoutData(buttonData);
-
-	createUserSpecifiedProjectLocationGroup(projectGroup, !this.useDefaults);
-
-	SelectionListener listener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			useDefaults = useDefaultsButton.getSelection();
-			browseButton.setEnabled(!useDefaults);
-			locationPathField.setEnabled(!useDefaults);
-			locationLabel.setEnabled(!useDefaults);
-			setLocationForSelection();
-			if (!useDefaults) {
-				if (originalPath != null)
-					locationPathField.setText(originalPath.toOSString());
-				else
-					locationPathField.setText(""); //$NON-NLS-1$
-			}
-		}
-	};
-	useDefaultsButton.addSelectionListener(listener);
-}
-/**
- * Creates the project location specification controls.
- *
- * @return the parent of the widgets created
- * @param projectGroup the parent composite
- * @param enabled - sets the initial enabled state of the widgets
- */
-private Composite createUserSpecifiedProjectLocationGroup(Composite projectGroup, boolean enabled) {
-	Font font = projectGroup.getFont();
-	// location label
-	locationLabel = new Label(projectGroup, SWT.NONE);
-	locationLabel.setFont(font);
-	locationLabel.setText(LOCATION_LABEL);
-	locationLabel.setEnabled(enabled);
-
-	// project location entry field
-	locationPathField = new Text(projectGroup, SWT.BORDER);
-	GridData data = new GridData(GridData.FILL_HORIZONTAL);
-	data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-	locationPathField.setLayoutData(data);
-	locationPathField.setFont(font);
-	locationPathField.setEnabled(enabled);
-
-	// browse button
-	this.browseButton = new Button(projectGroup, SWT.PUSH);
-	this.browseButton.setFont(font);
-	this.browseButton.setText(BROWSE_LABEL);
-	this.browseButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			handleLocationBrowseButtonPressed();
-		}
-	});
-	this.browseButton.setEnabled(enabled);
-	setButtonLayoutData(this.browseButton);
-
-	// Set the initial value first before listener
-	// to avoid handling an event during the creation.
-	if (originalPath == null)
-		setLocationForSelection();
-	else
-		locationPathField.setText(originalPath.toOSString());
-
-	createLocationListener();
-	return projectGroup;
-
-}
-/**
- * Get the project being manipulated.
- */
-private IProject getProject() {
-	return this.project;
-}
-/**
- *	Open an appropriate directory browser
- */
-private void handleLocationBrowseButtonPressed() {
-	DirectoryDialog dialog = new DirectoryDialog(locationPathField.getShell());
-	dialog.setMessage(DIRECTORY_DIALOG_LABEL);
-	
-	String dirName = locationPathField.getText();
-	if (!dirName.equals("")) {//$NON-NLS-1$
-		File path = new File(dirName);
-		if (path.exists())
-			dialog.setFilterPath(dirName);
-	}
-
-	String selectedDirectory = dialog.open();
-	if (selectedDirectory != null)
-		locationPathField.setText(selectedDirectory);
-}
-/**
- * The <code>ProjectLocationMoveDialog</code> implementation of this 
- * <code>Dialog</code> method builds a two element list - the first element
- * is the project name and the second one is the location.
- */
-protected void okPressed() {
-	
-	ArrayList list = new ArrayList();
-	list.add(getProject().getName());
-	if(useDefaults)
-		list.add(Platform.getLocation().toString());
-	else
-		list.add(this.locationPathField.getText());
-	setResult(list);
-	super.okPressed();
-}
-/**
- * Set the location to the default location if we are set to useDefaults.
- */
-private void setLocationForSelection() {
-	if (useDefaults) {
-		IPath defaultPath = Platform.getLocation().append(getProject().getName());
-		locationPathField.setText(defaultPath.toOSString());
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ProjectLocationSelectionDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ProjectLocationSelectionDialog.java
deleted file mode 100644
index 0cc02b4..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ProjectLocationSelectionDialog.java
+++ /dev/null
@@ -1,405 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- * Contributors:  Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog
- * font should be activated and used by other components.
- */
-import java.io.File;
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.resource.JFaceColors;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * The ProjectLocationSelectionDialog is the dialog used to select the name
- * and location of a project for copying.
- */
-public class ProjectLocationSelectionDialog extends SelectionDialog {
-	// widgets
-	private Text projectNameField;
-	private Text locationPathField;
-	private Label locationLabel;
-	private IProject project;
-	private Label statusMessageLabel;
-	private Button browseButton;
-
-	private static String PROJECT_NAME_LABEL = WorkbenchMessages.getString("ProjectLocationSelectionDialog.nameLabel"); //$NON-NLS-1$
-	private static String LOCATION_LABEL = WorkbenchMessages.getString("ProjectLocationSelectionDialog.locationLabel"); //$NON-NLS-1$
-	private static String BROWSE_LABEL = WorkbenchMessages.getString("ProjectLocationSelectionDialog.browseLabel"); //$NON-NLS-1$
-	private static String DIRECTORY_DIALOG_LABEL = WorkbenchMessages.getString("ProjectLocationSelectionDialog.directoryLabel"); //$NON-NLS-1$
-	private static String INVALID_LOCATION_MESSAGE = WorkbenchMessages.getString("ProjectLocationSelectionDialog.locationError"); //$NON-NLS-1$
-	private static String PROJECT_LOCATION_SELECTION_TITLE = WorkbenchMessages.getString("ProjectLocationSelectionDialog.selectionTitle"); //$NON-NLS-1$
-
-	// constants
-	private static final int SIZING_TEXT_FIELD_WIDTH = 250;
-	private static final int SIZING_INDENTATION_WIDTH = 10;
-
-	private boolean useDefaults = true;
-
-/**
- * Create a ProjectLocationSelectionDialog on the supplied project parented by the parentShell.
- * @param parentShell
- * @param existingProject
- */
-public ProjectLocationSelectionDialog(
-	Shell parentShell,
-	IProject existingProject) {
-	super(parentShell);
-	setTitle(PROJECT_LOCATION_SELECTION_TITLE);
-	this.project = existingProject;
-	try {
-		this.useDefaults = this.getProject().getDescription().getLocation() == null;
-	} catch (CoreException exception) {
-		//Leave it as the default if we get a selection.
-	}
-}
-/**
- * Check the message. If it is null then continue otherwise inform the user via the
- * status value and disable the OK.
- * @param message - the error message to show if it is not null.
- */
-private void applyValidationResult(String errorMsg) {
-
-	if (errorMsg == null) {
-		statusMessageLabel.setText("");//$NON-NLS-1$
-		getOkButton().setEnabled(true);
-	} else {
-		statusMessageLabel.setForeground(
-			JFaceColors.getErrorText(
-				statusMessageLabel.getDisplay()));
-		statusMessageLabel.setText(errorMsg);
-		getOkButton().setEnabled(false);
-	}
-}
-/**
- * Check whether the entries are valid. If so return null. Otherwise
- * return a string that indicates the problem.
- */
-private String checkValid() {
-	String valid = checkValidName();
-	if (valid != null)
-		return valid;
-	return checkValidLocation();
-}
-/**
- * Check if the entry in the widget location is valid. If it is valid return null. Otherwise
- * return a string that indicates the problem.
- */
-private String checkValidLocation() {
-
-	if (useDefaults)
-		return null;
-	else {
-		String locationFieldContents = locationPathField.getText();
-		if (locationFieldContents.equals("")) {//$NON-NLS-1$
-			return(WorkbenchMessages.getString("WizardNewProjectCreationPage.projectLocationEmpty")); //$NON-NLS-1$
-		}
-		else{
-			IPath path = new Path("");//$NON-NLS-1$
-			if (!path.isValidPath(locationFieldContents)) {
-				return INVALID_LOCATION_MESSAGE;
-			}
-		}
-
-		IStatus locationStatus =
-			this.project.getWorkspace().validateProjectLocation(
-				this.project,
-				new Path(locationFieldContents));
-
-		if (!locationStatus.isOK())
-			return locationStatus.getMessage();
-
-		return null;
-	}
-}
-/**
- * Check if the entries in the widget are valid. If they are return null otherwise
- * return a string that indicates the problem.
- */
-private String checkValidName() {
-
-	String name = this.projectNameField.getText();
-	IWorkspace workspace = getProject().getWorkspace();
-	IStatus nameStatus = workspace.validateName(name, IResource.PROJECT);
-	if (!nameStatus.isOK())
-		return nameStatus.getMessage();
-	IProject newProject = workspace.getRoot().getProject(name);
-	if (newProject.exists()) {
-		return WorkbenchMessages.format("CopyProjectAction.alreadyExists", new Object[] { name }); //$NON-NLS-1$
-	}
-
-	return null;
-}
-/* (non-Javadoc)
- * Method declared in Window.
- */
-protected void configureShell(Shell shell) {
-	super.configureShell(shell);
-	WorkbenchHelp.setHelp(shell, IHelpContextIds.PROJECT_LOCATION_SELECTION_DIALOG);
-}
-/* (non-Javadoc)
- * Method declared on Dialog.
- */
-protected Control createDialogArea(Composite parent) {
-	// page group
-	Composite composite = (Composite) super.createDialogArea(parent);
-
-	composite.setLayout(new GridLayout());
-	composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-	createProjectNameGroup(composite);
-	createProjectLocationGroup(composite);
-
-	//Add in a label for status messages if required
-	statusMessageLabel = new Label(composite, SWT.NONE);
-	statusMessageLabel.setLayoutData(new GridData(GridData.FILL_BOTH));
-	statusMessageLabel.setFont(parent.getFont());
-
-	return composite;
-}
-/**
- * Create the listener that is used to validate the location entered by the iser
- */
-private void createLocationListener() {
-
-	Listener listener = new Listener() {
-		public void handleEvent(Event event) {
-
-			applyValidationResult(checkValid());
-		}
-	};
-
-	this.locationPathField.addListener(SWT.Modify, listener);
-}
-/**
- * Create the listener that is used to validate the entries for the receiver
- */
-private void createNameListener() {
-
-	Listener listener = new Listener() {
-		public void handleEvent(Event event) {
-			setLocationForSelection();
-			applyValidationResult(checkValid());
-		}
-	};
-
-	this.projectNameField.addListener(SWT.Modify, listener);
-}
-/**
- * Creates the project location specification controls.
- *
- * @param parent the parent composite
- */
-private final void createProjectLocationGroup(Composite parent) {
-	Font font = parent.getFont();
-	
-	// project specification group
-	Composite projectGroup = new Composite(parent, SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 3;
-	projectGroup.setLayout(layout);
-	projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	projectGroup.setFont(font);
-
-	final Button useDefaultsButton =
-		new Button(projectGroup, SWT.CHECK | SWT.RIGHT);
-	useDefaultsButton.setText(WorkbenchMessages.getString("ProjectLocationSelectionDialog.useDefaultLabel")); //$NON-NLS-1$
-	useDefaultsButton.setSelection(this.useDefaults);
-	GridData buttonData = new GridData();
-	buttonData.horizontalSpan = 3;
-	useDefaultsButton.setLayoutData(buttonData);
-	useDefaultsButton.setFont(font);
-
-	createUserSpecifiedProjectLocationGroup(projectGroup, !this.useDefaults);
-
-	SelectionListener listener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			useDefaults = useDefaultsButton.getSelection();
-			browseButton.setEnabled(!useDefaults);
-			locationPathField.setEnabled(!useDefaults);
-			locationLabel.setEnabled(!useDefaults);
-			setLocationForSelection();
-			if (!useDefaults)
-				locationPathField.setText(""); //$NON-NLS-1$
-		}
-	};
-	useDefaultsButton.addSelectionListener(listener);
-}
-/**
- * Creates the project name specification controls.
- *
- * @param parent the parent composite
- */
-private void createProjectNameGroup(Composite parent) {
-	Font font = parent.getFont();
-	// project specification group
-	Composite projectGroup = new Composite(parent,SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 2;
-	projectGroup.setLayout(layout);
-	projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-	// new project label
-	Label projectLabel = new Label(projectGroup,SWT.NONE);
-	projectLabel.setFont(font);
-	projectLabel.setText(PROJECT_NAME_LABEL);
-
-	// new project name entry field
-	projectNameField = new Text(projectGroup, SWT.BORDER);
-	GridData data = new GridData(GridData.FILL_HORIZONTAL);
-	data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-	projectNameField.setLayoutData(data);
-	projectNameField.setFont(font);
-	
-	// Set the initial value first before listener
-	// to avoid handling an event during the creation.
-	projectNameField.setText(getCopyNameFor(getProject().getName()));
-	projectNameField.selectAll();
-	
-	createNameListener();
-	
-}
-/**
- * Creates the project location specification controls.
- *
- * @return the parent of the widgets created
- * @param projectGroup the parent composite
- * @param enabled - sets the initial enabled state of the widgets
- */
-private Composite createUserSpecifiedProjectLocationGroup(
-	Composite projectGroup,
-	boolean enabled) {
-	
-	Font font = projectGroup.getFont();
-	
-	// location label
-	locationLabel = new Label(projectGroup, SWT.NONE);
-	locationLabel.setFont(font);
-	locationLabel.setText(LOCATION_LABEL);
-	locationLabel.setEnabled(enabled);
-
-	// project location entry field
-	locationPathField = new Text(projectGroup, SWT.BORDER);
-	GridData data = new GridData(GridData.FILL_HORIZONTAL);
-	data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-	locationPathField.setLayoutData(data);
-	locationPathField.setFont(font);
-	locationPathField.setEnabled(enabled);
-
-	// browse button
-	this.browseButton = new Button(projectGroup, SWT.PUSH);
-	this.browseButton.setFont(font);	
-	this.browseButton.setText(BROWSE_LABEL);
-	this.browseButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			handleLocationBrowseButtonPressed();
-		}
-	});
-	this.browseButton.setEnabled(enabled);
-	setButtonLayoutData(this.browseButton);
-
-	// Set the initial value first before listener
-	// to avoid handling an event during the creation.
-	try {
-		IPath location = this.getProject().getDescription().getLocation();
-		if (location == null)
-			setLocationForSelection();
-		else
-			locationPathField.setText(location.toString());
-	} catch (CoreException exception) {
-		//Set it to the default if possible as there is no info yet
-		 setLocationForSelection();
-	}
-
-	createLocationListener();
-	return projectGroup;
-
-}
-/**
- * Generates a new name for the project that does not have any collisions.
- */
-private String getCopyNameFor(String projectName) {
-
-	IWorkspace workspace = getProject().getWorkspace();
-	if (!workspace.getRoot().getProject(projectName).exists())
-		return projectName;
-
-	int counter = 1;
-	while (true) {
-		String nameSegment;
-		if (counter > 1) {
-			nameSegment = WorkbenchMessages.format(WorkbenchMessages.getString("CopyProjectAction.copyNameTwoArgs"), new Object[] {new Integer(counter), projectName}); //$NON-NLS-1$
-		}
-		else {
-			nameSegment = WorkbenchMessages.format(WorkbenchMessages.getString("CopyProjectAction.copyNameOneArg"), new Object[] {projectName}); //$NON-NLS-1$
-		}
-	
-		if (!workspace.getRoot().getProject(nameSegment).exists())
-			return nameSegment;
-
-		counter++;
-	}
-
-}
-/**
- * Get the project being manipulated.
- */
-private IProject getProject() {
-	return this.project;
-}
-/**
- *	Open an appropriate directory browser
- */
-private void handleLocationBrowseButtonPressed() {
-	DirectoryDialog dialog = new DirectoryDialog(locationPathField.getShell());
-	dialog.setMessage(DIRECTORY_DIALOG_LABEL);
-	
-	String dirName = locationPathField.getText();
-	if (!dirName.equals("")) {//$NON-NLS-1$
-		File path = new File(dirName);
-		if (path.exists())
-			dialog.setFilterPath(dirName);
-	}
-
-	String selectedDirectory = dialog.open();
-	if (selectedDirectory != null)
-		locationPathField.setText(selectedDirectory);
-}
-/**
- * The <code>ProjectLocationSelectionDialog</code> implementation of this 
- * <code>Dialog</code> method builds a two element list - the first element
- * is the project name and the second one is the location.
- */
-protected void okPressed() {
-	
-	ArrayList list = new ArrayList();
-	list.add(this.projectNameField.getText());
-	if(useDefaults)
-		list.add(Platform.getLocation().toString());
-	else
-		list.add(this.locationPathField.getText());
-	setResult(list);
-	super.okPressed();
-}
-/**
- * Set the location to the default location if we are set to useDefaults.
- */
-private void setLocationForSelection() {
-	if (useDefaults) {
-		IPath defaultPath = Platform.getLocation().append(projectNameField.getText());
-		locationPathField.setText(defaultPath.toOSString());
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/PropertyDialogAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/PropertyDialogAction.java
deleted file mode 100644
index 93cffcd..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/PropertyDialogAction.java
+++ /dev/null
@@ -1,168 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.ui.internal.dialogs.PropertyPageContributorManager;
-import org.eclipse.ui.internal.dialogs.PropertyPageManager;
-import org.eclipse.ui.internal.dialogs.PropertyDialog;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.actions.SelectionProviderAction;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.widgets.Shell;
-import java.util.*;
-
-/**
- * Standard action for opening a Property Pages Dialog on the currently selected
- * element.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * <p>
- * Generally speaking, this action is useful in pop-up menus because it allows
- * the user to browse and change properties of selected elements. When performed,
- * the action will bring up a Property Pages Dialog containing property pages
- * registered with the workbench for elements of the selected type.
- * </p>
- * <p>
- * Although the action is capable of calculating if there are any applicable
- * pages for the current selection, this calculation is costly because it 
- * require searching the workbench registry. Where performance is critical, the 
- * action can simply be added to the pop-up menu. In the event of no applicable
- * pages, the action will just open an appropriate message dialog.
- * </p>
- */
-public class PropertyDialogAction extends SelectionProviderAction {
-
-	/**
-	 * The shell in which to open the property dialog.
-	 */
-	private Shell shell;
-/**
- * Creates a new action for opening a property dialog on the elements from the
- * given selection provider.
- *
- * @param shell the shell in which the dialog will open
- * @param provider the selection provider whose elements the property dialog
- *   will describe
- */
-public PropertyDialogAction(Shell shell, ISelectionProvider provider) {
-	super(provider, WorkbenchMessages.getString("PropertyDialog.text")); //$NON-NLS-1$
-	Assert.isNotNull(shell);
-	this.shell = shell;
-	setToolTipText(WorkbenchMessages.getString("PropertyDialog.toolTip")); //$NON-NLS-1$
-	WorkbenchHelp.setHelp(this, IHelpContextIds.PROPERTY_DIALOG_ACTION);
-}
-/**
- * Returns the name of the given element.
- * 
- * @param element the element
- * @return the name of the element
- */
-private String getName(IAdaptable element) {
-	IWorkbenchAdapter adapter = (IWorkbenchAdapter)element.getAdapter(IWorkbenchAdapter.class);
-	if (adapter != null) {
-		return adapter.getLabel(element);
-	} else {
-		return "";//$NON-NLS-1$
-	}
-}
-/**
- * Returns whether the provided object has pages registered in the property page
- * manager.
- */
-private boolean hasPropertyPagesFor(Object object) {
-	PropertyPageContributorManager manager = PropertyPageContributorManager.getManager();
-	return manager.hasContributorsFor(object);
-}
-/**
- * Returns whether this action is actually applicable to the current selection.
- * If this action is disabled, it will return <code>false</code> without further
- * calculation. If it is enabled, it will check with the workbench's property
- * page manager to see if there are any property pages registered for the
- * selected element's type.
- * <p>
- * This method is generally too expensive to use when updating the enabled state
- * of the action on each selection change.
- * </p>
- *
- * @return <code>true</code> if the selection is of size 1 and there are 
- *   property pages for the selected element, and <code>false</code> otherwise
- */
-public boolean isApplicableForSelection() {
-	if (!isEnabled()) return false;
-	return isApplicableForSelection(getStructuredSelection());
-}
-
-/**
- * Returns whether this action is applicable to the current selection.
- * This checks that the selection is of size 1, and checks with the workbench's property
- * page manager to see if there are any property pages registered for the
- * selected element's type.
- * <p>
- * This method is generally too expensive to use when updating the enabled state
- * of the action on each selection change.
- * </p>
- *
- * @return <code>true</code> if the selection is of size 1 and there are 
- *   property pages for the selected element, and <code>false</code> otherwise
- */
-public boolean isApplicableForSelection(IStructuredSelection selection) {
-	return selection.size() == 1 && hasPropertyPagesFor(selection.getFirstElement());
-}
-
-/**
- * The <code>PropertyDialogAction</code> implementation of this 
- * <code>IAction</code> method performs the action by opening the Property Page
- * Dialog for the current selection. If no pages are found, an informative 
- * message dialog is presented instead.
- */
-public void run() {
-	PropertyPageManager pageManager = new PropertyPageManager();
-	String title = "";//$NON-NLS-1$
-
-	// get selection
-	IAdaptable element = (IAdaptable) getStructuredSelection().getFirstElement();
-	if (element == null)
-		return;
-
-	// load pages for the selection
-	// fill the manager with contributions from the matching contributors
-	PropertyPageContributorManager.getManager().contribute(pageManager, element);
-	
-	// testing if there are pages in the manager
-	Iterator pages = pageManager.getElements(PreferenceManager.PRE_ORDER).iterator();
-	String name = getName(element);
-	if (!pages.hasNext()) {
-		MessageDialog.openInformation(
-			shell,
-			WorkbenchMessages.getString("PropertyDialog.messageTitle"), //$NON-NLS-1$
-			WorkbenchMessages.format("PropertyDialog.noPropertyMessage", new Object[] {name})); //$NON-NLS-1$
-		return;
-	} else
-		title = WorkbenchMessages.format("PropertyDialog.propertyMessage", new Object[] {name}); //$NON-NLS-1$
-
-	PropertyDialog propertyDialog = new PropertyDialog(shell, pageManager, getStructuredSelection()); 
-	propertyDialog.create();
-	propertyDialog.getShell().setText(title);
-	WorkbenchHelp.setHelp(propertyDialog.getShell(), IHelpContextIds.PROPERTY_DIALOG);
-	propertyDialog.open();
-}
-/**
- * The <code>PropertyDialogAction</code> implementation of this 
- * <code>SelectionProviderAction</code> method enables the action only if the
- * given selection contains exactly one element.
- */
-public void selectionChanged(IStructuredSelection selection) {
-	setEnabled(selection.size() == 1 && selection.getFirstElement() !=  null);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/PropertyPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/PropertyPage.java
deleted file mode 100644
index 175f803..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/PropertyPage.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.ui.IWorkbenchPropertyPage;
-
-/**
- * Abstract base implementation of a workbench property page
- * (<code>IWorkbenchPropertyPage</code>).
- * The implementation is a JFace preference page with an adapatable element.
- * <p>
- * Subclasses must implement the <code>createContents</code> framework
- * method to supply the property page's main control.
- * </p>
- * <p>
- * Subclasses should extend the <code>doComputeSize</code> framework
- * method to compute the size of the page's control.
- * </p>
- * <p>
- * Subclasses may override the <code>performOk</code>, <code>performApply</code>, 
- * <code>performDefaults</code>, <code>performCancel</code>, and <code>performHelp</code>
- * framework methods to react to the standard button events.
- * </p>
- * <p>
- * Subclasses may call the <code>noDefaultAndApplyButton</code> framework
- * method before the page's control has been created to suppress
- * the standard Apply and Defaults buttons.
- * </p>
- *
- * @see IWorkbenchPropertyPage
- */
-public abstract class PropertyPage extends PreferencePage implements IWorkbenchPropertyPage {
-
-	/**
-	 * The element.
-	 */
-	private IAdaptable element;
-/**
- * Creates a new property page.
- */
-public PropertyPage() {}
-/* (non-Javadoc)
- * Method declared on IWorkbenchPropertyPage.
- */
-public IAdaptable getElement() {
-	return element;
-}
-/**
- * Sets the element that owns properties shown on this page.
- *
- * @param element the element
- */
-public void setElement(IAdaptable element) {
-	this.element = element;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ResourceListSelectionDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ResourceListSelectionDialog.java
deleted file mode 100644
index e028b9e..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ResourceListSelectionDialog.java
+++ /dev/null
@@ -1,495 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-	Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog font 
-		should be activated and used by other components.
-*************************************************************************/
-package org.eclipse.ui.dialogs;
-
-import java.text.Collator;
-import java.util.ArrayList;
-import java.util.Arrays;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.misc.StringMatcher;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * Shows a list of resources to the user with a text entry field
- * for a string pattern used to filter the list of resources.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * 
- * @since 2.1
- */
-public class ResourceListSelectionDialog extends SelectionDialog {
-	Text pattern;
-	Table resourceNames;
-	Table folderNames;
-	String patternString;
-	private static Collator collator = Collator.getInstance();
-	
-	StringMatcher stringMatcher;
-	
-	UpdateThread updateThread;
-	ResourceDescriptor[] descriptors;
-	int descriptorsSize;
-	
-	WorkbenchLabelProvider labelProvider = new WorkbenchLabelProvider();
-	static class ResourceDescriptor implements Comparable {
-		String label;
-		ArrayList resources = new ArrayList(1);
-		public int compareTo(Object o) {
-			return collator.compare(label,((ResourceDescriptor)o).label);
-		}
-	}
-	
-	class UpdateThread extends Thread {
-		boolean stop = false;
-		int firstMatch = 0;
-		int lastMatch = descriptorsSize - 1;
-		
-		public void run() {
-			Display display = resourceNames.getDisplay();
-			final int itemIndex[] = {0};
-			final int itemCount[] = {0};
-			//Keep track of if the widget got disposed 
-			//so that we can abort if required
-			final boolean[] disposed = {false};
-			display.syncExec(new Runnable(){
-				public void run() {
-					//Be sure the widget still exists
-					if(resourceNames.isDisposed()){
-						disposed[0] = true;
-						return;
-					}
-			 		itemCount[0] = resourceNames.getItemCount();
-				}
-			});
-			
-			if(disposed[0])
-				return;
-				 
-			int last;
-			if ((patternString.indexOf('?') == -1) && (patternString.endsWith("*")) && 
-				(patternString.indexOf('*') == patternString.length() - 1)) {
-				// Use a binary search to get first and last match when the pattern
-				// string ends with "*" and has no other embedded special characters.  
-				// For this case, we can be smarter about getting the first and last 
-				// match since the items are in sorted order.
-				firstMatch = getFirstMatch();
-				if (firstMatch == -1) {
-					firstMatch = 0;
-					lastMatch = -1;
-				} else {
-					lastMatch = getLastMatch();
-				}
-				last = lastMatch;
-				for (int i = firstMatch; i <= lastMatch;i++) {
-					if(i % 50 == 0) {
-						try { Thread.sleep(10); } catch(InterruptedException e){}
-					}
-					if(stop || resourceNames.isDisposed()){
-						disposed[0] = true;
-						 return;
-					}
-					final int index = i;
-					display.syncExec(new Runnable() {
-						public void run() {
-							if(stop || resourceNames.isDisposed()) return;
-							updateItem(index,itemIndex[0],itemCount[0]);
-							itemIndex[0]++;
-						}
-					});
-				}
-			} else {
-				last = lastMatch;
-				boolean setFirstMatch = true;
-				for (int i = firstMatch; i <= lastMatch;i++) {
-					if(i % 50 == 0) {
-						try { Thread.sleep(10); } catch(InterruptedException e){}
-					}
-					if(stop || resourceNames.isDisposed()){
-						disposed[0] = true;
-						 return;
-					}
-					final int index = i;
-					if(match(descriptors[index].label)) {
-						if(setFirstMatch) {
-							setFirstMatch = false;
-							firstMatch = index;
-						}
-						last = index;
-						display.syncExec(new Runnable() {
-							public void run() {
-								if(stop || resourceNames.isDisposed()) return;
-								updateItem(index,itemIndex[0],itemCount[0]);
-								itemIndex[0]++;
-							}
-						});
-					}
-				}
-			}
-			
-			if(disposed[0])
-				return;
-				
-			lastMatch = last;
-			display.syncExec(new Runnable() {
-				public void run() {
-					if(resourceNames.isDisposed())
-						return;
-			 		itemCount[0] = resourceNames.getItemCount();
-			 		if(itemIndex[0] < itemCount[0]) {
-			 			resourceNames.setRedraw(false);
-				 		resourceNames.remove(itemIndex[0],itemCount[0] -1);
-			 			resourceNames.setRedraw(true);
-			 		}
-			 		// If no resources, remove remaining folder entries
-			 		if(resourceNames.getItemCount() == 0) {
-			 			folderNames.removeAll();
-			 		}
-				}
-			});
-		}
-	};
-/**
- * Creates a new instance of the class.
- * 
- * @param parentShell shell to parent the dialog on
- * @param resources resources to display in the dialog
- */
-public ResourceListSelectionDialog(Shell parentShell, IResource[] resources) {
-	super(parentShell);
-	setShellStyle(getShellStyle() | SWT.RESIZE);
-	initDescriptors(resources);
-}
-/**
- * @see org.eclipse.jface.dialogs.Dialog#cancelPressed()
- */
-protected void cancelPressed() {
-	setResult(null);
-	super.cancelPressed();
-}
-/**
- * @see org.eclipse.jface.window.Window#close()
- */
-public boolean close() {
-	boolean result = super.close();
-	labelProvider.dispose();
-	return result;
-}
-/**
- * @see org.eclipse.jface.window.Window#create()
- */
-public void create() {
-	super.create();
-	pattern.setFocus();
-}
-/**
- * Creates the contents of this dialog, initializes the
- * listener and the update thread.
- * 
- * @param parent parent to create the dialog widgets in
- */
-protected Control createDialogArea(Composite parent) {
-	Composite dialogArea = (Composite)super.createDialogArea(parent);
-	Label l = new Label(dialogArea,SWT.NONE);
-	l.setText(WorkbenchMessages.getString("ResourceSelectionDialog.label")); //$NON-NLS-1$
-	GridData data = new GridData(GridData.FILL_HORIZONTAL);
-	l.setLayoutData(data);
-	
-	l = new Label(dialogArea,SWT.NONE);
-	l.setText(WorkbenchMessages.getString("ResourceSelectionDialog.pattern")); //$NON-NLS-1$
-	data = new GridData(GridData.FILL_HORIZONTAL);
-	l.setLayoutData(data);
-	pattern = new Text(dialogArea,SWT.SINGLE|SWT.BORDER);
-	pattern.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	l = new Label(dialogArea,SWT.NONE);
-	l.setText(WorkbenchMessages.getString("ResourceSelectionDialog.matching")); //$NON-NLS-1$
-	data = new GridData(GridData.FILL_HORIZONTAL);
-	l.setLayoutData(data);
-	resourceNames = new Table(dialogArea,SWT.SINGLE|SWT.BORDER|SWT.V_SCROLL);
-	data = new GridData(GridData.FILL_BOTH);
-	data.heightHint = 12 * resourceNames.getItemHeight();
-	resourceNames.setLayoutData(data);
-	
-	l = new Label(dialogArea,SWT.NONE);
-	l.setText(WorkbenchMessages.getString("ResourceSelectionDialog.folders")); //$NON-NLS-1$
-	data = new GridData(GridData.FILL_HORIZONTAL);
-	l.setLayoutData(data);
-	
-	folderNames = new Table(dialogArea,SWT.SINGLE|SWT.BORDER|SWT.V_SCROLL|SWT.H_SCROLL);
-	data = new GridData(GridData.FILL_BOTH);
-	data.widthHint = 300;
-	data.heightHint = 4 * folderNames.getItemHeight();
-	folderNames.setLayoutData(data);
-	
-	updateThread = new UpdateThread();
-	
-	pattern.addKeyListener(new KeyAdapter(){
-		public void keyPressed(KeyEvent e) {
-			if (e.keyCode == SWT.ARROW_DOWN) resourceNames.setFocus();
-			else textChanged();
-		}
-	});
-			
-	resourceNames.addSelectionListener(new SelectionAdapter(){
-		public void widgetSelected(SelectionEvent e) {
-			updateFolders((ResourceDescriptor)e.item.getData());
-		}
-		public void widgetDefaultSelected(SelectionEvent e) {
-			okPressed();
-		}
-	});
-	
-	folderNames.addSelectionListener(new SelectionAdapter(){
-		public void widgetDefaultSelected(SelectionEvent e) {
-			okPressed();
-		}
-	});
-	
-	return dialogArea;
-}
-/**
- * Use a binary search to get the first match for the patternString.
- * This method assumes the patternString does not contain any '?' 
- * characters and that it contains only one '*' character at the end
- * of the string.
- */
-private int getFirstMatch() {
-	int high = descriptorsSize;
-	int low = -1;
-	boolean match = false;
-	ResourceDescriptor desc = new ResourceDescriptor();
-	desc.label = patternString.substring(0, patternString.length() - 1);
-	while (high - low > 1) {
-		int index = (high + low) / 2;
-		String label = descriptors[index].label;
-		if (match(label)) {
-			high = index;
-			match = true;
-		} else {
-			int compare = descriptors[index].compareTo(desc);
-			if (compare == -1) {
-				low = index;
-			} else {
-				high = index;
-			}
-		}
-	}
-	if (match) return high;
-	else return -1;
-}
-/**
- * Return an image for a resource descriptor.
- * 
- * @param desc resource descriptor to return image for
- * @return an image for a resource descriptor.
- */
-private Image getImage(ResourceDescriptor desc) {
-	IResource r = (IResource)desc.resources.get(0);
-	return labelProvider.getImage(r);
-}
-/**
- * Use a binary search to get the last match for the patternString.
- * This method assumes the patternString does not contain any '?' 
- * characters and that it contains only one '*' character at the end
- * of the string.
- */
-private int getLastMatch() {
-	int high = descriptorsSize;
-	int low = -1;
-	boolean match = false;
-	ResourceDescriptor desc = new ResourceDescriptor();
-	desc.label = patternString.substring(0, patternString.length() - 1);
-	while (high - low > 1) {
-		int index = (high + low) / 2;
-		String label = descriptors[index].label;
-		if (match(label)) {
-			low = index;
-			match = true;
-		} else {
-			int compare = descriptors[index].compareTo(desc);
-			if (compare == -1) {
-				low = index;
-			} else {
-				high = index;
-			}
-		}
-	}
-	if (match) return low;
-	else return -1;
-}
-/**
- * Creates a ResourceDescriptor for each IResource,
- * sorts them and removes the duplicated ones.
- * 
- * @param resources resources to create resource descriptors for
- */
-private void initDescriptors(IResource resources[]) {
-	descriptors = new ResourceDescriptor[resources.length];
-	for (int i = 0; i < resources.length; i++){
-		IResource r = resources[i];
-		ResourceDescriptor d = new ResourceDescriptor();
-		//TDB: Should use the label provider and compare performance.
-		d.label = r.getName();
-		d.resources.add(r);
-		descriptors[i] = d;
-	}
-	Arrays.sort(descriptors);
-	descriptorsSize = descriptors.length;
-
-	//Merge the resource descriptor with the same label and type.
-	int index = 0;
-	if(descriptorsSize < 2)
-		return;
-	ResourceDescriptor current = descriptors[index];
-	IResource currentResource = (IResource)current.resources.get(0);
-	for (int i = 1; i < descriptorsSize; i++){
-		ResourceDescriptor next = descriptors[i];
-		IResource nextResource = (IResource)next.resources.get(0);
-		if((next.label.equals(current.label)) && (nextResource.getType() == currentResource.getType())) {
-			current.resources.add(next.resources.get(0));
-		} else {
-			descriptors[index + 1] = descriptors[i];
-			index++;
-			current = descriptors[index];
-			currentResource = (IResource)current.resources.get(0);
-		}
-	}
-	descriptorsSize = index + 1;
-}
-/**
- * Returns true if the label matches the chosen pattern.
- * 
- * @param label label to match with the current pattern
- * @return true if the label matches the chosen pattern. 
- * 	false otherwise.
- */
-private boolean match(String label) {
-	if((patternString == null) || (patternString.equals("")) || (patternString.equals("*")))//$NON-NLS-2$//$NON-NLS-1$
-		return true;
-	return stringMatcher.match(label);
-}
-/**
- * The user has selected a resource and the dialog is closing.
- * Set the selected resource as the dialog result.
- */
-protected void okPressed() {
-	TableItem items[] = folderNames.getSelection();
-	if(items.length == 1) {
-		ArrayList result = new ArrayList();
-		result.add(items[0].getData());
-		setResult(result);
-	}
-	super.okPressed();
-}
-/**
- * The text in the pattern text entry has changed.
- * Create a new string matcher and start a new update tread.
- */
-private void textChanged() {
-	String oldPattern = patternString;
-	patternString = pattern.getText().trim();
-	if (!patternString.equals("")) {
-		if(patternString.indexOf('*') == -1 && patternString.indexOf('?') == -1)	//$NON-NLS-1$ //$NON-NLS-2$
-			patternString = patternString + "*";	//$NON-NLS-1$
-	}
-	if(patternString.equals(oldPattern))
-		return;
-	
-	updateThread.stop = true;
-	stringMatcher = new StringMatcher(patternString,true,false);
-	UpdateThread oldThread = updateThread;
-	updateThread = new UpdateThread();
-	if (patternString.equals("")) {
-		updateThread.firstMatch = 0;
-		updateThread.lastMatch = -1;
-	} else if(oldPattern == null || 
-	  (oldPattern.length() == 0) || 
-	  (!patternString.regionMatches(0,oldPattern,0,oldPattern.length())) ||
-	  (patternString.endsWith("?")) ||
-	  (patternString.endsWith("*"))) {
-		updateThread.firstMatch = 0;
-		updateThread.lastMatch = descriptorsSize - 1;
-	} else {
-		updateThread.firstMatch = oldThread.firstMatch;
-		updateThread.lastMatch = oldThread.lastMatch;
-	}
-	updateThread.start();
-}
-/**
- * A new resource has been selected. Change the contents
- * of the folder names list.
- * 
- * @desc resource descriptor of the selected resource
- */
-private void updateFolders(ResourceDescriptor desc) {
-	folderNames.removeAll();
-	for (int i = 0; i < desc.resources.size(); i++){
-		TableItem newItem = new TableItem(folderNames,SWT.NONE);
-		IResource r = (IResource) desc.resources.get(i);
-		IResource parent = r.getParent();
-		String text;
-		if (parent.getType() == IResource.ROOT) {
-			// XXX: Get readable name for workspace root ("Workspace"), without duplicating language-specific string here.
-			text = labelProvider.getText(parent);
-		}
-		else {
-			text = parent.getFullPath().makeRelative().toString();
-		}
-		newItem.setText(text);
-		newItem.setImage(labelProvider.getImage(r.getParent()));
-		newItem.setData(r);
-	}
-	folderNames.setSelection(0);
-}
-/**
- * Update the specified item with the new info from the resource 
- * descriptor.
- * Create a new table item if there is no item. 
- * 
- * @param index index of the resource descriptor
- * @param itemPos position of the existing item to update
- * @param itemCount number of items in the resources table widget
- */
-private void updateItem(int index, int itemPos,int itemCount) {
-	ResourceDescriptor desc = descriptors[index];
-	TableItem item;
-	if(itemPos < itemCount) {
-		item = resourceNames.getItem(itemPos);
-		if(item.getData() != desc) {
-			item.setText(desc.label);
-			item.setData(desc);
-			item.setImage(getImage(desc));
-			if (itemPos == 0) {
-				resourceNames.setSelection(0);
-				updateFolders(desc);
-			}
-		}
-	} else {
-		item = new TableItem(resourceNames, SWT.NONE);
-		item.setText(desc.label);
-		item.setData(desc);
-		item.setImage(getImage(desc));
-		if (itemPos == 0) {
-			resourceNames.setSelection(0);
-			updateFolders(desc);
-		}
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ResourceSelectionDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ResourceSelectionDialog.java
deleted file mode 100644
index ddcc5ce..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ResourceSelectionDialog.java
+++ /dev/null
@@ -1,205 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.ui.internal.misc.CheckboxTreeAndListGroup;
-import org.eclipse.ui.help.*;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.model.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import java.util.Iterator;
-import java.util.ArrayList;
-
-/**
- * A standard resource selection dialog which solicits a list of resources from
- * the user. The <code>getResult</code> method returns the selected resources.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * 	ResourceSelectionDialog dialog =
- *		new ResourceSelectionDialog(getShell(), rootResource, msg);
- *	dialog.setInitialSelections(selectedResources));
- *	dialog.open();
- *	return dialog.getResult();
- * </pre>
- * </p>
- */
-public class ResourceSelectionDialog extends SelectionDialog {
-	// the root element to populate the viewer with
-	private IAdaptable					root;
-
-	// the visual selection widget group
-	private CheckboxTreeAndListGroup	selectionGroup;
-	// constants
-	private final static int			SIZING_SELECTION_WIDGET_WIDTH = 400;
-	private final static int			SIZING_SELECTION_WIDGET_HEIGHT = 300;
-/**
- * Creates a resource selection dialog rooted at the given element.
- *
- * @param parentShell the parent shell
- * @param rootElement the root element to populate this dialog with
- * @param message the message to be displayed at the top of this dialog, or
- *    <code>null</code> to display a default message
- */
-public ResourceSelectionDialog(Shell parentShell, IAdaptable rootElement, String message) {
-	super(parentShell);
-	setTitle(WorkbenchMessages.getString("ResourceSelectionDialog.title")); //$NON-NLS-1$
-	root = rootElement;
-	if (message != null)
-		setMessage(message);
-	else
-		setMessage(WorkbenchMessages.getString("ResourceSelectionDialog.message")); //$NON-NLS-1$
-	setShellStyle(getShellStyle() | SWT.RESIZE);
-}
-/**
- * Visually checks the previously-specified elements in the container (left)
- * portion of this dialog's resource selection viewer.
- */
-private void checkInitialSelections() {
-	Iterator itemsToCheck = getInitialElementSelections().iterator();
-	
-	while (itemsToCheck.hasNext()) {
-		IResource currentElement = (IResource)itemsToCheck.next();
-		
-		if (currentElement.getType() == IResource.FILE)
-			selectionGroup.initialCheckListItem(currentElement);
-		else
-			selectionGroup.initialCheckTreeItem(currentElement);
-	}
-}
-/* (non-Javadoc)
- * Method declared on ICheckStateListener.
- */
-public void checkStateChanged(CheckStateChangedEvent event) {
-	getOkButton().setEnabled(selectionGroup.getCheckedElementCount() > 0);
-}
-/* (non-Javadoc)
- * Method declared in Window.
- */
-protected void configureShell(Shell shell) {
-	super.configureShell(shell);
-	WorkbenchHelp.setHelp(shell, IHelpContextIds.RESOURCE_SELECTION_DIALOG);
-}
-public void create() {
-	super.create();
-	initializeDialog();
-}
-/* (non-Javadoc)
- * Method declared on Dialog.
- */
-protected Control createDialogArea(Composite parent) {
-	// page group
-	Composite composite = (Composite) super.createDialogArea(parent);
-
-	//create the input element, which has the root resource
-	//as its only child
-	ArrayList input = new ArrayList();
-	input.add(root);
-
-	createMessageArea(composite);
-	selectionGroup =
-		new CheckboxTreeAndListGroup(
-			composite,
-			input,
-			getResourceProvider(IResource.FOLDER | IResource.PROJECT | IResource.ROOT),
-			new WorkbenchLabelProvider(),
-			getResourceProvider(IResource.FILE),
-			new WorkbenchLabelProvider(),
-			SWT.NONE,
-			// since this page has no other significantly-sized
-			// widgets we need to hardcode the combined widget's
-			// size, otherwise it will open too small
-			SIZING_SELECTION_WIDGET_WIDTH,
-			SIZING_SELECTION_WIDGET_HEIGHT);
-
-	composite.addControlListener(new ControlListener() {
-		public void controlMoved(ControlEvent e) {};
-		public void controlResized(ControlEvent e) {
-			//Also try and reset the size of the columns as appropriate
-			TableColumn[] columns = selectionGroup.getListTable().getColumns();
-			for (int i = 0; i < columns.length; i++) {
-				columns[i].pack();
-			}
-		}
-	});
-
-	return composite;
-}
-/**
- * Returns a content provider for <code>IResource</code>s that returns 
- * only children of the given resource type.
- */
-private ITreeContentProvider getResourceProvider(final int resourceType) {
-	return new WorkbenchContentProvider() {
-		public Object[] getChildren(Object o) {
-			if (o instanceof IContainer) {
-				IResource[] members = null;
-				try {
-					members = ((IContainer)o).members();
-				} catch (CoreException e) {
-					//just return an empty set of children
-					return new Object[0];
-				}
-
-				//filter out the desired resource types
-				ArrayList results = new ArrayList();
-				for (int i = 0; i < members.length; i++) {
-					//And the test bits with the resource types to see if they are what we want
-					if ((members[i].getType() & resourceType) > 0) {
-						results.add(members[i]);
-					}
-				}
-				return results.toArray();
-			} else {
-				//input element case
-				if (o instanceof ArrayList) {
-					return ((ArrayList)o).toArray();
-				} else {
-					return new Object[0];
-				}
-			}
-		}
-	};
-}
-/**
- * Initializes this dialog's controls.
- */
-private void initializeDialog() {
-	selectionGroup.addCheckStateListener(new ICheckStateListener() {
-		public void checkStateChanged(CheckStateChangedEvent event) {
-			getOkButton().setEnabled(selectionGroup.getCheckedElementCount() > 0);
-		}
-	});
-		
-	if (getInitialElementSelections().isEmpty())
-		getOkButton().setEnabled(false);
-	else
-		checkInitialSelections();
-}
-/**
- * The <code>ResourceSelectionDialog</code> implementation of this 
- * <code>Dialog</code> method builds a list of the selected resources for later 
- * retrieval by the client and closes this dialog.
- */
-protected void okPressed() {
-	Iterator resultEnum = selectionGroup.getAllCheckedListItems();
-	ArrayList list = new ArrayList();
-	while (resultEnum.hasNext())
-		list.add(resultEnum.next());
-	setResult(list);
-	super.okPressed();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/SaveAsDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/SaveAsDialog.java
deleted file mode 100644
index 3f9fec7..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/SaveAsDialog.java
+++ /dev/null
@@ -1,260 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/**********************************************************************
-Copyright (c) 2000, 2001, 2002, International Business Machines 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:
-  Bob Foster <bob@objfac.com> 
-    - Fix for bug 23025 - SaveAsDialog should not assume what is being saved is an IFile
-**********************************************************************/
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.misc.ResourceAndContainerGroup;
-
-/**
- * A standard "Save As" dialog which solicits a path from the user. The
- * <code>getResult</code> method returns the path. Note that the folder
- * at the specified path might not exist and might need to be created.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- *
- * @see IFile#create
- * @see ContainerGenerator
- */
-public class SaveAsDialog extends TitleAreaDialog {
-	private IStructuredSelection currentSelection;
-	private IContainer currentParent;
-	private int lastContainerSegmentCount = 0;
-	private IFile originalFile = null;
-	private String originalName = null;
-	private IPath result;
-
-	// widgets
-	private ResourceAndContainerGroup resourceGroup;
-	private Button okButton;
-	private Button cancelButton;
-
-	/**
-	 * Image for title area
-	 */
-	private Image dlgTitleImage = null;
-
-/**
- * Creates a new Save As dialog for no specific file.
- *
- * @param parentShell the parent shell
- */
-public SaveAsDialog(Shell parentShell) {
-	super(parentShell);
-}
-/* (non-Javadoc)
- * Method declared in Window.
- */
-protected void configureShell(Shell shell) {
-	super.configureShell(shell);
-	shell.setText(WorkbenchMessages.getString("SaveAsDialog.text")); //$NON-NLS-1$
-	WorkbenchHelp.setHelp(shell, IHelpContextIds.SAVE_AS_DIALOG);
-}
-/* (non-Javadoc)
- * Method declared in Window.
- */
-protected Control createContents(Composite parent) {
-	
-	Control contents = super.createContents(parent);
-	
-	initializeControls();
-	validatePage();
-	resourceGroup.setFocus();
-	setTitle(WorkbenchMessages.getString("SaveAsDialog.title")); //$NON-NLS-1$
-	dlgTitleImage = WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_DLGBAN_SAVEAS_DLG).createImage();
-	setTitleImage(dlgTitleImage);
-	setMessage(WorkbenchMessages.getString("SaveAsDialog.message")); //$NON-NLS-1$
-	
-	return contents;
-}
-/** 
- * The <code>SaveAsDialog</code> implementation of this <code>Window</code>
- * method disposes of the banner image when the dialog is closed.
- */
-public boolean close() {
-	if (dlgTitleImage != null) 
-		dlgTitleImage.dispose();
-	return super.close();
-}
-/* (non-Javadoc)
- * Method declared on Dialog.
- */
-protected void createButtonsForButtonBar(Composite parent) {
-	okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-	cancelButton = createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-}
-/* (non-Javadoc)
- * Method declared on Dialog.
- */
-protected Control createDialogArea(Composite parent) {
-	// top level composite
-	Composite parentComposite = (Composite)super.createDialogArea(parent);
-
-	// create a composite with standard margins and spacing
-	Composite composite = new Composite(parentComposite, SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-	layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-	layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-	layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-	composite.setLayout(layout);
-	composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-	composite.setFont(parentComposite.getFont());
-
-	Listener listener = new Listener() {
-		public void handleEvent(Event event) {
-			setDialogComplete(validatePage());
-		}
-	};
-
-	resourceGroup = new ResourceAndContainerGroup(composite, listener, WorkbenchMessages.getString("SaveAsDialog.fileLabel"), WorkbenchMessages.getString("SaveAsDialog.file")); //$NON-NLS-2$ //$NON-NLS-1$
-	resourceGroup.setAllowExistingResources(true);
-
-	return parentComposite;
-}
-/**
- * Returns the full path entered by the user.
- * <p>
- * Note that the file and container might not exist and would need to be created.
- * See the <code>IFile.create</code> method and the 
- * <code>ContainerGenerator</code> class.
- * </p>
- *
- * @return the path, or <code>null</code> if Cancel was pressed
- */
-public IPath getResult() {
-	return result;
-}
-/**
- * Initializes the controls of this dialog.
- */
-private void initializeControls() {
-	if (originalFile != null) {
-		resourceGroup.setContainerFullPath(originalFile.getParent().getFullPath());
-		resourceGroup.setResource(originalFile.getName());
-	}
-	else if (originalName != null)
-		resourceGroup.setResource(originalName);
-	setDialogComplete(validatePage());
-}
-/* (non-Javadoc)
- * Method declared on Dialog.
- */
-protected void okPressed() {
-	// Get new path.
-	IPath path = resourceGroup.getContainerFullPath().append(resourceGroup.getResource());
-
-	
-	//If the user does not supply a file extension and if the save 
-	//as dialog was provided a default file name append the extension 
-	//of the default filename to the new name
-	if(path.getFileExtension() == null) {
-		if (originalFile != null && originalFile.getFileExtension() != null)
-			path = path.addFileExtension(originalFile.getFileExtension());
-		else if (originalName != null) {
-			int pos = originalName.lastIndexOf('.');
-			if (++pos > 0 && pos < originalName.length())
-				path = path.addFileExtension(originalName.substring(pos));
-		}
-	}
-
-	// If the path already exists then confirm overwrite.
-	IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
-	if (file.exists()) {
-		String [] buttons= new String[] { 
-			IDialogConstants.YES_LABEL,
-			IDialogConstants.NO_LABEL,
-			IDialogConstants.CANCEL_LABEL
-		};
-		String question = WorkbenchMessages.format("SaveAsDialog.overwriteQuestion", //$NON-NLS-1$
-			new Object[] { path.toOSString() } );
-		MessageDialog d= new MessageDialog(
-			getShell(),
-			WorkbenchMessages.getString("Question"), //$NON-NLS-1$
-			null,
-			question,
-			MessageDialog.QUESTION,
-			buttons,
-			0
-		);
-		int overwrite = d.open();
-		switch (overwrite) {
-			case 0: // Yes
-				break;
-			case 1: // No
-				return;
-			case 2: // Cancel
-			default:
-				cancelPressed();
-				return;
-		}
-	}
-
-	// Store path and close.
-	result = path;
-	close();
-}
-/**
- * Sets the completion state of this dialog and adjusts the enable state of
- * the Ok button accordingly.
- *
- * @param value <code>true</code> if this dialog is compelete, and
- *  <code>false</code> otherwise
- */
-protected void setDialogComplete(boolean value) {
-	okButton.setEnabled(value);
-}
-/**
- * Sets the original file to use.
- *
- * @param originalFile the original file
- */
-public void setOriginalFile(IFile originalFile) {
-	this.originalFile = originalFile;
-}
-/**
- * Set the original file name to use.
- * Used instead of <code>setOriginalFile</code>
- * when the original resource is not an IFile.
- * Must be called before <code>create</code>.
- * @param originalName default file name
- */
-public void setOriginalName(String originalName) {
-	this.originalName = originalName;
-}
-/**
- * Returns whether this page's visual components all contain valid values.
- *
- * @return <code>true</code> if valid, and <code>false</code> otherwise
- */
-private boolean validatePage() {
-	setErrorMessage(null);
-
-	if (!resourceGroup.areAllValuesValid()) {
-		if (!resourceGroup.getResource().equals(""))	// if blank name then fail silently//$NON-NLS-1$
-			setErrorMessage(resourceGroup.getProblemMessage());
-		return false;
-	}
-
-	return true;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/SelectionDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/SelectionDialog.java
deleted file mode 100644
index c9bea81..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/SelectionDialog.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/SelectionStatusDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/SelectionStatusDialog.java
deleted file mode 100644
index 4e932e5..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/SelectionStatusDialog.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- * Contributors:  Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog
- * font should be activated and used by other components.
- */
-package org.eclipse.ui.dialogs;
-
-import java.util.Arrays;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-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.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.core.runtime.IStatus;
-
-import org.eclipse.ui.internal.MessageLine;
-
-/**
- * An abstract base class for dialogs with a status bar and ok/cancel buttons.
- * The status message must be passed over as StatusInfo object and can be
- * an error, warning or ok. The OK button is enabled or disabled depending
- * on the status.
- * 
- * @since 2.0
- */ 
-public abstract class SelectionStatusDialog extends SelectionDialog {
-	
-	private MessageLine fStatusLine;
-	private IStatus fLastStatus;
-	private Image fImage;
-	private boolean fStatusLineAboveButtons= false;	
-
-	/**
-	 * Creates an instance of a <code>SelectionStatusDialog</code>.
-	 */	
-	public SelectionStatusDialog(Shell parent) {
-		super(parent);
-	}
-	
-	/**
-	 * Controls whether status line appears to the left of the buttons (default)
-	 * or above them.
-	 *
-	 * @param aboveButtons if <code>true</code> status line is placed above buttons; if
-	 * 	<code>false</code> to the right
-	 */
-	public void setStatusLineAboveButtons(boolean aboveButtons) {
-		fStatusLineAboveButtons= aboveButtons;
-	}
-	
-	/**
-	 * Sets the image for this dialog.
-	 * @param image the image.
-	 */
-	public void setImage(Image image) {
-		fImage= image;
-	}
-	
-	/**
-	 * Returns the first element from the list of results. Returns <code>null</code>
-	 * if no element has been selected.
-	 *
-	 * @return the first result element if one exists. Otherwise <code>null</code> is
-	 *  returned.
-	 */	
-	public Object getFirstResult() {
-		Object[] result= getResult();
-		if (result == null || result.length == 0)
-			return null;
-		return result[0];	
-	}
-	
-	/**
-	 * Sets a result element at the given position.
-	 */
-	protected void setResult(int position, Object element) {
-		Object[] result= getResult();
-		result[position]= element;
-		setResult(Arrays.asList(result));
-	}
-
-	/**
-	 * Compute the result and return it.
-	 */
-	protected abstract void computeResult();
-	  
-	/*
-	 * @see Window#configureShell(shell)
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		if (fImage != null)
-			shell.setImage(fImage);
-	}
-	
-	/**
-	 * Update the dialog's status line to reflect the given status. It is safe to call
-	 * this method before the dialog has been opened.
-	 */
-	protected void updateStatus(IStatus status) {
-		fLastStatus= status;
-		if (fStatusLine != null && !fStatusLine.isDisposed()) {
-		    updateButtonsEnableState(status);
-		    fStatusLine.setErrorStatus(status);
-		}
-	}	
-
-	/**
-	 * Update the status of the ok button to reflect the given status. Subclasses
-	 * may override this method to update additional buttons.
-	 */
-	protected void updateButtonsEnableState(IStatus status) {
-		Button okButton= getOkButton();
-		if (okButton != null && !okButton.isDisposed())
-			okButton.setEnabled(!status.matches(IStatus.ERROR));
-	}
-	
-	/*
-	 * @see Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		computeResult();
-		super.okPressed();
-	}
-
-	/*
-	 * @see Window#create()
-	 */
-	public void create() {
-		super.create();
-		if (fLastStatus != null)
-			updateStatus(fLastStatus);
-	}
-
-	/*
-	 * @see Dialog#createButtonBar(Composite)
-	 */
-	protected Control createButtonBar(Composite parent) {
-		Font font = parent.getFont();
-		Composite composite= new Composite(parent, SWT.NULL);
-		GridLayout layout= new GridLayout();
-		if (fStatusLineAboveButtons) {
-			layout.marginWidth= 5;
-		} else {
-			layout.numColumns= 2;
-		}
-		layout.marginHeight= 0; layout.marginWidth= 0;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		composite.setFont(font);
-				
-		fStatusLine= new MessageLine(composite);
-		fStatusLine.setAlignment(SWT.LEFT);
-		fStatusLine.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		fStatusLine.setErrorStatus(null); //$NON-NLS-1$
-		fStatusLine.setFont(font);
-		
-		GridData gd= new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalIndent= convertWidthInCharsToPixels(1);
-		fStatusLine.setLayoutData(gd);
-		
-		super.createButtonBar(composite);
-		return composite;
-	}
-	
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/TwoArrayQuickSorter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/TwoArrayQuickSorter.java
deleted file mode 100644
index 28488a1..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/TwoArrayQuickSorter.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-package org.eclipse.ui.dialogs;
-
-import java.util.Comparator;
-
-import org.eclipse.jface.util.Assert;
-
-/**
- * Quick sort to sort key-value pairs. The keys and arrays are specified
- * in separate arrays.
- * 
- * @since 2.0
- */
-/* package */ class TwoArrayQuickSorter {
-	
-	private Comparator fComparator;
-
-	/**
-	 * Default comparator.
-	 */
-	public static final class StringComparator implements Comparator {
-		private boolean fIgnoreCase;
-	
-		StringComparator(boolean ignoreCase) {
-			fIgnoreCase= ignoreCase;
-		}
-	
-		public int compare(Object left, Object right) {
-			return fIgnoreCase
-				? ((String) left).compareToIgnoreCase((String) right)
-				: ((String) left).compareTo((String) right);
-		}
-	}		
-
-	/**
-	 * Creates a sorter with default string comparator.
-	 * The keys are assumed to be strings.
-	 * @param ignoreCase specifies whether sorting is case sensitive or not.
-	 */				
-	public TwoArrayQuickSorter(boolean ignoreCase) {
-		fComparator= new StringComparator(ignoreCase);
-	}
-
-	/**
-	 * Creates a sorter with a comparator.
-	 * @param comparator the comparator to order the elements. The comparator must not be <code>null</code>.
-	 */
-	public TwoArrayQuickSorter(Comparator comparator) {
-		fComparator= comparator;
-	}
-	
-	/**
-	 * Sorts keys and values in parallel.
-	 * @param keys   the keys to use for sorting.
-	 * @param values the values associated with the keys.
-	 */
-	public void sort(Object[] keys, Object[] values) {
-		if ((keys == null) || (values == null)) {
-			Assert.isTrue(false, "Either keys or values in null"); //$NON-NLS-1$
-			return;
-		}
-
-		if (keys.length <= 1)
-			return;
-			
-		internalSort(keys, values, 0, keys.length - 1);	
-	}
-
-	private void internalSort(Object[] keys, Object[] values, int left, int right) {
-		int original_left= left;
-		int original_right= right;
-		
-		Object mid= keys[(left + right) / 2]; 
-		do { 
-			while (fComparator.compare(keys[left], mid) < 0)
-				left++; 
-
-			while (fComparator.compare(mid, keys[right]) < 0)
-				right--; 
-
-			if (left <= right) {
-				swap(keys, left, right);
-				swap(values, left, right);
-				left++; 
-				right--; 
-			} 
-		} while (left <= right);
-		
-		if (original_left < right)
-			internalSort(keys , values, original_left, right); 
-
-		if (left < original_right)
-			internalSort(keys, values, left, original_right); 
-	}
-
-    /*
-     * Swaps x[a] with x[b].
-     */     
-    private static final void swap(Object x[], int a, int b) {
-		Object t = x[a];
-		x[a] = x[b];
-		x[b] = t;
-    }
-    
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/TwoPaneElementSelector.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/TwoPaneElementSelector.java
deleted file mode 100644
index 724426c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/TwoPaneElementSelector.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- * Contributors:  Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog
- * font should be activated and used by other components.
- */
-package org.eclipse.ui.dialogs;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.ILabelProvider;
-
-/**
- * A list selection dialog with two panes. Duplicated entries will be folded
- * together and are displayed in the lower pane (qualifier).
- * 
- * @since 2.0
- */
-public class TwoPaneElementSelector extends AbstractElementListSelectionDialog {
-
-	private String fUpperListLabel;
-	private String fLowerListLabel;
-	private ILabelProvider fQualifierRenderer;
-	private Object[] fElements= new Object[0];
-
-	private Table fLowerList;	
-	private Object[] fQualifierElements;
-		
-	/**
-	 * Creates the two pane element selector.
-	 * @param paren           the parent shell.
-	 * @param elementRenderer the element renderer.
-	 * @param qualifier       the qualifier renderer.
-	 */
-	public TwoPaneElementSelector(Shell parent, ILabelProvider elementRenderer, 
-		ILabelProvider qualifierRenderer)
-	{
-		super(parent, elementRenderer);
-
-		setSize(50, 15);
-		setAllowDuplicates(false);
-		
-		fQualifierRenderer= qualifierRenderer;	
-	}				
-
-	/**
-	 * Sets the upper list label. If the label is <code>null</code> (default),
-	 * no label is created.
-	 */
-	public void setUpperListLabel(String label) {
-		fUpperListLabel= label;
-	}
-
-	/**
-	 * Sets the lower list label. If the label is <code>null</code> (default),
-	 * no label is created.
-	 */
-	public void setLowerListLabel(String label) {
-		fLowerListLabel= label;
-	}	
-
-	/**
-	 * Sets the elements to be displayed.
-	 * @param elements the elements to be displayed.
-	 */	
-	public void setElements(Object[] elements) {
-		fElements= elements;
-	}
-
-	/**
-	 * @see Dialog#createDialogArea(Composite)
-	 */
-	public Control createDialogArea(Composite parent) {
-		Composite contents= (Composite) super.createDialogArea(parent);
-
-		createMessageArea(contents);
-		createFilterText(contents);
-		createLabel(contents, fUpperListLabel);
-		createFilteredList(contents);
-		createLabel(contents, fLowerListLabel);
-		createLowerList(contents);	
-
-		setListElements(fElements);
-		
-		List initialSelections= getInitialElementSelections();
-		if (!initialSelections.isEmpty()) {
-			Object element= initialSelections.get(0);
-
-			setSelection(new Object[] {element});
-			setLowerSelectedElement(element);
-		}
-		
-		return contents;
-	}
-
-	/**
-	 * Creates a label if name was not <code>null</code>.
-	 * 
-	 * @param  parent the parent composite.
-	 * @param  name   the name of the label.
-	 * @return returns a label if a name was given, <code>null</code> otherwise.
-	 */
-	protected Label createLabel(Composite parent, String name) {
-		if (name == null)
-			return null;
-			
-		Label label= new Label(parent, SWT.NONE);
-		label.setText(name);
-		label.setFont(parent.getFont());
-		
-		return label;
-	}
-	
-	/**
-	 * Creates the list widget and sets layout data.
-	 * 
-	 * @param parent   the parent composite.
-	 * @return returns the list table widget.
-	 */
-	protected Table createLowerList(Composite parent) {
-		Table list= new Table(parent, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-		
-		list.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event evt) {
-				handleLowerSelectionChanged();
-			}
-		});
-		
-		list.addListener(SWT.MouseDoubleClick, new Listener() {
-			public void handleEvent(Event evt) {
-				handleDefaultSelected();
-			}
-		});
-		
-		list.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				fQualifierRenderer.dispose();
-			}
-		});
-		
-		GridData data= new GridData();
-		data.widthHint= convertWidthInCharsToPixels(50);
-		data.heightHint= convertHeightInCharsToPixels(5);
-		data.grabExcessVerticalSpace= true;
-		data.grabExcessHorizontalSpace= true;
-		data.horizontalAlignment= GridData.FILL;
-		data.verticalAlignment= GridData.FILL;
-		list.setLayoutData(data);
-		list.setFont(parent.getFont());
-		
-		fLowerList= list;
-		
-		return list;
-	}	
-
-	/**
-	 * @see SelectionStatusDialog#computeResult()
-	 */
-	protected void computeResult() {
-		Object[] results= new Object[] {getLowerSelectedElement()};
-		setResult(Arrays.asList(results));
-	}
-
-	/**
-	 * @see AbstractElementListSelectionDialog#handleDefaultSelected()
-	 */
-	protected void handleDefaultSelected() {
-		if (validateCurrentSelection() && (getLowerSelectedElement() != null))
-			buttonPressed(IDialogConstants.OK_ID);
-	}
-
-	/**
-	 * @see AbstractElementListSelectionDialog#handleSelectionChanged()
-	 */	
-	protected void handleSelectionChanged() {
-		super.handleSelectionChanged();
-		handleUpperSelectionChanged();
-	}
-
-	private void handleUpperSelectionChanged() {
-		int index= getSelectionIndex();
-
-		fLowerList.removeAll();
-		
-		if (index < 0)
-			return;
-			
-		fQualifierElements= getFoldedElements(index);
-		if (fQualifierElements == null)
-			updateLowerListWidget(new Object[] {});
-		else
-			updateLowerListWidget(fQualifierElements);
-
-		updateOkState();		
-	}
-
-	private void handleLowerSelectionChanged() {
-		updateOkState();
-	}
-
-	/**
-	 * Selects an element in the lower pane.
-	 */
-	protected void setLowerSelectedElement(Object element) {
-		if (fQualifierElements == null)
-			return;
-		
-		// find matching index
-		int i;
-		for (i= 0; i != fQualifierElements.length; i++)
-			if (fQualifierElements[i].equals(element))
-				break;
-
-		// set selection				
-		if (i != fQualifierElements.length)
-			fLowerList.setSelection(i);
-	}
-		
-	/**
-	 * Returns the selected element from the lower pane.
-	 */
-	protected Object getLowerSelectedElement() {
-		int index= fLowerList.getSelectionIndex();
-		
-		if (index >= 0)
-			return fQualifierElements[index];
-		
-		return null;
-	}
-		
-	private void updateOkState() {
-		Button okButton= getOkButton();
-		if (okButton != null)
-			okButton.setEnabled(getSelectedElements().length != 0);
-	}
-	
-	private void updateLowerListWidget(Object[] elements) {
-		int length= elements.length;
-		
-		String[] qualifiers= new String[length];
-		for (int i= 0; i != length; i++)
-			qualifiers[i]= fQualifierRenderer.getText(elements[i]);
-
-		TwoArrayQuickSorter sorter= new TwoArrayQuickSorter(isCaseIgnored());
-		sorter.sort(qualifiers, elements);
-
-		for (int i= 0; i != length; i++) {	
-			TableItem item= new TableItem(fLowerList, SWT.NONE);
-			item.setText(qualifiers[i]);
-			item.setImage(fQualifierRenderer.getImage(elements[i]));
-		}
-		
-		if (fLowerList.getItemCount() > 0)
-			fLowerList.setSelection(0);
-	}
-	
-	/*
-	 * @see AbstractElementListSelectionDialog#handleEmptyList()
-	 */
-	protected void handleEmptyList() {
-		super.handleEmptyList();
-		fLowerList.setEnabled(false);
-	}
-	
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/TypeFilteringDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/TypeFilteringDialog.java
deleted file mode 100644
index 4f856f8c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/TypeFilteringDialog.java
+++ /dev/null
@@ -1,291 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002. All Rights Reserved. 
- * Contributors:
- * Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog font should be
- * activated and used by other components.
- */
-import java.util.*;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Font;
-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.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IFileEditorMapping;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * The TypeSelectionDialog is a SelectionDialog that allows the user to select a file editor.
- */
-public class TypeFilteringDialog extends SelectionDialog {
-	Button addTypesButton;
-
-	Collection initialSelections;
-
-	// the visual selection widget group
-	private CheckboxTableViewer listViewer;
-
-	// sizing constants
-	private final static int SIZING_SELECTION_WIDGET_HEIGHT = 250;
-	private final static int SIZING_SELECTION_WIDGET_WIDTH = 300;
-
-	private final static String TYPE_DELIMITER = WorkbenchMessages.getString("TypesFiltering.typeDelimiter"); //$NON-NLS-1$
-	
-	//Define a title for the filter entry field.
-	private String filterTitle = WorkbenchMessages.getString("TypesFiltering.otherExtensions");
-	
-	
-	Text userDefinedText;
-
-	IFileEditorMapping[] currentInput;
-/**
- * Creates a type selection dialog using the supplied entries. Set the initial selections to those
- * whose extensions match the preselections.
- * @param Shell
- * @param Collection of String - a Collection of String to define the preselected types
- */
-public TypeFilteringDialog(Shell parentShell, Collection preselections) {
-	super(parentShell);
-	setTitle(WorkbenchMessages.getString("TypesFiltering.title")); //$NON-NLS-1$
-	this.initialSelections = preselections;
-	setMessage(WorkbenchMessages.getString("TypesFiltering.message")); //$NON-NLS-1$
-}
-
-/**
- * Creates a type selection dialog using the supplied entries. Set the initial selections to those
- * whose extensions match the preselections.
- * @param Shell
- * @param Collection of String - a Collection of String to define the preselected types
- * @param String - the title of the text entry field for other extensions.
- */
-public TypeFilteringDialog(Shell parentShell, Collection preselections, String filterText) {
-	this(parentShell,preselections);
-	this.filterTitle = filterText;
-}
-
-/**
- * Add the selection and deselection buttons to the dialog.
- * @param composite org.eclipse.swt.widgets.Composite
- */
-private void addSelectionButtons(Composite composite) {
-	Composite buttonComposite = new Composite(composite, SWT.RIGHT);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 2;
-	buttonComposite.setLayout(layout);
-	buttonComposite.setFont(composite.getFont());
-	GridData data =
-		new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.GRAB_HORIZONTAL);
-	data.grabExcessHorizontalSpace = true;
-	composite.setData(data);
-
-	Button selectButton = createButton(buttonComposite, IDialogConstants.SELECT_ALL_ID, WorkbenchMessages.getString("WizardTransferPage.selectAll"), false); //$NON-NLS-1$
-
-	SelectionListener listener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			listViewer.setAllChecked(true);
-		}
-	};
-	selectButton.addSelectionListener(listener);
-
-
-	Button deselectButton = createButton(buttonComposite, IDialogConstants.DESELECT_ALL_ID, WorkbenchMessages.getString("WizardTransferPage.deselectAll"), false); //$NON-NLS-1$
-
-	listener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			listViewer.setAllChecked(false);
-
-		}
-	};
-	deselectButton.addSelectionListener(listener);
-	
-
-}
-/**
- * Add the currently-specified extensions.
- */
-private void addUserDefinedEntries(List result) {
-
-	StringTokenizer tokenizer =
-		new StringTokenizer(userDefinedText.getText(), TYPE_DELIMITER);
-
-	//Allow the *. and . prefix and strip out the extension
-	while (tokenizer.hasMoreTokens()) {
-		String currentExtension = tokenizer.nextToken().trim();
-		if (!currentExtension.equals("")) { //$NON-NLS-1$
-			if (currentExtension.startsWith("*."))//$NON-NLS-1$
-				result.add(currentExtension.substring(2));
-			else {
-				if (currentExtension.startsWith("."))//$NON-NLS-1$
-					result.add(currentExtension.substring(1));
-				else
-					result.add(currentExtension);
-			}
-		}
-	}
-}
-/**
- * Visually checks the previously-specified elements in this dialog's list 
- * viewer.
- */
-private void checkInitialSelections() {
-
-	IFileEditorMapping editorMappings[] =
-		PlatformUI.getWorkbench().getEditorRegistry().getFileEditorMappings();
-	ArrayList selectedMappings = new ArrayList();
-
-	for (int i = 0; i < editorMappings.length; i++) {
-		IFileEditorMapping mapping = editorMappings[i];
-		
-		//Check for both extension and label matches
-		if (this.initialSelections.contains(mapping.getExtension())){
-			listViewer.setChecked(mapping, true);
-			selectedMappings.add(mapping.getExtension());
-		}
-		else{ 
-			if(this.initialSelections.contains(mapping.getLabel())){
-				listViewer.setChecked(mapping, true);
-				selectedMappings.add(mapping.getLabel());
-			}
-		}
-	}
-
-	//Now add in the ones not selected to the user defined list
-	Iterator initialIterator = this.initialSelections.iterator();
-	StringBuffer entries = new StringBuffer();
-	while(initialIterator.hasNext()){
-		String nextExtension = (String) initialIterator.next();
-		if(!selectedMappings.contains(nextExtension)){
-			entries.append(nextExtension);
-			//Only add a comma if we are not at the end
-			if(initialIterator.hasNext())
-				entries.append(',');
-		}
-	}
-	this.userDefinedText.setText(entries.toString());
-}
-/* (non-Javadoc)
- * Method declared in Window.
- */
-protected void configureShell(Shell shell) {
-	super.configureShell(shell);
-	WorkbenchHelp.setHelp(shell, IHelpContextIds.TYPE_FILTERING_DIALOG);
-}
-/* (non-Javadoc)
- * Method declared on Dialog.
- */
-protected Control createDialogArea(Composite parent) {
-	// page group
-	Composite composite = (Composite) super.createDialogArea(parent);
-
-	createMessageArea(composite);
-
-	listViewer = CheckboxTableViewer.newCheckList(composite, SWT.BORDER);
-	GridData data = new GridData(GridData.FILL_BOTH);
-	data.heightHint = SIZING_SELECTION_WIDGET_HEIGHT;
-	data.widthHint = SIZING_SELECTION_WIDGET_WIDTH;
-	listViewer.getTable().setLayoutData(data);
-	listViewer.getTable().setFont(parent.getFont());
-
-	listViewer.setLabelProvider(FileEditorMappingLabelProvider.INSTANCE);
-	listViewer.setContentProvider(FileEditorMappingContentProvider.INSTANCE);
-
-	addSelectionButtons(composite);
-
-	createUserEntryGroup(composite);
-
-	initializeViewer();
-
-	// initialize page
-	if (this.initialSelections != null && !this.initialSelections.isEmpty())
-		checkInitialSelections();
-
-	return composite;
-}
-/**
- * Create the group that shows the user defined entries for the dialog.
- * @param parent the parent this is being created in.
- */
-private void createUserEntryGroup(Composite parent) {
-	Font font = parent.getFont();
-	// destination specification group
-	Composite userDefinedGroup = new Composite(parent, SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 2;
-	userDefinedGroup.setLayout(layout);
-	userDefinedGroup.setLayoutData(
-		new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-	
-	Label fTitle = new Label(userDefinedGroup, SWT.NONE);
-	fTitle.setFont(font);
-	fTitle.setText(filterTitle); //$NON-NLS-1$
-
-	// user defined entry field
-	userDefinedText = new Text(userDefinedGroup, SWT.SINGLE | SWT.BORDER);
-	userDefinedText.setFont(font);
-	GridData data =
-		new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
-	userDefinedText.setLayoutData(data);
-}
-/**
- * Return the input to the dialog.
- */
-private IFileEditorMapping[] getInput() {
-
-	//Filter the mappings to be just those with a wildcard extension
-	if (currentInput == null) {
-		List wildcardEditors = new ArrayList();
-		IFileEditorMapping [] allMappings =
-			PlatformUI.getWorkbench().getEditorRegistry().getFileEditorMappings();
-		for (int i = 0; i < allMappings.length; i++) {
-			if (allMappings[i].getName().equals("*"))//$NON-NLS-1$
-				wildcardEditors.add(allMappings[i]);
-		}
-		currentInput = new IFileEditorMapping[wildcardEditors.size()];
-		wildcardEditors.toArray(currentInput);
-	}
-
-	return currentInput;
-}
-/**
- * Initializes this dialog's viewer after it has been laid out.
- */
-private void initializeViewer() {
-	listViewer.setInput(getInput());
-}
-/**
- * The <code>ListSelectionDialog</code> implementation of this 
- * <code>Dialog</code> method builds a list of the selected elements for later
- * retrieval by the client and closes this dialog.
- */
-protected void okPressed() {
-
-	// Get the input children.
-	IFileEditorMapping[] children = getInput();
-
-	List list = new ArrayList();
-
-	// Build a list of selected children.
-	for (int i = 0; i < children.length; ++i) {
-		IFileEditorMapping element = children[i];
-		if (listViewer.getChecked(element))
-			list.add(element.getExtension());
-	}
-
-	addUserDefinedEntries(list);
-	setResult(list);
-	super.okPressed();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardDataTransferPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardDataTransferPage.java
deleted file mode 100644
index 715001f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardDataTransferPage.java
+++ /dev/null
@@ -1,400 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-import java.util.List;
-import java.util.Arrays;
-
-/**
- * The common superclass for wizard import and export pages.
- * <p>
- * This class is not intended to be subclassed outside outside of the workbench.
- * </p>
- */
-public abstract class WizardDataTransferPage extends WizardPage implements Listener, IOverwriteQuery {
-	
-	// constants
-	protected static final int SIZING_TEXT_FIELD_WIDTH = 250;
-	protected static final int COMBO_HISTORY_LENGTH = 5;
-/**
- * Creates a new wizard page.
- *
- * @param pageName the name of the page
- */
-protected WizardDataTransferPage(String pageName) {
-	super(pageName);
-}
-/**
- * Adds an entry to a history, while taking care of duplicate history items
- * and excessively long histories.  The assumption is made that all histories
- * should be of length <code>WizardDataTransferPage.COMBO_HISTORY_LENGTH</code>.
- *
- * @param history the current history
- * @param newEntry the entry to add to the history
- */
-protected String[] addToHistory(String[] history, String newEntry) {
-	java.util.ArrayList l = new java.util.ArrayList(Arrays.asList(history));
-	addToHistory(l,newEntry);
-	String[] r = new String[l.size()];
-	l.toArray(r);
-	return r;
-}
-/**
- * Adds an entry to a history, while taking care of duplicate history items
- * and excessively long histories.  The assumption is made that all histories
- * should be of length <code>WizardDataTransferPage.COMBO_HISTORY_LENGTH</code>.
- *
- * @param history the current history
- * @param newEntry the entry to add to the history
- */
-protected void addToHistory(List history, String newEntry) {
-	history.remove(newEntry);
-	history.add(0,newEntry);
-
-	// since only one new item was added, we can be over the limit
-	// by at most one item
-	if (history.size() > COMBO_HISTORY_LENGTH)
-		history.remove(COMBO_HISTORY_LENGTH);
-}
-/**
- * Return whether the user is allowed to enter a new container name or just
- * choose from existing ones.
- * <p>
- * Subclasses must implement this method.
- * </p>
- *
- * @return <code>true</code> if new ones are okay, and <code>false</code>
- *  if only existing ones are allowed
- */
-protected abstract boolean allowNewContainerName();
-/**
- * Creates a new label with a bold font.
- *
- * @param parent the parent control
- * @param text the label text
- * @return the new label control
- */
-protected Label createBoldLabel(Composite parent, String text) {
-	Label label = new Label(parent, SWT.NONE);
-	label.setFont(JFaceResources.getBannerFont());
-	label.setText(text);
-	GridData data = new GridData();
-	data.verticalAlignment = GridData.FILL;
-	data.horizontalAlignment = GridData.FILL;
-	label.setLayoutData(data);
-	return label;
-}
-/**
- * Creates the import/export options group controls.
- * <p>
- * The <code>WizardDataTransferPage</code> implementation of this method does
- * nothing. Subclasses wishing to define such components should reimplement
- * this hook method.
- * </p>
- *
- * @param parent the parent control
- */
-protected void createOptionsGroupButtons(Group optionsGroup) {
-}
-/**
- * Creates a new label with a bold font.
- *
- * @param parent the parent control
- * @param text the label text
- * @return the new label control
- */
-protected Label createPlainLabel(Composite parent, String text) {
-	Label label = new Label(parent, SWT.NONE);
-	label.setText(text);
-	label.setFont(parent.getFont());
-	GridData data = new GridData();
-	data.verticalAlignment = GridData.FILL;
-	data.horizontalAlignment = GridData.FILL;
-	label.setLayoutData(data);
-	return label;
-}
-/**
- * Creates a horizontal spacer line that fills the width of its container.
- *
- * @param parent the parent control
- */
-protected void createSpacer(Composite parent) {
-	Label spacer = new Label(parent, SWT.NONE);
-	GridData data = new GridData();
-	data.horizontalAlignment = GridData.FILL;
-	data.verticalAlignment = GridData.BEGINNING;
-	spacer.setLayoutData(data);
-}
-/**
- * Returns whether this page is complete. This determination is made based upon
- * the current contents of this page's controls.  Subclasses wishing to include
- * their controls in this determination should override the hook methods 
- * <code>validateSourceGroup</code> and/or <code>validateOptionsGroup</code>.
- *
- * @return <code>true</code> if this page is complete, and <code>false</code> if
- *   incomplete
- * @see #validateSourceGroup
- * @see #validateOptionsGroup
- */
-protected boolean determinePageCompletion() {
-	boolean complete = validateSourceGroup()
-		&& validateDestinationGroup()
-		&& validateOptionsGroup();
-
-	// Avoid draw flicker by not clearing the error
-	// message unless all is valid.
-	if (complete)
-		setErrorMessage(null);
-		
-	return complete;
-}
-/**
- * Get a path from the supplied text widget.
- * @return org.eclipse.core.runtime.IPath
- */
-protected IPath getPathFromText(Text textField) {
-	String text = textField.getText();
-	//Do not make an empty path absolute so as not to confuse with the root
-	if(text.length() == 0)
-		return new Path(text);
-	else
-		return (new Path(text)).makeAbsolute();
-}
-/**
- * Queries the user to supply a container resource.
- *
- * @return the path to an existing or new container, or <code>null</code> if the
- *    user cancelled the dialog
- */
-protected IPath queryForContainer(IContainer initialSelection, String msg) {
-	ContainerSelectionDialog dialog =
-		new ContainerSelectionDialog(getControl().getShell(), initialSelection, allowNewContainerName(), msg);
-	dialog.showClosedProjects(false);
-	dialog.open();
-	Object[] result = dialog.getResult();
-	if (result != null && result.length == 1) {
-		return (IPath)result[0];
-	}
-	return null;
-}
-/**
- * The <code>WizardDataTransfer</code> implementation of this 
- * <code>IOverwriteQuery</code> method asks the user whether the existing 
- * resource at the given path should be overwritten.
- *
- * @param pathString 
- * @return the user's reply: one of <code>"YES"</code>, <code>"NO"</code>, <code>"ALL"</code>, 
- *   or <code>"CANCEL"</code>
- */
-public String queryOverwrite(String pathString) {
-	
-	Path path = new Path(pathString);
-	
-	String messageString;
-	//Break the message up if there is a file name and a directory
-	//and there are at least 2 segments.
-	if(path.getFileExtension() == null || path.segmentCount() < 2)
-		messageString =
-			WorkbenchMessages.format(
-				"WizardDataTransfer.existsQuestion", 
-				new String[] {pathString});
-	
-	else
-		messageString =
-			WorkbenchMessages.format(
-				"WizardDataTransfer.overwriteNameAndPathQuestion", 
-				new String[] {path.lastSegment(), path.removeLastSegments(1).toOSString()});
-	
-	
-	final MessageDialog dialog = 
-		new MessageDialog(
-			getContainer().getShell(),
-			WorkbenchMessages.getString("Question"),  //$NON-NLS-1$
-			null, 
-			messageString,
-			MessageDialog.QUESTION, 
-			new String[] {
-				IDialogConstants.YES_LABEL, 
-				IDialogConstants.YES_TO_ALL_LABEL, 
-				IDialogConstants.NO_LABEL, 
-				IDialogConstants.NO_TO_ALL_LABEL, 
-				IDialogConstants.CANCEL_LABEL}, 
-			0); 
-	String[] response = new String[] {YES, ALL, NO, NO_ALL, CANCEL};
-	//run in syncExec because callback is from an operation,
-	//which is probably not running in the UI thread.
-	getControl().getDisplay().syncExec(
-		new Runnable() {
-			public void run() {
-				dialog.open();
-			}
-		});
-	return dialog.getReturnCode() < 0 ? CANCEL : response[dialog.getReturnCode()];
-}
-/**
- * Displays a Yes/No question to the user with the specified message and returns
- * the user's response.
- *
- * @param message the question to ask
- * @return <code>true</code> for Yes, and <code>false</code> for No
- */
-protected boolean queryYesNoQuestion(String message) {
-	MessageDialog dialog = new MessageDialog(
-		getContainer().getShell(),
-		WorkbenchMessages.getString("Question"), //$NON-NLS-1$
-		(Image)null,
-		message,
-		MessageDialog.NONE,
-		new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL},
-		0);		// ensure yes is the default
-
-	return dialog.open() == 0;
-}
-/**
- * Restores control settings that were saved in the previous instance of this
- * page.  
- * <p>
- * The <code>WizardDataTransferPage</code> implementation of this method does
- * nothing. Subclasses may override this hook method.
- * </p>
- */
-protected void restoreWidgetValues() {
-}
-/**
- * Saves control settings that are to be restored in the next instance of
- * this page.  
- * <p>
- * The <code>WizardDataTransferPage</code> implementation of this method does
- * nothing. Subclasses may override this hook method.
- * </p>
- */
-protected void saveWidgetValues() {
-}
-/**
- * Determine if the page is complete and update the page appropriately. 
- */
-protected void updatePageCompletion() {
-	boolean pageComplete = determinePageCompletion();
-	setPageComplete(pageComplete);
-	if (pageComplete) {
-		setMessage(null);
-	}
-}
-/**
- * Updates the enable state of this page's controls.
- * <p>
- * The <code>WizardDataTransferPage</code> implementation of this method does
- * nothing. Subclasses may extend this hook method.
- * </p>
- */
-protected void updateWidgetEnablements() {
-}
-/**
- * Returns whether this page's destination specification controls currently all
- * contain valid values.
- * <p>
- * The <code>WizardDataTransferPage</code> implementation of this method returns
- * <code>true</code>. Subclasses may reimplement this hook method.
- * </p>
- *
- * @return <code>true</code> indicating validity of all controls in the 
- *   destination specification group
- */
-protected boolean validateDestinationGroup() {
-	return true;
-}
-/**
- * Returns whether this page's options group's controls currently all contain
- * valid values.
- * <p>
- * The <code>WizardDataTransferPage</code> implementation of this method returns
- * <code>true</code>. Subclasses may reimplement this hook method.
- * </p>
- *
- * @return <code>true</code> indicating validity of all controls in the options
- *   group
- */
-protected boolean validateOptionsGroup() {
-	return true;
-}
-/**
- * Returns whether this page's source specification controls currently all
- * contain valid values.
- * <p>
- * The <code>WizardDataTransferPage</code> implementation of this method returns
- * <code>true</code>. Subclasses may reimplement this hook method.
- * </p>
- *
- * @return <code>true</code> indicating validity of all controls in the 
- *   source specification group
- */
-protected boolean validateSourceGroup() {
-	return true;
-}
-
-/**
- *	Create the options specification widgets.
- *
- *	@param parent org.eclipse.swt.widgets.Composite
- */
-protected void createOptionsGroup(Composite parent) {
-	// options group
-	Group optionsGroup = new Group(parent, SWT.NONE);
-	GridLayout layout = new GridLayout();
-	optionsGroup.setLayout(layout);
-	optionsGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-	optionsGroup.setText(WorkbenchMessages.getString("WizardExportPage.options")); //$NON-NLS-1$
-	optionsGroup.setFont(parent.getFont());
-
-	createOptionsGroupButtons(optionsGroup);
-	
-}
-
-/**
- * Display an error dialog with the specified message.
- *
- * @param message the error message
- */
-protected void displayErrorDialog(String message) {
-	MessageDialog.openError(getContainer().getShell(),getErrorDialogTitle(),message); //$NON-NLS-1$
-}
-
-/**
- * Display an error dislog with the information from the
- * supplied exception.
- * @param exception Throwable
- */
-protected void displayErrorDialog(Throwable exception){
-	String message = exception.getMessage();
-	//Some system exceptions have no message
-	if(message == null)
-		message = 
-			WorkbenchMessages.format(
-				"WizardDataTransfer.exceptionMessage",
-				new String [] {exception.toString()});
-	displayErrorDialog(message);
-}
-
-/**
- * Get the title for an error dialog. Subclasses should
- * override.
- */
-protected String getErrorDialogTitle(){
-	return WorkbenchMessages.getString("WizardExportPage.internalErrorTitle");
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardExportPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardExportPage.java
deleted file mode 100644
index f5d0f83..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardExportPage.java
+++ /dev/null
@@ -1,835 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.IFileEditorMapping;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import java.util.*;
-import java.util.List; // disambiguate from SWT
-/**
- * Abstract superclass for a typical export wizard's main page.
- * <p>
- * Clients may subclass this page to inherit its common destination resource
- * selection facilities.
- * </p>
- * <p>
- * Subclasses must implement 
- * <ul>
- *   <li><code>createDestinationGroup</code></li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may override
- * <ul>
- *   <li><code>allowNewContainerName</code></li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may extend
- * <ul>
- *   <li><code>handleEvent</code></li>
- *   <li><code>internalSaveWidgetValues</code></li>
- *   <li><code>updateWidgetEnablements</code></li>
- * </ul>
- * </p>
- * @deprecated use WizardExportResourcePage
- */
-public abstract class WizardExportPage extends WizardDataTransferPage {
-	private IStructuredSelection currentResourceSelection;
-	private List selectedResources;
-	private List selectedTypes;
-	private boolean exportCurrentSelection = false;
-	private boolean exportAllResourcesPreSet = false;
-
-	// widgets
-	private Combo				typesToExportField;
-	private Button				typesToExportEditButton;
-	private Button				exportAllTypesRadio;
-	private Button				exportSpecifiedTypesRadio;
-	private Button				resourceDetailsButton;
-	private Label				resourceDetailsDescription;
-	private Text				resourceNameField;
-	private Button				resourceBrowseButton;
-
-	// initial value stores
-	private boolean				initialExportAllTypesValue = true;
-	private String				initialExportFieldValue;
-	private String				initialTypesFieldValue;
-
-	// constants
-	private static final String	CURRENT_SELECTION = "<current selection>";//$NON-NLS-1$
-	private static final String TYPE_DELIMITER = ",";//$NON-NLS-1$
-
-	// dialog store id constants
-	private	static final String	STORE_SELECTED_TYPES_ID = "WizardFileSystemExportPage1.STORE_SELECTED_TYPES_ID.";//$NON-NLS-1$
-	private static final String	STORE_EXPORT_ALL_RESOURCES_ID = "WizardFileSystemExportPage1.STORE_EXPORT_ALL_RESOURCES_ID.";//$NON-NLS-1$
-/**
- * Creates an export wizard page. If the current resource selection 
- * is not empty then it will be used as the initial collection of resources
- * selected for export.
- *
- * @param pageName the name of the page
- * @param selection the current resource selection
- */
-protected WizardExportPage(String pageName, IStructuredSelection selection) {
-	super(pageName);
-	this.currentResourceSelection = selection;
-}
-/**
- * The <code>WizardExportPage</code> implementation of this 
- * <code>WizardDataTransferPage</code> method returns <code>false</code>. 
- * Subclasses may override this method.
- */
-protected boolean allowNewContainerName() {
-	return false;
-}
-/** (non-Javadoc)
- * Method declared on IDialogPage.
- */
-public void createControl(Composite parent) {
-	Composite composite = new Composite(parent, SWT.NULL);
-	composite.setLayout(new GridLayout());
-	composite.setLayoutData(new GridData(
-		GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL));
-
-	createBoldLabel(composite, WorkbenchMessages.getString("WizardExportPage.whatLabel")); //$NON-NLS-1$
-	createSourceGroup(composite);
-
-	createSpacer(composite);
-	
-	createBoldLabel(composite, WorkbenchMessages.getString("WizardExportPage.whereLabel")); //$NON-NLS-1$
-	createDestinationGroup(composite);
-
-	createSpacer(composite);
-	
-	createBoldLabel(composite, WorkbenchMessages.getString("WizardExportPage.options"));	 //$NON-NLS-1$
-	createOptionsGroup(composite);
-
-	restoreResourceSpecificationWidgetValues();		// ie.- local
-	restoreWidgetValues();							// ie.- subclass hook
-	if (currentResourceSelection != null)
-		setupBasedOnInitialSelections();
-
-	updateWidgetEnablements();
-	setPageComplete(determinePageCompletion());
-
-	setControl(composite);
-}
-/**
- * Creates the export destination specification visual components.
- * <p>
- * Subclasses must implement this method.
- * </p>
- *
- * @param parent the parent control
- */
-protected abstract void createDestinationGroup(Composite parent);
-/**
- * Creates the export source resource specification controls.
- *
- * @param parent the parent control
- */
-protected final void createSourceGroup(Composite parent) {
-	// top level group
-	Composite sourceGroup = new Composite(parent, SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 3;
-	sourceGroup.setLayout(layout);
-	sourceGroup.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL));
-
-	// resource label
-	new Label(sourceGroup, SWT.NONE).setText(WorkbenchMessages.getString("WizardExportPage.folder")); //$NON-NLS-1$
-
-	// resource name entry field
-	resourceNameField = new Text(sourceGroup, SWT.SINGLE | SWT.BORDER);
-	resourceNameField.addListener(SWT.KeyDown, this);
-	GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
-	data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-	resourceNameField.setLayoutData(data);
-
-	// resource browse button
-	resourceBrowseButton = new Button(sourceGroup, SWT.PUSH);
-	resourceBrowseButton.setText(WorkbenchMessages.getString("WizardExportPage.browse")); //$NON-NLS-1$
-	resourceBrowseButton.addListener(SWT.Selection, this);
-	resourceBrowseButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-
-	// export all types radio	
-	exportAllTypesRadio = new Button(sourceGroup, SWT.RADIO);
-	exportAllTypesRadio.setText(WorkbenchMessages.getString("WizardExportPage.allTypes")); //$NON-NLS-1$
-	exportAllTypesRadio.addListener(SWT.Selection, this);
-	data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
-	data.horizontalSpan = 3;
-	exportAllTypesRadio.setLayoutData(data);
-
-	// export specific types radio
-	exportSpecifiedTypesRadio = new Button(sourceGroup, SWT.RADIO);
-	exportSpecifiedTypesRadio.setText(WorkbenchMessages.getString("WizardExportPage.specificTypes")); //$NON-NLS-1$
-	exportSpecifiedTypesRadio.addListener(SWT.Selection, this);
-
-	// types combo
-	typesToExportField = new Combo(sourceGroup, SWT.NONE);
-	data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
-	data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-	typesToExportField.setLayoutData(data);
-	typesToExportField.addListener(SWT.Modify, this);
-
-	// types edit button
-	typesToExportEditButton = new Button(sourceGroup, SWT.PUSH);
-	typesToExportEditButton.setText(WorkbenchMessages.getString("WizardExportPage.edit")); //$NON-NLS-1$
-	typesToExportEditButton.setLayoutData(new GridData(
-		GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_END));
-	typesToExportEditButton.addListener(SWT.Selection, this);
-
-	// details button
-	resourceDetailsButton = new Button(sourceGroup, SWT.PUSH);
-	resourceDetailsButton.setText(WorkbenchMessages.getString("WizardExportPage.details")); //$NON-NLS-1$
-	resourceDetailsButton.addListener(SWT.Selection,this);
-
-	// details label
-	resourceDetailsDescription = new Label(sourceGroup, SWT.NONE);
-	data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
-	data.horizontalSpan = 2;
-	resourceDetailsDescription.setLayoutData(data);
-
-	// initial setup
-	resetSelectedResources();
-	exportAllTypesRadio.setSelection(initialExportAllTypesValue);
-	exportSpecifiedTypesRadio.setSelection(!initialExportAllTypesValue);
-	typesToExportField.setEnabled(!initialExportAllTypesValue);
-	typesToExportEditButton.setEnabled(!initialExportAllTypesValue);
-
-	if (initialExportFieldValue != null)
-		resourceNameField.setText(initialExportFieldValue);
-	if (initialTypesFieldValue != null)
-		typesToExportField.setText(initialTypesFieldValue);
-}
-/**
- * Display an error dialog with the specified message.
- *
- * @param message the error message
- */
-protected void displayErrorDialog(String message) {
-	MessageDialog.openError(getContainer().getShell(),WorkbenchMessages.getString("WizardExportPage.errorDialogTitle"),message); //$NON-NLS-1$
-}
-/**
- * Displays a description message that indicates a selection of resources
- * of the specified size.
- *
- * @param selectedResourceCount the resource selection size to display
- */
-protected void displayResourcesSelectedCount(int selectedResourceCount) {
-	if (selectedResourceCount == 1)
-		resourceDetailsDescription.setText(WorkbenchMessages.getString("WizardExportPage.oneResourceSelected")); //$NON-NLS-1$
-	else
-		resourceDetailsDescription.setText(WorkbenchMessages.format("WizardExportPage.resourceCountMessage", new Object[] {new Integer(selectedResourceCount)})); //$NON-NLS-1$
-}
-/**
- * Obsolete method. This was implemented to handle the case where ensureLocal()
- * needed to be called but it doesn't use it any longer.
- *
- * @param resources the list of resources to ensure locality for
- * @return <code>true</code> for successful completion
- * @deprecated Only retained for backwards compatibility.
- */
-protected boolean ensureResourcesLocal(List resources) {
-	return true;
-}
-
-/**
- * Returns a new subcollection containing only those resources which are not 
- * local.
- *
- * @param originalList the original list of resources (element type: 
- *   <code>IResource</code>)
- * @return the new list of non-local resources (element type: 
- *   <code>IResource</code>)
- */
-protected List extractNonLocalResources(List originalList) {
-	Vector result = new Vector(originalList.size());
-	Iterator resourcesEnum = originalList.iterator();
-	
-	while (resourcesEnum.hasNext()) {
-		IResource currentResource = (IResource)resourcesEnum.next();
-		if (!currentResource.isLocal(IResource.DEPTH_ZERO))
-			result.addElement(currentResource);
-	}
-
-	return result;
-}
-/**
- * Returns the current selection value of the "Export all types" radio,
- * or its set initial value if it does not exist yet.
- *
- * @return the "Export All Types" radio's current value or anticipated initial
- *   value
- */
-public boolean getExportAllTypesValue() {
-	if (exportAllTypesRadio == null)
-		return initialExportAllTypesValue;
-		
-	return exportAllTypesRadio.getSelection();
-}
-/**
- * Returns the current contents of the resource name entry field,
- * or its set initial value if it does not exist yet (which could
- * be <code>null</code>).
- *
- * @return the resource name field's current value or anticipated initial value,
- *   or <code>null</code>
- */
-public String getResourceFieldValue() {
-	if (resourceNameField == null)
-		return initialExportFieldValue;
-		
-	return resourceNameField.getText();
-}
-/**
- * Return the path for the resource field.
- * @return org.eclipse.core.runtime.IPath
- */
-protected IPath getResourcePath() {
-	return getPathFromText(this.resourceNameField);
-}
-/**
- * Returns this page's collection of currently-specified resources to be 
- * exported. This is the primary resource selection facility accessor for 
- * subclasses.
- *
- * @return the collection of resources currently selected for export (element 
- *   type: <code>IResource</code>)
- */
-protected List getSelectedResources() {
-	if (selectedResources == null) {
-		IResource sourceResource = getSourceResource();
-		
-		if (sourceResource != null)
-			selectAppropriateResources(sourceResource);
-	}
-	
-	return selectedResources;
-}
-/**
- * Returns the resource object specified in the resource name entry field,
- * or <code>null</code> if such a resource does not exist in the workbench.
- *
- * @return the resource specified in the resource name entry field, or 
- *   <code>null</code>
- */
-protected IResource getSourceResource() {
-	IWorkspace workspace = WorkbenchPlugin.getPluginWorkspace();
-	//make the path absolute to allow for optional leading slash
-	IPath testPath = getResourcePath();
-
-	IStatus result =
-		workspace.validatePath(
-			testPath.toString(),
-			IResource.ROOT | IResource.PROJECT | IResource.FOLDER | IResource.FILE);
-
-	if (result.isOK() && workspace.getRoot().exists(testPath))
-		return workspace.getRoot().findMember(testPath);
-
-	return null;
-}
-/**
- * Returns the current contents of the types entry field, or its set
- * initial value if it does not exist yet (which could be <code>null</code>).
- *
- * @return the types entry field's current value or anticipated initial value,
- *   or <code>null</code>
- */
-public String getTypesFieldValue() {
-	if (typesToExportField == null)
-		return initialTypesFieldValue;
-		
-	return typesToExportField.getText();
-}
-/**
- * Returns the resource extensions currently specified to be exported.
- *
- * @return the resource extensions currently specified to be exported (element 
- *   type: <code>String</code>)
- */
-protected List getTypesToExport() {
-	List result = new ArrayList();
-	StringTokenizer tokenizer = new StringTokenizer(typesToExportField.getText(),TYPE_DELIMITER);
-	
-	while (tokenizer.hasMoreTokens()) {
-		String currentExtension = tokenizer.nextToken().trim();
-		if (!currentExtension.equals(""))//$NON-NLS-1$
-			result.add(currentExtension);
-	}
-		
-	return result;
-}
-/**
- * The <code>WizardExportPage</code> implementation of this 
- * <code>Listener</code> method handles all events and enablements for controls
- * on this page. Subclasses may extend.
- */
-public void handleEvent(Event event) {
-	Widget source = event.widget;
-
-	if (source == exportAllTypesRadio || source == typesToExportField || source == resourceNameField)
-		resetSelectedResources();
-	else if (source == exportSpecifiedTypesRadio) {
-		resetSelectedResources();
-		typesToExportField.setFocus();
-	} else if (source == resourceDetailsButton)
-		handleResourceDetailsButtonPressed();
-	else if (source == resourceBrowseButton)
-		handleResourceBrowseButtonPressed();
-	else if (source == typesToExportEditButton)
-		handleTypesEditButtonPressed();
-
-	setPageComplete(determinePageCompletion());	
-	updateWidgetEnablements();
-}
-/**
- * Opens a container selection dialog and displays the user's subsequent
- * container selection in this page's resource name field.
- */
-protected void handleResourceBrowseButtonPressed() {
-	IResource currentFolder = getSourceResource();
-	if (currentFolder != null && currentFolder.getType() == IResource.FILE)
-		currentFolder = currentFolder.getParent();
-
-	IPath containerPath =
-		queryForContainer((IContainer) currentFolder, WorkbenchMessages.getString("WizardExportPage.selectResourcesToExport")); //$NON-NLS-1$
-	if (containerPath != null) { // null means user cancelled
-		String relativePath = containerPath.makeRelative().toString();
-		if (!relativePath.toString().equals(resourceNameField.getText())) {
-			resetSelectedResources();
-			resourceNameField.setText(relativePath);
-		}
-	}
-}
-/**
- * Opens a resource selection dialog and records the user's subsequent
- * resource selections.
- */
-protected void handleResourceDetailsButtonPressed() {
-	IAdaptable source = getSourceResource();
-
-	if (source == null)
-		source = ResourcesPlugin.getWorkspace().getRoot();
-
-	selectAppropriateResources(source);
-
-	if (source instanceof IFile) {
-		source = ((IFile) source).getParent();
-		setResourceToDisplay((IResource) source);
-	}
-
-	Object[] newlySelectedResources =
-		queryIndividualResourcesToExport(source);
-
-	if (newlySelectedResources != null) {
-		selectedResources = Arrays.asList(newlySelectedResources);
-		displayResourcesSelectedCount(selectedResources.size());
-	}
-}
-/**
- * Queries the user for the types of resources to be exported and
- * displays these types in this page's "Types to export" field.
- */
-protected void handleTypesEditButtonPressed() {
-	Object[] newSelectedTypes = queryResourceTypesToExport();
-	
-	if (newSelectedTypes != null) {						// ie.- did not press Cancel
-		List result = new ArrayList(newSelectedTypes.length);
-		for (int i = 0; i < newSelectedTypes.length; i++)
-			result.add(((IFileEditorMapping)newSelectedTypes[i]).getExtension());
-		setTypesToExport(result);
-	}
-}
-/**
- * Returns whether the extension of the given resource name is an extension that
- * has been specified for export by the user.
- *
- * @param resourceName the resource name
- * @return <code>true</code> if the resource name is suitable for export based 
- *   upon its extension
- */
-protected boolean hasExportableExtension(String resourceName) {
-	if (selectedTypes == null)	// ie.- all extensions are acceptable
-		return true;
-		
-	int separatorIndex = resourceName.lastIndexOf(".");//$NON-NLS-1$
-	if (separatorIndex == -1)
-		return false;
-	
-	String extension = resourceName.substring(separatorIndex + 1);
-
-	Iterator enum = selectedTypes.iterator();
-	while (enum.hasNext()) {
-		if (extension.equalsIgnoreCase((String)enum.next()))
-			return true;
-	}
-	
-	return false;
-}
-/**
- * Persists additional setting that are to be restored in the next instance of
- * this page.
- * <p> 
- * The <code>WizardImportPage</code> implementation of this method does
- * nothing. Subclasses may extend to persist additional settings.
- * </p>
- */
-protected void internalSaveWidgetValues() {
-}
-/**
- * Queries the user for the individual resources that are to be exported
- * and returns these resources as a collection.
- * <p>
- * A similar method is available which queries the user for a single root 
- * resource selection to export. To get this functionality instead, use
- * <code>queryRootResourceToExport</code>.
- * </p>
- * 
- * @param rootResource the resource to use as the root of the selection query
- * @return the resources selected for export (element type: 
- *   <code>IResource</code>), or <code>null</code> if the user canceled the 
- *   selection
- * @see #queryRootResourceToExport
- */
-protected Object[] queryIndividualResourcesToExport(IAdaptable rootResource) {
-	ResourceSelectionDialog dialog =
-		new ResourceSelectionDialog(getContainer().getShell(), rootResource,WorkbenchMessages.getString("WizardExportPage.selectResourcesTitle")); //$NON-NLS-1$
-	dialog.setInitialSelections(selectedResources.toArray(new Object[selectedResources.size()]));
-	dialog.open();
-	return dialog.getResult();
-}
-/**
- * Queries the user for the resource types that are to be exported and returns
- * these types as a collection.
- *
- * @return the resource types selected for export (element type: 
- *   <code>String</code>), or <code>null</code> if the user canceled the 
- *   selection
- */
-protected Object[] queryResourceTypesToExport() {
-	IFileEditorMapping editorMappings[] =
-		WorkbenchPlugin.getDefault().getEditorRegistry().getFileEditorMappings();
-
-	int mappingsSize = editorMappings.length;
-	List selectedTypes = getTypesToExport();
-	List initialSelections = new ArrayList(selectedTypes.size());
-	
-	for (int i = 0; i < mappingsSize; i++) {
-		IFileEditorMapping currentMapping = editorMappings[i];
-		if (selectedTypes.contains(currentMapping.getExtension()))
-			initialSelections.add(currentMapping);
-	}
-
-	ListSelectionDialog dialog =
-		new ListSelectionDialog(
-			getContainer().getShell(),
-			editorMappings,
-			FileEditorMappingContentProvider.INSTANCE,
-			FileEditorMappingLabelProvider.INSTANCE,
-			WorkbenchMessages.getString("WizardExportPage.selectionDialogMessage")); //$NON-NLS-1$
-
-	
-	dialog.setTitle(WorkbenchMessages.getString("WizardExportPage.resourceTypeDialog")); //$NON-NLS-1$
-	dialog.open();
-
-	return dialog.getResult();
-}
-/**
- * Resets this page's selected resources collection and updates its controls
- * accordingly.
- */
-protected void resetSelectedResources() {
-	resourceDetailsDescription.setText(WorkbenchMessages.getString("WizardExportPage.detailsMessage")); //$NON-NLS-1$
-	selectedResources = null;
-
-	if (exportCurrentSelection) {
-		exportCurrentSelection = false;
-		
-		if (resourceNameField.getText().length() > CURRENT_SELECTION.length())
-			resourceNameField.setText(
-				resourceNameField.getText().substring(CURRENT_SELECTION.length()));		
-		else
-			resourceNameField.setText("");//$NON-NLS-1$
-	}
-}
-/**
- * Restores resource specification control settings that were persisted
- * in the previous instance of this page. Subclasses wishing to restore
- * persisted values for their controls may extend.
- */
-protected void restoreResourceSpecificationWidgetValues() {
-	IDialogSettings settings = getDialogSettings();
-	if(settings != null) {
-		String pageName = getName();	
-		boolean exportAllResources = settings.getBoolean(STORE_EXPORT_ALL_RESOURCES_ID + pageName);
-
-		// restore all/typed radio values iff not already explicitly set
-		if (!exportAllResourcesPreSet) {
-			exportAllTypesRadio.setSelection(exportAllResources);
-			exportSpecifiedTypesRadio.setSelection(!exportAllResources);
-		}
-
-		// restore selected types iff not explicitly already set
-		if (initialTypesFieldValue == null) {
-			String[] selectedTypes = settings.getArray(STORE_SELECTED_TYPES_ID + pageName);
-			if(selectedTypes != null) {
-				if (selectedTypes.length > 0)
-					typesToExportField.setText(selectedTypes[0]);
-				for (int i = 0; i < selectedTypes.length; i++)
-					typesToExportField.add(selectedTypes[i]);
-			}
-		}
-	}
-}
-/**
- * Persists resource specification control setting that are to be restored
- * in the next instance of this page. Subclasses wishing to persist additional
- * setting for their controls should extend hook method 
- * <code>internalSaveWidgetValues</code>.
- */
-protected void saveWidgetValues() {
-	IDialogSettings settings = getDialogSettings();
-	if(settings != null) {
-		String pageName = getName();
-
-		// update specific types to export history
-		String[] selectedTypesNames = settings.getArray(STORE_SELECTED_TYPES_ID + pageName);
-		if (selectedTypesNames == null)
-			selectedTypesNames = new String[0];
-			
-		if (exportSpecifiedTypesRadio.getSelection()) {
-			selectedTypesNames = addToHistory(selectedTypesNames,typesToExportField.getText());
-		}
-			
-		settings.put(
-			STORE_SELECTED_TYPES_ID + pageName,
-			selectedTypesNames);
-
-		// radio buttons
-		settings.put(
-			STORE_EXPORT_ALL_RESOURCES_ID + pageName,
-			exportAllTypesRadio.getSelection());
-	}
-	
-	// allow subclasses to save values
-	internalSaveWidgetValues();
-	
-}
-/**
- * Records a container's recursive file descendents which have an extension
- * that has been specified for export by the user.
- *
- * @param resource the parent container
- */
-protected void selectAppropriateFolderContents(IContainer resource) {
-	try {
-	IResource[] members = resource.members();
-
-	for (int i = 0; i < members.length; i++) {
-		if (members[i].getType() == IResource.FILE) {
-			IFile currentFile = (IFile)members[i];
-			if (hasExportableExtension(currentFile.getFullPath().toString()))
-				selectedResources.add(currentFile);
-		}
-		if (members[i].getType() == IResource.FOLDER) {
-			selectAppropriateFolderContents((IContainer)members[i]);
-		}
-	}
-	} catch (CoreException e) {
-		//don't show children if there are errors -- should at least log this
-	}
-}
-/**
- * Records a resource's recursive descendents which are appropriate
- * for export based upon this page's current controls contents.
- *
- * @param resource the parent resource
- */
-protected void selectAppropriateResources(Object resource) {
-	if (selectedResources == null) {
-
-		if (exportSpecifiedTypesRadio.getSelection())
-			selectedTypes = getTypesToExport();
-		else
-			selectedTypes = null; // sentinel for select all extensions
-
-		selectedResources = new ArrayList();
-		if (resource instanceof IWorkspaceRoot) {
-			IProject[] projects = ((IWorkspaceRoot) resource).getProjects();
-			for (int i = 0; i < projects.length; i++) {
-				selectAppropriateFolderContents(projects[i]);
-			}
-		} else
-			if (resource instanceof IFile) {
-				IFile file = (IFile) resource;
-				if (hasExportableExtension(file.getFullPath().toString()))
-					selectedResources.add(file);
-			} else {
-				selectAppropriateFolderContents((IContainer) resource);
-			}
-	}
-}
-/**
- * Sets the selection value of this page's "Export all types" radio, or stores
- * it for future use if this visual component does not exist yet.
- *
- * @param value new selection value
- */
-public void setExportAllTypesValue(boolean value) {
-	if (exportAllTypesRadio == null) {
-		initialExportAllTypesValue = value;
-		exportAllResourcesPreSet = true;
-	} else {
-		exportAllTypesRadio.setSelection(value);
-		exportSpecifiedTypesRadio.setSelection(!value);
-	}
-}
-/**
- * Sets the value of this page's source resource field, or stores
- * it for future use if this visual component does not exist yet.
- *
- * @param value new value
- */
-public void setResourceFieldValue(String value) {
-	if (resourceNameField == null)
-		initialExportFieldValue = value;
-	else
-		resourceNameField.setText(value);
-}
-/**
- * Set the resource whos name we will display.
- * @param resource
- */
-protected void setResourceToDisplay(IResource resource) {
-	setResourceFieldValue(resource.getFullPath().makeRelative().toString());
-}
-/**
- * Sets the value of this page's "Types to export" field, or stores
- * it for future use if this visual component does not exist yet.
- *
- * @param value new value
- */
-public void setTypesFieldValue(String value) {
-	if (typesToExportField == null)
-		initialTypesFieldValue = value;
-	else
-		typesToExportField.setText(value);
-}
-/**
- * Sets the value of this page's "Types to export" field based upon the
- * collection of extensions.
- *
- * @param typeStrings the collection of extensions to populate the "Types to
- *   export" field with (element type: <code>String</code>)
- */
-protected void setTypesToExport(List typeStrings) {
-	StringBuffer result = new StringBuffer();
-	Iterator typesEnum = typeStrings.iterator();
-
-	while (typesEnum.hasNext()) {
-		result.append(typesEnum.next());
-		result.append(TYPE_DELIMITER);
-		result.append(" ");//$NON-NLS-1$
-	}
-
-	typesToExportField.setText(result.toString());
-}
-/**
- * Populates the resource name field based upon the currently selected resources.
- */
-protected void setupBasedOnInitialSelections() {
-	if (initialExportFieldValue != null) {
-		// a source resource has been programatically specified, which overrides
-		// the current workbench resource selection
-		IResource specifiedSourceResource = getSourceResource();
-		if (specifiedSourceResource == null)
-			currentResourceSelection = new StructuredSelection();
-		else
-			currentResourceSelection = new StructuredSelection(specifiedSourceResource);
-	}
-		
-	if (currentResourceSelection.isEmpty())
-		return; // no setup needed
-
-	List selections = new ArrayList();
-	Iterator enum = currentResourceSelection.iterator();
-	while (enum.hasNext()) {
-		IResource currentResource = (IResource) enum.next();
-		// do not add inaccessible elements
-		if (currentResource.isAccessible())
-			selections.add(currentResource);
-	}
-	
-	if (selections.isEmpty())
-		return; // setup not needed anymore
-
-	int selectedResourceCount = selections.size();
-	if (selectedResourceCount == 1) {
-		IResource resource = (IResource) selections.get(0);
-		setResourceToDisplay(resource);
-	} else {
-		selectedResources = selections;
-		exportAllTypesRadio.setSelection(true);
-		exportSpecifiedTypesRadio.setSelection(false);
-		resourceNameField.setText(CURRENT_SELECTION);
-		exportCurrentSelection = true;
-		displayResourcesSelectedCount(selectedResourceCount);
-	}
-}
-/**
- * Updates the enablements of this page's controls. Subclasses may extend.
- */
-protected void updateWidgetEnablements() {
-	if (exportCurrentSelection)
-		resourceDetailsButton.setEnabled(true);
-	else {
-		IResource resource = getSourceResource();
-		resourceDetailsButton.setEnabled(resource != null && resource.isAccessible());
-	}
-		
-	exportSpecifiedTypesRadio.setEnabled(!exportCurrentSelection);
-	typesToExportField.setEnabled(exportSpecifiedTypesRadio.getSelection());
-	typesToExportEditButton.setEnabled(exportSpecifiedTypesRadio.getSelection());
-}
-/* (non-Javadoc)
- * Method declared on WizardDataTransferPage.
- */
-protected final boolean validateSourceGroup() {
-	if (exportCurrentSelection) 		// ie.- no more checking needed
-		return true;
-		
-	String sourceString = resourceNameField.getText();
-	if (sourceString.equals("")) {//$NON-NLS-1$
-		setErrorMessage(null);
-		return false;
-	}
-
-	IResource resource = getSourceResource();
-		
-	if (resource == null) {
-		setErrorMessage(WorkbenchMessages.getString("WizardExportPage.mustExistMessage")); //$NON-NLS-1$
-		return false;
-	}
-
-	if (!resource.isAccessible()) {
-		setErrorMessage(WorkbenchMessages.getString("WizardExportPage.mustBeAccessibleMessage")); //$NON-NLS-1$
-		return false;
-	}
-
-	return true;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardExportResourcesPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardExportResourcesPage.java
deleted file mode 100644
index 782a463..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardExportResourcesPage.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardImportPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardImportPage.java
deleted file mode 100644
index 8913889..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardImportPage.java
+++ /dev/null
@@ -1,280 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * The abstract superclass for a typical import wizard's main page.
- * <p>
- * Clients may subclass this page to inherit its common destination resource
- * selection facilities.
- * </p>
- * <p>
- * Subclasses must implement 
- * <ul>
- *   <li><code>createSourceGroup</code></li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may override
- * <ul>
- *   <li><code>allowNewContainerName</code></li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may extend
- * <ul>
- *   <li><code>handleEvent</code></li>
- * </ul>
- * </p>
- * @deprecated use WizardResourceImportPage
- */
-public abstract class WizardImportPage extends WizardDataTransferPage {
-	private	IResource currentResourceSelection;
-
-	// initial value stores
-	private String initialContainerFieldValue;
-	
-	// widgets
-	private Text containerNameField;
-	private Button containerBrowseButton;
-/**
- * Creates an import wizard page. If the initial resource selection 
- * contains exactly one container resource then it will be used as the default
- * import destination.
- *
- * @param pageName the name of the page
- * @param selection the current resource selection
- */
-protected WizardImportPage(String name, IStructuredSelection selection) {
-	super(name);
-
-	if (selection.size() == 1)
-		currentResourceSelection = (IResource) selection.getFirstElement();
-	else
-		currentResourceSelection = null;
-
-	if (currentResourceSelection != null) {
-		if (currentResourceSelection.getType() == IResource.FILE)
-			currentResourceSelection = currentResourceSelection.getParent();
-
-		if (!currentResourceSelection.isAccessible())
-			currentResourceSelection = null;
-	}
-
-}
-/**
- * The <code>WizardImportPage</code> implementation of this 
- * <code>WizardDataTransferPage</code> method returns <code>true</code>. 
- * Subclasses may override this method.
- */
-protected boolean allowNewContainerName() {
-	return true;
-}
-/** (non-Javadoc)
- * Method declared on IDialogPage.
- */
-public void createControl(Composite parent) {
-	Composite composite = new Composite(parent, SWT.NULL);
-	composite.setLayout(new GridLayout());
-	composite.setLayoutData(new GridData(
-		GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL));
-	composite.setSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-
-	createSourceGroup(composite);
-
-	createSpacer(composite);
-
-	createBoldLabel(composite, WorkbenchMessages.getString("WizardImportPage.destinationLabel"));	 //$NON-NLS-1$
-	createDestinationGroup(composite);
-
-	createSpacer(composite);
-
-	createBoldLabel(composite, WorkbenchMessages.getString("WizardImportPage.options")); //$NON-NLS-1$
-	createOptionsGroup(composite);
-
-	restoreWidgetValues();
-	updateWidgetEnablements();
-	setPageComplete(determinePageCompletion());
-
-	setControl(composite);
-}
-/**
- * Creates the import destination specification controls.
- *
- * @param parent the parent control
- */
-protected final void createDestinationGroup(Composite parent) {
-	// container specification group
-	Composite containerGroup = new Composite(parent,SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 3;
-	containerGroup.setLayout(layout);
-	containerGroup.setLayoutData(new GridData(
-		GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-
-	// container label
-	Label resourcesLabel = new Label(containerGroup,SWT.NONE);
-	resourcesLabel.setText(WorkbenchMessages.getString("WizardImportPage.folder")); //$NON-NLS-1$
-
-	// container name entry field
-	containerNameField = new Text(containerGroup,SWT.SINGLE|SWT.BORDER);
-	containerNameField.addListener(SWT.Modify,this);
-	GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
-	data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-	containerNameField.setLayoutData(data);
-
-	// container browse button
-	containerBrowseButton = new Button(containerGroup,SWT.PUSH);
-	containerBrowseButton.setText(WorkbenchMessages.getString("WizardImportPage.browseLabel")); //$NON-NLS-1$
-	containerBrowseButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-	containerBrowseButton.addListener(SWT.Selection,this);
-
-	initialPopulateContainerField();
-}
-/**
- * Creates the import source specification controls.
- * <p>
- * Subclasses must implement this method.
- * </p>
- *
- * @param parent the parent control
- */
-protected abstract void createSourceGroup(Composite parent);
-/**
- * Display an error dialog with the specified message.
- *
- * @param message the error message
- */
-protected void displayErrorDialog(String message) {
-	MessageDialog.openError(getContainer().getShell(),WorkbenchMessages.getString("WizardImportPage.errorDialogTitle"),message); //$NON-NLS-1$
-}
-/**
- * Returns the path of the container resource specified in the container
- * name entry field, or <code>null</code> if no name has been typed in.
- * <p>
- * The container specified by the full path might not exist and would need to
- * be created.
- * </p>
- *
- * @return the full path of the container resource specified in
- *   the container name entry field, or <code>null</code>
- */
-protected IPath getContainerFullPath() {
-	IWorkspace workspace = WorkbenchPlugin.getPluginWorkspace();
-
-	//make the path absolute to allow for optional leading slash
-	IPath testPath = getResourcePath();
-
-	IStatus result =
-		workspace.validatePath(
-			testPath.toString(),
-			IResource.PROJECT | IResource.FOLDER);
-	if (result.isOK()) {
-		return testPath;
-	}
-
-	return null;
-}
-/**
- * Return the path for the resource field.
- * @return org.eclipse.core.runtime.IPath
- */
-protected IPath getResourcePath() {
-	return getPathFromText(this.containerNameField);
-}
-/**
- * Returns the container resource specified in the container name entry field,
- * or <code>null</code> if such a container does not exist in the workbench.
- *
- * @return the container resource specified in the container name entry field,
- *   or <code>null</code>
- */
-protected IContainer getSpecifiedContainer() {
-	IWorkspace workspace = WorkbenchPlugin.getPluginWorkspace();
-	IPath path = getContainerFullPath();
-	if (workspace.getRoot().exists(path))
-		return (IContainer) workspace.getRoot().findMember(path);
-
-	return null;
-}
-/**
- * Opens a container selection dialog and displays the user's subsequent
- * container resource selection in this page's container name field.
- */
-protected void handleContainerBrowseButtonPressed() {
-	// see if the user wishes to modify this container selection
-	IPath containerPath = queryForContainer(getSpecifiedContainer(), WorkbenchMessages.getString("WizardImportPage.selectFolderLabel")); //$NON-NLS-1$
-
-	// if a container was selected then put its name in the container name field
-	if (containerPath != null)			// null means user cancelled
-		containerNameField.setText(containerPath.makeRelative().toString());
-}
-/**
- * The <code>WizardImportPage</code> implementation of this 
- * <code>Listener</code> method handles all events and enablements for controls
- * on this page. Subclasses may extend.
- */
-public void handleEvent(Event event) {
-	Widget source = event.widget;
-
-	if (source == containerBrowseButton)
-		handleContainerBrowseButtonPressed();
-
-	setPageComplete(determinePageCompletion());	
-	updateWidgetEnablements();
-}
-/**
- * Sets the initial contents of the container name field.
- */
-protected final void initialPopulateContainerField() {
-	if (initialContainerFieldValue != null)
-		containerNameField.setText(initialContainerFieldValue);
-	else if (currentResourceSelection != null)
-		containerNameField.setText(currentResourceSelection.getFullPath().toString());
-}
-/**
- * Sets the value of this page's container resource field, or stores
- * it for future use if this page's controls do not exist yet.
- *
- * @param value new value
- */
-public void setContainerFieldValue(String value) {
-	if (containerNameField == null)
-		initialContainerFieldValue = value;
-	else
-		containerNameField.setText(value);
-}
-/* (non-Javadoc)
- * Method declared on WizardDataTransferPage.
- */
-protected final boolean validateDestinationGroup() {
-	if (getContainerFullPath() == null)
-		return false;
-
-	// If the container exist, validate it
-	IContainer container = getSpecifiedContainer();
-	if (container != null) {
-		if (!container.isAccessible()) {
-			setErrorMessage(WorkbenchMessages.getString("WizardImportPage.folderMustExist")); //$NON-NLS-1$
-			return false;
-		}
-	}
-
-	return true;
-
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardNewFileCreationPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardNewFileCreationPage.java
deleted file mode 100644
index 01fca73..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardNewFileCreationPage.java
+++ /dev/null
@@ -1,476 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/**********************************************************************
-Copyright (c) 2000, 2003 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:
-**********************************************************************/
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.dialogs.CreateLinkedResourceGroup;
-import org.eclipse.ui.internal.misc.ResourceAndContainerGroup;
-/**
- * Standard main page for a wizard that creates a file resource.
- * <p>
- * This page may be used by clients as-is; it may be also be subclassed to suit.
- * </p>
- * <p>
- * Subclasses may override
- * <ul>
- *   <li><code>getInitialContents</code></li>
- *   <li><code>getNewFileLabel</code></li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may extend
- * <ul>
- *   <li><code>handleEvent</code></li>
- * </ul>
- * </p>
- */
-public class WizardNewFileCreationPage extends WizardPage implements Listener {
-	private static final int SIZING_CONTAINER_GROUP_HEIGHT = 250;
-	// the current resource selection
-	private	IStructuredSelection currentSelection;
-	
-	// cache of newly-created file
-	private IFile newFile;
-	private IPath linkTargetPath;
-
-	// widgets
-	private ResourceAndContainerGroup resourceGroup;
-	private Button advancedButton;
-	private CreateLinkedResourceGroup linkedResourceGroup;
-		
-	// initial value stores
-	private String initialFileName;
-	private IPath initialContainerFullPath;
-	/**
-	 * Whether or not the advanced widget group is currently visible.
-	 */
-	private boolean linkedResourceGroupVisible = false;
-	/**
-	 * Height of the "advanced" linked resource group. Set when the
-	 * advanced group is first made visible. 
-	 */
-	private int linkedResourceGroupHeight = -1;
-	/**
-	 * First time the advanced group is validated.
-	 */	
-	private boolean firstLinkCheck = true;
-
-
-/**
- * Creates a new file creation wizard page. If the initial resource selection 
- * contains exactly one container resource then it will be used as the default
- * container resource.
- *
- * @param pageName the name of the page
- * @param selection the current resource selection
- */
-public WizardNewFileCreationPage(String pageName, IStructuredSelection selection) {
-	super(pageName);
-	setPageComplete(false);
-	this.currentSelection = selection;
-}
-/**
- * Creates the widget for advanced options.
- *  
- * @param parent the parent composite
- */
-protected void createAdvancedControls(Composite parent) {
-	advancedButton = new Button(parent, SWT.PUSH);
-	advancedButton.setFont(parent.getFont());
-	advancedButton.setText(WorkbenchMessages.getString("WizardNewFileCreationPage.advancedButtonCollapsed"));
-	GridData data = setButtonLayoutData(advancedButton);
-	data.horizontalAlignment = GridData.BEGINNING;
-	advancedButton.setLayoutData(data);
-	advancedButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			handleAdvancedButtonSelect();
-		}
-	});
-	linkedResourceGroup = new CreateLinkedResourceGroup(
-		IResource.FILE,
-		new Listener() {
-			public void handleEvent(Event e) {
-				setPageComplete(validatePage());
-				firstLinkCheck = false;					
-			}
-		});	
-}
-/** (non-Javadoc)
- * Method declared on IDialogPage.
- */
-public void createControl(Composite parent) {
-	initializeDialogUnits(parent);
-	// top level group
-	Composite topLevel = new Composite(parent,SWT.NONE);
-	topLevel.setLayout(new GridLayout());
-	topLevel.setLayoutData(new GridData(
-		GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL));
-	topLevel.setFont(parent.getFont());
-	WorkbenchHelp.setHelp(topLevel, IHelpContextIds.NEW_FILE_WIZARD_PAGE);
-
-	// resource and container group
-	resourceGroup = new ResourceAndContainerGroup(topLevel, this, getNewFileLabel(), WorkbenchMessages.getString("WizardNewFileCreationPage.file"), false, SIZING_CONTAINER_GROUP_HEIGHT); //$NON-NLS-1$
-	resourceGroup.setAllowExistingResources(false);
-	initialPopulateContainerNameField();
-	if (initialFileName != null)
-		resourceGroup.setResource(initialFileName);
-	createAdvancedControls(topLevel);
-	validatePage();
-	// Show description on opening
-	setErrorMessage(null);
-	setMessage(null);
-	setControl(topLevel);
-}
-/**
- * Creates a file resource given the file handle and contents.
- *
- * @param fileHandle the file handle to create a file resource with
- * @param contents the initial contents of the new file resource, or
- *   <code>null</code> if none (equivalent to an empty stream)
- * @param monitor the progress monitor to show visual progress with
- * @exception CoreException if the operation fails
- * @exception OperationCanceledException if the operation is canceled
- */
-protected void createFile(IFile fileHandle, InputStream contents, IProgressMonitor monitor) throws CoreException {
-	if (contents == null)
-		contents = new ByteArrayInputStream(new byte[0]);
-
-	try {
-		// Create a new file resource in the workspace
-		if (linkTargetPath != null) 
-			fileHandle.createLink(linkTargetPath, IResource.ALLOW_MISSING_LOCAL, monitor);
-		else
-			fileHandle.create(contents, false, monitor);
-	}
-	catch (CoreException e) {
-		// If the file already existed locally, just refresh to get contents
-		if (e.getStatus().getCode() == IResourceStatus.PATH_OCCUPIED)
-			fileHandle.refreshLocal(IResource.DEPTH_ZERO, null);
-		else
-			throw e;
-	}
-
-	if (monitor.isCanceled())
-		throw new OperationCanceledException();
-}
-/**
- * Creates a file resource handle for the file with the given workspace path.
- * This method does not create the file resource; this is the responsibility
- * of <code>createFile</code>.
- *
- * @param filePath the path of the file resource to create a handle for
- * @return the new file resource handle
- * @see #createFile
- */
-protected IFile createFileHandle(IPath filePath) {
-	return WorkbenchPlugin.getPluginWorkspace().getRoot().getFile(filePath);
-}
-/**
- * Creates the link target path if a link target has been specified. 
- */
-protected void createLinkTarget() {
-	String linkTarget = linkedResourceGroup.getLinkTarget();
-	if (linkTarget != null) {
-		linkTargetPath = new Path(linkTarget);
-	}
-	else {
-		linkTargetPath = null;
-	}
-}
-/**
- * Creates a new file resource in the selected container and with the selected
- * name. Creates any missing resource containers along the path; does nothing if
- * the container resources already exist.
- * <p>
- * In normal usage, this method is invoked after the user has pressed Finish on
- * the wizard; the enablement of the Finish button implies that all controls on 
- * on this page currently contain valid values.
- * </p>
- * <p>
- * Note that this page caches the new file once it has been successfully
- * created; subsequent invocations of this method will answer the same
- * file resource without attempting to create it again.
- * </p>
- * <p>
- * This method should be called within a workspace modify operation since
- * it creates resources.
- * </p>
- *
- * @return the created file resource, or <code>null</code> if the file
- *    was not created
- */
-public IFile createNewFile() {
-	if (newFile != null)
-		return newFile;
-
-	// create the new file and cache it if successful
-
-	final IPath containerPath = resourceGroup.getContainerFullPath();
-	IPath newFilePath = containerPath.append(resourceGroup.getResource());
-	final IFile newFileHandle = createFileHandle(newFilePath);
-	final InputStream initialContents = getInitialContents();
-	
-	createLinkTarget();
-	WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-		protected void execute(IProgressMonitor monitor) throws CoreException,
-			InterruptedException
-		{
-			try {
-				monitor.beginTask(WorkbenchMessages.getString("WizardNewFileCreationPage.progress"), 2000); //$NON-NLS-1$
-				ContainerGenerator generator = new ContainerGenerator(containerPath);
-				generator.generateContainer(new SubProgressMonitor(monitor, 1000));
-				createFile(newFileHandle,initialContents, new SubProgressMonitor(monitor, 1000));
-			} finally {
-				monitor.done();
-			}
-		}
-	};
-
-	try {
-		getContainer().run(true, true, op);
-	} catch (InterruptedException e) {
-		return null;
-	} catch (InvocationTargetException e) {
-		if (e.getTargetException() instanceof CoreException) {
-			ErrorDialog.openError(
-				getContainer().getShell(), // Was Utilities.getFocusShell()
-				WorkbenchMessages.getString("WizardNewFileCreationPage.errorTitle"),  //$NON-NLS-1$
-				null,	// no special message
-				((CoreException) e.getTargetException()).getStatus());
-		}
-		else {
-			// CoreExceptions are handled above, but unexpected runtime exceptions and errors may still occur.
-			WorkbenchPlugin.log(MessageFormat.format("Exception in {0}.getNewFile(): {1}", new Object[] {getClass().getName(), e.getTargetException()}));//$NON-NLS-1$
-			MessageDialog.openError(getContainer().getShell(), WorkbenchMessages.getString("WizardNewFileCreationPage.internalErrorTitle"), WorkbenchMessages.format("WizardNewFileCreationPage.internalErrorMessage", new Object[] {e.getTargetException().getMessage()})); //$NON-NLS-2$ //$NON-NLS-1$
-		}
-		return null;
-	}
-
-	newFile = newFileHandle;
-
-	return newFile;
-}
-/**
- * Returns the current full path of the containing resource as entered or 
- * selected by the user, or its anticipated initial value.
- *
- * @return the container's full path, anticipated initial value, 
- *   or <code>null</code> if no path is known
- */
-public IPath getContainerFullPath() {
-	return resourceGroup.getContainerFullPath();
-}
-/**
- * Returns the current file name as entered by the user, or its anticipated
- * initial value.
- *
- * @return the file name, its anticipated initial value, or <code>null</code>
- *   if no file name is known
- */
-public String getFileName() {
-	if (resourceGroup == null)
-		return initialFileName;
-		
-	return resourceGroup.getResource();
-}
-/**
- * Returns a stream containing the initial contents to be given to new file resource
- * instances.  <b>Subclasses</b> may wish to override.  This default implementation
- * provides no initial contents.
- *
- * @return initial contents to be given to new file resource instances
- */
-protected InputStream getInitialContents() {
-	return null;
-}
-/**
- * Returns the label to display in the file name specification visual
- * component group.
- * <p>
- * Subclasses may reimplement.
- * </p>
- *
- * @return the label to display in the file name specification visual
- *     component group
- */
-protected String getNewFileLabel() {
-	return WorkbenchMessages.getString("WizardNewFileCreationPage.fileLabel"); //$NON-NLS-1$
-}
-/**
- * Shows/hides the advanced option widgets. 
- */
-protected void handleAdvancedButtonSelect() {
-	Shell shell = getShell();
-	Point shellSize = shell.getSize();
-	Composite composite = (Composite) getControl();
-
-	if (linkedResourceGroupHeight == -1) {
-		Composite linkedResourceComposite = linkedResourceGroup.createContents(composite);
-		Point groupSize = linkedResourceComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-		
-		linkedResourceGroupHeight = groupSize.y; 
-	}
-	if (linkedResourceGroupVisible) {
-		linkedResourceGroupVisible = false;
-		shell.setSize(shellSize.x, shellSize.y - linkedResourceGroupHeight);
-		advancedButton.setText(WorkbenchMessages.getString("WizardNewFileCreationPage.advancedButtonCollapsed"));
-	} else {
-		linkedResourceGroupVisible = true;
-		shell.setSize(shellSize.x, shellSize.y + linkedResourceGroupHeight);
-		composite.layout();
-		advancedButton.setText(WorkbenchMessages.getString("WizardNewFileCreationPage.advancedButtonExpanded"));
-	}
-}
-/**
- * The <code>WizardNewFileCreationPage</code> implementation of this 
- * <code>Listener</code> method handles all events and enablements for controls
- * on this page. Subclasses may extend.
- */
-public void handleEvent(Event event) {
-	setPageComplete(validatePage());
-}
-/**
- * Sets the initial contents of the container name entry field, based upon
- * either a previously-specified initial value or the ability to determine
- * such a value.
- */
-protected void initialPopulateContainerNameField() {
-	if (initialContainerFullPath != null)
-		resourceGroup.setContainerFullPath(initialContainerFullPath);
-	else {
-		Iterator enum = currentSelection.iterator();
-		if (enum.hasNext()) {
-			Object object = enum.next();
-			IResource selectedResource = null;
-			if (object instanceof IResource) {
-				selectedResource = (IResource)object;
-			} else if (object instanceof IAdaptable) {
-				selectedResource = (IResource)((IAdaptable)object).getAdapter(IResource.class);
-			}
-			if (selectedResource != null) {
-				if (selectedResource.getType() == IResource.FILE)
-					selectedResource = selectedResource.getParent();
-				if (selectedResource.isAccessible())
-					resourceGroup.setContainerFullPath(selectedResource.getFullPath());
-			}
-		}
-	}
-}
-/**
- * Sets the value of this page's container name field, or stores
- * it for future use if this page's controls do not exist yet.
- *
- * @param path the full path to the container
- */
-public void setContainerFullPath(IPath path) {
-	if (resourceGroup == null)
-		initialContainerFullPath = path;
-	else
-		resourceGroup.setContainerFullPath(path);
-}
-/**
- * Sets the value of this page's file name field, or stores
- * it for future use if this page's controls do not exist yet.
- *
- * @param value new file name
- */
-public void setFileName(String value) {
-	if (resourceGroup == null)
-		initialFileName = value;
-	else
-		resourceGroup.setResource(value);
-}
-/**
- * Checks whether the linked resource target is valid.
- * Sets the error message accordingly and returns the status.
- *  
- * @return IStatus validation result from the CreateLinkedResourceGroup
- */
-protected IStatus validateLinkedResource() {
-	IPath containerPath = resourceGroup.getContainerFullPath();
-	IPath newFilePath = containerPath.append(resourceGroup.getResource());
-	IFile newFileHandle = createFileHandle(newFilePath);
-	IStatus status = linkedResourceGroup.validateLinkLocation(newFileHandle);
-
-	if (status.getSeverity() == IStatus.ERROR) {
-		if (firstLinkCheck)
-			setMessage(status.getMessage());
-		else
-			setErrorMessage(status.getMessage());		
-	} else if (status.getSeverity() == IStatus.WARNING) {
-		setMessage(status.getMessage(), WARNING);
-		setErrorMessage(null);		
-	}		
-	return status;	
-}
-/**
- * Returns whether this page's controls currently all contain valid 
- * values.
- *
- * @return <code>true</code> if all controls are valid, and
- *   <code>false</code> if at least one is invalid
- */
-protected boolean validatePage() {
-	boolean valid = true;
-	
-	if (!resourceGroup.areAllValuesValid()) {
-		// if blank name then fail silently
-		if (resourceGroup.getProblemType() == ResourceAndContainerGroup.PROBLEM_RESOURCE_EMPTY
-			|| resourceGroup.getProblemType() == ResourceAndContainerGroup.PROBLEM_CONTAINER_EMPTY) {
-			setMessage(resourceGroup.getProblemMessage());
-			setErrorMessage(null);			
-		} else
-			setErrorMessage(resourceGroup.getProblemMessage());
-		valid = false;
-	}
-	
-	IStatus linkedResourceStatus = null;
-	if (valid) {
-		linkedResourceStatus = validateLinkedResource();
-		if (linkedResourceStatus.getSeverity() == IStatus.ERROR)
-			valid = false;
-	}		
-	// validateLinkedResource sets messages itself
-	if (valid && (linkedResourceStatus == null || linkedResourceStatus.isOK())) {
-		setMessage(null);
-		setErrorMessage(null);
-	}
-	return valid;
-}
-/*
- * @see DialogPage.setVisible(boolean)
- */
-public void setVisible(boolean visible) {
-	super.setVisible(visible);
-	if(visible)
-		resourceGroup.setFocus();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardNewFolderMainPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardNewFolderMainPage.java
deleted file mode 100644
index 675e01f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardNewFolderMainPage.java
+++ /dev/null
@@ -1,422 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/**
- * Copyright (c) 2000, 2003 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: 
- * 	Nick Edgar: Initial Implementation
- * 	Simon Arsenault: Fix for PR 2248, 2473
- *  Randy Giffen: Help Support
- *  Karice MacIntyre: Print Support
- *  Leon J. Breedt: Added multiple folder creation support
- *  Tod Creasey: Integration of patches      
- */
-
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import java.util.Iterator;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.dialogs.CreateLinkedResourceGroup;
-import org.eclipse.ui.internal.misc.ResourceAndContainerGroup;
-/**
- * Standard main page for a wizard that creates a folder resource.
- * <p>
- * This page may be used by clients as-is; it may be also be subclassed to suit.
- * </p>
- * <p>
- * Subclasses may extend
- * <ul>
- *   <li><code>handleEvent</code></li>
- * </ul>
- * </p>
- */
-public class WizardNewFolderMainPage extends WizardPage implements Listener {
-	private static final int SIZING_CONTAINER_GROUP_HEIGHT = 250;
-	private IStructuredSelection currentSelection;
-	private IContainer currentParent;
-
-	private IFolder newFolder;
-	// link target location
-	private IPath linkTargetPath;
-	
-	// widgets
-	private ResourceAndContainerGroup resourceGroup;
-	private Button advancedButton;
-	private CreateLinkedResourceGroup linkedResourceGroup;
-
-	/**
-	 * Whether or not the advanced widget group is currently visible.
-	 */
-	private boolean linkedResourceGroupVisible = false;
-	/**
-	 * Height of the "advanced" linked resource group. Set when the
-	 * advanced group is first made visible. 
-	 */
-	private int linkedResourceGroupHeight = -1;
-	/**
-	 * First time the advanced group is validated.
-	 */	
-	private boolean firstLinkCheck = true;
-	
-/**
- * Creates a new folder creation wizard page. If the initial resource selection 
- * contains exactly one container resource then it will be used as the default
- * container resource.
- *
- * @param pageName the name of the page
- * @param selection the current resource selection
- */
-public WizardNewFolderMainPage(String pageName, IStructuredSelection selection) {
-	super("newFolderPage1");//$NON-NLS-1$
-	setTitle(pageName);
-	setDescription(WorkbenchMessages.getString("WizardNewFolderMainPage.description")); //$NON-NLS-1$
-	this.currentSelection = selection;
-}
-/**
- * Creates the widget for advanced options.
- *  
- * @param parent the parent composite
- */
-protected void createAdvancedControls(Composite parent) {
-	advancedButton = new Button(parent, SWT.PUSH);
-	advancedButton.setFont(parent.getFont());
-	advancedButton.setText(WorkbenchMessages.getString("WizardNewFolderMainPage.advancedButtonCollapsed"));
-	GridData data = setButtonLayoutData(advancedButton);
-	data.horizontalAlignment = GridData.BEGINNING;
-	advancedButton.setLayoutData(data);
-	advancedButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			handleAdvancedButtonSelect();
-		}
-	});
-	linkedResourceGroup = new CreateLinkedResourceGroup(
-		IResource.FOLDER,
-		new Listener() {
-			public void handleEvent(Event e) {
-				setPageComplete(validatePage());
-				firstLinkCheck = false;					
-			}
-		});
-}
-/** (non-Javadoc)
- * Method declared on IDialogPage.
- */
-public void createControl(Composite parent) {
-	initializeDialogUnits(parent);
-	// top level group
-	Composite composite = new Composite(parent,SWT.NONE);
-	composite.setFont(parent.getFont());
-	composite.setLayout(new GridLayout());
-	composite.setLayoutData(new GridData(
-		GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL));
-
-	WorkbenchHelp.setHelp(composite, IHelpContextIds.NEW_FOLDER_WIZARD_PAGE);
-
-	resourceGroup = new ResourceAndContainerGroup(composite,this,WorkbenchMessages.getString("WizardNewFolderMainPage.folderName"), WorkbenchMessages.getString("WizardNewFolderMainPage.folderLabel"), false, SIZING_CONTAINER_GROUP_HEIGHT); //$NON-NLS-2$ //$NON-NLS-1$
-	resourceGroup.setAllowExistingResources(false);
-	initializePage();
-	createAdvancedControls(composite);	
-	validatePage();
-	// Show description on opening
-	setErrorMessage(null);
-	setMessage(null);
-	setControl(composite);
-}
-/**
- * Creates a folder resource given the folder handle.
- *
- * @param folderHandle the folder handle to create a folder resource for
- * @param monitor the progress monitor to show visual progress with
- * @exception CoreException if the operation fails
- * @exception OperationCanceledException if the operation is canceled
- */
-protected void createFolder(IFolder folderHandle, IProgressMonitor monitor) throws CoreException {
-    try {
-        // Create the folder resource in the workspace
-        // Update: Recursive to create any folders which do not exist already
-        if (!folderHandle.exists()) {
-            IContainer parent= folderHandle.getParent();
-            if (parent instanceof IFolder && (!((IFolder)parent).exists())) {
-                createFolder((IFolder)parent, monitor);
-            }
-            if (linkTargetPath != null)
-            	folderHandle.createLink(linkTargetPath, IResource.ALLOW_MISSING_LOCAL, monitor);
-            else
-        		folderHandle.create(false, true, monitor);
-        }
-    }
-    catch (CoreException e) {
-        // If the folder already existed locally, just refresh to get contents
-        if (e.getStatus().getCode() == IResourceStatus.PATH_OCCUPIED)
-            folderHandle.refreshLocal(IResource.DEPTH_INFINITE, new SubProgressMonitor(monitor, 500));
-        else
-            throw e;
-    }
-
-    if (monitor.isCanceled())
-        throw new OperationCanceledException();
-}
-
-/**
- * Creates a folder resource handle for the folder with the given workspace path.
- * This method does not create the folder resource; this is the responsibility
- * of <code>createFolder</code>.
- *
- * @param folderPath the path of the folder resource to create a handle for
- * @return the new folder resource handle
- * @see #createFolder
- */
-protected IFolder createFolderHandle(IPath folderPath) {
-	return WorkbenchPlugin.getPluginWorkspace().getRoot().getFolder(folderPath);
-}
-/**
- * Creates the link target path if a link target has been specified. 
- */
-protected void createLinkTarget() {
-	String linkTarget = linkedResourceGroup.getLinkTarget();
-	if (linkTarget != null) {
-		linkTargetPath = new Path(linkTarget);
-	}
-	else {
-		linkTargetPath = null;
-	}
-}
-/**
- * Creates a new folder resource in the selected container and with the selected
- * name. Creates any missing resource containers along the path; does nothing if
- * the container resources already exist.
- * <p>
- * In normal usage, this method is invoked after the user has pressed Finish on
- * the wizard; the enablement of the Finish button implies that all controls on
- * this page currently contain valid values.
- * </p>
- * <p>
- * Note that this page caches the new folder once it has been successfully
- * created; subsequent invocations of this method will answer the same
- * folder resource without attempting to create it again.
- * </p>
- * <p>
- * This method should be called within a workspace modify operation since
- * it creates resources.
- * </p>
- *
- * @return the created folder resource, or <code>null</code> if the folder
- *    was not created
- */
-public IFolder createNewFolder() {
-	if (newFolder != null)
-		return newFolder;
-
-	// create the new folder and cache it if successful
-	final IPath containerPath = resourceGroup.getContainerFullPath();
-	IPath newFolderPath = containerPath.append(resourceGroup.getResource());
-	final IFolder newFolderHandle = createFolderHandle(newFolderPath);
-
-	createLinkTarget();
-	WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-		public void execute(IProgressMonitor monitor) throws CoreException {
-			try {
-				monitor.beginTask(WorkbenchMessages.getString("WizardNewFolderCreationPage.progress"), 2000); //$NON-NLS-1$
-				ContainerGenerator generator = new ContainerGenerator(containerPath);
-				generator.generateContainer(new SubProgressMonitor(monitor, 1000));
-				createFolder(newFolderHandle, new SubProgressMonitor(monitor, 1000));
-			} finally {
-				monitor.done();
-			}
-		}
-	};
-
-	try {
-		getContainer().run(true, true, op);
-	} catch (InterruptedException e) {
-		return null;
-	} catch (InvocationTargetException e) {
-		if (e.getTargetException() instanceof CoreException) {
-			ErrorDialog.openError(
-				getContainer().getShell(), // Was Utilities.getFocusShell()
-				WorkbenchMessages.getString("WizardNewFolderCreationPage.errorTitle"),  //$NON-NLS-1$
-				null,	// no special message
-				((CoreException) e.getTargetException()).getStatus());
-		}
-		else {
-			// CoreExceptions are handled above, but unexpected runtime exceptions and errors may still occur.
-			
-			WorkbenchPlugin.log(MessageFormat.format("Exception in {0}.getNewFolder(): {1}", new Object[] {getClass().getName(),e.getTargetException()}));//$NON-NLS-1$
-			MessageDialog.openError(getContainer().getShell(), WorkbenchMessages.getString("WizardNewFolderCreationPage.internalErrorTitle"), WorkbenchMessages.format("WizardNewFolder.internalError", new Object[] {e.getTargetException().getMessage()})); //$NON-NLS-2$ //$NON-NLS-1$
-		}
-		return null;	// ie.- one of the steps resulted in a core exception
-	}
-
-	newFolder = newFolderHandle;
-
-	return newFolder;
-}
-/**
- * Shows/hides the advanced option widgets. 
- */
-protected void handleAdvancedButtonSelect() {
-	Shell shell = getShell();
-	Point shellSize = shell.getSize();
-	Composite composite = (Composite) getControl();
-						
-	if (linkedResourceGroupHeight == -1) {
-		Composite linkedResourceComposite = linkedResourceGroup.createContents(composite);
-		Point groupSize = linkedResourceComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-		
-		linkedResourceGroupHeight = groupSize.y; 
-	}
-	if (linkedResourceGroupVisible) {
-		linkedResourceGroupVisible = false;
-		shell.setSize(shellSize.x, shellSize.y - linkedResourceGroupHeight);
-		advancedButton.setText(WorkbenchMessages.getString("WizardNewFolderMainPage.advancedButtonCollapsed"));
-	} else {
-		linkedResourceGroupVisible = true;		
-		shell.setSize(shellSize.x, shellSize.y + linkedResourceGroupHeight);
-		composite.layout();
-		advancedButton.setText(WorkbenchMessages.getString("WizardNewFolderMainPage.advancedButtonExpanded"));
-	}
-}
-/**
- * The <code>WizardNewFolderCreationPage</code> implementation of this 
- * <code>Listener</code> method handles all events and enablements for controls
- * on this page. Subclasses may extend.
- */
-public void handleEvent(Event ev) {
-	setPageComplete(validatePage());
-}
-/**
- * Initializes this page's controls.
- */
-protected void initializePage() {
-	Iterator enum = currentSelection.iterator();
-	if (enum.hasNext()) {
-		Object next = enum.next();
-		IResource selectedResource = null;
-		if (next instanceof IResource) {
-			selectedResource = (IResource)next;
-		} else if (next instanceof IAdaptable) {
-			selectedResource = (IResource)((IAdaptable)next).getAdapter(IResource.class);
-		}
-		if (selectedResource != null) {
-			if (selectedResource.getType() == IResource.FILE)
-				selectedResource = selectedResource.getParent();
-			if (selectedResource.isAccessible())
-				resourceGroup.setContainerFullPath(selectedResource.getFullPath());
-		}
-	}
-
-	setPageComplete(false);
-}
-/*
- * @see DialogPage.setVisible(boolean)
- */
-public void setVisible(boolean visible) {
-	super.setVisible(visible);
-	if(visible)
-		resourceGroup.setFocus();
-}
-/**
- * Checks whether the linked resource target is valid.
- * Sets the error message accordingly and returns the status.
- *  
- * @return IStatus validation result from the CreateLinkedResourceGroup
- */
-protected IStatus validateLinkedResource() {
-	IPath containerPath = resourceGroup.getContainerFullPath();
-	IPath newFolderPath = containerPath.append(resourceGroup.getResource());
-	IFolder newFolderHandle = createFolderHandle(newFolderPath);
-	IStatus status = linkedResourceGroup.validateLinkLocation(newFolderHandle);
-
-	if (status.getSeverity() == IStatus.ERROR) {
-		if (firstLinkCheck)
-			setMessage(status.getMessage());
-		else
-			setErrorMessage(status.getMessage());		
-	} else if (status.getSeverity() == IStatus.WARNING) {
-		setMessage(status.getMessage(), WARNING);
-		setErrorMessage(null);		
-	}		
-	return status;	
-}
-/**
- * Returns whether this page's controls currently all contain valid 
- * values.
- *
- * @return <code>true</code> if all controls are valid, and
- *   <code>false</code> if at least one is invalid
- */
-protected boolean validatePage() {
-	boolean valid = true;
-	
-	IWorkspace workspace = WorkbenchPlugin.getPluginWorkspace();
-    IStatus nameStatus = null;
-    String folderName = resourceGroup.getResource();
-    if (folderName.indexOf(IPath.SEPARATOR) != -1) {
-        StringTokenizer tok = new StringTokenizer(folderName, String.valueOf(IPath.SEPARATOR));
-        while (tok.hasMoreTokens()) {
-            String pathFragment = tok.nextToken();
-            nameStatus = workspace.validateName(pathFragment, IResource.FOLDER);
-            if (!nameStatus.isOK()) {
-                break;
-            }
-        }
-    }
-   
- 	//If the name status was not set validate using the name
-   	if(nameStatus == null && folderName.length() > 0)
-        nameStatus = workspace.validateName(folderName, IResource.FOLDER);
-   
-    if (nameStatus != null && !nameStatus.isOK()) {
-       	setErrorMessage(nameStatus.getMessage());
-        return false;
-    }
-
-	if (!resourceGroup.areAllValuesValid()) {
-		// if blank name then fail silently
-		if (resourceGroup.getProblemType() == ResourceAndContainerGroup.PROBLEM_RESOURCE_EMPTY
-			|| resourceGroup.getProblemType() == ResourceAndContainerGroup.PROBLEM_CONTAINER_EMPTY) {
-			setMessage(resourceGroup.getProblemMessage());
-			setErrorMessage(null);
-		} else {
-			setErrorMessage(resourceGroup.getProblemMessage());
-		}
-		valid = false;
-	}
-
-	IStatus linkedResourceStatus = null;
-	if (valid) {
-		linkedResourceStatus = validateLinkedResource();
-		if (linkedResourceStatus.getSeverity() == IStatus.ERROR)
-			valid = false;
-	}
-	// validateLinkedResource sets messages itself
-	if (valid && (linkedResourceStatus == null || linkedResourceStatus.isOK())) {
-		setMessage(null);
-		setErrorMessage(null);
-	}
-	return valid;
-}
-
-}
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardNewLinkPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardNewLinkPage.java
deleted file mode 100644
index 8e03d75..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardNewLinkPage.java
+++ /dev/null
@@ -1,352 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-    Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog
-	 	font should be activated and used by other components.
-************************************************************************/
-
-package org.eclipse.ui.dialogs;
-
-import java.io.File;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.dialogs.PathVariableSelectionDialog;
-
-/**
- * Standard resource link page for a wizard that creates a file or 
- * folder resource.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * @since 2.1
- */
-public class WizardNewLinkPage extends WizardPage {	
-	private String initialLinkTarget;
-	private int type;
-	private boolean createLink = false;
-	private IContainer container;
-
-	// widgets
-	private Button linkButton;
-	private Text linkTargetField;
-	private Button browseButton;
-	private Button variablesButton;
- 
-/**
- * Creates a new resource link wizard page. 
- *
- * @param pageName the name of the page
- * @param type specifies the type of resource to link to. 
- * 	<code>IResource.FILE</code> or <code>IResource.FOLDER</code>
- */
-public WizardNewLinkPage(String pageName, int type) {
-	super(pageName);
-	this.type = type;
-	setPageComplete(true);
-}
-/* (non-Javadoc)
- * Method declared on IDialogPage.
- */
-public void createControl(Composite parent) {
-	Font font = parent.getFont();
-	initializeDialogUnits(parent);
-	// top level group
-	Composite topLevel = new Composite(parent,SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 3;
-	topLevel.setLayout(layout);
-	topLevel.setLayoutData(new GridData(
-		GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL));
-	topLevel.setFont(font);
-	WorkbenchHelp.setHelp(topLevel, IHelpContextIds.NEW_LINK_WIZARD_PAGE);
-
-	final Button createLinkButton = new Button(topLevel, SWT.CHECK);
-	if (type == IResource.FILE)
-		createLinkButton.setText(WorkbenchMessages.getString("WizardNewLinkPage.linkFileButton")); //$NON-NLS-1$
-	else
-		createLinkButton.setText(WorkbenchMessages.getString("WizardNewLinkPage.linkFolderButton")); //$NON-NLS-1$
-	createLinkButton.setSelection(createLink);
-	GridData data = new GridData();
-	data.horizontalSpan = 3;
-	createLinkButton.setLayoutData(data);
-	createLinkButton.setFont(font);
-	SelectionListener listener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			createLink = createLinkButton.getSelection();
-			browseButton.setEnabled(createLink);
-			variablesButton.setEnabled(createLink);
-			linkTargetField.setEnabled(createLink);
-			setPageComplete(validatePage());	
-		}
-	};
-	createLinkButton.addSelectionListener(listener);
-
-	createLinkLocationGroup(topLevel, createLink);
-	validatePage();
-
-	setErrorMessage(null);
-	setMessage(null);
-	setControl(topLevel);
-}
-/**
- * Creates the link target location widgets.
- *
- * @param locationGroup the parent composite
- * @param enabled sets the initial enabled state of the widgets
- */
-private void createLinkLocationGroup(Composite locationGroup, boolean enabled) {
-	Font font = locationGroup.getFont();
-	Label fill = new Label(locationGroup, SWT.NONE);
-	GridData data = new GridData();
-	Button button = new Button(locationGroup, SWT.CHECK);
-	data.widthHint = button.computeSize(SWT.DEFAULT, SWT.DEFAULT).x;
-	button.dispose();
-	fill.setLayoutData(data);
-		
-	// link target location entry field
-	linkTargetField = new Text(locationGroup, SWT.BORDER);
-	data = new GridData(GridData.FILL_HORIZONTAL);
-	linkTargetField.setLayoutData(data);
-	linkTargetField.setFont(font);
-	linkTargetField.setEnabled(enabled);
-	linkTargetField.addModifyListener(new ModifyListener() {
-		public void modifyText(ModifyEvent e) {
-			setPageComplete(validatePage());
-		}
-	});
-	if (initialLinkTarget != null) {
-		linkTargetField.setText(initialLinkTarget);
-	}
-
-	// browse button
-	browseButton = new Button(locationGroup, SWT.PUSH);
-	setButtonLayoutData(browseButton);
-	browseButton.setFont(font);
-	browseButton.setText(WorkbenchMessages.getString("WizardNewLinkPage.browseButton")); //$NON-NLS-1$
-	browseButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			handleLinkTargetBrowseButtonPressed();
-		}
-	});
-	browseButton.setEnabled(enabled);
-
-	fill = new Label(locationGroup, SWT.NONE);
-	data = new GridData();
-	data.horizontalSpan = 2;
-	fill.setLayoutData(data);
-
-	// variables button
-	variablesButton = new Button(locationGroup, SWT.PUSH);
-	setButtonLayoutData(variablesButton);
-	variablesButton.setFont(font);
-	variablesButton.setText(WorkbenchMessages.getString("WizardNewLinkPage.variablesButton")); //$NON-NLS-1$
-	variablesButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			handleVariablesButtonPressed();
-		}
-	});
-	variablesButton.setEnabled(enabled);
-}
-/**
- * Returns the link target location entered by the user. 
- *
- * @return the link target location entered by the user. null if the user
- * 	choose not to create a link.
- */
-public String getLinkTarget() {
-	if (createLink && linkTargetField != null && linkTargetField.isDisposed() == false) {
-		return linkTargetField.getText();
-	}
-	return null;
-}
-/**
- * Opens a file or directory browser depending on the link type.
- */
-private void handleLinkTargetBrowseButtonPressed() {
-	String linkTargetName = linkTargetField.getText();
-	File file = null;
-	String selection = null;
-	
-	if ("".equals(linkTargetName) == false) {	//$NON-NLS-1$
-		file = new File(linkTargetName);
-		if (file.exists() == false) {
-			file = null;
-		}
-	}
-	if (type == IResource.FILE) {
-		FileDialog dialog = new FileDialog(getShell());
-		if (file != null) {
-			if (file.isFile()) {
-				dialog.setFileName(linkTargetName);
-			}
-			else {
-				dialog.setFilterPath(linkTargetName);
-			}
-		}
-		selection = dialog.open();		
-	}
-	else {
-		DirectoryDialog dialog = new DirectoryDialog(getShell());
-		if (file != null) {
-			if (file.isFile()) {
-				linkTargetName = file.getParent();
-			}
-			if (linkTargetName != null) {
-				dialog.setFilterPath(linkTargetName);
-			}
-		}
-		dialog.setMessage(WorkbenchMessages.getString("WizardNewLinkPage.targetSelectionLabel")); //$NON-NLS-1$
-		selection = dialog.open();
-	}					
-	if (selection != null) {
-		linkTargetField.setText(selection);
-	}
-}
-/**
- * Opens a path variable selection dialog
- */
-private void handleVariablesButtonPressed() {
-	PathVariableSelectionDialog dialog = 
-		new PathVariableSelectionDialog(getShell(), type);
-	
-	if (dialog.open() == IDialogConstants.OK_ID) {
-		String[] variableNames = (String[]) dialog.getResult();
-				
-		if (variableNames != null) {
-			IPathVariableManager pathVariableManager = ResourcesPlugin.getWorkspace().getPathVariableManager();
-			IPath path = pathVariableManager.getValue(variableNames[0]);
-		
-			if (path != null) {
-				linkTargetField.setText(path.toOSString());
-			}
-		}
-	}
-}
-/**
- * Sets the container to use for link validation.
- * This should be the parent of the new resource that is being 
- * linked.
- *
- * @param container the container to use for link validation.
- */
-public void setContainer(IContainer container) {
-	this.container = container;
-}
-/**
- * Sets the value of the link target field
- * 
- * @param target the value of the link target field
- */
-public void setLinkTarget(String target) {
-	initialLinkTarget = target;
-	if (linkTargetField != null && linkTargetField.isDisposed() == false) {
-		linkTargetField.setText(target);
-	}
-}
-/**
- * Validates the type of the given file against the link type specified
- * during page creation.
- * 
- * @param linkTargetFile file to validate
- * @return boolean <code>true</code> if the link target type is valid
- * 	and <code>false</code> otherwise.
- */
-private boolean validateFileType(File linkTargetFile) {
-	boolean valid = true;
-	
-	if (type == IResource.FILE && linkTargetFile.isFile() == false) {
-		setErrorMessage(WorkbenchMessages.getString("WizardNewLinkPage.linkTargetNotFile")); //$NON-NLS-1$
-		valid = false;
-	}
-	else
-	if (type == IResource.FOLDER && linkTargetFile.isDirectory() == false) {
-		setErrorMessage(WorkbenchMessages.getString("WizardNewLinkPage.linkTargetNotFolder")); //$NON-NLS-1$
-		valid = false;
-	}
-	return valid;
-}
-/**
- * Validates the name of the link target
- *
- * @param linkTargetName link target name to validate
- * @return boolean <code>true</code> if the link target name is valid
- * 	and <code>false</code> otherwise.
- */
-private boolean validateLinkTargetName(String linkTargetName) {
-	boolean valid = true;
-
-	if ("".equals(linkTargetName)) {//$NON-NLS-1$
-		setErrorMessage(WorkbenchMessages.getString("WizardNewLinkPage.linkTargetEmpty")); //$NON-NLS-1$
-		valid = false;
-	}
-	else {
-		IPath path = new Path("");//$NON-NLS-1$
-		if (path.isValidPath(linkTargetName) == false) {
-			setErrorMessage(WorkbenchMessages.getString("WizardNewLinkPage.linkTargetInvalid")); //$NON-NLS-1$
-			valid = false;
-		}
-	}
-	return valid;
-}
-/**
- * Returns whether this page's controls currently all contain valid 
- * values.
- *
- * @return <code>true</code> if all controls are valid, and
- *   <code>false</code> if at least one is invalid
- */
-private boolean validatePage() {
-	boolean valid = true;
-	IWorkspace workspace = WorkbenchPlugin.getPluginWorkspace();
-	
-	if (createLink) {
-		String linkTargetName = linkTargetField.getText();
-
-		valid = validateLinkTargetName(linkTargetName); 
-		if (valid) {
-			File linkTargetFile = new Path(linkTargetName).toFile();
-			if (linkTargetFile.exists() == false) {
-				setErrorMessage(WorkbenchMessages.getString("WizardNewLinkPage.linkTargetNonExistent")); //$NON-NLS-1$
-				valid = false;
-			}
-			else {
-				IStatus locationStatus = workspace.validateLinkLocation(
-					container,
-					new Path(linkTargetName));
-
-				if (locationStatus.isOK() == false) {
-					setErrorMessage(WorkbenchMessages.getString("WizardNewLinkPage.linkTargetLocationInvalid")); //$NON-NLS-1$
-					valid = false;
-				}
-				else {
-					valid = validateFileType(linkTargetFile);
-				}
-			}
-		}
-	}	
-	// Avoid draw flicker by clearing error message
-	// if all is valid.
-	if (valid) {
-		setMessage(null);
-		setErrorMessage(null);
-	}
-	return valid;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardNewProjectCreationPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardNewProjectCreationPage.java
deleted file mode 100644
index 45bd24f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardNewProjectCreationPage.java
+++ /dev/null
@@ -1,407 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.File;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-
-/**
- * Standard main page for a wizard that is creates a project resource.
- * <p>
- * This page may be used by clients as-is; it may be also be subclassed to suit.
- * </p>
- * <p>
- * Example useage:
- * <pre>
- * mainPage = new WizardNewProjectCreationPage("basicNewProjectPage");
- * mainPage.setTitle("Project");
- * mainPage.setDescription("Create a new project resource.");
- * </pre>
- * </p>
- */
-public class WizardNewProjectCreationPage extends WizardPage {
-
-	private boolean useDefaults = true;
-
-	// initial value stores
-	private String initialProjectFieldValue;
-	private IPath initialLocationFieldValue;
-	
-	// the value the user has entered
-	private String customLocationFieldValue;
-	
-	// widgets
-	private Text projectNameField;
-	private Text locationPathField;
-	private Label locationLabel;
-	private Button browseButton;
-
-	private Listener nameModifyListener = new Listener() {
-		public void handleEvent(Event e) {
-			setLocationForSelection();
-			setPageComplete(validatePage());
-		}
-	};
-
-	private Listener locationModifyListener = new Listener() {
-		public void handleEvent(Event e) {
-			setPageComplete(validatePage());
-		}
-	};
-
-	// constants
-	private static final int SIZING_TEXT_FIELD_WIDTH = 250;
-	private static final int SIZING_INDENTATION_WIDTH = 10;
-/**
- * Creates a new project creation wizard page.
- *
- * @param pageName the name of this page
- */
-public WizardNewProjectCreationPage(String pageName) {
-	super(pageName);
-	setPageComplete(false);
-	initialLocationFieldValue = Platform.getLocation();
-	customLocationFieldValue = ""; //$NON-NLS-1$
-}
-/** (non-Javadoc)
- * Method declared on IDialogPage.
- */
-public void createControl(Composite parent) {
-	Composite composite = new Composite(parent, SWT.NULL);
-	composite.setFont(parent.getFont());
-	
-	initializeDialogUnits(parent);
-
-	WorkbenchHelp.setHelp(composite, IHelpContextIds.NEW_PROJECT_WIZARD_PAGE);
-	
-	composite.setLayout(new GridLayout());
-	composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-	
-	createProjectNameGroup(composite);
-	createProjectLocationGroup(composite);
-	setPageComplete(validatePage());
-	// Show description on opening
-	setErrorMessage(null);
-	setMessage(null);
-	setControl(composite);
-}
-/**
- * Creates the project location specification controls.
- *
- * @param parent the parent composite
- */
-private final void createProjectLocationGroup(Composite parent) {
-
-
-	Font font = parent.getFont();
-	// project specification group
-	Group projectGroup = new Group(parent, SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 3;
-	projectGroup.setLayout(layout);
-	projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	projectGroup.setFont(font);
-	projectGroup.setText(WorkbenchMessages.getString("WizardNewProjectCreationPage.projectContentsGroupLabel")); //$NON-NLS-1$
-
-	final Button useDefaultsButton = new Button(projectGroup, SWT.CHECK | SWT.RIGHT);
-	useDefaultsButton.setText(WorkbenchMessages.getString("WizardNewProjectCreationPage.useDefaultLabel")); //$NON-NLS-1$
-	useDefaultsButton.setSelection(useDefaults);
-	useDefaultsButton.setFont(font);
-
-	GridData buttonData = new GridData();
-	buttonData.horizontalSpan = 3;
-	useDefaultsButton.setLayoutData(buttonData);
-
-	createUserSpecifiedProjectLocationGroup(projectGroup, !useDefaults);
-
-	SelectionListener listener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			useDefaults = useDefaultsButton.getSelection();
-			browseButton.setEnabled(!useDefaults);
-			locationPathField.setEnabled(!useDefaults);
-			locationLabel.setEnabled(!useDefaults);
-			if (useDefaults) {
-				customLocationFieldValue = locationPathField.getText();
-				setLocationForSelection();
-			} else {
-				locationPathField.setText(customLocationFieldValue);
-			}
-		}
-	};
-	useDefaultsButton.addSelectionListener(listener);
-}
-/**
- * Creates the project name specification controls.
- *
- * @param parent the parent composite
- */
-private final void createProjectNameGroup(Composite parent) {
-	// project specification group
-	Composite projectGroup = new Composite(parent, SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 2;
-	projectGroup.setLayout(layout);
-	projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-	// new project label
-	Label projectLabel = new Label(projectGroup, SWT.NONE);
-	projectLabel.setText(WorkbenchMessages.getString("WizardNewProjectCreationPage.nameLabel")); //$NON-NLS-1$
-	projectLabel.setFont(parent.getFont());
-
-	// new project name entry field
-	projectNameField = new Text(projectGroup, SWT.BORDER);
-	GridData data = new GridData(GridData.FILL_HORIZONTAL);
-	data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-	projectNameField.setLayoutData(data);
-	projectNameField.setFont(parent.getFont());
-
-	// Set the initial value first before listener
-	// to avoid handling an event during the creation.
-	if (initialProjectFieldValue != null)
-		projectNameField.setText(initialProjectFieldValue);
-	projectNameField.addListener(SWT.Modify, nameModifyListener);
-}
-/**
- * Creates the project location specification controls.
- *
- * @param projectGroup the parent composite
- * @param boolean - the initial enabled state of the widgets created
- */
-private void createUserSpecifiedProjectLocationGroup(Composite projectGroup, boolean enabled) {
-	
-	Font font = projectGroup.getFont();
-
-	// location label
-	locationLabel = new Label(projectGroup,SWT.NONE);
-	locationLabel.setText(WorkbenchMessages.getString("WizardNewProjectCreationPage.locationLabel")); //$NON-NLS-1$
-	locationLabel.setEnabled(enabled);
-	locationLabel.setFont(font);
-
-	// project location entry field
-	locationPathField = new Text(projectGroup, SWT.BORDER);
-	GridData data = new GridData(GridData.FILL_HORIZONTAL);
-	data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-	locationPathField.setLayoutData(data);
-	locationPathField.setEnabled(enabled);
-	locationPathField.setFont(font);
-
-	// browse button
-	browseButton = new Button(projectGroup, SWT.PUSH);
-	browseButton.setText(WorkbenchMessages.getString("WizardNewProjectCreationPage.browseLabel")); //$NON-NLS-1$
-	browseButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			handleLocationBrowseButtonPressed();
-		}
-	});
-
-	browseButton.setEnabled(enabled);
-	browseButton.setFont(font);
-	setButtonLayoutData(browseButton);
-
-	// Set the initial value first before listener
-	// to avoid handling an event during the creation.
-	locationPathField.setText(initialLocationFieldValue.toOSString());
-	locationPathField.addListener(SWT.Modify, locationModifyListener);
-}
-/**
- * Returns the current project location path as entered by 
- * the user, or its anticipated initial value.
- * Note that if the default has been returned the path
- * in a project description used to create a project
- * should not be set.
- *
- * @return the project location path or its anticipated initial value.
- */
-public IPath getLocationPath() {
-	if (useDefaults)
-		return initialLocationFieldValue;
-		
-	return new Path(getProjectLocationFieldValue());
-}
-/**
- * Creates a project resource handle for the current project name field value.
- * <p>
- * This method does not create the project resource; this is the responsibility
- * of <code>IProject::create</code> invoked by the new project resource wizard.
- * </p>
- *
- * @return the new project resource handle
- */
-public IProject getProjectHandle() {
-	return ResourcesPlugin.getWorkspace().getRoot().getProject(getProjectName());
-}
-/**
- * Returns the current project name as entered by the user, or its anticipated
- * initial value.
- *
- * @return the project name, its anticipated initial value, or <code>null</code>
- *   if no project name is known
- */
-public String getProjectName() {
-	if (projectNameField == null)
-		return initialProjectFieldValue;
-		
-	return getProjectNameFieldValue();
-}
-/**
- * Returns the value of the project name field
- * with leading and trailing spaces removed.
- * 
- * @return the project name in the field
- */
-private String getProjectNameFieldValue() {
-	if (projectNameField == null)
-		return ""; //$NON-NLS-1$
-	else
-		return projectNameField.getText().trim();
-}
-/**
- * Returns the value of the project location field
- * with leading and trailing spaces removed.
- * 
- * @return the project location directory in the field
- */
-private String getProjectLocationFieldValue() {
-	if (locationPathField == null)
-		return ""; //$NON-NLS-1$
-	else
-		return locationPathField.getText().trim();
-}
-/**
- *	Open an appropriate directory browser
- */
-private void handleLocationBrowseButtonPressed() {
-	DirectoryDialog dialog = new DirectoryDialog(locationPathField.getShell());
-	dialog.setMessage(WorkbenchMessages.getString("WizardNewProjectCreationPage.directoryLabel")); //$NON-NLS-1$
-	
-	String dirName = getProjectLocationFieldValue();
-	if (!dirName.equals("")) { //$NON-NLS-1$
-		File path = new File(dirName);
-		if (path.exists())
-			dialog.setFilterPath(new Path(dirName).toOSString());
-	}
-	
-	String selectedDirectory = dialog.open();
-	if (selectedDirectory != null) {
-		customLocationFieldValue = selectedDirectory;
-		locationPathField.setText(customLocationFieldValue);
-	}
-}
-/**
- * Sets the initial project name that this page will use when
- * created. The name is ignored if the createControl(Composite)
- * method has already been called. Leading and trailing spaces
- * in the name are ignored.
- * 
- * @param name initial project name for this page
- */
-public void setInitialProjectName(String name) {
-	if (name == null)
-		initialProjectFieldValue = null;
-	else{
-		initialProjectFieldValue = name.trim();
-		initialLocationFieldValue = new Path(getDefaultLocationForName(initialProjectFieldValue));
-	}
-}
-/**
- * Set the location to the default location if we are set to useDefaults.
- */
-private void setLocationForSelection() {
-	if (useDefaults) 
-		locationPathField.setText(getDefaultLocationForName(getProjectNameFieldValue()));
-}
-
-/**
- * Get the defualt location for the provided name.
- * @return String
- * @param String
- */
- 
-private String getDefaultLocationForName(String nameValue) {
-	IPath defaultPath = Platform.getLocation().append(nameValue);
-	return defaultPath.toOSString();
-}
-/**
- * Returns whether this page's controls currently all contain valid 
- * values.
- *
- * @return <code>true</code> if all controls are valid, and
- *   <code>false</code> if at least one is invalid
- */
-protected boolean validatePage() {
-	IWorkspace workspace = WorkbenchPlugin.getPluginWorkspace();
-
-	String projectFieldContents = getProjectNameFieldValue();
-	if (projectFieldContents.equals("")) { //$NON-NLS-1$
-		setErrorMessage(null);
-		setMessage(WorkbenchMessages.getString("WizardNewProjectCreationPage.projectNameEmpty")); //$NON-NLS-1$
-		return false;
-	}
-	
-	IStatus nameStatus =
-		workspace.validateName(projectFieldContents, IResource.PROJECT);
-	if (!nameStatus.isOK()) {
-		setErrorMessage(nameStatus.getMessage());
-		return false;
-	}
-
-	String locationFieldContents = getProjectLocationFieldValue();
-	
-	if (locationFieldContents.equals("")) { //$NON-NLS-1$
-		setErrorMessage(null);
-		setMessage(WorkbenchMessages.getString("WizardNewProjectCreationPage.projectLocationEmpty")); //$NON-NLS-1$
-		return false;
-	}
-	
-	IPath path = new Path("");//$NON-NLS-1$
-	if (!path.isValidPath(locationFieldContents)) {
-		setErrorMessage(WorkbenchMessages.getString("WizardNewProjectCreationPage.locationError")); //$NON-NLS-1$
-		return false;
-	}
-	if (!useDefaults && Platform.getLocation().isPrefixOf(new Path(locationFieldContents))) {
-		setErrorMessage(WorkbenchMessages.getString("WizardNewProjectCreationPage.defaultLocationError")); //$NON-NLS-1$
-		return false;
-	}
- 
-
-	if (getProjectHandle().exists()) {
-		setErrorMessage(WorkbenchMessages.getString("WizardNewProjectCreationPage.projectExistsMessage")); //$NON-NLS-1$
-		return false;
-	}
-
-	setErrorMessage(null);
-	setMessage(null);
-	return true;
-}
-
-/*
- * see @DialogPage.setVisible(boolean)
- */
-public void setVisible(boolean visible) {
-	super.setVisible(visible);
-	if(visible)
-		projectNameField.setFocus();
-}
-
-/**
- * Returns the useDefaults.
- * @return boolean
- */
-public boolean useDefaults() {
-	return useDefaults;
-}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardNewProjectReferencePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardNewProjectReferencePage.java
deleted file mode 100644
index 745c9a9..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardNewProjectReferencePage.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.resources.*;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * Standard project reference page for a wizard that creates a 
- * project resource.
- * <p>
- * This page may be used by clients as-is; it may be also be
- * subclassed to suit.
- * </p>
- * <p>
- * Example useage:
- * <pre>
- * referencePage = new WizardNewProjectReferencePage("basicReferenceProjectPage");
- * referencePage.setTitle("Project");
- * referencePage.setDescription("Select referenced projects.");
- * </pre>
- * </p>
- */
-public class WizardNewProjectReferencePage extends WizardPage {
-	// widgets
-	private CheckboxTableViewer referenceProjectsViewer;
-
-	private static final String REFERENCED_PROJECTS_TITLE = WorkbenchMessages.getString("WizardNewProjectReferences.title"); //$NON-NLS-1$
-	private static final int PROJECT_LIST_MULTIPLIER = 15;
-/**
- * Creates a new project reference wizard page.
- *
- * @param pageName the name of this page
- */
-public WizardNewProjectReferencePage(String pageName) {
-	super(pageName);
-}
-/** (non-Javadoc)
- * Method declared on IDialogPage.
- */
-public void createControl(Composite parent) {
-	
-	Font font = parent.getFont();
-	
-	Composite composite = new Composite(parent, SWT.NONE);
-	composite.setLayout(new GridLayout());
-	composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	composite.setFont(font);
-
-	WorkbenchHelp.setHelp(composite, IHelpContextIds.NEW_PROJECT_REFERENCE_WIZARD_PAGE);
-	
-	Label referenceLabel = new Label(composite, SWT.NONE);
-	referenceLabel.setText(REFERENCED_PROJECTS_TITLE);
-	referenceLabel.setFont(font);
-
-	referenceProjectsViewer = CheckboxTableViewer.newCheckList(composite, SWT.BORDER);
-	referenceProjectsViewer.getTable().setFont(composite.getFont());
-	GridData data = new GridData();
-	data.horizontalAlignment = GridData.FILL;
-	data.grabExcessHorizontalSpace = true;
-
-	data.heightHint =
-		getDefaultFontHeight(
-			referenceProjectsViewer.getTable(),
-			PROJECT_LIST_MULTIPLIER);
-	referenceProjectsViewer.getTable().setLayoutData(data);
-	referenceProjectsViewer.setLabelProvider(new WorkbenchLabelProvider());
-	referenceProjectsViewer.setContentProvider(getContentProvider());
-	referenceProjectsViewer.setInput(ResourcesPlugin.getWorkspace());
-
-	setControl(composite);
-}
-/**
- * Returns a content provider for the reference project
- * viewer. It will return all projects in the workspace.
- *
- * @return the content provider
- */
-protected IStructuredContentProvider getContentProvider() {
-	return new WorkbenchContentProvider() {
-		public Object[] getChildren(Object element) {
-			if (!(element instanceof IWorkspace))
-				return new Object[0];
-			IProject[] projects = ((IWorkspace)element).getRoot().getProjects();
-			return projects == null ? new Object[0] : projects;
-		}
-	};
-}
-/**
- * Get the defualt widget height for the supplied control.
- * @return int
- * @param control - the control being queried about fonts
- * @param lines - the number of lines to be shown on the table.
- */
-private static int getDefaultFontHeight(Control control, int lines) {
-	FontData[] viewerFontData = control.getFont().getFontData();
-	int fontHeight = 10;
-
-	//If we have no font data use our guess
-	if (viewerFontData.length > 0)
-		fontHeight = viewerFontData[0].getHeight();
-	return lines * fontHeight;
-
-}
-/**
- * Returns the referenced projects selected by the user.
- *
- * @return the referenced projects
- */
-public IProject[] getReferencedProjects() {
-	Object[] elements = referenceProjectsViewer.getCheckedElements();
-	IProject[] projects = new IProject[elements.length];
-	System.arraycopy(elements, 0, projects, 0, elements.length);
-	return projects;	
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardResourceImportPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardResourceImportPage.java
deleted file mode 100644
index 1ffdeff..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/WizardResourceImportPage.java
+++ /dev/null
@@ -1,524 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.ArrayList;
-import java.util.Map;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.dialogs.IElementFilter;
-import org.eclipse.ui.internal.dialogs.ResourceTreeAndListGroup;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.model.WorkbenchViewerSorter;
-
-/**
- * The abstract superclass for a typical import wizard's main page.
- * <p>
- * Clients may subclass this page to inherit its common destination resource
- * selection facilities.
- * </p>
- * <p>
- * Subclasses must implement 
- * <ul>
- *   <li><code>createSourceGroup</code></li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may override
- * <ul>
- *   <li><code>allowNewContainerName</code></li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may extend
- * <ul>
- *   <li><code>handleEvent</code></li>
- * </ul>
- * </p>
- */
-public abstract class WizardResourceImportPage extends WizardDataTransferPage {
-	private IResource currentResourceSelection;
-
-	// initial value stores
-	private String initialContainerFieldValue;
-	protected java.util.List selectedTypes = new ArrayList();
-
-	// widgets
-	private Text containerNameField;
-	private Button containerBrowseButton;
-	protected ResourceTreeAndListGroup selectionGroup;
-
-	private final static int SIZING_SELECTION_WIDGET_WIDTH = 400;
-	private final static int SIZING_SELECTION_WIDGET_HEIGHT = 150;
-
-
-	//messages
-	private static final String EMPTY_FOLDER_MESSAGE = WorkbenchMessages.getString("WizardImportPage.specifyFolder"); //$NON-NLS-1$
-	private static final String INACCESSABLE_FOLDER_MESSAGE = WorkbenchMessages.getString("WizardImportPage.folderMustExist"); //$NON-NLS-1$
-
-/**
- * Creates an import wizard page. If the initial resource selection 
- * contains exactly one container resource then it will be used as the default
- * import destination.
- *
- * @param pageName the name of the page
- * @param selection the current resource selection
- */
-protected WizardResourceImportPage(String name, IStructuredSelection selection) {
-	super(name);
-
-	//Initialize to null
-	currentResourceSelection = null;
-	if (selection.size() == 1){
-		Object firstElement = selection.getFirstElement();
-		if(firstElement instanceof IAdaptable){
-			Object resource = ((IAdaptable) firstElement).getAdapter(IResource.class);
-			if(resource != null)
-				currentResourceSelection = (IResource) resource;
-		}
-	}		
-
-	if (currentResourceSelection != null) {
-		if (currentResourceSelection.getType() == IResource.FILE)
-			currentResourceSelection = currentResourceSelection.getParent();
-
-		if (!currentResourceSelection.isAccessible())
-			currentResourceSelection = null;
-	}
-
-}
-/**
- * The <code>WizardResourceImportPage</code> implementation of this 
- * <code>WizardDataTransferPage</code> method returns <code>true</code>. 
- * Subclasses may override this method.
- */
-protected boolean allowNewContainerName() {
-	return true;
-}
-/** (non-Javadoc)
- * Method declared on IDialogPage.
- */
-public void createControl(Composite parent) {
-
-	initializeDialogUnits(parent);
-	
-	Composite composite = new Composite(parent, SWT.NULL);
-	composite.setLayout(new GridLayout());
-	composite.setLayoutData(new GridData(
-		GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL));
-	composite.setSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-	composite.setFont(parent.getFont());
-
-	createSourceGroup(composite);
-
-	createSpacer(composite);
-
-	createPlainLabel(composite, WorkbenchMessages.getString("WizardImportPage.destinationLabel")); //$NON-NLS-1$
-	createDestinationGroup(composite);
-
-	createOptionsGroup(composite);
-
-	restoreWidgetValues();
-	updateWidgetEnablements();
-	setPageComplete(determinePageCompletion());
-
-	setControl(composite);
-}
-/**
- * Creates the import destination specification controls.
- *
- * @param parent the parent control
- */
-protected final void createDestinationGroup(Composite parent) {
-	// container specification group
-	Composite containerGroup = new Composite(parent,SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 3;
-	containerGroup.setLayout(layout);
-	containerGroup.setLayoutData(new GridData(
-		GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-	containerGroup.setFont(parent.getFont());
-
-
-	// container label
-	Label resourcesLabel = new Label(containerGroup,SWT.NONE);
-	resourcesLabel.setText(WorkbenchMessages.getString("WizardExportPage.folder")); //$NON-NLS-1$
-	resourcesLabel.setFont(parent.getFont());
-
-	// container name entry field
-	containerNameField = new Text(containerGroup,SWT.SINGLE|SWT.BORDER);
-	containerNameField.addListener(SWT.Modify,this);
-	GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
-	data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-	containerNameField.setLayoutData(data);
-	containerNameField.setFont(parent.getFont());
-
-	// container browse button
-	containerBrowseButton = new Button(containerGroup,SWT.PUSH);
-	containerBrowseButton.setText(WorkbenchMessages.getString("WizardImportPage.browse2")); //$NON-NLS-1$
-	containerBrowseButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-	containerBrowseButton.addListener(SWT.Selection,this);
-	containerBrowseButton.setFont(parent.getFont());
-	setButtonLayoutData(containerBrowseButton);
-
-	initialPopulateContainerField();
-}
-/**
- *	Create the import source selection widget
- */
-protected void createFileSelectionGroup(Composite parent) {
-
-	//Just create with a dummy root.
-	this.selectionGroup =
-		new ResourceTreeAndListGroup(
-			parent,
-			new FileSystemElement("Dummy", null, true),//$NON-NLS-1$
-			getFolderProvider(),
-			new WorkbenchLabelProvider(),
-			getFileProvider(),
-			new WorkbenchLabelProvider(),
-			SWT.NONE,
-			SIZING_SELECTION_WIDGET_WIDTH,
-			SIZING_SELECTION_WIDGET_HEIGHT);
-
-	ICheckStateListener listener = new ICheckStateListener() {
-		public void checkStateChanged(CheckStateChangedEvent event) {
-			updateWidgetEnablements();
-		}
-	};
-
-	WorkbenchViewerSorter sorter = new WorkbenchViewerSorter();
-	this.selectionGroup.setTreeSorter(sorter);
-	this.selectionGroup.setListSorter(sorter);
-	this.selectionGroup.addCheckStateListener(listener);
-
-}
-/**
- * Creates the import source specification controls.
- * <p>
- * Subclasses must implement this method.
- * </p>
- *
- * @param parent the parent control
- */
-protected abstract void createSourceGroup(Composite parent);
-
-/*
- * @see WizardDataTransferPage.getErrorDialogTitle()
- */
-protected String getErrorDialogTitle(){
-	return WorkbenchMessages.getString("WizardImportPage.errorDialogTitle");
-}
-
-/**
- * Returns the path of the container resource specified in the container
- * name entry field, or <code>null</code> if no name has been typed in.
- * <p>
- * The container specified by the full path might not exist and would need to
- * be created.
- * </p>
- *
- * @return the full path of the container resource specified in
- *   the container name entry field, or <code>null</code>
- */
-protected IPath getContainerFullPath() {
-	IWorkspace workspace = WorkbenchPlugin.getPluginWorkspace();
-
-	//make the path absolute to allow for optional leading slash
-	IPath testPath = getResourcePath();
-	
-	if(testPath.equals(workspace.getRoot().getFullPath()))
-		return testPath;
-
-	IStatus result =
-		workspace.validatePath(
-			testPath.toString(),
-			IResource.PROJECT | IResource.FOLDER | IResource.ROOT);
-	if (result.isOK()) {
-		return testPath;
-	}
-
-	return null;
-}
-/**
- * Returns a content provider for <code>FileSystemElement</code>s that returns 
- * only files as children.
- */
-protected abstract ITreeContentProvider getFileProvider();
-/**
- * Returns a content provider for <code>FileSystemElement</code>s that returns 
- * only folders as children.
- */
-protected abstract ITreeContentProvider getFolderProvider();
-/**
- * Return the path for the resource field.
- * @return IPath
- */
-protected IPath getResourcePath() {
-	return getPathFromText(this.containerNameField);
-}
-/**
- * Returns this page's list of currently-specified resources to be 
- * imported. This is the primary resource selection facility accessor for 
- * subclasses.
- *
- * @return a list of resources currently selected 
- * for export (element type: <code>IResource</code>)
- */
-protected java.util.List getSelectedResources() {
-	return this.selectionGroup.getAllCheckedListItems();
-}
-
-/**
- * Returns this page's list of currently-specified resources to be 
- * imported filtered by the IElementFilter.
- *
- */
-protected void getSelectedResources(IElementFilter filter, IProgressMonitor monitor) throws InterruptedException{
-	this.selectionGroup.getAllCheckedListItems(filter,monitor);
-}
-
-/**
- * Returns the container resource specified in the container name entry field,
- * or <code>null</code> if such a container does not exist in the workbench.
- *
- * @return the container resource specified in the container name entry field,
- *   or <code>null</code>
- */
-protected IContainer getSpecifiedContainer() {
-	IWorkspace workspace = WorkbenchPlugin.getPluginWorkspace();
-	IPath path = getContainerFullPath();
-	if (workspace.getRoot().exists(path))
-		return (IContainer) workspace.getRoot().findMember(path);
-
-	return null;
-}
-/**
- * Returns a collection of the currently-specified resource types for
- * use by the type selection dialog.
- */
-protected java.util.List getTypesToImport() {
-
-	return selectedTypes;
-}
-/**
- * Opens a container selection dialog and displays the user's subsequent
- * container resource selection in this page's container name field.
- */
-protected void handleContainerBrowseButtonPressed() {
-	// see if the user wishes to modify this container selection
-	IPath containerPath =
-		queryForContainer(getSpecifiedContainer(), WorkbenchMessages.getString("WizardImportPage.selectFolderLabel")); //$NON-NLS-1$
-
-	// if a container was selected then put its name in the container name field
-	if (containerPath != null) { // null means user cancelled
-		setErrorMessage(null);
-		containerNameField.setText(containerPath.makeRelative().toString());
-	}
-}
-/**
- * The <code>WizardResourceImportPage</code> implementation of this 
- * <code>Listener</code> method handles all events and enablements for controls
- * on this page. Subclasses may extend.
- * @param event Event
- */
-public void handleEvent(Event event) {
-	Widget source = event.widget;
-
-	if (source == containerBrowseButton)
-		handleContainerBrowseButtonPressed();
-
-	updateWidgetEnablements();
-}
-/**
- *	Open a registered type selection dialog and note the selections
- *	in the receivers types-to-export field
- */
-protected void handleTypesEditButtonPressed() {
-
-	TypeFilteringDialog dialog =
-		new TypeFilteringDialog(getContainer().getShell(), getTypesToImport());
-
-	dialog.open();
-
-	Object[] newSelectedTypes = dialog.getResult();
-	if (newSelectedTypes != null) { // ie.- did not press Cancel
-		this.selectedTypes = new ArrayList(newSelectedTypes.length);
-		for (int i = 0; i < newSelectedTypes.length; i++)
-			this.selectedTypes.add(newSelectedTypes[i]);
-
-		setupSelectionsBasedOnSelectedTypes();
-	}
-
-}
-/**
- * Sets the initial contents of the container name field.
- */
-protected final void initialPopulateContainerField() {
-	if (initialContainerFieldValue != null)
-		containerNameField.setText(initialContainerFieldValue);
-	else if (currentResourceSelection != null)
-		containerNameField.setText(currentResourceSelection.getFullPath().makeRelative().toString());
-}
-/**
- * Set all of the selections in the selection group to value
- * @param value boolean
- */
-protected void setAllSelections(boolean value) {
-	selectionGroup.setAllSelections(value);
-}
-/**
- * Sets the value of this page's container resource field, or stores
- * it for future use if this page's controls do not exist yet.
- *
- * @param value String
- */
-public void setContainerFieldValue(String value) {
-	if (containerNameField == null)
-		initialContainerFieldValue = value;
-	else
-		containerNameField.setText(value);
-}
-/**
- * Update the tree to only select those elements that match the selected types.
- * Do nothing by default.
- */
-protected void setupSelectionsBasedOnSelectedTypes() {
-}
-/**
- * Update the selections with those in map .
- * @param map Map - key tree elements, values Lists of list elements
- */
-protected void updateSelections(final Map map) {
-	
-	Runnable runnable  = new Runnable() {
-		public void run(){
-			selectionGroup.updateSelections(map);
-		}
-	};
-		
-	BusyIndicator.showWhile(getShell().getDisplay(),runnable);
-}
-/**
- * Check if widgets are enabled or disabled by a change in the dialog.
- * @param event Event
- */
-protected void updateWidgetEnablements() {
-
-	boolean pageComplete = determinePageCompletion();
-	setPageComplete(pageComplete);
-	if (pageComplete)
-		setMessage(null);
-	super.updateWidgetEnablements();
-}
-/* (non-Javadoc)
- * Method declared on WizardDataTransferPage.
- */
-protected final boolean validateDestinationGroup() {
-
-	IPath containerPath = getContainerFullPath();
-	if (containerPath == null) {
-		setMessage(EMPTY_FOLDER_MESSAGE);
-		return false;
-	}
-
-	// If the container exist, validate it
-	IContainer container = getSpecifiedContainer();
-	if (container == null) {
-		//if it is does not exist be sure the project does
-		IWorkspace workspace = WorkbenchPlugin.getPluginWorkspace();
-		IPath projectPath =
-			containerPath.removeLastSegments(containerPath.segmentCount() - 1);
-
-		if (workspace.getRoot().exists(projectPath))
-			return true;
-		else {
-			setErrorMessage(WorkbenchMessages.getString("WizardImportPage.projectNotExist")); //$NON-NLS-1$
-			return false;
-		}
-	} else {
-		if (!container.isAccessible()) {
-			setErrorMessage(INACCESSABLE_FOLDER_MESSAGE);
-			return false;
-		}
-		if (container.getLocation() == null) {
-			if (container.isLinked()) {
-				setErrorMessage(WorkbenchMessages.getString("WizardImportPage.undefinedPathVariable")); //$NON-NLS-1$	
-			}
-			else {
-				setErrorMessage(WorkbenchMessages.getString("WizardImportPage.containerNotExist")); //$NON-NLS-1$
-			}
-			return false;
-		}
-	}
-	
-	if(sourceConflictsWithDestination(containerPath)){
-		setErrorMessage(getSourceConflictMessage());
-		return false;
-	}
-			
-	return true;
-
-}
-
-/**
- * Returns the error message for when the source conflicts
- * with the destination.
- */
-protected final String getSourceConflictMessage(){
-	return(
-		WorkbenchMessages.getString(
-			"WizardImportPage.importOnReceiver")); //$NON-NLS-1$
-}
-
-
-/**
- * Returns whether or not the source location conflicts
- * with the destination resource. By default this is not
- * checked, so <code>false</code> is returned.
- * 
- * @param sourcePath the path being checked
- * @return <code>true</code> if the source location conflicts with the
- *   destination resource, <code>false</code> if not
- */
-protected boolean sourceConflictsWithDestination(IPath sourcePath){
-	return false;
-}
-
-/**
- * @see WizardDataTransferPage.determinePageCompletion.
- */
-protected boolean determinePageCompletion() {
-	//Check for valid projects before making the user do anything 
-	if(noOpenProjects()){
-		setErrorMessage(WorkbenchMessages.getString("WizardImportPage.noOpenProjects"));
-		return false;
-	}
-	return super.determinePageCompletion();
-}	
-
-/**
- * Returns whether or not the passed workspace has any 
- * open projects
- * @return boolean
- */
-private boolean noOpenProjects(){
-	IProject[] projects = WorkbenchPlugin.getPluginWorkspace().getRoot().getProjects();
-	for(int i = 0; i < projects.length; i ++){
-		if(projects[i].isOpen())
-			return false;
-	}
-	return true;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/YesNoCancelListSelectionDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/YesNoCancelListSelectionDialog.java
deleted file mode 100644
index 50886ca..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/YesNoCancelListSelectionDialog.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.help.*;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * YesNoCancelListSelectionDialog is a list selection dialog that also allows the user
- * to select no as a result.
- * 
- * @deprecated Providing Cancel in addition to Yes/No is confusing.
- *   It is better to subclass the regular ListSelectionDialog, which uses OK/Cancel,
- *   and provide a separate checkbox if necessary.
- */
-public class YesNoCancelListSelectionDialog extends ListSelectionDialog {
-/**
- * Create a list selection dialog with a possible Yes/No or Cancel result.
- * 
- * @deprecated see class comment
- */
-public YesNoCancelListSelectionDialog(org.eclipse.swt.widgets.Shell parentShell, Object input, org.eclipse.jface.viewers.IStructuredContentProvider contentProvider, org.eclipse.jface.viewers.ILabelProvider labelProvider, String message) {
-	super(parentShell, input, contentProvider, labelProvider, message);
-}
-/* (non-Javadoc)
- * Method declared on Dialog.
- */
-protected void buttonPressed(int buttonId) {
-	switch (buttonId) {
-		case IDialogConstants.YES_ID : {
-			yesPressed();
-			return;
-		}
-		case IDialogConstants.NO_ID : {
-			noPressed();
-			return;
-		}
-		case IDialogConstants.CANCEL_ID : {
-			cancelPressed();
-			return;
-		}
-	}
-}
-/* (non-Javadoc)
- * Method declared in Window.
- */
-protected void configureShell(Shell shell) {
-	super.configureShell(shell);
-	WorkbenchHelp.setHelp(shell, IHelpContextIds.YES_NO_CANCEL_LIST_SELECTION_DIALOG);
-}
-/* (non-Javadoc)
- * Method declared on Dialog.
- */
-protected void createButtonsForButtonBar(Composite parent) {
-	createButton(parent, IDialogConstants.YES_ID, IDialogConstants.YES_LABEL, true);
-	createButton(parent, IDialogConstants.NO_ID, IDialogConstants.NO_LABEL, false);
-	createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-
-}
-/**
- * Notifies that the no button of this dialog has been pressed.
- * <p>
- * The <code>Dialog</code> implementation of this framework method sets
- * this dialog's return code to <code>IDialogConstants.NO_ID</code>
- * and closes the dialog. Subclasses may override if desired.
- * </p>
- */
-protected void noPressed() {
-	setReturnCode(IDialogConstants.NO_ID);
-	close();
-}
-/**
- * Notifies that the yes button of this dialog has been pressed. Do the same as an OK
- * but set the return code to YES_ID instead.
- */
-protected void yesPressed() {
-	okPressed();
-	setReturnCode(IDialogConstants.YES_ID);
-	
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/package.html b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/package.html
deleted file mode 100644
index 9364ccb..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/package.html
+++ /dev/null
@@ -1,18 +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.5 [en] (WinNT; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Classes for standard dialogs, wizards, and preference
-pages in the Eclipse Platform User Interface.
-<h2>
-Package Specification</h2>
-This package provides useful classes for the definition of wizards, property
-pages and preference pages.&nbsp; It also provides standard dialogs such
-as the Save As dialog.
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/DialogPageContextComputer.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/DialogPageContextComputer.java
deleted file mode 100644
index 6435d54..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/DialogPageContextComputer.java
+++ /dev/null
@@ -1,116 +0,0 @@
-package org.eclipse.ui.help;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.help.IContext;
-import org.eclipse.jface.dialogs.IDialogPage;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.events.HelpEvent;
-import org.eclipse.swt.widgets.Control;
-import java.util.*;
-
-/**
- * For determining the help context for controls in a dialog page.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * @deprecated nested contexts are no longer supported by the help support system
- * 
- * <p>
- */ 
-public class DialogPageContextComputer implements IContextComputer {
-	private IDialogPage page;
-	private ArrayList contextList;
-	private Object context;
-/**
- * Creates a new context computer for the given dialog page and help context.
- *
- * @param page the dialog page
- * @param helpContext a single help context id (type <code>String</code>) or
- *  help context object (type <code>IContext</code>)
- */
-public DialogPageContextComputer(IDialogPage page, Object helpContext) {
-	Assert.isTrue(helpContext instanceof String || helpContext instanceof IContext);
-	this.page = page;
-	context = helpContext;
-}
-/**
- * Add the contexts to the context list.
- *
- * @param object the contexts (<code>Object[]</code> or <code>IContextComputer</code>)
- * @param event the help event 
- */
-private void addContexts(Object object, HelpEvent event) {
-	Assert.isTrue(
-		object instanceof Object[] || 
-		object instanceof IContextComputer ||
-		object instanceof String);
-		
-	if (object instanceof String) {
-		contextList.add(object);
-		return;
-	}
-		
-	Object[] contexts;
-	if (object instanceof IContextComputer) 
-		// get local contexts
-		contexts = ((IContextComputer)object).getLocalContexts(event);
-	else 
-		contexts = (Object[])object;
-
-	// copy the contexts into our list	
-	for (int i = 0; i < contexts.length; i++) 
-		contextList.add(contexts[i]); 
-}
-/**
- * Add the contexts for the given control to the context list.
- *
- * @param event the control from which to obtain the contexts
- * @param event the help event 
- */
-private void addContextsForControl(Control control, HelpEvent event) {
-	// See if there is are help contexts on the control
-	Object object = WorkbenchHelp.getHelp(control);
-
-	if (object == null || object == this)
-		// We need to check for this in order to avoid recursion
-		return;
-		
-	addContexts(object, event); 
-}
-/* (non-Javadoc)
- * Method declared on IContextComputer.
- */
-public Object[] computeContexts(HelpEvent event) {
-	contextList = new ArrayList();
-	
-	// Add the local context
-	contextList.add(context);
-	
-	// Add the contexts for the page
-	addContextsForControl(page.getControl(), event);
-	
-	// Add the contexts for the container shell	
-	addContextsForControl(page.getControl().getShell(), event); 
-
-	// Return the contexts
-	return contextList.toArray();
-}
-/**
- * Returns the context set on this page.
- *
- * @return the context set on this page. (type <code>String</code>) or
- *  help context object (type <code>IContext</code>)
- */
-private Object getContext() {
-	return context;
-}
-/* (non-Javadoc)
- * Method declared on IContextComputer.
- */
-public Object[] getLocalContexts(HelpEvent event) {
-	return new Object[] {context};
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/IContextComputer.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/IContextComputer.java
deleted file mode 100644
index 5883e7f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/IContextComputer.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.ui.help;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.swt.events.HelpEvent;
-
-/**
- * A content computer is used to dynamically calculate help support contexts at the
- * time the user requests help.
- * <p>
- * This interface may be implemented by clients.
- * </p>
- * @deprecated nested contexts are no longer supported by the help support system
- * 
- */
-public interface IContextComputer {
-/**
- * Computes contexts for the help system.
- *
- * @param event the help event which triggered this request for help
- * @return a mixed-type array of context ids (type <code>String</code>)
- *   and/or help contexts (type <code>IContext</code>)
- * @see org.eclipse.help.IContext
- */
-public Object[] computeContexts(HelpEvent event);
-/**
- * Returns the local contexts for this context computer
- * <p>
- * Typically this method is called by other instances of
- * <code>IContextComputer</code> in their <code>computeContexts</code>
- * method.
- * </p>
- * <p>
- * The important concept here is that the value returned by 
- * <code>computeContexts</code> represents the complete help
- * contexts and is passed directly to the help support system.
- * </p>
- * <p>
- * However the value returned by this method represents the
- * only the contexts for the particular control with which this
- * <code>IContextComputer</code> is associated.
- * </p> 
- * @param event the help event which triggered this request for help
- * @return a mixed-type array of context ids (type <code>String</code>)
- *   and/or help contexts (type <code>IContext</code>)
- * @see org.eclipse.help.IContext
- */
-public Object[] getLocalContexts(HelpEvent event);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/ViewContextComputer.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/ViewContextComputer.java
deleted file mode 100644
index 5164822..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/ViewContextComputer.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package org.eclipse.ui.help;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.util.Assert;
-import org.eclipse.help.*;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.swt.events.HelpEvent;
-import org.eclipse.swt.widgets.Control;
-import java.util.*;
-
-/**
- * For determining the help context for controls in a view.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * @deprecated nested contexts are no longer supported by the help support system
- */ 
-public class ViewContextComputer implements IContextComputer {
-	private IViewPart view;
-	private ArrayList contextList;
-	private Object context;
-/**
- * Creates a new context computer for the given view and help context.
- *
- * @param viewPart the view
- * @param helpContext a single help context id (type <code>String</code>) or
- *  help context object (type <code>IContext</code>)
- */
-public ViewContextComputer(IViewPart viewPart, Object helpContext) {
-	Assert.isTrue(helpContext instanceof String || helpContext instanceof IContext);
-	view = viewPart;
-	context = helpContext;
-}
-/**
- * Add the contexts to the context list.
- *
- * @param object the contexts (<code>Object[]</code> or <code>IContextComputer</code>)
- * @param event the help event 
- */
-private void addContexts(Object object, HelpEvent event) {
-	Assert.isTrue(
-		object instanceof Object[] || 
-		object instanceof IContextComputer ||
-		object instanceof String);
-		
-	if (object instanceof String) {
-		contextList.add(object);
-		return;
-	}
-
-	Object[] contexts;
-	if (object instanceof IContextComputer) 
-		// get local contexts
-		contexts = ((IContextComputer)object).getLocalContexts(event);
-	else
-		contexts = (Object[])object;
-
-	// copy the contexts into our list	
-	for (int i = 0; i < contexts.length; i++) 
-		contextList.add(contexts[i]); 
-}
-/**
- * Add the contexts for the given control to the context list.
- *
- * @param event the control from which to obtain the contexts
- * @param event the help event 
- */
-private void addContextsForControl(Control control, HelpEvent event) {
-	// See if there is are help contexts on the control
-	Object object = WorkbenchHelp.getHelp(control);
-
-	if (object == null || object == this)
-		// We need to check for this in order to avoid recursion
-		return;
-		
-	addContexts(object, event); 
-}
-/* (non-Javadoc)
- * Method declared on IContextComputer.
- */
-public Object[] computeContexts(HelpEvent event) {
-	contextList = new ArrayList();
-	
-	// Add the local context
-	contextList.add(context);
-	
-	// Add the contexts for the window shell	
-	addContextsForControl(view.getSite().getShell(), event); 
-
-	// Return the contexts
-	return contextList.toArray();
-}
-/* (non-Javadoc)
- * Method declared on IContextComputer.
- */
-public Object[] getLocalContexts(HelpEvent event) {
-	return new Object[] {context};
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/WorkbenchHelp.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/WorkbenchHelp.java
deleted file mode 100644
index f775a36..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/WorkbenchHelp.java
+++ /dev/null
@@ -1,545 +0,0 @@
-package org.eclipse.ui.help;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.*;
-import org.eclipse.help.*;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.HelpEvent;
-import org.eclipse.swt.events.HelpListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.*;
-
-/**
- * Provides methods for accessing the help support system and for hooking
- * it in.
- * <p>
- * The help support system is optional, to allow some products to be configured
- * without one. The <code>getHelpSupport</code> method returns the help support
- * system if available.
- * </p>
- * <p>
- * The various <code>setHelp</code> methods allow help to be hooked in to SWT 
- * menus, menu items, and controls, and into JFace actions. This involves 
- * furnishing a help context id. When the user requests help for one of the 
- * established widgets (for instance, by hitting F1), the context id is retrieved
- * and passed to the help support system using <code>IHelp.displayHelp(helpContexts,position)</code>.
- * </p>
- * <p>
- * In cases more dynamic situations, clients may hook their own help listner then
- * call <code>displayHelp</code> with a context id or <code>IContext</code>.
- * </p>
- * <p>
- * This class provides static methods only; it is not intended to be instantiated
- * or subclassed.
- * </p>
- *
- * @see org.eclipse.help.IHelp
- * @see #getHelpSupport
-  */
-public class WorkbenchHelp {
-	/**
-	 * Key used for stashing help-related data on SWT widgets.
-	 *
-	 * @see org.eclipse.swt.Widget.getData(java.lang.String)
-	 */	
-	private static final String HELP_KEY = "org.eclipse.ui.help";//$NON-NLS-1$
-	private static final String HELP_SYSTEM_EXTENSION_ID = "org.eclipse.help.support";//$NON-NLS-1$
-	private static final String HELP_SYSTEM_CLASS_ATTRIBUTE = "class";//$NON-NLS-1$
-	private static IHelp helpSupport;
-	private static boolean isIntialized = false;
-	private static HelpListener helpListener = null;
-/**
- * This class is not intented to be instantiated
- */
-private WorkbenchHelp() {
-}
-/**
- * Determines the location for the help popup shell given
- * the widget which orginated the request for help.
- *
- * @param display the display where the help will appear
- */
-private static Point computePopUpLocation(Display display) {
-	Point point = display.getCursorLocation();
-	return new Point(point.x + 15, point.y);
-}
-/**
- * Calls the help support system to display the given help context
- *
- * @param helpContext the id of the context to display
- * @param point the location for the help popup
- */
-private static void displayHelp(String helpContext, Point point) {
-	IHelp helpSupport = getHelpSupport();
-	if (helpSupport == null)
-		return;
-
-	helpSupport.displayContext(helpContext, point.x, point.y);
-}
-/**
- * Calls the help support system to display the given help context
- *
- * @param helpContext the context to display
- * @param point the location for the help popup
- */
-private static void displayHelp(IContext helpContext, Point point) {
-	IHelp helpSupport = getHelpSupport();
-	if (helpSupport == null)
-		return;
-
-	helpSupport.displayContext(helpContext, point.x, point.y);
-}
-/**
- * Calls the help support system to display the given help context id.
- * <p>
- * May only be called from a UI thread.
- * <p>
- *
- * @param contextId the id of the context to display
- * @since 2.0
- */
-public static void displayHelp(String contextId) {
-	Point point = computePopUpLocation(Display.getCurrent());
-	
-	displayHelp(contextId, point);
-}
-/**
- * Calls the help support system to display the given help context.
- * <p>
- * May only be called from a UI thread.
- * <p>
- *
- * @param context the context to display
- * @since 2.0
- */
-public static void displayHelp(IContext context) {
-	Point point = computePopUpLocation(Display.getCurrent());
-	
-	displayHelp(context, point);
-}
-/**
- * Returns the help contexts on the given control.
- * <p>
- * Instances of <code>IContextComputer</code> may use this method
- * to obtain the prevviously registered help contexts of a control.
- * </p>
- *
- * @param control the control on which the contexts are registered
- * @return contexts the contexts to use when F1 help is invoked; a mixed-type
- *   array of context ids (type <code>String</code>) and/or help contexts (type
- *   <code>IContext</code>) or an <code>IContextComputer</code> or
- *   <code>null</code> if no contexts have been set.
- * @deprecated as context computers are no longer supported
- */
-public static Object getHelp(Control control) {
-	return control.getData(HELP_KEY);
-}
-/**
- * Returns the help contexts on the given menu.
- * <p>
- * Instances of <code>IContextComputer</code> may use this method
- * to obtain the prevviously registered help contexts of a menu.
- * </p>
- *
- * @param menu the menu on which the contexts are registered
- * @return contexts the contexts to use when F1 help is invoked; a mixed-type
- *   array of context ids (type <code>String</code>) and/or help contexts (type
- *   <code>IContext</code>) or an <code>IContextComputer</code> or
- *   <code>null</code> if no contexts have been set.
- * @deprecated as context computers are no longer supported
- */
-public static Object getHelp(Menu menu) {
-	return menu.getData(HELP_KEY);
-}
-/**
- * Returns the help contexts on the given menu item.
- * <p>
- * Instances of <code>IContextComputer</code> may use this method
- * to obtain the prevviously registered help contexts of a menu.
- * </p>
- *
- * @param menuItem the menu item on which the contexts are registered
- * @return contexts the contexts to use when F1 help is invoked; a mixed-type
- *   array of context ids (type <code>String</code>) and/or help contexts (type
- *   <code>IContext</code>) or an <code>IContextComputer</code> or
- *   <code>null</code> if no contexts have been set.
- * @deprecated as context computers are no longer supported
- */
-public static Object getHelp(MenuItem menuItem) {
-	return menuItem.getData(HELP_KEY);
-}
-/**
- * Returns the help listener which activates the help support system.
- *
- * @return the help listener
- */
-private static HelpListener getHelpListener() {
-	if (helpListener == null)
-		initializeHelpListener();
-	return helpListener;
-}
-/**
- * Returns the help support system for the platform, if available.
- *
- * @return the help support system, or <code>null</code> if none
- */
-public static IHelp getHelpSupport() {
-	if (!isIntialized) {
-		isIntialized = true;
-		initializeHelpSupport();
-	}
-	return helpSupport;
-}
-
-/**
- * Initializes the help listener.
- */
-private static void initializeHelpListener() {
-	helpListener = new HelpListener() {
-		public void helpRequested(HelpEvent event) {
-			if (getHelpSupport() == null)
-				return;
-			
-			// get the help context from the widget
-			Object object = event.widget.getData(HELP_KEY);
-
-			// Since 2.0 we can expect that object is a String, however
-			// for backward compatability we handle context computers and arrays.
-			
-			if (object instanceof String) {
-				// determine a location in the upper right corner of the widget
-				Point point = computePopUpLocation(event.widget.getDisplay());
-				
-				// display the help
-				displayHelp((String)object, point);
-				
-				return;
-			}
-			
-			
-			Object[] helpContext = null;
-			if (object instanceof IContextComputer) 
-				// if it is a computed context, compute it now
-				helpContext = ((IContextComputer)object).computeContexts(event);
-			else if (object instanceof Object[])
-				helpContext = (Object[])object;
-
-			if (helpContext != null) {	
-				// determine a location in the upper right corner of the widget
-				Point point = computePopUpLocation(event.widget.getDisplay());
-				
-				// display the help
-				displayHelp(helpContext, point);
-			}
-		}
-	};
-}
-
-/**
- * Calls the help support system to display the given help context
- * 
- * @param helpContexts the contexts to display a mixed-type
- *   array of context ids (type <code>String</code>) and/or help contexts (type
- *   <code>IContext</code>)
- * @param point the location for point to help popup
- * @deprecated
- */
-private static void displayHelp(Object[] helpContexts, Point point) {
-	if (getHelpSupport() == null)
-		return;
-	
-	// Since 2.0 the help support system no longer provides
-	// API for an array of help contexts.
-	// Therefore we only use the first context in the array.
-	if (helpContexts[0] instanceof IContext) 
-		getHelpSupport().displayContext((IContext)helpContexts[0], point.x, point.y);
-	else
-		getHelpSupport().displayContext((String)helpContexts[0], point.x, point.y);
-}
-/**
- * Initializes the help support system by getting an instance via the extension
- * point.
- */
-private static void initializeHelpSupport() {
-	BusyIndicator.showWhile(Display.getCurrent(), new Runnable() {
-		public void run() {
-			// get the help support extension from the system plugin registry	
-			IPluginRegistry pluginRegistry = Platform.getPluginRegistry();
-			IExtensionPoint point = pluginRegistry.getExtensionPoint(HELP_SYSTEM_EXTENSION_ID);
-			if (point == null) return;
-			IExtension[] extensions = point.getExtensions();
-			if (extensions.length == 0) return;
-			// There should only be one extension/config element so we just take the first
-			IConfigurationElement[] elements = extensions[0].getConfigurationElements();
-			if (elements.length == 0) return;
-			// Instantiate the help support system
-			try {
-				helpSupport = (IHelp)WorkbenchPlugin.createExtension(elements[0],
-					HELP_SYSTEM_CLASS_ATTRIBUTE);
-			} catch (CoreException e) {
-				WorkbenchPlugin.log("Unable to instantiate help support system" + e.getStatus());//$NON-NLS-1$
-			}
-		}
-	});
-}
-
-/**
- * Returns <code>true</code> if the context-sensitive help
- * window is currently being displayed, <code>false</code> if not.
- * This avoid activating the help support if it is not already activated.
- */
-public static boolean isContextHelpDisplayed() {
-	return helpSupport != null && helpSupport.isContextHelpDisplayed();
-}
-
-/**
- * Sets the given help contexts on the given action.
- * <p>
- * Use this method when the list of help contexts is known in advance.
- * Help contexts can either supplied as a static list, or calculated with a
- * context computer (but not both).
- * </p>
- *
- * @param action the action on which to register the computer
- * @param contexts the contexts to use when F1 help is invoked; a mixed-type
- *   array of context ids (type <code>String</code>) and/or help contexts (type
- *   <code>IContext</code>)
- * @deprecated use setHelp with a single context id parameter
- */
-public static void setHelp(IAction action, final Object[] contexts) {
-	for (int i = 0; i < contexts.length; i++)
-		Assert.isTrue(contexts[i] instanceof String || contexts[i] instanceof IContext);
-	action.setHelpListener(new HelpListener() {
-		public void helpRequested(HelpEvent event) {
-			if (getHelpSupport() != null) {
-				// determine a location in the upper right corner of the widget
-				Point point = computePopUpLocation(event.widget.getDisplay());
-	
-				// display the help	
-				displayHelp(contexts, point);
-			}
-		}
-	});
-}
-
-/**
- * Sets the given help context computer on the given action.
- * <p>
- * Use this method when the help contexts cannot be computed in advance.
- * Help contexts can either supplied as a static list, or calculated with a
- * context computer (but not both).
- * </p>
- *
- * @param action the action on which to register the computer
- * @param computer the computer to determine the help contexts for the control
- *    when F1 help is invoked
- * @deprecated context computers are no longer supported, clients should implement
- *  their own help listener
- */
-public static void setHelp(IAction action, final IContextComputer computer) {
-	action.setHelpListener(new HelpListener() {
-		public void helpRequested(HelpEvent event) {
-			Object[] helpContext = computer.computeContexts(event);
-			if (helpContext != null && getHelpSupport() != null) {
-				// determine a location in the upper right corner of the widget
-				Point point = computePopUpLocation(event.widget.getDisplay());
-	
-				// display the help	
-				displayHelp(helpContext, point);
-			}
-		}
-	});
-}
-/**
- * Sets the given help contexts on the given control.
- * <p>
- * Use this method when the list of help contexts is known in advance.
- * Help contexts can either supplied as a static list, or calculated with a
- * context computer (but not both).
- * </p>
- *
- * @param control the control on which to register the contexts
- * @param contexts the contexts to use when F1 help is invoked; a mixed-type
- *   array of context ids (type <code>String</code>) and/or help contexts (type
- *   <code>IContext</code>)
- * @deprecated use setHelp with single context id parameter
- */
-public static void setHelp(Control control, Object[] contexts) {
-	for (int i = 0; i < contexts.length; i++)
-		Assert.isTrue(contexts[i] instanceof String || contexts[i] instanceof IContext);
-	
-	control.setData(HELP_KEY, contexts);
-	// ensure that the listener is only registered once
-	control.removeHelpListener(getHelpListener());
-	control.addHelpListener(getHelpListener());
-}
-/**
- * Sets the given help context computer on the given control.
- * <p>
- * Use this method when the help contexts cannot be computed in advance.
- * Help contexts can either supplied as a static list, or calculated with a
- * context computer (but not both).
- * </p>
- *
- * @param control the control on which to register the computer
- * @param computer the computer to determine the help contexts for the control
- *    when F1 help is invoked
- * @deprecated context computers are no longer supported, clients should implement
- *  their own help listener
- */
-public static void setHelp(Control control, IContextComputer computer) {
-	control.setData(HELP_KEY, computer);
-	// ensure that the listener is only registered once
-	control.removeHelpListener(getHelpListener());
-	control.addHelpListener(getHelpListener());
-}
-/**
- * Sets the given help contexts on the given menu.
- * <p>
- * Use this method when the list of help contexts is known in advance.
- * Help contexts can either supplied as a static list, or calculated with a
- * context computer (but not both).
- * </p>
- *
- * @param menu the menu on which to register the context
- * @param contexts the contexts to use when F1 help is invoked; a mixed-type
- *   array of context ids (type <code>String</code>) and/or help contexts (type
- *   <code>IContext</code>)
- * @deprecated use setHelp with single context id parameter
- */
-public static void setHelp(Menu menu, Object[] contexts) {
-	for (int i = 0; i < contexts.length; i++)
-		Assert.isTrue(contexts[i] instanceof String || contexts[i] instanceof IContext);
-	menu.setData(HELP_KEY, contexts);
-	// ensure that the listener is only registered once
-	menu.removeHelpListener(getHelpListener());
-	menu.addHelpListener(getHelpListener());
-}
-/**
- * Sets the given help context computer on the given menu.
- * <p>
- * Use this method when the help contexts cannot be computed in advance.
- * Help contexts can either supplied as a static list, or calculated with a
- * context computer (but not both).
- * </p>
- *
- * @param menu the menu on which to register the computer
- * @param computer the computer to determine the help contexts for the control
- *    when F1 help is invoked
- * @deprecated context computers are no longer supported, clients should implement
- *  their own help listener
- */
-public static void setHelp(Menu menu, IContextComputer computer) {
-	menu.setData(HELP_KEY, computer);
-	// ensure that the listener is only registered once
-	menu.removeHelpListener(getHelpListener());
-	menu.addHelpListener(getHelpListener());
-}
-/**
- * Sets the given help contexts on the given menu item.
- * <p>
- * Use this method when the list of help contexts is known in advance.
- * Help contexts can either supplied as a static list, or calculated with a
- * context computer (but not both).
- * </p>
- *
- * @param item the menu item on which to register the context
- * @param contexts the contexts to use when F1 help is invoked; a mixed-type
- *   array of context ids (type <code>String</code>) and/or help contexts (type
- *   <code>IContext</code>)
- * @deprecated use setHelp with single context id parameter
- */
-public static void setHelp(MenuItem item, Object[] contexts) {
-	for (int i = 0; i < contexts.length; i++)
-		Assert.isTrue(contexts[i] instanceof String || contexts[i] instanceof IContext);
-	item.setData(HELP_KEY, contexts);
-	// ensure that the listener is only registered once
-	item.removeHelpListener(getHelpListener());
-	item.addHelpListener(getHelpListener());
-}
-/**
- * Sets the given help context computer on the given menu item.
- * <p>
- * Use this method when the help contexts cannot be computed in advance.
- * Help contexts can either supplied as a static list, or calculated with a
- * context computer (but not both).
- * </p>
- *
- * @param item the menu item on which to register the computer
- * @param computer the computer to determine the help contexts for the control
- *    when F1 help is invoked
- * @deprecated context computers are no longer supported, clients should implement
- *  their own help listener
- */
-public static void setHelp(MenuItem item, IContextComputer computer) {
-	item.setData(HELP_KEY, computer);
-	// ensure that the listener is only registered once
-	item.removeHelpListener(getHelpListener());
-	item.addHelpListener(getHelpListener());
-}
-/**
- * Sets the given help context id on the given action.
- *
- * @param action the action on which to register the context id
- * @param contextId the context id to use when F1 help is invoked
- * @since 2.0
- */
-public static void setHelp(IAction action, final String contextId) {
-	action.setHelpListener(new HelpListener() {
-		public void helpRequested(HelpEvent event) {
-			if (getHelpSupport() != null) {
-				// determine a location in the upper right corner of the widget
-				Point point = computePopUpLocation(event.widget.getDisplay());
-	
-				// display the help	
-				displayHelp(contextId, point);
-			}
-		}
-	});
-}
-/**
- * Sets the given help context id on the given control.
- *
- * @param control the control on which to register the context id
- * @param contextId the context id to use when F1 help is invoked
- * @since 2.0
- */
-public static void setHelp(Control control, String contextId) {
-	control.setData(HELP_KEY, contextId);
-	// ensure that the listener is only registered once
-	control.removeHelpListener(getHelpListener());
-	control.addHelpListener(getHelpListener());
-}
-/**
- * Sets the given help context id on the given menu.
- *
- * @param menu the menu on which to register the context id
- * @param contextId the context id to use when F1 help is invoked
- * @since 2.0
- */
-public static void setHelp(Menu menu, String contextId) {
-	menu.setData(HELP_KEY, contextId);
-	// ensure that the listener is only registered once
-	menu.removeHelpListener(getHelpListener());
-	menu.addHelpListener(getHelpListener());
-}
-/**
- * Sets the given help context id on the given menu item.
- *
- * @param item the menu item on which to register the context id
- * @param contextId the context id to use when F1 help is invoked
- * @since 2.0
- */
-public static void setHelp(MenuItem item, String contextId) {
-	item.setData(HELP_KEY, contextId);
-	// ensure that the listener is only registered once
-	item.removeHelpListener(getHelpListener());
-	item.addHelpListener(getHelpListener());
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/package.html b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/package.html
deleted file mode 100644
index bd881ff..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/package.html
+++ /dev/null
@@ -1,21 +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.5 [en] (WinNT; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Classes for integration with the help support system
-in the Eclipse Platform User Interface.
-<h2>
-Package Specification</h2>
-Within the Eclipse Platform UI each user interface component should integrate
-with the help support system.&nbsp; The simplest form of help integration
-is accomplished using <b>WorkbenchHelp</b>.&nbsp; This class provides the
-client with methods to define a help context for SWT Controls.&nbsp; Once
-defined, the help support system will automatically launch help with the
-appropriate context if a user request for help occurs.
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AboutAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AboutAction.java
deleted file mode 100644
index 5d42c12..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AboutAction.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.jface.action.Action;
-
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.dialogs.AboutDialog;
-
-/**
- * Creates an About dialog and opens it.
- */
-public class AboutAction extends Action {
-	private IWorkbenchWindow workbenchWindow;
-	
-/**
- * Creates a new <code>AboutAction</code> with the given label
- */
-public AboutAction(IWorkbenchWindow window) {
-	this.workbenchWindow = window;
-	AboutInfo aboutInfo = ((Workbench) PlatformUI.getWorkbench()).getConfigurationInfo().getAboutInfo();
-	String productName = aboutInfo.getProductName();
-	if (productName == null) {
-		productName = ""; //$NON-NLS$
-	}
-	setText(WorkbenchMessages.format("AboutAction.text", new Object[] { productName })); //$NON-NLS-1$
-	setToolTipText(WorkbenchMessages.format("AboutAction.toolTip", new Object[] { productName})); //$NON-NLS-1$
-	setId(IWorkbenchActionConstants.ABOUT);
-	WorkbenchHelp.setHelp(this, IHelpContextIds.ABOUT_ACTION);
-}
-
-/**
- * Perform the action: show about dialog.
- */
-public void run() {
-	new AboutDialog(workbenchWindow.getShell()).open();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AboutInfo.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AboutInfo.java
deleted file mode 100644
index f3c7a37..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AboutInfo.java
+++ /dev/null
@@ -1,384 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-package org.eclipse.ui.internal;
-
-import java.io.*;
-import java.net.URL;
-import java.util.*;
-import java.util.zip.CRC32;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * The about info class;
- * <p>
- * The information within this object is obtained from the about "ini" file".
- * This file resides within an install configurations directory and must be a 
- * standard java property file.  
- * </p>
- */
-public class AboutInfo extends NewConfigurationInfo {
-
-	private String appName;
-	private String productName;
-	private ImageDescriptor windowImage;
-	private ImageDescriptor aboutImage;
-	private ImageDescriptor featureImage;
-	private String aboutText;
-	private URL welcomePageURL;
-	private String welcomePerspective;
-	private String featureImageName;
-	private Long featureImageCRC;
-	private boolean calculatedImageCRC = false;
-	private final static int BYTE_ARRAY_SIZE = 2048;
-
-	/**
-	 * Constructs a new instance of the about info.
-	 */
-	public AboutInfo(String featureId, PluginVersionIdentifier versionId) {
-		super(featureId, versionId, "about.ini", "about.properties", "about.mappings"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-
-	/**
-	 * Returns the descriptor for an image which can be shown in an "about" dialog 
-	 * for this product.
-	 * Products designed to run "headless" typically would not have such an image.
-	 * 
-	 * @return the descriptor for an about image, or <code>null</code> if none
-	 */
-	public ImageDescriptor getAboutImage() {
-		return aboutImage;
-	}
-
-	/**
-	 * Returns the descriptor for an image which can be shown in an "about features" 
-	 * dialog.
-	 * Products designed to run "headless" typically would not have such an image.
-	 * 
-	 * @return the descriptor for a feature image, or <code>null</code> if none
-	 */
-	public ImageDescriptor getFeatureImage() {
-		return featureImage;
-	}
-
-	/**
-	 * Returns the name of the feature image as supplied in the properties file.
-	 * 
-	 * @return the name of the feature image, or <code>null</code> if none
-	 */
-	public String getFeatureImageName() {
-		return featureImageName;
-	}
-
-	/**
-	 * Returns the CRC of the feature image as supplied in the properties file.
-	 * 
-	 * @return the CRC of the feature image, or <code>null</code> if none
-	 */
-	public Long getFeatureImageCRC() {
-		if (!calculatedImageCRC && featureImageName != null) {
-			featureImageCRC = calculateFeatureImageCRC();
-			calculatedImageCRC = true;
-		}
-		return featureImageCRC;
-	}
-
-	/**
-	 * Calculate a CRC for the feature image
-	 */
-	private Long calculateFeatureImageCRC() {
-		URL url = null;
-		if (featureImageName != null) {
-			IPluginDescriptor desc = getDescriptor();
-			if(desc == null)
-				return null;
-			url = desc.find(new Path("$nl$").append(featureImageName)); //$NON-NLS-1$
-		}
-		if (url == null)
-			return null;
-		// Get the image bytes
-		InputStream in = null;
-		ByteArrayOutputStream out = null;
-		try {
-			in = url.openStream();	
-			out = new ByteArrayOutputStream();
-			byte[] buffer = new byte[BYTE_ARRAY_SIZE];
-			int readResult = BYTE_ARRAY_SIZE;
-			while (readResult == BYTE_ARRAY_SIZE) {
-				readResult = in.read(buffer);
-				if (readResult > 0) 
-					out.write(buffer, 0, readResult);
-			}
-			byte[] contents = out.toByteArray();
-			// Calculate the crc
-			CRC32 crc = new CRC32();
-			crc.update(contents);
-			return new Long(crc.getValue());
-		} catch (IOException e) {
-			return null;
-		} finally {
-			if (in != null)
-				try {
-					in.close();
-				} catch (IOException e) {
-				}
-			if (out != null)
-				try {
-					out.close();
-				} catch (IOException e) {
-				}
-		}
-	}	
-		
-
-	/**
-	 * Returns a label for the feature, we use the descriptor label
-	 */
-	public String getFeatureLabel() {
-		if (getDescriptor() == null)
-			return null;
-		return getDescriptor().getLabel();
-	}
-
-	/**
-	 * Returns the text to show in an "about" dialog for this product.
-	 * Products designed to run "headless" typically would not have such text.
-	 * 
-	 * @return the about text, or <code>null</code> if none
-	 */
-	public String getAboutText() {
-		return aboutText;
-	}
-
-	/**
-	 * Returns the app name or <code>null</code>.
-	 * Note this is never shown to the user.
-	 * It is used to initialize the SWT Display.
-	 * <p>
-	 * On Motif, for example, this can be used
-	 * to set the name used for resource lookup.
-	 * </p>
-	 *
-	 * @return the app name, or <code>null</code>
-	 * 
-	 * @see org.eclipse.swt.widgets.Display#setAppName
-	 */
-	public String getAppName() {
-		return appName;
-	}
-
-	/**
-	 * Returns the product name or <code>null</code>.
-	 * This is shown in the window title and the About action.
-	 *
-	 * @return the product name, or <code>null</code>
-	 */
-	public String getProductName() {
-		IPluginDescriptor desc = getDescriptor();
-		if (desc == null)
-			return null;
-		return desc.getLabel();
-	}
-
-	/**
-	 * Returns the provider name or <code>null</code>.
-	 *
-	 * @return the provider name, or <code>null</code>
-	 */
-	public String getProviderName() {
-		IPluginDescriptor desc = getDescriptor();
-		if (desc == null)
-			return null;
-		return desc.getProviderName();
-	}
-
-	/**
-	 * Returns the version or <code>null</code>.
-	 *
-	 * @return the version, or <code>null</code>
-	 */
-	public String getVersion() {
-		PluginVersionIdentifier versionId = getVersionId();
-		if (versionId == null)
-			return null;
-		return versionId.toString();
-	}
-
-	/**
-	 * Returns a <code>URL</code> for the welcome page.
-	 * Products designed to run "headless" typically would not have such an page.
-	 * 
-	 * @return the welcome page, or <code>null</code> if none
-	 */
-	public URL getWelcomePageURL() {
-		return welcomePageURL;
-	}
-
-	/**
-	 * Returns the id of a perspective in which to show the welcome page.
-	 * May be <code>null</code>.
-	 * 
-	 * @return the welcome page perspective id, or <code>null</code> if none
-	 */
-	public String getWelcomePerspective() {
-		return welcomePerspective;
-	}
-
-	/**
-	 * Returns the image descriptor for the window image to use for this product.
-	 * Products designed to run "headless" typically would not have such an image.
-	 * 
-	 * @return the image descriptor for the window image, or <code>null</code> if none
-	 */
-	public ImageDescriptor getWindowImage() {
-		return windowImage;
-	}
-	
-	/**
-	 * Reads the ini file.
-	 */
-	protected void readINIFile(URL iniURL, URL propertiesURL, URL mappingsURL)
-		throws CoreException {
-
-		Properties ini = new Properties();
-		InputStream is = null;
-		try {
-			is = iniURL.openStream();
-			ini.load(is);
-		} catch (IOException e) {
-			reportINIFailure(e, "Cannot read about info file " + iniURL); //$NON-NLS-1$
-			return;
-		} finally {
-			try {
-				if (is != null)
-					is.close();
-			} catch (IOException e) {
-			}
-		}
-
-		PropertyResourceBundle bundle = null;
-
-		if (propertiesURL != null) {
-			InputStream bundleStream = null;
-			try {
-				bundleStream = propertiesURL.openStream();
-				bundle = new PropertyResourceBundle(bundleStream);
-			} catch (IOException e) {
-				reportINIFailure(e, "Cannot read about properties file " + propertiesURL);  //$NON-NLS-1$
-				bundle = null;
-			} finally {
-				try {
-					if (bundleStream != null)
-						bundleStream.close();
-				} catch (IOException e) {
-				}
-			}
-		}
-
-		PropertyResourceBundle mappingsBundle = null;
-
-		if (mappingsURL != null) {
-			InputStream bundleStream = null;
-			try {
-				bundleStream = mappingsURL.openStream();
-				mappingsBundle = new PropertyResourceBundle(bundleStream);
-			} catch (IOException e) {
-				reportINIFailure(e, "Cannot read about mappings file " + mappingsURL);  //$NON-NLS-1$
-				mappingsBundle = null;
-			} finally {
-				try {
-					if (bundleStream != null)
-						bundleStream.close();
-				} catch (IOException e) {
-				}
-			}
-		}
-
-		// Create the mappings array
-		ArrayList mappingsList = new ArrayList();
-		if (mappingsBundle != null) {
-			boolean found = true;
-			int i = 0;
-			while (found) {
-				try {
-					mappingsList.add(mappingsBundle.getString(new Integer(i).toString()));
-				} catch (MissingResourceException e) {
-					found = false;
-				}
-				i++;
-			}
-		}
-		String[] mappingsArray = (String[])mappingsList.toArray(new String[mappingsList.size()]);
-
-		windowImage = getImage(ini, "windowImage"); //$NON-NLS-1$
-
-		aboutText = (String) ini.get("aboutText"); //$NON-NLS-1$
-		aboutText = getResourceString(aboutText, bundle, mappingsArray);
-		
-		// Substitute $featureVersion if applicable
-		int i = aboutText.indexOf("$featureVersion"); //$NON-NLS-1$
-		if (i != -1) {
-			String s1 = aboutText.substring(0,i);
-			String s2 = aboutText.substring(i+15, aboutText.length());
-			String s3 = getVersion();
-			if (s3 == null) {
-				s1 = s1.concat(WorkbenchMessages.getString("AboutDialog.notSpecified")); //$NON-NLS-1$
-			} else {
-				s1 = s1.concat(s3);
-			}
-			aboutText = s1.concat(s2);
-		}
-
-		aboutImage = getImage(ini, "aboutImage"); //$NON-NLS-1$
-
-		featureImageName = (String) ini.get("featureImage"); //$NON-NLS-1$
-		featureImage = getImage(ini, "featureImage"); //$NON-NLS-1$
-
-		welcomePageURL = getURL(ini, "welcomePage"); //$NON-NLS-1$
-		welcomePerspective = (String) ini.get("welcomePerspective"); //$NON-NLS-1$
-
-		appName = (String) ini.get("appName"); //$NON-NLS-1$
-		appName = getResourceString(appName, bundle, mappingsArray);
-
-	}
-
-	/**
-	 * Returns a URL for the given key, or <code>null</code>.
-	 * 
-	 * @return a URL for the given key, or <code>null</code>
-	 */
-	private URL getURL(Properties ini, String key) {
-		URL url = null;
-		String fileName = (String) ini.get(key);
-		if (fileName != null) {
-			IPluginDescriptor desc = getDescriptor();
-			if(desc == null)
-				return null;
-			url = desc.find(new Path(fileName));
-		}
-		return url;
-	}
-
-	/**
-	 * Returns an image descriptor for the given key, or <code>null</code>.
-	 * 
-	 * @return an image descriptor for the given key, or <code>null</code>
-	 */
-	private ImageDescriptor getImage(Properties ini, String key) {
-		URL url = getURL(ini, key);
-		if (url != null) {
-			return ImageDescriptor.createFromURL(url);
-		}
-		return null;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AboutItem.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AboutItem.java
deleted file mode 100644
index 30d0a70..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AboutItem.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-/**
- * Holds the information for text appearing in the about dialog
- */
-public class AboutItem {
-	private String text;
-	private int[][] linkRanges;
-	private String[] hrefs;
-/**
- * Creates a new about item
- */
-public AboutItem(
-	String text,
-	int[][] linkRanges,
-	String[] hrefs) {
-	    
-	this.text = text;
-	this.linkRanges = linkRanges;
-	this.hrefs = hrefs;
-}
-/**
- * Returns the link ranges (character locations)
- */
-public int[][] getLinkRanges() {
-	return linkRanges;
-}
-/**
- * Returns the text to display
- */
-public String getText() {
-	return text;
-}
-/**
- * Returns true if a link is present at the given character location
- */
-public boolean isLinkAt(int offset) {
-	// Check if there is a link at the offset
-	for (int i = 0; i < linkRanges.length; i++){
-		if (offset >= linkRanges[i][0] && offset < linkRanges[i][0] + linkRanges[i][1]) {
-			return true;
-		}
-	}
-	return false;
-}
-/**
- * Returns the link at the given offset (if there is one),
- * otherwise returns <code>null</code>.
- */
-public String getLinkAt(int offset) {
-	// Check if there is a link at the offset
-	for (int i = 0; i < linkRanges.length; i++){
-		if (offset >= linkRanges[i][0] && offset < linkRanges[i][0] + linkRanges[i][1]) {
-			return hrefs[i];
-		}
-	}
-	return null;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AbstractPartSelectionTracker.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AbstractPartSelectionTracker.java
deleted file mode 100644
index 0c687ae..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AbstractPartSelectionTracker.java
+++ /dev/null
@@ -1,161 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.*;
-
-/**
- * Provides per-part selection tracking for the selection service.
- */
-public abstract class AbstractPartSelectionTracker {
-	/**
-	 * List of selection listeners for this tracker
-	 */
-	private ListenerList fListeners = new ListenerList(2);
-	/**
-	 * List of post selection listeners for this tracker
-	 */
-	private ListenerList postListeners = new ListenerList(2);			
-	/**
-	 * The id of the part this tracls
-	 */
-	private String fPartId;
-	
-	/**
-	 * Constructs a part selection tracker for the part with the given id.
-	 * 
-	 * @param id part identifier
-	 */
-	public AbstractPartSelectionTracker(String partId) {
-		setPartId(partId);
-	}
-	
-	/**
-	 * Adds a selection listener to this tracker
-	 * 
-	 * @param listener the listener to add
-	 */
-	public void addSelectionListener(ISelectionListener listener) {
-		fListeners.add(listener);
-	}
-	/**
-	 * Adds a post selection listener to this tracker
-	 * 
-	 * @param listener the listener to add
-	 */
-	public void addPostSelectionListener(ISelectionListener listener) {
-		postListeners.add(listener);
-	}
-	/**
-	 * Returns the selection from the part being tracked, 
-	 * or <code>null</code> if the part is closed or has no selection.
-	 */
-	public abstract ISelection getSelection();
-
-	/**
-	 * Removes a selection listener from this tracker.
-	 * 
-	 * @param listener the listener to remove
-	 */
-	public void removeSelectionListener(ISelectionListener listener) {
-		fListeners.remove(listener);
-	}
-	/**
-	 * Removes a post selection listener from this tracker.
-	 * 
-	 * @param listener the listener to remove
-	 */
-	public void removePostSelectionListener(ISelectionListener listener) {
-		postListeners.remove(listener);
-	}
-	/**
-	 * Disposes this selection tracker.  This removes all listeners currently registered.
-	 */
-	public void dispose() {
-		synchronized (fListeners) {
-			Object[] listeners = fListeners.getListeners();
-			for (int i = 0; i < listeners.length; i++) {
-				fListeners.remove(listeners[i]);
-				postListeners.remove(listeners[i]);
-			}
-		}
-	}
-	
-	/**
-	 * Fires a selection event to the listeners.
-	 * 
-	 * @param part the part or <code>null</code> if no active part
-	 * @param sel the selection or <code>null</code> if no active selection
-	 * @param listeners the list of listeners to notify
-	 */
-	protected void fireSelection(final IWorkbenchPart part, final ISelection sel) {
-		Object [] array = fListeners.getListeners();
-		for (int i = 0; i < array.length; i ++) {
-			final ISelectionListener l = (ISelectionListener)array[i];
-			if ((part != null && sel != null) || l instanceof INullSelectionListener) {
-				Platform.run(new SafeRunnable() {
-					public void run() {
-						l.selectionChanged(part, sel);
-					}
-					public void handleException(Throwable e) {
-						super.handleException(e);
-						// If an unexpected exception happens, remove the listener
-						// to make sure the workbench keeps running.
-						removeSelectionListener(l);
-					}
-				});
-			}
-		}
-	}
-	/**
-	 * Fires a post selection event to the listeners.
-	 * 
-	 * @param part the part or <code>null</code> if no active part
-	 * @param sel the selection or <code>null</code> if no active selection
-	 * @param listeners the list of listeners to notify
-	 */
-	protected void firePostSelection(final IWorkbenchPart part, final ISelection sel) {
-		Object [] array = postListeners.getListeners();
-		for (int i = 0; i < array.length; i ++) {
-			final ISelectionListener l = (ISelectionListener)array[i];
-			if ((part != null && sel != null) || l instanceof INullSelectionListener) {
-				Platform.run(new SafeRunnable() {
-					public void run() {
-						l.selectionChanged(part, sel);
-					}
-					public void handleException(Throwable e) {
-						super.handleException(e);
-						// If an unexpected exception happens, remove the listener
-						// to make sure the workbench keeps running.
-						removePostSelectionListener(l);
-					}
-				});
-			}
-		}
-	}		
-	/**
-	 * Sets the id of the part that this tracks.
-	 * 
-	 * @param id view identifier
-	 */
-	private void setPartId(String partId) {
-		fPartId = partId;
-	}
-	
-	/**
-	 * Returns the id of the part that this tracks.
-	 * 
-	 * @return part identifier
-	 */
-	protected String getPartId() {
-		return fPartId;
-	}	
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AbstractSelectionService.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AbstractSelectionService.java
deleted file mode 100644
index bfd46b3..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AbstractSelectionService.java
+++ /dev/null
@@ -1,313 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.ui.*;
-
-/**
- * Abstract selection service.
- */
-public abstract class AbstractSelectionService implements ISelectionService, IPartListener {
-	
-	/** 
-	 * The list of selection listeners (not per-part).
-	 */
-	private ListenerList listeners = new ListenerList();
-	/** 
-	 * The list of post selection listeners (not per-part).
-	 */
-	private ListenerList postListeners = new ListenerList();	
-	/**
-	 * The currently active part.
-	 */
-	private IWorkbenchPart activePart;
-	
-	/**
-	 * The active part's selection provider, remembered in case the part 
-	 * replaces its selection provider after we hooked a listener.
-	 */
-	private ISelectionProvider activeProvider;
-	
-	/**
-	 * Map from part id (String) to per-part tracker (AbstractPartSelectionTracker).
-	 */
-	private Hashtable perPartTrackers;
-	
-	/**
-	 * The JFace selection listener to hook on the active part's selection provider.
-	 */
-	private ISelectionChangedListener
-		selListener = new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				fireSelection(activePart, event.getSelection());
-			}			
-		};
-		
-	/**
-	 * The JFace post selection listener to hook on the active part's selection provider.
-	 */
-	private ISelectionChangedListener
-		postSelListener = new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				firePostSelection(activePart, event.getSelection());
-			}			
-		};		
-
-/**
- * Creates a new SelectionService.
- */
-protected AbstractSelectionService() {
-}
-
-/* (non-Javadoc)
- * Method declared on ISelectionService.
- */
-public void addSelectionListener(ISelectionListener l) {
-	listeners.add(l);
-}
-
-/* (non-Javadoc)
- * Method declared on ISelectionService.
- */
-public void addSelectionListener(String partId, ISelectionListener listener) {
-	getPerPartTracker(partId).addSelectionListener(listener);
-}
-/* (non-Javadoc)
- * Method declared on ISelectionService.
- */
-public void addPostSelectionListener(ISelectionListener l) {
-	postListeners.add(l);
-}
-
-/* (non-Javadoc)
- * Method declared on ISelectionService.
- */
-public void addPostSelectionListener(String partId, ISelectionListener listener) {
-	getPerPartTracker(partId).addPostSelectionListener(listener);
-}
-/* (non-Javadoc)
- * Method declared on ISelectionService.
- */
-public void removeSelectionListener(ISelectionListener l) {
-	listeners.remove(l);
-}
-
-/*
- * (non-Javadoc)
- * Method declared on ISelectionListener.
- */
-public void removePostSelectionListener(String partId, ISelectionListener listener) {
-	getPerPartTracker(partId).removePostSelectionListener(listener);
-}
-/* (non-Javadoc)
- * Method declared on ISelectionService.
- */
-public void removePostSelectionListener(ISelectionListener l) {
-	postListeners.remove(l);
-}
-
-/*
- * (non-Javadoc)
- * Method declared on ISelectionListener.
- */
-public void removeSelectionListener(String partId, ISelectionListener listener) {
-	getPerPartTracker(partId).removeSelectionListener(listener);
-}
-/**
- * Fires a selection event to the given listeners.
- * 
- * @param part the part or <code>null</code> if no active part
- * @param sel the selection or <code>null</code> if no active selection
- */
-protected void fireSelection(final IWorkbenchPart part, final ISelection sel) {
-	Object [] array = listeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final ISelectionListener l = (ISelectionListener)array[i];
-		if ((part != null && sel != null) || l instanceof INullSelectionListener) {
-			Platform.run(new SafeRunnable() {
-				public void run() {
-					l.selectionChanged(part, sel);
-				}
-				public void handleException(Throwable e) {
-					super.handleException(e);
-					// If an unexpected exception happens, remove the listener
-					// to make sure the workbench keeps running.
-					removeSelectionListener(l);
-				}
-			});
-		}
-	}
-}
-/**
- * Fires a selection event to the given listeners.
- * 
- * @param part the part or <code>null</code> if no active part
- * @param sel the selection or <code>null</code> if no active selection
- */
-protected void firePostSelection(final IWorkbenchPart part, final ISelection sel) {
-	Object [] array = postListeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final ISelectionListener l = (ISelectionListener)array[i];
-		if ((part != null && sel != null) || l instanceof INullSelectionListener) {
-			Platform.run(new SafeRunnable() {
-				public void run() {
-					l.selectionChanged(part, sel);
-				}
-				public void handleException(Throwable e) {
-					super.handleException(e);
-					// If an unexpected exception happens, remove the listener
-					// to make sure the workbench keeps running.
-					removePostSelectionListener(l);
-				}
-			});
-		}
-	}
-}
-/**
- * Returns the per-part selection tracker for the given part id.
- * 
- * @param partId part identifier
- * @return per-part selection tracker
- */
-protected AbstractPartSelectionTracker getPerPartTracker(String partId) {
-	if (perPartTrackers == null) {
-		perPartTrackers = new Hashtable(4);
-	}
-	AbstractPartSelectionTracker tracker = (AbstractPartSelectionTracker) perPartTrackers.get(partId);
-	if (tracker == null) {
-		tracker = createPartTracker(partId);
-		perPartTrackers.put(partId, tracker);
-	}
-	return tracker;
-}
-
-/**
- * Creates a new per-part selection tracker for the given part id.
- * 
- * @param partId part identifier
- * @return per-part selection tracker
- */
-protected abstract AbstractPartSelectionTracker createPartTracker(String partId);
-
-/**
- * Returns the selection.
- */
-public ISelection getSelection() {
-	if (activeProvider != null)
-		return activeProvider.getSelection();
-	else
-		return null;
-}
-
-/*
- * @see ISelectionService#getSelection(String)
- */
-public ISelection getSelection(String partId) {
-	return getPerPartTracker(partId).getSelection();
-}
-
-/**
- * Notifies the listener that a part has been activated.
- */
-public void partActivated(IWorkbenchPart newPart) {
-	// Optimize.
-	if (newPart == activePart)
-		return;
-		
-	// Unhook selection from the old part.
-	reset();
-
-	// Update active part.
-	activePart = newPart;
-
-	// Hook selection on the new part.
-	if (activePart != null) {
-		activeProvider = activePart.getSite().getSelectionProvider();
-		if (activeProvider != null) {
-			// Fire an event if there's an active provider
-			activeProvider.addSelectionChangedListener(selListener);
-			ISelection sel = activeProvider.getSelection();		
-			fireSelection(newPart, sel);
-			if(activeProvider instanceof StructuredViewer)
-				((StructuredViewer)activeProvider).addPostSelectionChangedListener(postSelListener);			
-			else
-				activeProvider.addSelectionChangedListener(postSelListener);
-			firePostSelection(newPart, sel);
-		} else {
-			//Reset active part. activeProvider may not be null next time this method is called.
-			activePart = null;
-		}
-	}
-	// No need to fire an event if no active provider, since this was done in reset()
-}
-
-/**
- * Notifies the listener that a part has been brought to the front.
- */
-public void partBroughtToTop(IWorkbenchPart newPart) {
-	// do nothing, the active part has not changed,
-	// so the selection is unaffected
-}
-
-/**
- * Notifies the listener that a part has been closed
- */
-public void partClosed(IWorkbenchPart part) {
-	// Unhook selection from the part.
-	if (part == activePart) {
-		reset();
-	}
-}
-
-/**
- * Notifies the listener that a part has been deactivated.
- */
-public void partDeactivated(IWorkbenchPart part) {
-	// Unhook selection from the part.
-	if (part == activePart) {
-		reset();
-	}
-}
-
-/**
- * Notifies the listener that a part has been opened.
- */
-public void partOpened(IWorkbenchPart part) {
-	// Wait for activation.
-}
-/**
- * Notifies the listener that a part has been opened.
- */
-public void partInputChanged(IWorkbenchPart part) {
-	reset();
-	partActivated(part);
-}
-/**
- * Resets the service.  The active part and selection provider are
- * dereferenced.
- */
-public void reset() {
-	if (activePart != null) {
-		fireSelection(null, null);
-		firePostSelection(null,null);
-		if (activeProvider != null) {
-			activeProvider.removeSelectionChangedListener(selListener);
-			if(activeProvider instanceof StructuredViewer)
-				((StructuredViewer)activeProvider).removePostSelectionChangedListener(postSelListener);
-			else
-				activeProvider.removeSelectionChangedListener(postSelListener);
-			activeProvider = null;
-		}
-		activePart = null;
-	}
-}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AcceleratorMenu.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AcceleratorMenu.java
deleted file mode 100644
index 659a3ff..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/AcceleratorMenu.java
+++ /dev/null
@@ -1,177 +0,0 @@
-package org.eclipse.ui.internal;
-
-import java.util.Arrays;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-
-public class AcceleratorMenu {
-
-	private int[] accelerators;
-	private Menu parent, menu;
-	private MenuItem item;
-	private Control focusControl;
-	private SelectionListener selectionListener;
-	private VerifyListener verifyListener;
-	private Listener menuItemListener, parentListener, focusControlListener;
-	
-public AcceleratorMenu(Menu parent) {
-	
-	this.parent = parent;
-	menu = new Menu(parent.getParent(), SWT.DROP_DOWN);
-	if (!parent.isVisible()) {
-		item = new MenuItem(parent, SWT.CASCADE,0);
-		item.setText("");
-		item.setMenu(menu);
-	}
-	
-	focusControlListener  = new Listener () {
-		public void handleEvent (Event event) {
-			if (verifyListener == null || menu.isDisposed()) return;
-			if (event.type == SWT.KeyDown) {
-					switch (event.keyCode) {
-						case SWT.CONTROL:
-						case SWT.SHIFT:
-						case SWT.ALT: 
-							return;
-					}
-			}
-			VerifyEvent verifyEvent = new VerifyEvent (event);
-			if (event.text == null) event.text = "";
-			verifyListener.verifyText(verifyEvent);
-			event.text = verifyEvent.text;
-			event.doit = verifyEvent.doit;
-		}
-	};
-	
-	menuItemListener = new Listener() {
-		public void handleEvent(Event event) {
-			if (selectionListener != null)  {
-				SelectionEvent selectionEvent = new SelectionEvent (event);
-				//FIX ME or get EP to just call getAccelerator
-				MenuItem item = (MenuItem) event.widget;
-				selectionEvent.detail = item.getAccelerator();
-				selectionListener.widgetSelected(selectionEvent);
-			}
-		}
-	};
-	
-	parentListener = new Listener () {
-		public void handleEvent(Event event) {
-			switch (event.type) {
-				case SWT.Dispose:
-					dispose ();
-					break;
-				case SWT.Show:
-					if(item == null || item.isDisposed())
-						break;
-					item.setMenu(null);
-					item.dispose();
-					item = null;
-					break;
-				case SWT.Hide:
-					item = new MenuItem(AcceleratorMenu.this.parent, SWT.CASCADE,0);
-					if(menu.isDisposed()) {
-						//doing more than needed;
-						setAccelerators(getAccelerators());
-					} else {
-						item.setMenu(menu);
-					}
-					break;
-			}
-		}
-	};
-	parent.addListener(SWT.Show, parentListener);
-	parent.addListener(SWT.Hide, parentListener);
-	parent.addListener(SWT.Dispose, parentListener);
-}
-
-public void addSelectionListener(SelectionListener selectionListener) {
-	this.selectionListener = selectionListener;
-}
-
-public void addVerifyListener(VerifyListener listener) {
-	verifyListener = listener;
-	setMultiMode(true);
-}
-
-public boolean isDisposed() {
-	return item == null || item.isDisposed();
-}
-
-public void dispose() {
-	setMultiMode(false);
-	parent.removeListener(SWT.Show, parentListener);
-	parent.removeListener(SWT.Hide, parentListener);
-	parent.removeListener(SWT.Dispose, parentListener);
-	menu.dispose();
-	menu = null;
-	if (item != null) item.dispose();
-	item = null;
-	focusControl = null;
-	parent = null;
-	verifyListener = null;
-	parentListener = null;
-	selectionListener = null;
-	focusControlListener = null;
-	menuItemListener = null;
-}
-
-public int[] getAccelerators() {
-	if (accelerators == null) return null;
-	int[] accelerators = new int[this.accelerators.length];
-	System.arraycopy(this.accelerators, 0, accelerators, 0, this.accelerators.length);
-	return accelerators;
-}
-
-public void removeSelectionListener(SelectionListener selectionListener) {
-	selectionListener = null;
-}
-
-public void removeVerifyListener(VerifyListener listener) {
-	verifyListener = null;
-	setMultiMode(false);
-}
-
-public void setAccelerators(final int[] accelerators) {
-	if (Arrays.equals(this.accelerators, accelerators)) return;	
-	
-	if (accelerators == null) {
-		this.accelerators = null;
-	} else {
-		this.accelerators = new int[accelerators.length];
-		System.arraycopy(accelerators, 0, this.accelerators, 0, accelerators.length);
-	}
-	
-	menu.dispose();
-	menu = new Menu(parent.getParent(), SWT.DROP_DOWN);
-	if (item != null) item.setMenu (menu);
-	
-	for (int i = 0; i < accelerators.length; i++) {
-		final int key = accelerators[i];
-		MenuItem keyMenuItem = new MenuItem(menu, SWT.PUSH);
-		keyMenuItem.setAccelerator(key);
-		keyMenuItem.addListener(SWT.Selection, menuItemListener);
-	}
-}
-
-private void setMultiMode (boolean mode) {
-	if (focusControl != null && !focusControl.isDisposed ()) {
-		focusControl.removeListener (SWT.KeyDown, focusControlListener);
-		focusControl.removeListener (SWT.Verify, focusControlListener);
-		focusControl.removeListener (SWT.FocusOut, focusControlListener);
-		focusControl.removeListener (SWT.Dispose, focusControlListener);
-	}
-	if (mode) {
-		Display display = menu.getDisplay ();
-		focusControl = display.getFocusControl ();
-		if (focusControl != null) {
-			focusControl.addListener (SWT.KeyDown, focusControlListener);
-			focusControl.addListener (SWT.Verify, focusControlListener);				
-			focusControl.addListener (SWT.FocusOut, focusControlListener);
-			focusControl.addListener (SWT.Dispose, focusControlListener);
-		}
-	}
-}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionDescriptor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionDescriptor.java
deleted file mode 100644
index 09f1976..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionDescriptor.java
+++ /dev/null
@@ -1,268 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-/**
- * When 'action' tag is found in the registry, an object of this
- * class is created. It creates the appropriate action object
- * and captures information that is later used to add this action
- * object into menu/tool bar. This class is reused for
- * global (workbench) menu/tool bar, popup menu actions,
- * as well as view's pulldown and local tool bar.
- */
-public class ActionDescriptor {
-	private PluginAction action;
-	private String toolbarPath;
-	private String menuPath;
-	private String id;
-	private String menuGroup;
-	private String toolbarGroup;
-	
-	public static final int T_POPUP=0x1;
-	public static final int T_VIEW=0x2;
-	public static final int T_WORKBENCH=0x3;
-	public static final int T_EDITOR=0x4;
-	public static final int T_WORKBENCH_PULLDOWN=0x5;
-	
-	public static final String ATT_ID = "id";//$NON-NLS-1$
-	public static final String ATT_DEFINITION_ID = "definitionId";//$NON-NLS-1$
-	public static final String ATT_HELP_CONTEXT_ID = "helpContextId";//$NON-NLS-1$
-	public static final String ATT_LABEL = "label";//$NON-NLS-1$
-	public static final String ATT_STYLE = "style";//$NON-NLS-1$
-	public static final String ATT_STATE = "state";//$NON-NLS-1$
-	public static final String ATT_DESCRIPTION = "description";//$NON-NLS-1$
-	public static final String ATT_TOOLTIP = "tooltip";//$NON-NLS-1$
-	public static final String ATT_MENUBAR_PATH = "menubarPath";//$NON-NLS-1$
-	public static final String ATT_TOOLBAR_PATH = "toolbarPath";//$NON-NLS-1$
-	public static final String ATT_ICON = "icon";//$NON-NLS-1$
-	public static final String ATT_HOVERICON = "hoverIcon";//$NON-NLS-1$
-	public static final String ATT_DISABLEDICON = "disabledIcon";//$NON-NLS-1$
-	public static final String ATT_CLASS = "class";//$NON-NLS-1$
-	public static final String ATT_RETARGET = "retarget";//$NON-NLS-1$
-	public static final String ATT_ALLOW_LABEL_UPDATE = "allowLabelUpdate";//$NON-NLS-1$
-	public static final String ATT_ACCELERATOR = "accelerator";//$NON-NLS-1$
-	
-	public static final String STYLE_PUSH = "push"; //$NON-NLS-1$
-	public static final String STYLE_RADIO = "radio"; //$NON-NLS-1$
-	public static final String STYLE_TOGGLE = "toggle"; //$NON-NLS-1$
-	public static final String STYLE_PULLDOWN = "pulldown"; //$NON-NLS-1$
-	
-/**
- * Creates a new descriptor with the specified target.
- */
-public ActionDescriptor(IConfigurationElement actionElement, int targetType) {
-	this(actionElement, targetType, null);
-}
-/**
- * Creates a new descriptor with the target and destination workbench part
- * it will go into.
- */
-public ActionDescriptor(IConfigurationElement actionElement, int targetType, Object target) {
-	// Load attributes.
-	id = actionElement.getAttribute(ATT_ID);
-	String label = actionElement.getAttribute(ATT_LABEL);
-	String defId = actionElement.getAttribute(ATT_DEFINITION_ID);
-	String tooltip = actionElement.getAttribute(ATT_TOOLTIP);
-	String helpContextId = actionElement.getAttribute(ATT_HELP_CONTEXT_ID);
-	String mpath = actionElement.getAttribute(ATT_MENUBAR_PATH);
-	String tpath = actionElement.getAttribute(ATT_TOOLBAR_PATH);
-	String style = actionElement.getAttribute(ATT_STYLE);
-	String icon = actionElement.getAttribute(ATT_ICON);
-	String hoverIcon = actionElement.getAttribute(ATT_HOVERICON);
-	String disabledIcon = actionElement.getAttribute(ATT_DISABLEDICON);
-	String description = actionElement.getAttribute(ATT_DESCRIPTION);
-	String accelerator = actionElement.getAttribute(ATT_ACCELERATOR);
-
-	// Verify input.
-	if (label == null) {
-		WorkbenchPlugin.log("Invalid action declaration (label == null): " + id); //$NON-NLS-1$
-		label = WorkbenchMessages.getString("ActionDescriptor.invalidLabel"); //$NON-NLS-1$
-	}
-
-	// Calculate menu and toolbar paths.
-	String mgroup = null;
-	String tgroup = null;
-	if (mpath != null) {
-		int loc = mpath.lastIndexOf('/');
-		if (loc != -1) {
-			mgroup = mpath.substring(loc + 1);
-			mpath = mpath.substring(0, loc);
-		} else {
-			mgroup = mpath;
-			mpath = null;
-		}
-	}
-	if (targetType == T_POPUP && mgroup == null)
-		mgroup = IWorkbenchActionConstants.MB_ADDITIONS;
-	if (tpath != null) {
-		int loc = tpath.lastIndexOf('/');
-		if (loc != -1) {
-			tgroup = tpath.substring(loc + 1);
-			tpath = tpath.substring(0, loc);
-		} else {
-			tgroup = tpath;
-			tpath = null;
-		}
-	}
-	menuPath = mpath;
-	menuGroup = mgroup;
-	toolbarPath = tpath;
-	toolbarGroup = tgroup;
-
-	// Create action.
-	action = createAction(targetType, actionElement, target, defId, style);
-	if (action.getText() == null) // may have been set by delegate
-		action.setText(label);
-	action.setId(id);
-	if (action.getToolTipText() == null && tooltip != null) // may have been set by delegate
-		action.setToolTipText(tooltip);
-	if (helpContextId != null) {
-		String fullID = helpContextId;
-		if (helpContextId.indexOf(".") == -1) //$NON-NLS-1$
-			// For backward compatibility we auto qualify the id if it is not qualified)
-			fullID = actionElement.getDeclaringExtension().getDeclaringPluginDescriptor().getUniqueIdentifier() + "." + helpContextId;//$NON-NLS-1$
-		WorkbenchHelp.setHelp(action, fullID);
-	}
-	if (description != null)
-		action.setDescription(description);
-		
-	if (style != null) {
-		// Since 2.1, the "state" and "pulldown" attributes means something different
-		// when the new "style" attribute has been set. See doc for more info.
-		String state = actionElement.getAttribute(ATT_STATE);
-		if (state != null) {
-			if (style.equals(STYLE_RADIO) || style.equals(STYLE_TOGGLE))
-				action.setChecked(state.equals("true"));//$NON-NLS-1$
-		}
-	} else {
-		// Keep for backward compatibility for actions not using the
-		// new style attribute.
-		String state = actionElement.getAttribute(ATT_STATE);
-		if (state != null) {
-			action.setChecked(state.equals("true"));//$NON-NLS-1$
-		}
-	}
-	
-	if (icon != null) {
-		action.setImageDescriptor(WorkbenchImages.getImageDescriptorFromExtension(actionElement.getDeclaringExtension(), icon));
-	}
-	if (hoverIcon != null) {
-		action.setHoverImageDescriptor(WorkbenchImages.getImageDescriptorFromExtension(actionElement.getDeclaringExtension(), hoverIcon));
-	}
-	if (disabledIcon != null) {
-		action.setDisabledImageDescriptor(WorkbenchImages.getImageDescriptorFromExtension(actionElement.getDeclaringExtension(), disabledIcon));
-	}
-	
-	if(accelerator != null)
-		processAccelerator(action,accelerator);
-}
-/**
- * Creates an instance of PluginAction. Depending on the target part,
- * subclasses of this class may be created.
- */
-private PluginAction createAction(int targetType, IConfigurationElement actionElement, Object target, String defId, String style) {
-	int actionStyle = IAction.AS_PUSH_BUTTON;
-	if (style != null) {
-		if (style.equals(STYLE_RADIO)) {
-			actionStyle = IAction.AS_RADIO_BUTTON;
-		} else if (style.equals(STYLE_TOGGLE)) {
-			actionStyle = IAction.AS_CHECK_BOX;
-		}
-	}
-	
-	switch (targetType) {
-		case T_VIEW:
-			return new ViewPluginAction(actionElement, ATT_CLASS, (IViewPart)target, defId, actionStyle);
-		case T_EDITOR:
-			return new EditorPluginAction(actionElement, ATT_CLASS, (IEditorPart)target, defId, actionStyle);
-		case T_WORKBENCH:
-			return new WWinPluginAction(actionElement, ATT_CLASS, (IWorkbenchWindow)target, defId, actionStyle);
-		case T_WORKBENCH_PULLDOWN:
-			return new WWinPluginPulldown(actionElement, ATT_CLASS, (IWorkbenchWindow)target, defId, actionStyle);
-		case T_POPUP:
-			return new ObjectPluginAction(actionElement, ATT_CLASS, defId, actionStyle);
-		default:
-			WorkbenchPlugin.log("Unknown Action Type: " + targetType);//$NON-NLS-1$
-			return null;
-	}
-}
-/**
- * Returns the action object held in this descriptor.
- */
-public PluginAction getAction() {
-	return action;
-}
-/**
- * Returns action's id as defined in the registry.
- */
-public String getId() {
-	return id;
-}
-/**
- * Returns named slot (group) in the menu where this action
- * should be added.
- */
-public String getMenuGroup() {
-	return menuGroup;
-}
-/**
- * Returns menu path where this action should be added. If null,
- * the action will not be added into the menu.
- */
-
-public String getMenuPath() {
-	return menuPath;
-}
-/**
- * Returns the named slot (group) in the tool bar where this
- * action should be added.
- */
-
-public String getToolbarGroup() {
-	return toolbarGroup;
-}
-/**
- * Returns path in the tool bar where this action should be added.
- * If null, action will not be added to the tool bar.
- */
-public String getToolbarPath() {
-	return toolbarPath;
-}
-/**
- * For debugging only.
- */
-public String toString() {
-	return "ActionDescriptor(" + id + ")";//$NON-NLS-2$//$NON-NLS-1$
-}
-
-/**
- * Process the accelerator definition. If it is a number
- * then process the code directly - if not then parse it
- * and create the code
- */
-private void processAccelerator(IAction action, String acceleratorText){
-	
-	if(acceleratorText.length() == 0)
-		return;
-	
-	//Is it a numeric definition?
-	if(Character.isDigit(acceleratorText.charAt(0))){
-		try{
-			action.setAccelerator(Integer.valueOf(acceleratorText).intValue());
-		}
-		catch (NumberFormatException exception){
-			WorkbenchPlugin.log("Invalid accelerator declaration: " + id); //$NON-NLS-1$
-		}
-	}
-	else
-		action.setAccelerator(Action.convertAccelerator(acceleratorText));
-}
-		
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionExpression.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionExpression.java
deleted file mode 100644
index b2f63d0..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionExpression.java
+++ /dev/null
@@ -1,508 +0,0 @@
-package org.eclipse.ui.internal;
-
-/************************************************************************
-Copyright (c) 2002, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IActionFilter;
-
-/**
- * An ActionExpression is used to evaluate the enablement / visibility
- * criteria for an action.  
- */
-public class ActionExpression {
-	public static final String EXP_TYPE_OR = "or"; //$NON-NLS-1$
-	public static final String EXP_TYPE_AND = "and"; //$NON-NLS-1$
-	public static final String EXP_TYPE_NOT = "not"; //$NON-NLS-1$
-	public static final String EXP_TYPE_OBJECT_STATE = "objectState"; //$NON-NLS-1$
-	public static final String EXP_TYPE_OBJECT_CLASS = "objectClass"; //$NON-NLS-1$
-	public static final String EXP_TYPE_PLUG_IN_STATE = "pluginState"; //$NON-NLS-1$
-	public static final String EXP_TYPE_SYSTEM_PROPERTY = "systemProperty"; //$NON-NLS-1$	
-
-	private static final String ATT_NAME = "name"; //$NON-NLS-1$
-	private static final String ATT_VALUE = "value"; //$NON-NLS-1$
-	private static final String ATT_ID = "id"; //$NON-NLS-1$
-	
-	private static final String PLUGIN_INSTALLED = "installed"; //$NON-NLS-1$
-	private static final String PLUGIN_ACTIVATED = "activated"; //$NON-NLS-1$
-	
-	private static final String ID_PERSISTENT_PROPERTY = "persistentProperty"; //$NON-NLS-1$
-	private static final String ID_SESSION_PROPERTY = "sessionProperty"; //$NON-NLS-1$
-
-	private SingleExpression root;
-
-	/**
-	 * Creates an action expression for the given configuration element.
-	 */
-	public ActionExpression(IConfigurationElement element) {
-		try {
-			root = new SingleExpression(element);
-		} catch (IllegalStateException e) {
-			e.printStackTrace();
-			root = null;
-		}
-	}
-
-	/**
-	 * Create an instance of the receiver with the given expression type
-	 * and value. Currently the only supported expression type is
-	 * <code>EXP_TYPE_OBJECT_CLASS</code>.
-	 */
-	public ActionExpression(String expressionType, String expressionValue) {
-		if (expressionType.equals(EXP_TYPE_OBJECT_CLASS)) {
-			root = new SingleExpression(new ObjectClassExpression(expressionValue));
-		}
-	}
-
-	/**
-	 * Returns whether the expression is valid for the given object.
-	 * 
-	 * @param object the object to validate against (can be <code>null</code>)
-	 * @return boolean whether the expression is valid for the object.
-	 */
-	public boolean isEnabledFor(Object object) {
-		if (root == null)
-			return false;
-		return root.isEnabledFor(object);
-	}
-
-	/**
-	 * Returns whether or not the receiver is potentially valid for the object
-	 * via just the extension type. Currently the only supported expression type
-	 * is <code>EXP_TYPE_OBJECT_CLASS</code>.
-	 * 
-	 * @param object the object to validate against (can be <code>null</code>)
-	 * @param expressionType the expression type to consider
-	 * @return boolean whether the expression is potentially valid for the
-	 * object.
-	 */
-	public boolean isEnabledForExpression(Object object, String expressionType) {
-		if (root == null)
-			return false;
-		return root.isEnabledForExpression(object, expressionType);
-	}
-
-	/**
-	 * Returns whether the expression is valid for all elements of the given
-	 * selection.
-	 * 
-	 * @param selection the structured selection to use
-	 * @return boolean whether the expression is valid for the selection.
-	 */
-	public boolean isEnabledFor(IStructuredSelection selection) {
-		if (root == null)
-			return false;
-			
-		if (selection == null || selection.isEmpty())
-			return root.isEnabledFor(null);
-
-		Iterator elements = selection.iterator();
-		while (elements.hasNext()) {
-			if (!isEnabledFor(elements.next()))
-				return false;
-		}
-		return true;
-	}
-
-	/**
-	 * Create an expression from the attributes and sub-elements of the
-	 * configuration element.
-	 */
-	private static AbstractExpression createExpression(IConfigurationElement element) throws IllegalStateException {
-		String tag = element.getName();
-		if (tag.equals(EXP_TYPE_OR))
-			return new OrExpression(element);
-		if (tag.equals(EXP_TYPE_AND))
-			return new AndExpression(element);
-		if (tag.equals(EXP_TYPE_NOT))
-			return new NotExpression(element);
-		if (tag.equals(EXP_TYPE_OBJECT_STATE))
-			return new ObjectStateExpression(element);
-		if (tag.equals(EXP_TYPE_OBJECT_CLASS))
-			return new ObjectClassExpression(element);
-		if (tag.equals(EXP_TYPE_PLUG_IN_STATE))
-			return new PluginStateExpression(element);
-		if (tag.equals(EXP_TYPE_SYSTEM_PROPERTY))
-			return new SystemPropertyExpression(element);
-
-		throw new IllegalStateException("Action expression unrecognized element: " + tag); //$NON-NLS-1$
-	}
-
-
-	private static abstract class AbstractExpression {
-		/**
-		 * Returns whether the expression is valid for the given object.
-		 * 
-		 * @param object the object to validate against (can be <code>null</code>)
-		 * @return boolean whether the expression is valid for the object.
-		 */
-		public abstract boolean isEnabledFor(Object object);
-
-		/**
-		 * Returns whether or not the receiver is potentially valid for the object
-		 * via just the extension type. Currently the only supported expression type
-		 * is <code>EXP_TYPE_OBJECT_CLASS</code>.
-		 * 
-		 * @param object the object to validate against (can be <code>null</code>)
-		 * @param expressionType the expression type to consider
-		 * @return boolean whether the expression is potentially valid for the
-		 * object.
-		 */
-		public boolean isEnabledForExpression(Object object, String expressionType) {
-			return false;
-		}
-	}
-
-
-	private static abstract class CompositeExpression extends AbstractExpression {
-		protected ArrayList list;
-
-		/**
-		 * Creates and populates the expression from the attributes and sub-
-		 * elements of the configuration element.
-		 */
-		public CompositeExpression(IConfigurationElement element) throws IllegalStateException {
-			super();
-			
-			IConfigurationElement[] children = element.getChildren();
-			if (children.length == 0)
-				throw new IllegalStateException("Composite expression cannot be empty"); //$NON-NLS-1$
-				
-			list = new ArrayList(children.length);
-			for (int i = 0; i < children.length; i++) {
-				String tag = children[i].getName();
-				AbstractExpression expr = createExpression(children[i]);
-				if (EXP_TYPE_OBJECT_CLASS.equals(tag))
-					list.add(0, expr);
-				else
-					list.add(expr);
-			}
-		}
-
-		/* (non-Javadoc)
-		 * Method declared on AbstractExpression.
-		 */
-		public boolean isEnabledForExpression(Object object, String expressionType) {
-			Iterator iterator = list.iterator();
-			while (iterator.hasNext()) {
-				AbstractExpression next = (AbstractExpression) iterator.next();
-				if (next.isEnabledForExpression(object, expressionType))
-					return true;
-			}
-			return false;
-		}
-	}
-
-
-	private static class SingleExpression extends AbstractExpression {
-		private AbstractExpression child;
-		
-		/**
-		 * Creates and populates the expression from the attributes and sub-
-		 * elements of the configuration element.
-		 */
-		public SingleExpression(IConfigurationElement element) throws IllegalStateException {
-			super();
-			
-			IConfigurationElement[] children = element.getChildren();
-			if (children.length != 1)
-				throw new IllegalStateException("Single expression does not contain only 1 expression"); //$NON-NLS-1$
-			child = createExpression(children[0]);
-		}
-
-		public SingleExpression(AbstractExpression expression) throws IllegalStateException {
-			super();
-			
-			if (expression != null)
-				child = expression;
-			else
-				throw new IllegalStateException("Single expression must contain 1 expression"); //$NON-NLS-1$
-		}
-		
-		/* (non-Javadoc)
-		 * Method declared on AbstractExpression.
-		 */
-		public boolean isEnabledFor(Object object) {
-			return child.isEnabledFor(object);
-		}
-
-		/* (non-Javadoc)
-		 * Method declared on AbstractExpression.
-		 */
-		public boolean isEnabledForExpression(Object object, String expressionType) {
-			return child.isEnabledForExpression(object, expressionType);
-		}
-
-	}
-
-
-	private static class NotExpression extends SingleExpression {
-
-		/**
-		 * Creates and populates the expression from the attributes and sub-
-		 * elements of the configuration element.
-		 */
-		public NotExpression(IConfigurationElement element) throws IllegalStateException {
-			super(element);
-		}
-		
-		/* (non-Javadoc)
-		 * Method declared on AbstractExpression.
-		 */
-		public boolean isEnabledFor(Object object) {
-			return !super.isEnabledFor(object);
-		}
-	}
-
-
-	private static class OrExpression extends CompositeExpression {
-
-		/**
-		 * Creates and populates the expression from the attributes and sub-
-		 * elements of the configuration element.
-		 */
-		public OrExpression(IConfigurationElement element) throws IllegalStateException {
-			super(element);
-		}
-
-		/* (non-Javadoc)
-		 * Method declared on AbstractExpression.
-		 */
-		public boolean isEnabledFor(Object object) {
-			Iterator iter = list.iterator();
-			while (iter.hasNext()) {
-				AbstractExpression expr = (AbstractExpression) iter.next();
-				if (expr.isEnabledFor(object))
-					return true;
-			}
-			return false;
-		}
-	}
-
-	private static class AndExpression extends CompositeExpression {
-
-		/**
-		 * Creates and populates the expression from the attributes and sub-
-		 * elements of the configuration element.
-		 */
-		public AndExpression(IConfigurationElement element) throws IllegalStateException {
-			super(element);
-		}
-
-		/* (non-Javadoc)
-		 * Method declared on AbstractExpression.
-		 */
-		public boolean isEnabledFor(Object object) {
-			Iterator iter = list.iterator();
-			while (iter.hasNext()) {
-				AbstractExpression expr = (AbstractExpression) iter.next();
-				if (!expr.isEnabledFor(object))
-					return false;
-			}
-			return true;
-		}
-	}
-
-	private static class ObjectStateExpression extends AbstractExpression {
-		private String name;
-		private String value;
-
-		/**
-		 * Creates and populates the expression from the attributes and sub-
-		 * elements of the configuration element.
-		 */
-		public ObjectStateExpression(IConfigurationElement element) throws IllegalStateException {
-			super();
-
-			name = element.getAttribute(ATT_NAME);
-			value = element.getAttribute(ATT_VALUE);
-			if (name == null || value == null)
-				throw new IllegalStateException("Object state expression missing attribute"); //$NON-NLS-1$
-		}
-
-		/* (non-Javadoc)
-		 * Method declared on AbstractExpression.
-		 */
-		public boolean isEnabledFor(Object object) {
-			if (object == null)
-				return false;
-				
-			// Try out the object first.
-			if (preciselyMatches(object))
-				return true;
-
-			// Try out the underlying resource.
-			if (object instanceof IResource) {
-				return false;
-			} else {
-				IResource res = null;
-				if (object instanceof IAdaptable)
-					res = (IResource) ((IAdaptable) object).getAdapter(IResource.class);
-				if (res == null)
-					return false;
-				return preciselyMatches(res);
-			}
-		}
-		
-		private boolean preciselyMatches(Object object) {
-			// Get the action filter.
-			IActionFilter filter = getActionFilter(object);
-			if (filter == null)
-				return false;
-
-			// Run the action filter.
-			return filter.testAttribute(object, name, value);
-		}
-		
-		private IActionFilter getActionFilter(Object object) {
-			IActionFilter filter = null;
-			if (object instanceof IActionFilter)
-				filter = (IActionFilter) object;
-			else if (object instanceof IAdaptable)
-				filter = (IActionFilter) ((IAdaptable) object).getAdapter(IActionFilter.class);
-			return filter;
-		}
-	}
-
-
-	private static class ObjectClassExpression extends AbstractExpression {
-		private String className;
-		
-		/**
-		 * Creates and populates the expression from the attributes and sub-
-		 * elements of the configuration element.
-		 */
-		public ObjectClassExpression(IConfigurationElement element) throws IllegalStateException {
-			super();
-			
-			className = element.getAttribute(ATT_NAME);
-			if (className == null)
-				throw new IllegalStateException("Object class expression missing name attribute"); //$NON-NLS-1$
-		}
-
-		public ObjectClassExpression(String className) {
-			super();
-			
-			if (className != null)
-				this.className = className;
-			else		
-				throw new IllegalStateException("Object class expression must have class name"); //$NON-NLS-1$
-		}
-		
-		/* (non-Javadoc)
-		 * Method declared on AbstractExpression.
-		 */
-		public boolean isEnabledFor(Object object) {
-			if (object == null)
-				return false;
-				
-			Class clazz = object.getClass();
-			while (clazz != null) {
-				// test the class itself
-				if (clazz.getName().equals(className))
-					return true;
-
-				// test all the interfaces the class implements
-				Class[] interfaces = clazz.getInterfaces();
-				for (int i = 0; i < interfaces.length; i++) {
-					if (interfaces[i].getName().equals(className))
-						return true;
-				}
-				
-				// get the superclass
-				clazz = clazz.getSuperclass();
-			}
-			
-			return false;
-		}
-
-		/* (non-Javadoc)
-		 * Method declared on AbstractExpression.
-		 */
-		public boolean isEnabledForExpression(Object object, String expressionType) {
-			if (expressionType.equals(EXP_TYPE_OBJECT_CLASS))
-				return isEnabledFor(object);
-			else
-				return false;
-		}
-	}
-
-
-	private static class PluginStateExpression extends AbstractExpression {
-		private String id;
-		private String value;
-
-		/**
-		 * Creates and populates the expression from the attributes and sub-
-		 * elements of the configuration element.
-		 */
-		public PluginStateExpression(IConfigurationElement element) throws IllegalStateException {
-			super();
-			
-			id = element.getAttribute(ATT_ID);
-			value = element.getAttribute(ATT_VALUE);
-			if (id == null || value == null)
-				throw new IllegalStateException("Plugin state expression missing attribute"); //$NON-NLS-1$
-		}
-		
-		/* (non-Javadoc)
-		 * Method declared on AbstractExpression.
-		 */
-		public boolean isEnabledFor(Object object) {
-			IPluginDescriptor desc = Platform.getPluginRegistry().getPluginDescriptor(id);
-			if (desc == null)
-				return false;
-			if (value.equals(PLUGIN_INSTALLED))
-				return true;
-			if (value.equals(PLUGIN_ACTIVATED))
-				return desc.isPluginActivated();
-			return false;
-		}
-	}
-
-
-	private static class SystemPropertyExpression extends AbstractExpression {
-		private String name;
-		private String value;
-
-		/**
-		 * Creates and populates the expression from the attributes and sub-
-		 * elements of the configuration element.
-		 */
-		public SystemPropertyExpression(IConfigurationElement element) throws IllegalStateException {
-			super();
-			
-			name = element.getAttribute(ATT_NAME);
-			value = element.getAttribute(ATT_VALUE);
-			if (name == null || value == null)
-				throw new IllegalStateException("System property expression missing attribute"); //$NON-NLS-1$
-		}
-		
-		/* (non-Javadoc)
-		 * Method declared on AbstractExpression.
-		 */
-		public boolean isEnabledFor(Object object) {
-			String str = System.getProperty(name);
-			if (str == null)
-				return false;
-			else
-				return value.equals(str);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionPresentation.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionPresentation.java
deleted file mode 100644
index 1c61c53..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionPresentation.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.ui.SubActionBars;
-import org.eclipse.ui.internal.registry.IActionSet;
-import org.eclipse.ui.internal.registry.IActionSetDescriptor;
-
-/**
- * Manage the configurable actions for one window.
- */
-public class ActionPresentation {
-	private WorkbenchWindow window;
-	private HashMap mapDescToRec = new HashMap(3);
-
-	private class SetRec {
-		public SetRec(IActionSetDescriptor desc, IActionSet set,
-			SubActionBars bars) {
-			this.desc = desc;
-			this.set = set;
-			this.bars = bars;
-		}
-		public IActionSetDescriptor desc;
-		public IActionSet set;
-		public SubActionBars bars;
-	}
-/**
- * ActionPresentation constructor comment.
- */
-public ActionPresentation(WorkbenchWindow window) {
-	super();
-	this.window = window;
-}
-/**
- * Create an action set from a descriptor.
- */
-public void addActionSet(IActionSetDescriptor desc) {
-	try {
-		IActionSet set = desc.createActionSet();
-		SubActionBars bars = new ActionSetActionBars(window.getActionBars(),
-			desc.getId());
-		SetRec rec = new SetRec(desc, set, bars);
-		mapDescToRec.put(desc, rec);
-		set.init(window, bars);
-		bars.activate();
-	} catch (CoreException e) {
-		WorkbenchPlugin.log("Unable to create ActionSet: " + desc.getId());//$NON-NLS-1$
-	}
-}
-/**
- * Remove all action sets.
- */
-public void clearActionSets() {
-	List oldList = copyActionSets();
-	Iterator iter = oldList.iterator();
-	while (iter.hasNext()) {
-		IActionSetDescriptor desc = (IActionSetDescriptor)iter.next();
-		removeActionSet(desc);
-	}
-}
-/**
- * Returns a copy of the visible action set.
- */
-private List copyActionSets() {
-	Set keys = mapDescToRec.keySet();
-	ArrayList list = new ArrayList(keys.size());
-	Iterator iter = keys.iterator();
-	while (iter.hasNext()) {
-		list.add(iter.next());
-	}
-	return list;
-}
-/**
- * Destroy an action set.
- */
-public void removeActionSet(IActionSetDescriptor desc) {
-	SetRec rec = (SetRec)mapDescToRec.get(desc);
-	if (rec != null) {
-		mapDescToRec.remove(desc);
-		IActionSet set = rec.set;
-		SubActionBars bars = rec.bars;
-		bars.dispose();
-		set.dispose();
-	}
-}
-/**
- * Sets the list of visible action set.
- */
-public void setActionSets(IActionSetDescriptor [] newArray) {
-	// Convert array to list.
-	List newList = Arrays.asList(newArray);
-	List oldList = copyActionSets();
-
-	// Remove obsolete actions.
-	Iterator iter = oldList.iterator();
-	while (iter.hasNext()) {
-		IActionSetDescriptor desc = (IActionSetDescriptor)iter.next();
-		if (!newList.contains(desc)) {
-			removeActionSet(desc);
-		}
-	}
-	
-	// Add new actions.
-	iter = newList.iterator();
-	while (iter.hasNext()) {
-		IActionSetDescriptor desc = (IActionSetDescriptor)iter.next();
-		if (!mapDescToRec.containsKey(desc)) {
-			addActionSet(desc);
-		}
-	}
-}
-/**
- */
-public IActionSet[] getActionSets() {
-	Collection setRecCollection = mapDescToRec.values();
-	IActionSet result[] = new IActionSet[setRecCollection.size()];
-	int i = 0;
-	for (Iterator iterator = setRecCollection.iterator(); iterator.hasNext();i++)
-		result[i] = ((SetRec)iterator.next()).set;
-	return result;	
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionSetActionBars.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionSetActionBars.java
deleted file mode 100644
index 11d12eb..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionSetActionBars.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.eclipse.ui.internal;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. and others. 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

-Contributors:
-**********************************************************************/
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.SubMenuManager;
-import org.eclipse.jface.action.SubToolBarManager;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.SubActionBars;
-
-/**
- * This class represents the action bars for an action set.
- */
-public class ActionSetActionBars extends SubActionBars {
-	private String actionSetId;
-	private CoolItemToolBarManager coolItemToolBarMgr;
-	/**
-	 * Constructs a new action bars object
-	 */
-	public ActionSetActionBars(IActionBars parent, String actionSetId) {
-		super(parent);
-		this.actionSetId = actionSetId;
-	}
-	/* (non-Javadoc)
-	 * Inherited from SubActionBars.
-	 */
-	protected SubMenuManager createSubMenuManager(IMenuManager parent) {
-		return new ActionSetMenuManager(parent, actionSetId);
-	}
-	/* (non-Javadoc)
-	 * Inherited from SubActionBars.
-	 */
-	protected SubToolBarManager createSubToolBarManager(IToolBarManager parent) {
-		// return null, action sets are managed by CoolItemToolBarManagers
-		return null;
-	}
-	/**
-	 * Dispose the contributions.
-	 */
-	public void dispose() {
-		super.dispose();
-		if (coolItemToolBarMgr != null)
-			coolItemToolBarMgr.removeAll();
-	}
-	/**
-	 * Returns the tool bar manager.  If items are added or
-	 * removed from the manager be sure to call <code>updateActionBars</code>.
-	 *
-	 * @return the tool bar manager
-	 */
-	public IToolBarManager getToolBarManager() {
-		IToolBarManager parentMgr = getParent().getToolBarManager();
-		if (parentMgr == null) {
-			return null;
-		}
-		if (coolItemToolBarMgr == null) {
-			// Create a CoolBar item for this action bar.
-			CoolBarManager cBarMgr = ((CoolBarManager) parentMgr);
-			coolItemToolBarMgr = new CoolItemToolBarManager(cBarMgr.getStyle());
-			// Just create the CoolBarContributionItem, PluginActionSetBuilder will add the item to
-			// the CoolBarManager.
-			new CoolBarContributionItem(cBarMgr, coolItemToolBarMgr, actionSetId);
-			coolItemToolBarMgr.setVisible(getActive());
-		}
-		return coolItemToolBarMgr;
-	}
-	/**
-	 * Activate / Deactivate the contributions.
-	 */
-	protected void setActive(boolean set) {
-		super.setActive(set);
-		if (coolItemToolBarMgr != null)
-			coolItemToolBarMgr.setVisible(set);
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionSetContributionItem.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionSetContributionItem.java
deleted file mode 100644
index 9bac142..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionSetContributionItem.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.*;
-
-/**
- * This class marks a sub contribution item as belonging to
- * an action set.
- */
-public class ActionSetContributionItem extends SubContributionItem 
-	implements IActionSetContributionItem 
-{
-	private String actionSetId;
-/**
- * Constructs a new item
- */
-public ActionSetContributionItem(IContributionItem item, String actionSetId) {
-	super(item);
-	this.actionSetId = actionSetId;
-}
-/**
- * Returns the action set id.
- */
-public String getActionSetId() {
-	return actionSetId;
-}
-/**
- * Sets the action set id.
- */
-public void setActionSetId(String newActionSetId) {
-	actionSetId = newActionSetId;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionSetMenuManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionSetMenuManager.java
deleted file mode 100644
index 142258a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionSetMenuManager.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.eclipse.ui.internal;
-
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.SubContributionItem;
-import org.eclipse.jface.action.SubMenuManager;
-
-/**
- * An <code>EditorMenuManager</code> is used to sort the contributions
- * made by an editor so that they always appear after the action sets.  
- */
-public class ActionSetMenuManager extends SubMenuManager {
-	private String actionSetId;
-	/**
-	 * Constructs a new editor manager.
-	 */
-	public ActionSetMenuManager(IMenuManager mgr, String actionSetId) {
-		super(mgr);
-		this.actionSetId = actionSetId;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 *
-	 * Returns the item passed to us, not the wrapper.
-	 * In the case of menu's not added by this manager,
-	 * ensure that we return a wrapper for the menu.
-	 */
-	public IContributionItem find(String id) {
-		IContributionItem item = getParentMenuManager().find(id);
-		if (item instanceof SubContributionItem)
-			// Return the item passed to us, not the wrapper.
-			item = unwrap(item);
-
-		if (item instanceof IMenuManager) {
-			// if it is a menu manager wrap it before returning
-			IMenuManager menu = (IMenuManager) item;
-			if (menu instanceof SubMenuManager)
-				// it it is already wrapped then remover the wrapper and 
-				// rewrap. We have a table of wrappers so we reuse wrappers
-				// we create.
-				menu = (IMenuManager) ((SubMenuManager) menu).getParent();
-			item = getWrapper(menu);
-		}
-
-		return item;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 */
-	public IContributionItem[] getItems() {
-		return getParentMenuManager().getItems();
-	}
-	/* (non-Javadoc)
-	 * Method declared on SubContributionManager.
-	 */
-	protected SubContributionItem wrap(IContributionItem item) {
-		return new ActionSetContributionItem(item, actionSetId);
-	}
-	/* (non-Javadoc)
-	 * Method declared on SubMenuManager.
-	 */
-	protected SubMenuManager wrapMenu(IMenuManager menu) {
-		return new ActionSetMenuManager(menu, actionSetId);
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionSetSeparator.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionSetSeparator.java
deleted file mode 100644
index 6e79659..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionSetSeparator.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.jface.action.*;
-
-/**
- * This class represents a pseudo-group defined by an action set.
- * It is not a real group ( aka GroupMarker ) because that would interfere with
- * the pre-existing groups in a menu or toolbar.
- */
-public class ActionSetSeparator extends ContributionItem 
-	implements IActionSetContributionItem 
-{
-	private String actionSetId;
-/**
- * Constructs a new group marker.
- */
-public ActionSetSeparator(String groupName, String newActionSetId) {
-	super(groupName);
-	actionSetId = newActionSetId;
-}
-/* (non-Javadoc)
- * Method declared on IContributionItem.
- * Fills the given menu with a SWT separator MenuItem.
- */
-public void fill(Menu menu, int index) {
-	if (index >= 0)
-		new MenuItem(menu, SWT.SEPARATOR, index);
-	else
-		new MenuItem(menu, SWT.SEPARATOR);
-}
-/* (non-Javadoc)
- * Method declared on IContributionItem.
- * Fills the given tool bar with a SWT separator ToolItem.
- */
-public void fill(ToolBar toolbar, int index) {
-	if (index >= 0)
-		new ToolItem(toolbar, SWT.SEPARATOR, index);
-	else
-		new ToolItem(toolbar, SWT.SEPARATOR);
-}
-/**
- * Returns the action set id.
- */
-public String getActionSetId() {
-	return actionSetId;
-}
-/** 
- * The <code>Separator</code> implementation of this <code>IContributionItem</code> 
- * method returns <code>true</code>
- */
-public boolean isSeparator() {
-	return true;
-}
-/**
- * Sets the action set id.
- */
-public void setActionSetId(String newActionSetId) {
-	actionSetId = newActionSetId;	
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActivateEditorAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActivateEditorAction.java
deleted file mode 100644
index 236a535..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActivateEditorAction.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * Copyright (c) 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.swt.SWT;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPartReference;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Activates the most recently used editor in the current window.
- */
-public class ActivateEditorAction extends PageEventAction {
-
-	private int accelerator;
-	
-/**
- * Creates an ActivateEditorAction.
- */
-protected ActivateEditorAction(IWorkbenchWindow window) {
-	super(WorkbenchMessages.getString("ActivateEditorAction.text"), window); //$NON-NLS-1$
-	setToolTipText(WorkbenchMessages.getString("ActivateEditorAction.toolTip")); //$NON-NLS-1$
-	window.getPartService().addPartListener(this);
-	updateState();
-	WorkbenchHelp.setHelp(this, IHelpContextIds.ACTIVATE_EDITOR_ACTION);
-}
-
-public void pageActivated(IWorkbenchPage page) {
-	super.pageActivated(page);
-	updateState();
-}
-
-public void pageClosed(IWorkbenchPage page) {
-	super.pageClosed(page);
-	updateState();
-}
-
-
-/**
- * @see Action#run()
- */
-public void runWithEvent(Event e) {
-	accelerator = e.detail;
-	WorkbenchPage page = (WorkbenchPage)getActivePage();
-	if (page != null) {
-		IEditorPart part = page.getActiveEditor(); // may not actually be active
-		if (part != null) {
-			page.activate(part);
-		} else {
-			IWorkbenchPartReference ref = page.getActivePartReference();
-			if(ref instanceof IViewReference) {
-				if(page.isFastView((IViewReference)ref))
-					page.toggleFastView((IViewReference)ref);
-			}
-		}
-	}
-}
-
-/**
- * Updates the enabled state.
- */
-public void updateState() {
-	IWorkbenchPage page = getActivePage();
-	setEnabled(page != null);
-}
-
-public int getAccelerator() {
-	int accelerator = this.accelerator;
-	accelerator = accelerator & ~ SWT.CTRL;
-	accelerator = accelerator & ~ SWT.SHIFT;
-	accelerator = accelerator & ~ SWT.ALT;
-	return accelerator;
-}
-}
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActiveEditorAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActiveEditorAction.java
deleted file mode 100644
index cfe4fe9..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActiveEditorAction.java
+++ /dev/null
@@ -1,167 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-
-/**
- * The abstract superclass for actions that depend on the active editor.
- * This implementation tracks the active editor (see <code>getActiveEditor</code>)
- * and updates the availability of the action when an editor becomes
- * active.
- * <p>
- * Subclasses must implement the following <code>IAction</code> method:
- * <ul>
- *   <li><code>run</code> - to do the action's work</li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may extend any of the <code>IPartListener</code> methods if the
- * action availablity needs to be recalculated:
- * <ul>
- *   <li><code>partActivated</code></li> 
- *   <li><code>partDeactivated</code></li>
- *   <li><code>partOpened</code></li>
- *   <li><code>partClosed</code></li>
- *   <li><code>partBroughtToTop</code></li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may extend any of the <code>IPageListener</code> methods if the
- * action availablity needs to be recalculated:
- * <ul>
- *   <li><code>pageActivated</code></li> 
- *   <li><code>pageClosed</code></li>
- *   <li><code>pageOpened</code></li>
- * </ul>
- * </p>
- */
-public abstract class ActiveEditorAction extends PageEventAction {
-	private IEditorPart activeEditor;
-/**
- * Creates a new action with the given text.
- *
- * @param text the string used as the text for the action, 
- *   or <code>null</code> if there is no text
- * @param window the workbench window this action is
- *   registered with.
- */
-protected ActiveEditorAction(String text, IWorkbenchWindow window) {
-	super(text, window);
-	updateState();
-}
-/**
- * Notification that the active editor tracked
- * by the action is being activated.
- *
- * Subclasses can overwrite.
- */
-protected void editorActivated(IEditorPart part) {
-}
-/**
- * Notification that the active editor tracked
- * by the action is being deactivated.
- *
- * Subclasses can overwrite.
- */
-protected void editorDeactivated(IEditorPart part) {
-}
-/**
- * Return the active editor
- *
- * @return the page's active editor, and <code>null</code>
- *		if no active editor or no active page.
- */
-public IEditorPart getActiveEditor() {
-	return activeEditor;
-}
-/* (non-Javadoc)
- * Method declared on PageEventAction.
- */
-public void pageActivated(IWorkbenchPage page) {
-	super.pageActivated(page);
-	updateActiveEditor();
-	updateState();
-}
-/* (non-Javadoc)
- * Method declared on PageEventAction.
- */
-public void pageClosed(IWorkbenchPage page) {
-	super.pageClosed(page);
-	updateActiveEditor();
-	updateState();
-}
-/* (non-Javadoc)
- * Method declared on PartEventAction.
- */
-public void partActivated(IWorkbenchPart part) {
-	super.partActivated(part);
-	if (part instanceof IEditorPart) {
-		updateActiveEditor();
-		updateState();
-	}
-}
-/* (non-Javadoc)
- * Method declared on PartEventAction.
- */
-public void partBroughtToTop(IWorkbenchPart part) {
-	super.partBroughtToTop(part);
-	if (part instanceof IEditorPart) {
-		updateActiveEditor();
-		updateState();
-	}
-}
-/* (non-Javadoc)
- * Method declared on PartEventAction.
- */
-public void partClosed(IWorkbenchPart part) {
-	super.partClosed(part);
-	if (part instanceof IEditorPart) {
-		updateActiveEditor();
-		updateState();
-	}
-}
-/* (non-Javadoc)
- * Method declared on PartEventAction.
- */
-public void partDeactivated(IWorkbenchPart part) {
-	super.partDeactivated(part);
-	if (part instanceof IEditorPart) {
-		updateActiveEditor();
-		updateState();
-	}
-}
-/**
- * Set the active editor
- */
-private void setActiveEditor(IEditorPart part) {
-	if (activeEditor == part)
-		return;
-	if (activeEditor != null)
-		editorDeactivated(activeEditor);
-	activeEditor = part;
-	if (activeEditor != null)
-		editorActivated(activeEditor);
-}
-/**
- * Update the active editor based on the current
- * active page.
- */
-private void updateActiveEditor() {
-	if (getActivePage() == null)
-		setActiveEditor(null);
-	else
-		setActiveEditor(getActivePage().getActiveEditor());
-}
-/**
- * Update the state of the action. By default, the action
- * is enabled if there is an active editor.
- *
- * Subclasses may overwrite this method.
- */
-protected void updateState() {
-	setEnabled(getActiveEditor() != null);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/BaseSaveAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/BaseSaveAction.java
deleted file mode 100644
index 8ca5584..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/BaseSaveAction.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-
-/**
- * The abstract superclass for save actions that depend on the active editor.
- */
-public abstract class BaseSaveAction extends ActiveEditorAction
-	implements IPropertyListener 
-{
-/**
- * Creates a new action with the given text.
- *
- * @param text the string used as the text for the action, 
- *   or <code>null</code> if there is no text
- * @param window the workbench window this action is
- *   registered with.
- */
-protected BaseSaveAction(String text, IWorkbenchWindow window) {
-	super(text, window);
-}
-/* (non-Javadoc)
- * Method declared on ActiveEditorAction.
- */
-protected void editorActivated(IEditorPart part) {
-	if (part != null)
-		part.addPropertyListener(this);
-}
-/* (non-Javadoc)
- * Method declared on ActiveEditorAction.
- */
-protected void editorDeactivated(IEditorPart part) {
-	if (part != null)
-		part.removePropertyListener(this);
-}
-/* (non-Javadoc)
- * Method declared on IPropertyListener.
- */
-public void propertyChanged(Object source, int propID) {
-	if (source == getActiveEditor()) {
-		if (propID == IWorkbenchPart.PROP_TITLE || propID == IEditorPart.PROP_DIRTY)
-			updateState();
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CTabPartDragDrop.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CTabPartDragDrop.java
deleted file mode 100644
index 25d3958..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CTabPartDragDrop.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ChangeToPerspectiveMenu.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ChangeToPerspectiveMenu.java
deleted file mode 100644
index bddb58f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ChangeToPerspectiveMenu.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ui.*;
-import org.eclipse.ui.actions.PerspectiveMenu;
-
-/**
- * Change the perspective of the active page in the window
- * to the selected one.
- */
-public class ChangeToPerspectiveMenu extends PerspectiveMenu {
-
-	/**
-	 * Constructor for ChangeToPerspectiveMenu.
-	 * 
-	 * @param window the workbench window this action applies to.
-	 */
-	public ChangeToPerspectiveMenu(IWorkbenchWindow window) {
-		super(window, "ChangeToPerspectiveMenu"); //$NON-NLS-1$
-		showActive(true);
-	}
-
-	/* (non-Javadoc)
-	 * @see PerspectiveMenu#run(IPerspectiveDescriptor)
-	 */
-	protected void run(IPerspectiveDescriptor desc) {
-		IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-		int mode = store.getInt(IPreferenceConstants.OPEN_PERSP_MODE);
-		IWorkbenchPage page = getWindow().getActivePage();
-		IPerspectiveDescriptor persp = null;
-		if (page != null)
-			persp = page.getPerspective();
-		
-		// Only open a new window if user preference is set and the window
-		// has an active perspective.
-		if (IPreferenceConstants.OPM_NEW_WINDOW == mode && persp != null) {
-			try {
-				IAdaptable input = WorkbenchPlugin.getPluginWorkspace().getRoot();
-				IWorkbench workbench = getWindow().getWorkbench();
-				workbench.openWorkbenchWindow(desc.getId(), input);
-			} catch (WorkbenchException e) {
-				handleWorkbenchException(e);
-			}
-		} else {
-			if (page != null) {
-				page.setPerspective(desc);
-			} else {
-				try {
-					IAdaptable input = WorkbenchPlugin.getPluginWorkspace().getRoot();
-					getWindow().openPage(desc.getId(), input);
-				} catch(WorkbenchException e) {
-					handleWorkbenchException(e);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Handles workbench exception
-	 */
-	private void handleWorkbenchException(WorkbenchException e) {
-		ErrorDialog.openError(
-			getWindow().getShell(),
-			WorkbenchMessages.getString("ChangeToPerspectiveMenu.errorTitle"), //$NON-NLS-1$,
-			e.getMessage(),
-			e.getStatus());
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CloseAllAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CloseAllAction.java
deleted file mode 100644
index 79ce604..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CloseAllAction.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-import org.eclipse.ui.actions.PartEventAction;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- *	Closes all active editors
- */
-public class CloseAllAction extends PartEventAction implements IPageListener {
-	private IWorkbenchWindow workbench;	
-/**
- *	Create an instance of this class
- */
-public CloseAllAction(IWorkbenchWindow aWorkbench) {
-	super(WorkbenchMessages.getString("CloseAllAction.text")); //$NON-NLS-1$
-	this.workbench = aWorkbench;
-	setToolTipText(WorkbenchMessages.getString("CloseAllAction.toolTip")); //$NON-NLS-1$
-	setEnabled(false);
-	setId(IWorkbenchActionConstants.CLOSE_ALL);
-	updateState();
-	aWorkbench.addPageListener(this);
-	WorkbenchHelp.setHelp(this, IHelpContextIds.CLOSE_ALL_ACTION);
-}
-/**
- * Notifies this listener that the given page has been activated.
- *
- * @param page the page that was activated
- * @see IWorkbenchWindow#setActivePage
- */
-public void pageActivated(org.eclipse.ui.IWorkbenchPage page) {
-	updateState();
-}
-/**
- * Notifies this listener that the given page has been closed.
- *
- * @param page the page that was closed
- * @see IWorkbenchPage#close
- */
-public void pageClosed(org.eclipse.ui.IWorkbenchPage page) {
-	updateState();
-}
-/**
- * Notifies this listener that the given page has been opened.
- *
- * @param page the page that was opened
- * @see IWorkbenchWindow#openPage
- */
-public void pageOpened(org.eclipse.ui.IWorkbenchPage page) {}
-/**
- * A part has been closed.
- */
-public void partClosed(IWorkbenchPart part) {
-	updateState();
-}
-/**
- * A part has been opened.
- */
-public void partOpened(IWorkbenchPart part) {	
-	updateState();
-}
-/**
- *	The user has invoked this action
- */
-public void run() {
-	IWorkbenchPage page = workbench.getActivePage();
-	if (page != null)
-		page.closeAllEditors(true);
-}
-/**
- * Enable the action if there at least one editor open.
- */
-private void updateState() {
-	WorkbenchPage page = (WorkbenchPage)workbench.getActivePage();
-	if (page != null) {
-		setEnabled(page.getSortedEditors().length >= 1);
-	} else {
-		setEnabled(false);
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CloseAllPerspectivesAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CloseAllPerspectivesAction.java
deleted file mode 100644
index 941e000..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CloseAllPerspectivesAction.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * The <code>CloseAllPerspectivesAction</code> is used to close all of 
- * the opened perspectives in the workbench window's active page.
- */
-public class CloseAllPerspectivesAction extends Action {
-	private WorkbenchWindow window;
-	
-	/**
-	 * Create a new instance of <code>CloseAllPerspectivesAction</code>
-	 * 
-	 * @param window the workbench window this action applies to
-	 */
-	public CloseAllPerspectivesAction(WorkbenchWindow window) {
-		super(WorkbenchMessages.getString("CloseAllPerspectivesAction.text")); //$NON-NLS-1$
-		setToolTipText(WorkbenchMessages.getString("CloseAllPerspectivesAction.toolTip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IHelpContextIds.CLOSE_ALL_PAGES_ACTION);
-		setEnabled(false);
-		this.window = window;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public void run() {
-		WorkbenchPage page = (WorkbenchPage)window.getActivePage();
-		if (page != null)
-			page.closeAllPerspectives(true);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CloseAllSavedAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CloseAllSavedAction.java
deleted file mode 100644
index 66a0eb3..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CloseAllSavedAction.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package org.eclipse.ui.internal;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. 
-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:
-**********************************************************************/
-import org.eclipse.ui.*;
-import org.eclipse.ui.actions.PartEventAction;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- *	Closes all active editors
- */
-public class CloseAllSavedAction extends PartEventAction implements IPageListener, IPropertyListener{
-	private IWorkbenchWindow workbench;	
-/**
- *	Create an instance of this class
- */
-public CloseAllSavedAction(IWorkbenchWindow aWorkbench) {
-	super(WorkbenchMessages.getString("CloseAllSavedAction.text")); //$NON-NLS-1$
-	this.workbench = aWorkbench;
-	setToolTipText(WorkbenchMessages.getString("CloseAllSavedAction.toolTip")); //$NON-NLS-1$
-	//Should create a ID in IWorkbenchActionConstants when it becames API?
-	setId("closeAllSaved");
-	updateState();
-	aWorkbench.addPageListener(this);
-	WorkbenchHelp.setHelp(this, IHelpContextIds.CLOSE_ALL_SAVED_ACTION);
-}
-/**
- * Notifies this listener that the given page has been activated.
- *
- * @param page the page that was activated
- * @see IWorkbenchWindow#setActivePage
- */
-public void pageActivated(org.eclipse.ui.IWorkbenchPage page) {
-	updateState();
-}
-/**
- * Notifies this listener that the given page has been closed.
- *
- * @param page the page that was closed
- * @see IWorkbenchPage#close
- */
-public void pageClosed(org.eclipse.ui.IWorkbenchPage page) {
-	updateState();
-}
-/**
- * Notifies this listener that the given page has been opened.
- *
- * @param page the page that was opened
- * @see IWorkbenchWindow#openPage
- */
-public void pageOpened(org.eclipse.ui.IWorkbenchPage page) {}
-/**
- * A part has been closed.
- */
-public void partClosed(IWorkbenchPart part) {
-	if (part instanceof IEditorPart) {
-		part.removePropertyListener(this);
-		updateState();	
-	}
-}
-/**
- * A part has been opened.
- */
-public void partOpened(IWorkbenchPart part) {	
-	if (part instanceof IEditorPart) {
-		part.addPropertyListener(this);
-		updateState();	
-	}
-}
-/**
- * Indicates that a property has changed.
- *
- * @param source the object whose property has changed
- * @param propID the property which has changed.  In most cases this property ID
- * should be defined as a constant on the source class.
- */
-public void propertyChanged(Object source, int propID) {
-	if (source instanceof IEditorPart) {
-		if (propID == IEditorPart.PROP_DIRTY) {
-			updateState();
-		}
-	}
-}
-/**
- *	The user has invoked this action
- */
-public void run() {
-	WorkbenchPage page = (WorkbenchPage)workbench.getActivePage();
-	if (page != null)
-		page.closeAllSavedEditors();
-}
-/**
- * Enable the action if there at least one editor open.
- */
-private void updateState() {
-	WorkbenchPage page = (WorkbenchPage)workbench.getActivePage();
-	if(page == null) {
-		setEnabled(false);
-		return;
-	}
-	IEditorReference editors[] = page.getSortedEditors();
-	for (int i = 0; i < editors.length; i++) {
-		if(!editors[i].isDirty()) {
-			setEnabled(true);
-			return;
-		}
-	}
-	setEnabled(false);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CloseEditorAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CloseEditorAction.java
deleted file mode 100644
index 12ae5ef..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CloseEditorAction.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Closes the active editor.
- */
-public class CloseEditorAction extends ActiveEditorAction {
-/**
- *	Create an instance of this class
- */
-public CloseEditorAction(IWorkbenchWindow window) {
-	super(WorkbenchMessages.getString("CloseEditorAction.text"), window); //$NON-NLS-1$
-	setToolTipText(WorkbenchMessages.getString("CloseEditorAction.toolTip")); //$NON-NLS-1$
-	setId(IWorkbenchActionConstants.CLOSE);
-	WorkbenchHelp.setHelp(this, IHelpContextIds.CLOSE_PART_ACTION);
-}
-/* (non-Javadoc)
- * Method declared on IAction.
- */
-public void run() {
-	IEditorPart part = getActiveEditor();
-	if (part != null)
-		getActivePage().closeEditor(part, true);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ClosePerspectiveAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ClosePerspectiveAction.java
deleted file mode 100644
index 21bc5ef..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ClosePerspectiveAction.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * The <code>ClosePerspectiveAction</code> is used to close the
- * active perspective in the workbench window's active page.
- */
-public class ClosePerspectiveAction extends Action {
-	private WorkbenchWindow window;
-	
-	/**
-	 * Create a new instance of <code>ClosePerspectiveAction</code>
-	 * 
-	 * @param window the workbench window this action applies to
-	 */
-	public ClosePerspectiveAction(WorkbenchWindow window) {
-		super(WorkbenchMessages.getString("ClosePerspectiveAction.text")); //$NON-NLS-1$
-		setToolTipText(WorkbenchMessages.getString("ClosePerspectiveAction.toolTip")); //$NON-NLS-1$
-		setEnabled(false);
-		this.window = window;
-		WorkbenchHelp.setHelp(this, IHelpContextIds.CLOSE_PAGE_ACTION);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public void run() {
-		WorkbenchPage page = (WorkbenchPage) window.getActivePage();
-		if (page != null) {
-			Perspective persp = page.getActivePerspective();
-			if (persp != null)
-				page.closePerspective(persp, true);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ConfigurationInfo.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ConfigurationInfo.java
deleted file mode 100644
index 3ab4670..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ConfigurationInfo.java
+++ /dev/null
@@ -1,186 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * Copyright (c) 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.net.URL;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.boot.IPlatformConfiguration;
-import org.eclipse.core.runtime.*;
-
-/**
- * Configuation info class;
- * <p>
- * The information within subclasses of this object is obtained from a configuration
- * "ini" file". This file resides within an install configurations directory and must
- * be a standard java property file. A properties file may also be used to NL values
- * in the ini file. 
- * </p>
- */
-
-public abstract class ConfigurationInfo {
-
-	private IPluginDescriptor desc;
-	private URL baseURL;
-	private String iniFilename;
-	private String propertiesFilename;
-
-	private static final String KEY_PREFIX = "%"; //$NON-NLS-1$
-	private static final String KEY_DOUBLE_PREFIX = "%%"; //$NON-NLS-1$
-	
-	protected ConfigurationInfo(String ini, String properties) {
-		iniFilename = ini;
-		propertiesFilename = properties;
-	}
-
-	/**
-	 * R1.0 platform.ini handling using "main" plugin and fragments for NL
-	 */
-	public void readINIFile() throws CoreException {
-		// determine the identifier of the "dominant" application 
-		IPlatformConfiguration conf = BootLoader.getCurrentPlatformConfiguration();
-		String configName = conf.getPrimaryFeatureIdentifier();
-		if (configName == null) {
-			reportINIFailure(null, "Unknown configuration identifier"); //$NON-NLS-1$
-			return;
-		}
-
-		// attempt to locate its corresponding "main" plugin
-		IPluginRegistry reg = Platform.getPluginRegistry();
-		if (reg == null) {
-			reportINIFailure(null, "Plugin registry is null"); //$NON-NLS-1$
-			return;
-		}
-		int index = configName.lastIndexOf("_"); //$NON-NLS-1$
-		if (index == -1)
-			this.desc = reg.getPluginDescriptor(configName);
-		else {
-			String mainPluginName = configName.substring(0, index);
-			PluginVersionIdentifier mainPluginVersion = null;
-			try {
-				mainPluginVersion =
-					new PluginVersionIdentifier(configName.substring(index + 1));
-			} catch (Exception e) {
-				reportINIFailure(e, "Unknown plugin version " + configName); //$NON-NLS-1$
-				return;
-			}
-			this.desc = reg.getPluginDescriptor(mainPluginName, mainPluginVersion);
-		}
-		if (this.desc == null) {
-			reportINIFailure(null, "Missing plugin descriptor for " + configName); //$NON-NLS-1$
-			return;
-		}
-		this.baseURL = desc.getInstallURL();
-
-		// load the platform.ini and platform.properties file	
-		URL iniURL = desc.find(new Path(iniFilename));
-		if (iniURL == null) {
-			reportINIFailure(null, "Unable to load plugin file: " + iniFilename); //$NON-NLS-1$
-			return;
-		}
-		
-		URL propertiesURL = desc.find(new Path(propertiesFilename));
-		// OK to pass null properties file
-		readINIFile(iniURL, propertiesURL);
-	}
-		
-	/**
-	 * Gets the descriptor
-	 * @return Returns a IPluginDescriptor
-	 */
-	protected IPluginDescriptor getDescriptor() {
-		return desc;
-	}
-	/**
-	 * Gets the baseURL
-	 * @return Returns a URL
-	 */
-	protected URL getBaseURL() {
-		return baseURL;
-	}
-	/**
-	 * Returns a resource string corresponding to the given argument 
-	 * value and bundle.
-	 * If the argument value specifies a resource key, the string
-	 * is looked up in the given resource bundle. If the argument does not
-	 * specify a valid key, the argument itself is returned as the
-	 * resource string. The key lookup is performed against the
-	 * specified resource bundle. If a resource string 
-	 * corresponding to the key is not found in the resource bundle
-	 * the key value, or any default text following the key in the
-	 * argument value is returned as the resource string.
-	 * A key is identified as a string begining with the "%" character.
-	 * Note that the "%" character is stripped off prior to lookup
-	 * in the resource bundle.
-	 * <p>
-	 * For example, assume resource bundle plugin.properties contains
-	 * name = Project Name
-	 * <pre>
-	 *     <li>getResourceString("Hello World") returns "Hello World"</li>
-	 *     <li>getResourceString("%name") returns "Project Name"</li>
-	 *     <li>getResourceString("%name Hello World") returns "Project Name"</li>
-	 *     <li>getResourceString("%abcd Hello World") returns "Hello World"</li>
-	 *     <li>getResourceString("%abcd") returns "%abcd"</li>
-	 *     <li>getResourceString("%%name") returns "%name"</li>
-	 *     <li>getResourceString(<code>null</code>) returns <code>null</code></li>
-	 * </pre>
-	 * </p>
-	 *
-	 * @param value the value or <code>null</code>
-	 * @param b the resource bundle or <code>null</code>
-	 * @return the resource string
-	 */
-	protected String getResourceString(String value, ResourceBundle b) {
-		
-		if(value == null)
-			return null;
-		String s = value.trim();
-
-		if (!s.startsWith(KEY_PREFIX))
-			return s;
-
-		if (s.startsWith(KEY_DOUBLE_PREFIX))
-			return s.substring(1);
-
-		int ix = s.indexOf(" "); //$NON-NLS-1$
-		String key = ix == -1 ? s : s.substring(0, ix);
-		String dflt = ix == -1 ? s : s.substring(ix + 1);
-
-		if (b == null)
-			return dflt;
-
-		try {
-			return b.getString(key.substring(1));
-		} catch (MissingResourceException e) {
-			reportINIFailure(e, "Property \"" + key + "\" not found");//$NON-NLS-1$ //$NON-NLS-2$
-			return dflt;
-		}
-	}
-
-	/**
-	 * Read the ini file.
-	 */
-	protected abstract void readINIFile(URL iniURL, URL propertiesURL)
-		throws CoreException;
-	
-	/**
-	 * Report an ini failure
-	 */
-	protected void reportINIFailure(Exception e, String message) {
-		if (!WorkbenchPlugin.DEBUG) {
-			// only report ini problems if the -debug command line argument is used
-			return;
-		}
-		
-		IStatus iniStatus = new Status(IStatus.ERROR, WorkbenchPlugin.getDefault().getDescriptor().getUniqueIdentifier(),
-										0, message, e);
-		WorkbenchPlugin.log("Problem reading configuration info.", iniStatus);//$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ContainerPlaceholder.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ContainerPlaceholder.java
deleted file mode 100644
index 05d6723..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ContainerPlaceholder.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-public class ContainerPlaceholder extends PartPlaceholder
-	implements ILayoutContainer
-{
-	private static int nextId = 0;
-	private ILayoutContainer realContainer;
-/**
- * ContainerPlaceholder constructor comment.
- * @param id java.lang.String
- * @param label java.lang.String
- */
-public ContainerPlaceholder(String id) {
-	super(((id == null)?"Container Placeholder "+nextId++:id));//$NON-NLS-1$
-}
-/**
- * add method comment.
- */
-public void add(LayoutPart child) {
-	if (!(child instanceof PartPlaceholder)) return;
-	realContainer.add(child);
-}
-/**
- * See ILayoutContainer::allowBorder
- */
-public boolean allowsBorder() {
-	return true;
-}
-/**
- * getChildren method comment.
- */
-public LayoutPart[] getChildren() {
-	return realContainer.getChildren();
-}
-/**
- * getFocus method comment.
- */
-public LayoutPart getFocus() {
-	return null;
-}
-/**
- * getFocus method comment.
- */
-public LayoutPart getRealContainer() {
-	return (LayoutPart)realContainer;
-}
-/**
- * isChildVisible method comment.
- */
-public boolean isChildVisible(LayoutPart child) {
-	return false;
-}
-/**
- * remove method comment.
- */
-public void remove(LayoutPart child) {
-	if (!(child instanceof PartPlaceholder)) return;
-	realContainer.remove(child);
-}
-/**
- * replace method comment.
- */
-public void replace(LayoutPart oldChild, LayoutPart newChild) {
-	if (!(oldChild instanceof PartPlaceholder) && !(newChild instanceof PartPlaceholder)) return;
-	realContainer.replace(oldChild, newChild);
-}
-/**
- * setChildVisible method comment.
- */
-public void setChildVisible(LayoutPart child, boolean visible) {}
-/**
- * setFocus method comment.
- */
-public void setFocus(LayoutPart child) {}
-public void setRealContainer(ILayoutContainer container) {
-
-	if (container == null) {
-		// set the parent container of the children back to the real container
-		if (realContainer != null) {
-			LayoutPart[] children = realContainer.getChildren();
-			if (children != null) {
-				for (int i = 0, length = children.length; i < length; i++){
-					children[i].setContainer(realContainer);
-				}
-			}
-		}
-	} else {
-		// replace the real container with this place holder
-		LayoutPart[] children = container.getChildren();
-		if (children != null) {
-			for (int i = 0, length = children.length; i < length; i++){
-				children[i].setContainer(this);
-			}
-		}
-	}
-
-	this.realContainer = container;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolBarContributionItem.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolBarContributionItem.java
deleted file mode 100644
index 8a6709f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolBarContributionItem.java
+++ /dev/null
@@ -1,277 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.swt.widgets.*;
-
-/**
- * A CoolBarContributionItem is an item which realizes itself and its items
- * in as a CoolItem in a CoolBar control.  CoolItems map to ToolBars within a
- * CoolBar.
- */
-public class CoolBarContributionItem extends ContributionItem {
-	/**
-	 * The visibility of the item,
-	 */
-	private boolean visible = true;
-
-	/**
-	 * The toolbar contribution manager.
-	 */
-	private CoolItemToolBarManager toolBarManager;
-
-	/**
-	 * Need to remember order information about the item since
-	 * item layout order is dynamic for coolbars.  We know the
-	 * order the of all of the CoolBarContribution items, but when 
-	 * an item is dynamically added and removed we need to remember 
-	 * its order relationship to the items around it.
-	 */
-	private boolean orderBefore = false;
-	private boolean orderAfter = false;
-	/**
-	 */
-	public CoolBarContributionItem() {
-	}
-	/**
-	 * Creates a CoolBarContributionItem for the given CoolBarManager.
-	 */
-	public CoolBarContributionItem(CoolBarManager parent, String id) {
-		this(parent, new CoolItemToolBarManager(parent.getStyle()), id);
-	}
-	/**
-	 * Creates a CoolBarContributionItem for the given CoolBarManager and CoolItemToolBarManager.
-	 */
-	public CoolBarContributionItem(CoolBarManager parent, CoolItemToolBarManager tBarMgr, String id) {
-		super(id);
-		this.toolBarManager = tBarMgr;
-		tBarMgr.setParentMgr(parent);
-		tBarMgr.setCoolBarItem(this);
-	}
-	/**
-	 * Creates the SWT control for the CoolBarContributionItem.
-	 */
-	protected ToolBar createControl() {
-		ToolBar tBar = null;
-		CoolBar parentControl = getParentManager().getControl();
-		if (parentControl != null) {
-			tBar = toolBarManager.createControl(parentControl);
-		}
-		return tBar;
-	}
-	/**
-	 */
-	public void dispose() {
-		if (toolBarManager != null) {
-			toolBarManager.removeAll();
-		}
-	}		
-	/**
-	 */
-	public boolean equals(Object object) {
-		if (object instanceof CoolBarContributionItem) {
-			CoolBarContributionItem item = (CoolBarContributionItem) object;
-			return getId().equals(item.getId());
-		}
-		return false;
-	}
-	/**
-	 * Fills the given composite control with controls representing this 
-	 * contribution item.  Used by <code>StatusLineManager</code>.
-	 *
-	 * @param parent the parent control
-	 */
-	public void fill(Composite parent) {
-		// invalid
-	}
-	/**
-	 * Fills the given menu with controls representing this contribution item.
-	 * Used by <code>MenuManager</code>.
-	 *
-	 * @param parent the parent menu
-	 * @param index the index where the controls are inserted,
-	 *   or <code>-1</code> to insert at the end
-	 */
-	public void fill(Menu parent, int index) {
-		// invalid
-	}
-	/**
-	 * Fills the given tool bar with controls representing this contribution item.
-	 * Used by <code>ToolBarManager</code>.
-	 *
-	 * @param parent the parent tool bar
-	 * @param index the index where the controls are inserted,
-	 *   or <code>-1</code> to insert at the end
-	 */
-	public void fill(ToolBar parent, int index) {
-		// invalid
-	}
-	/**
-	 */
-	public ToolBar getControl() {
-		ToolBar tBar = toolBarManager.getControl();
-		if (tBar == null) {
-			tBar = createControl();
-		}
-		return tBar;
-	}
-	/**
-	 */
-	public IContributionItem[] getItems() {
-		return toolBarManager.getItems();
-	}
-	/**
-	 * Returns the parent manager.
-	 *
-	 * @return the parent manager
-	 */
-	public CoolBarManager getParentManager() {
-		return getToolBarManager().getParentManager();
-	}
-	/**
-	 * Returns the toolbar manager for this contribution item
-	 */
-	public CoolItemToolBarManager getToolBarManager() {
-		return toolBarManager;
-	}
-	/**
-	 */
-	public boolean hasDisplayableItems() {
-		IContributionItem[] items = toolBarManager.getItems();
-		for (int i=0; i<items.length; i++) {
-			IContributionItem item = items[i];
-			if (item.isSeparator() || item.isGroupMarker() || (!item.isVisible())) continue;
-			return true;
-		}
-		return false;
-	}
-	/**
-	 */
-	public int hashCode() {
-		return getId().hashCode();
-	}
-	/**
-	 * Returns whether this contribution item is dynamic. A dynamic contribution
-	 * item contributes items conditionally, dependent on some internal state.
-	 *
-	 * @return <code>true</code> if this item is dynamic, and
-	 *  <code>false</code> for normal items
-	 */
-	public boolean isDynamic() {
-		return true;
-	}
-	/**
-	 * Returns whether this contribution item is a group marker.
-	 * This information is used when adding items to a group.
-	 *
-	 * @return <code>true</code> if this item is a group marker, and
-	 *  <code>false</code> for normal items
-	 *
-	 * @see IContributionManager#appendToGroup
-	 * @see IContributionManager#prependToGroup
-	 */
-	public boolean isGroupMarker() {
-		return true;
-	}
-	/**
-	 * Returns whether this contribution item is ordered after the 
-	 * the item before it.
-	 */
-	protected boolean isOrderAfter() {
-		return orderAfter;
-	}
-	/**
-	 * Returns whether this contribution item is ordered before a the
-	 * item after it.
-	 */
-	protected boolean isOrderBefore() {
-		return orderBefore;
-	}
-	/**
-	 * Returns whether this contribution item is a separator.
-	 * This information is used to enable hiding of unnecessary separators.
-	 *
-	 * @return <code>true</code> if this item is a separator, and
-	 *  <code>false</code> for normal items
-	 * @see Separator
-	 */
-	public boolean isSeparator() {
-		return false;
-	}
-	/**
-	 * Returns whether the contribution list is visible.
-	 * If the visibility is <code>true</code> then each item within the manager 
-	 * appears within the parent manager.  Otherwise, the items are not visible.
-	 *
-	 * @return <code>true</code> if the manager is visible
-	 */
-	public boolean isVisible() {
-		if (getParentManager() == null)
-			return true;
-		return visible;
-	}
-	/**
-	 * Sets whether this contribution item is ordered after the
-	 * item before it.
-	 */
-	protected void setOrderAfter(boolean orderAfter) {
-		this.orderAfter = orderAfter;
-	}
-	/**
-	 * Sets whether this contribution item is ordered before the
-	 * item after it.
-	 */
-	protected void setOrderBefore(boolean orderBefore) {
-		this.orderBefore = orderBefore;
-	}
-	/**
-	 * Sets the visibility of the manager.  If the visibility is <code>true</code>
-	 * then each item within the manager appears within the parent manager.
-	 * Otherwise, the items are not visible.
-	 *
-	 * @param visible the new visibility
-	 */
-	public void setVisible(boolean visible) {
-		this.visible = visible;
-		if (getParentManager() != null) 
-			getParentManager().markDirty();
-	}
-	/**
-	 * Sets the visibility of the manager. If the visibility is <code>true</code>
-	 * then each item within the manager appears within the parent manager.
-	 * Otherwise, the items are not visible if force visibility is
-	 * <code>true</code>, or grayed out if force visibility is <code>false</code>
-	 * <p>
-	 * This is a workaround for the layout flashing when editors contribute
-	 * large amounts of items.</p>
-	 *
-	 * @param visible the new visibility
-	 * @param forceVisibility whether to change the visibility or just the
-	 * 		enablement state. This parameter is ignored if visible is 
-	 * 		<code>true</code>.
-	 */
-	public void setVisible(boolean visible, boolean forceVisibility) {
-		if (visible) {
-			if (!isVisible()) setVisible(true);
-		} else {
-			if (forceVisibility) {
-				if (isVisible()) setVisible(false);
-			} else {
-				if (!isVisible()) setVisible(true);
-			}
-		}
-	}
-	/**
-	 * Updates any SWT controls cached by this contribution item with any
-	 * changes which have been made to this contribution item since the last update.
-	 * Called by contribution manager update methods.
-	 */
-	public void update(boolean force) {
-		toolBarManager.update(force);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolBarLayout.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolBarLayout.java
deleted file mode 100644
index 9c8a0e9..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolBarLayout.java
+++ /dev/null
@@ -1,302 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.CoolBar;
-import org.eclipse.swt.widgets.CoolItem;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.PlatformUI;
-
-public class CoolBarLayout {
-	public Point[] itemSizes = new Point[0];
-	public int[] itemWrapIndices = new int[0];
-
-	// the coolbar contribution items in order of display
-	// store the item id instead of indexes because the coolbar
-	// items may change between saving/restoring
-	ArrayList items = new ArrayList(0);
-
-	ArrayList rememberedPositions = new ArrayList();
-
-	public CoolBarLayout() {
-	}
-	public CoolBarLayout(CoolBar coolBar) {
-		this();
-		initialize(coolBar);
-	}
-	void initialize(CoolBar coolBar) {
-		CoolItem[] coolItems = coolBar.getItems();
-		ArrayList newItems = new ArrayList(coolItems.length);
-		for (int i = 0; i < coolItems.length; i++) {
-			CoolBarContributionItem item = (CoolBarContributionItem) coolItems[i].getData();
-			if (item != null) {
-				newItems.add(item.getId());
-			}
-		}
-		items = newItems;
-		itemSizes = coolBar.getItemSizes();
-		itemWrapIndices = getAdjustedWrapIndices(coolBar.getWrapIndices());
-	
-		// Save the preferred size as actual size for the last item on a row
-		int count = coolBar.getItemCount();
-		int[] lastIndices = coolBar.getWrapIndices();
-		int n = lastIndices.length;
-		if (n == 0) {
-			if (count == 0) lastIndices = new int[0];
-			else lastIndices = new int[] {count - 1};
-		} else {
-			// convert from first item indices to last item indices
-			for (int i = 0; i < n - 1; ++i) {
-				lastIndices[i] = lastIndices[i+1] - 1;
-			}
-			lastIndices[n - 1] = count - 1;
-		}
-		for (int i = 0; i < lastIndices.length; i++) {
-			int lastIndex = lastIndices[i];
-			if (lastIndex >= 0 && lastIndex < coolItems.length) {
-				CoolItem lastItem = coolItems[lastIndex];
-				itemSizes[lastIndex] = lastItem.getPreferredSize();
-			}
-		}
-	}
-	public CoolBarLayout(ArrayList items, int[] itemWrapIndices, Point[] itemSizes, ArrayList rememberedPositions) {
-		this.items = items;
-		this.itemWrapIndices = itemWrapIndices;
-		this.itemSizes = itemSizes;
-		this.rememberedPositions = rememberedPositions;
-	}
-	/**
-	 * Return the set of wrap indices that would be a result of adding
-	 * an item at the given itemIndex on the the given row.
-	 */
-	int[] wrapsForNewItem(int rowIndex, int itemIndex) {
-		int[] newWraps = null;
-		int rowStartIndex = getStartIndexOfRow(rowIndex);
-		if (itemIndex == rowStartIndex) {
-			// if itemIndex is the start of the row, we are adding the item 
-			// to the beginning of the row, so adjust the wrap indices
-			newWraps = new int[itemWrapIndices.length];
-			System.arraycopy(itemWrapIndices, 0, newWraps, 0, itemWrapIndices.length);
-			newWraps[rowIndex] = itemIndex;
-			for (int i = rowIndex + 1; i < newWraps.length; i++) {
-				newWraps[i]++;
-			}
-		} 
-		return newWraps;
-	}
-	/**
-	 * Return the set of wrap indices that would be a result of adding
-	 * an item at the given itemIndex on the given new row.
-	 */
-	int[]  wrapsForNewRow(int rowIndex, int itemIndex) {
-		int[] newWraps = new int[itemWrapIndices.length + 1];
-		for (int j = 0; j < rowIndex; j++) {
-			newWraps[j]=itemWrapIndices[j];
-		}
-		newWraps[rowIndex] = itemIndex;
-		for (int j = rowIndex; j < itemWrapIndices.length; j++) {
-			newWraps[j+1]=itemWrapIndices[j]+1;
-		}
-		return newWraps;
-	}
-	/** 
-	 * Return a consistent set of wrap indices.  The return value
-	 * will always include at least one entry and the first entry will 
-	 * always be zero.  CoolBar.getWrapIndices() is inconsistent 
-	 * in whether or not it returns an index for the first row.
-	 */
-	private int[] getAdjustedWrapIndices(int[] wraps) {
-		int[] adjustedWrapIndices;
-		if (wraps.length == 0) {
-			adjustedWrapIndices = new int[] { 0 };
-		} else {
-			if (wraps[0] != 0) {
-				adjustedWrapIndices = new int[wraps.length + 1];
-				adjustedWrapIndices[0] = 0;
-				for (int i = 0; i < wraps.length; i++) {
-					adjustedWrapIndices[i + 1] = wraps[i];
-				}
-			} else {
-				adjustedWrapIndices = wraps;
-			}
-		}
-		return adjustedWrapIndices;
-	}
-	/** 
-	 * Return the number of rows in the layout.
-	 */
-	int getNumberOfRows() {
-		return itemWrapIndices.length;
-	}
-	/**
-	 */
-	int getRowOfIndex(int index) {
-		int row = -1;
-		for (row = 0; row < itemWrapIndices.length; row++) {
-			if (itemWrapIndices[row] > index) break;
-		}
-		if (row > 0) row--;
-		return row;
-	}
-	/**
-	 * Return the item index of the first item on the given row.
-	 */
-	int getStartIndexOfRow(int rowIndex) {
-		// return the item index of the first item in the given row
-		if (rowIndex > itemWrapIndices.length - 1) return -1;  // row doesn't exist
-		return itemWrapIndices[rowIndex];
-	}
-	boolean isOnRowAlone(int itemIndex) {
-		int row = getRowOfIndex(itemIndex);
-		int rowStart = getStartIndexOfRow(row);
-		int nextRowStart = getStartIndexOfRow(row + 1);
-		if (nextRowStart == -1) nextRowStart = rowStart;
-		return (rowStart == itemIndex) && (nextRowStart - rowStart <= 1);
-	}
-	/**
-	 * Return whether or not the items from this layout that are in
-	 * otherLayout are in the same order within the layouts.
-	 */
-	/* package */ boolean isDerivativeOf(CoolBarLayout otherLayout) {
-		// for the items that are in this layout, 
-		// get the indexes of these items in otherLayout
-		ArrayList indexes = new ArrayList();
-		for (int i=0; i<this.items.size(); i++) {
-			String itemId = (String)this.items.get(i);
-			int index = otherLayout.items.indexOf(itemId);
-			if (index != -1) indexes.add(new Integer(index));
-		}
-		// see if the items that are shared across the two
-		// layouts are in the same order, if not return 
-		// false
-		int previous = -1;
-		for (int i=0; i<indexes.size(); i++) {
-			int value = ((Integer)indexes.get(i)).intValue();
-			if (value > previous) {
-				previous = value;
-			} else {
-				return false;
-			}
-		}
-		return true;
-	}
-	/**
-	 * Restores the object state in the given memento. Returns whether or not the
-	 * restoration was successful.
-	 * 
-	 * @param memento the memento to save the object state in
-	 */
-	public boolean restoreState(IMemento memento) {
-		IMemento [] sizes = memento.getChildren(IWorkbenchConstants.TAG_ITEM_SIZE);
-		if (sizes == null) return false;
-		itemSizes = new Point[sizes.length];
-		for (int i = 0; i < sizes.length; i++) {
-			IMemento sizeMem = sizes[i];
-			Integer x = sizeMem.getInteger(IWorkbenchConstants.TAG_X);
-			if (x == null) return false;
-			Integer y = sizeMem.getInteger(IWorkbenchConstants.TAG_Y);
-			if (y == null) return false;
-			itemSizes[i] = new Point(x.intValue(), y.intValue());
-		}
-		IMemento [] wraps = memento.getChildren(IWorkbenchConstants.TAG_ITEM_WRAP_INDEX);
-		if (wraps == null) return false;
-		itemWrapIndices = new int[wraps.length];
-		for (int i = 0; i < wraps.length; i++) {
-			IMemento wrapMem = wraps[i];
-			Integer index = wrapMem.getInteger(IWorkbenchConstants.TAG_INDEX);
-			if (index == null) return false;
-			itemWrapIndices[i] = index.intValue();
-		}
-		IMemento [] savedItems = memento.getChildren(IWorkbenchConstants.TAG_ITEM);
-		if (savedItems == null) return false;
-		items = new ArrayList(savedItems.length);
-		for (int i = 0; i < savedItems.length; i++) {
-			IMemento savedMem = savedItems[i];
-			String id = savedMem.getString(IWorkbenchConstants.TAG_ID);
-			if (id == null) return false;
-			items.add(id);
-		}
-		IMemento [] savedPositions = memento.getChildren(IWorkbenchConstants.TAG_POSITION);
-		rememberedPositions = new ArrayList(savedPositions.length);
-		for (int i=0; i < savedPositions.length; i++) {
-			CoolItemPosition position = new CoolItemPosition();
-			IMemento savedPos = savedPositions[i];
-			position.id = savedPos.getString(IWorkbenchConstants.TAG_ID);
-			if (position.id == null) return false;
-			Integer pos = savedPos.getInteger(IWorkbenchConstants.TAG_ADDED);
-			if (pos == null) return false;
-			int added = pos.intValue();
-			position.added = added == 1;
-			position.layout = new CoolBarLayout();
-			IMemento layoutMemento = savedPos.getChild(IWorkbenchConstants.TAG_LAYOUT);
-			if (layoutMemento == null) return false;
-			position.layout.restoreState(layoutMemento);
-			rememberedPositions.add(position);
-		}
-		return true;	
-	}
-	/**
-	 * Saves the object state in the given memento. 
-	 * 
-	 * @param memento the memento to save the object state in
-	 */
-	public IStatus saveState(IMemento memento) {
-		for (int i = 0; i < itemSizes.length; i++) {
-			IMemento child = memento.createChild(IWorkbenchConstants.TAG_ITEM_SIZE);
-			Point pt = itemSizes[i];
-			child.putInteger(IWorkbenchConstants.TAG_X, pt.x);
-			child.putInteger(IWorkbenchConstants.TAG_Y, pt.y);
-		}
-		for (int i = 0; i < itemWrapIndices.length; i++) {
-			IMemento child = memento.createChild(IWorkbenchConstants.TAG_ITEM_WRAP_INDEX);
-			child.putInteger(IWorkbenchConstants.TAG_INDEX, itemWrapIndices[i]);
-		}
-		Iterator iter = items.iterator();
-		while (iter.hasNext()) {
-			IMemento child = memento.createChild(IWorkbenchConstants.TAG_ITEM);
-			String item = (String)iter.next();
-			child.putString(IWorkbenchConstants.TAG_ID, item);
-		}
-		iter = rememberedPositions.iterator();
-		while (iter.hasNext()) {
-			IMemento child = memento.createChild(IWorkbenchConstants.TAG_POSITION);
-			CoolItemPosition position = (CoolItemPosition)iter.next();
-			child.putString(IWorkbenchConstants.TAG_ID, position.id);
-			int value = 0;
-			if (position.added) value = 1;
-			child.putInteger(IWorkbenchConstants.TAG_ADDED, value);
-			IMemento layout = child.createChild(IWorkbenchConstants.TAG_LAYOUT);
-			position.layout.saveState(layout); 
-		}
-		return new Status(IStatus.OK,PlatformUI.PLUGIN_ID,0,"",null);
-	}
-	public String toString() {
-		StringBuffer buffer = new StringBuffer(20);
-		buffer.append("items "); //$NON-NLS-1$
-		for (int i = 0; i < items.size(); i++) {
-			String item = (String)items.get(i);
-			buffer.append(item + " ");
-		}
-		buffer.append('\n');
-		buffer.append("item wrap indices "); //$NON-NLS-1$
-		for (int i = 0; i < itemWrapIndices.length; i++) {
-			buffer.append(itemWrapIndices[i] + " "); //$NON-NLS-1$
-		}
-		buffer.append('\n');
-		buffer.append("item sizes "); //$NON-NLS-1$
-		for (int i = 0; i < itemSizes.length; i++) {
-			buffer.append(itemSizes[i] + " "); //$NON-NLS-1$
-		}
-		buffer.append('\n');
-		return buffer.toString();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolBarManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolBarManager.java
deleted file mode 100644
index a6c2913..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolBarManager.java
+++ /dev/null
@@ -1,1148 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.*;
-
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.*;
-
-/**
- */
-public class CoolBarManager extends ContributionManager implements IToolBarManager {
-	/** 
-	 * The cool bar style; <code>SWT.NONE</code> by default.
-	 */
-	private int style = SWT.NONE;
-
-	/** 
-	 * The cool bar control; <code>null</code> before creation
-	 * and after disposal.
-	 */
-	private CoolBar coolBar = null;
-
-	/** 
-	 * MenuManager for chevron menu when CoolItems not fully displayed.
-	 */
-	private MenuManager chevronMenuManager;
-	
-	/** 
-	 * MenuManager for coolbar popup menu
-	 */
-	private MenuManager coolBarMenuManager = new MenuManager();
-	private Menu coolBarMenu = null;
-	/** 
-	 * Flag to track whether or not to remember coolbar item positions when an item
-	 * is deleted.
-	 */
-	private boolean rememberPositions = false;
-	/** 
-	 * Stack for remembering positions of coolitems that have been removed.
-	 */
-	private ArrayList rememberedPositions = new ArrayList();
-	
-	private class RestoreItemData {
-		CoolItemPosition savedPosition;
-		String beforeItemId; // found afterItemId, restore item after this item
-		String afterItemId; // found beforeItemId, restore item before this item
-		int beforeIndex = -1; // index in current layout of beforeItemId
-		int afterIndex = -1; // index in current layout of afterItemId
-		
-		RestoreItemData() {
-		}
-	}
-	/**
-	 */
-	public CoolBarManager() {
-	}
-	/**
-	 */
-	public CoolBarManager(int style) {
-		this.style = style;
-	}
-	/**
-	 * Adds an action as a contribution item to this manager.
-	 * Equivalent to <code>add(new ActionContributionItem(action))</code>.
-	 * 
-	 * Not valid for CoolBarManager.  Only CoolBarContributionItems may be added
-	 * to this manager.
-	 * 
-	 * @param action the action
-	 */
-	public void add(IAction action) {
-		Assert.isTrue(false);
-	}
-	/**
-	 * Adds a CoolBarContributionItem to this manager.
-	 * 
-	 * @exception AssertionFailedException if the type of item is
-	 * not valid
-	 */
-	public void add(IContributionItem item) {
-		Assert.isTrue(item instanceof CoolBarContributionItem);
-		super.add(item);
-	}
-	/**
-	 * Adds a contribution item to the coolbar's menu.
-	 */
-	public void addToMenu(ActionContributionItem item) {
-		coolBarMenuManager.add(item.getAction());
-	}
-	/**
-	 * Adds a contribution item to the start or end of the group 
-	 * with the given id.
-	 * 
-	 * Not valid for CoolBarManager.  Only CoolBarContributionItems are items
-	 * of this manager.
-	 */
-	private void addToGroup(String itemId, IContributionItem item, boolean append) {
-		Assert.isTrue(false);
-	}
-	/**
-	 */
-	private boolean coolBarExist() {
-		return coolBar != null && !coolBar.isDisposed();
-	}
-	/**
-	 */
-	/* package */ CoolBar createControl(Composite parent) {
-		if (!coolBarExist() && parent != null) {
-			// Create the CoolBar and its popup menu.
-			coolBar = new CoolBar(parent, style);
-			coolBar.setLocked(false);
-			coolBar.addListener(SWT.Resize, new Listener() {
-				public void handleEvent(Event event) {
-					coolBar.getParent().layout();
-				}
-			});
-			coolBar.setMenu(getCoolBarMenu());
-		}
-		return coolBar;
-	}
-	/**
-	 * Create the coolbar item for the given contribution item.
-	 */
-	private CoolItem createCoolItem(CoolBarContributionItem cbItem, ToolBar toolBar) {
-		CoolItem coolItem;
-		toolBar.setVisible(true);
-		CoolItemPosition position = getRememberedPosition(cbItem.getId());
-		if (position != null) {
-			coolItem = createRememberedCoolItem(cbItem, toolBar, position);
-		} else {
-			coolItem = createNewCoolItem(cbItem, toolBar);
-		}
-		coolItem.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				if (event.detail == SWT.ARROW) {
-					handleChevron(event);
-				}
-			}
-		});	
-		return coolItem;
-	}
-	/**
-	 * Create a new coolbar item for the given contribution item.  Put the item in its original 
-	 * creation position.
-	 */
-	private CoolItem createNewCoolItem(CoolBarContributionItem cbItem, ToolBar toolBar) {
-		CoolItem coolItem;
-		int index = -1;
-		if (cbItem.isOrderBefore()) {
-			index = getInsertBeforeIndex(cbItem);
-		} else if (cbItem.isOrderAfter()) {
-			index = getInsertAfterIndex(cbItem);
-		}
-		if (index == -1) {
-			index = coolBar.getItemCount();
-			coolItem = new CoolItem(coolBar, SWT.DROP_DOWN);
-		} else {
-			coolItem = new CoolItem(coolBar, SWT.DROP_DOWN, index);
-		}
-		coolItem.setControl(toolBar);
-		coolItem.setData(cbItem);
-		setSizeFor(coolItem);
-					
-		return coolItem;
-	}
-	/**
-	 * Create a new coolbar item for the given contribution item.  Put the item in its rememberedl 
-	 * position.
-	 */
-	private CoolItem createRememberedCoolItem(CoolBarContributionItem cbItem, ToolBar toolBar, CoolItemPosition position) {		
-		RestoreItemData data = getRestoreData(cbItem, position);		
-		int savedAfterRow = -1;
-		int currentAfterRow = -1;
-		int savedBeforeRow = -1;
-		int currentBeforeRow = -1;
-		int savedItemRow = -1;
-		CoolBarLayout currentLayout = getLayout();
-		if (data.savedPosition != null) {
-			savedItemRow = data.savedPosition.getRowOf(cbItem.getId());
-			if (data.afterItemId != null) {
-				savedAfterRow = data.savedPosition.getRowOf(data.afterItemId);
-				currentAfterRow = currentLayout.getRowOfIndex(data.afterIndex);
-			}
-			if (data.beforeItemId != null) {
-				savedBeforeRow = data.savedPosition.getRowOf(data.beforeItemId);
-				currentBeforeRow = currentLayout.getRowOfIndex(data.beforeIndex);
-			}
-		}
-		
-		int createIndex = -1;
-		int row;
-		int[] newWraps = null;
-		
-		// Figure out where to place the item and how to adjust the wrap indices.
-		// When adding the item at the afterIndex, wrap indices may need to be 
-		// adjusted if the index represents the beginning of a row in the current
-		// coolbar layout.
-		if (data.afterIndex != -1 && data.beforeIndex != -1) {
-			// both a beforeItem and afterItem were found in the current coolbar layout
-			// for the item to be added
-			if ((savedItemRow == savedAfterRow) && (savedItemRow == savedBeforeRow)) {
-				// in the saved layout the item was on the same row as both the beforeItem
-				// and the afterItem, compare this to the current coolbar layout
-				if (currentAfterRow == currentBeforeRow) {
-					// in the current layout, both the before and after item are on the
-					// same row, so add the item to this row
-					createIndex = data.beforeIndex + 1;
-					row = currentBeforeRow;
-				} else {
-					// in the current layout, both the before and after item are not on
-					// the same row
-					if (currentBeforeRow == savedBeforeRow) {
-						// the beforeItem is on the same row as in the saved layout
-						createIndex = data.beforeIndex + 1;
-						row = currentBeforeRow;
-					} else if (currentAfterRow == savedAfterRow) {
-						// the afterItem is on the same row as in the saved layout
-						createIndex = data.afterIndex;
-						row = currentAfterRow;
-						newWraps = currentLayout.wrapsForNewItem(row, createIndex);
-					} else {
-						// current layout rows are different than when the item 
-						// was deleted, just add the item to the currentBeforeRow
-						createIndex = data.beforeIndex + 1;
-						row = currentBeforeRow;
-					}
-					
-				}
-			} else if (savedItemRow == savedBeforeRow) {
-				// in the saved layout, the item was on the same row as the beforeItem,
-				// add the item to the before row
-				createIndex = data.beforeIndex + 1;
-				row = currentBeforeRow;
-			} else if (savedItemRow == savedAfterRow) {
-				// in the saved layout, the item was on the same row as the afterItem
-				// add the item to the currentAfterRow
-				createIndex = data.afterIndex;
-				row = currentAfterRow;
-				newWraps = currentLayout.wrapsForNewItem(row, createIndex);
-			} else {
-				// in the saved layout, the item was on a row by itself
-				// put the item on a row by itself after currentBeforeRow
-				row = currentBeforeRow + 1;
-				createIndex = currentLayout.getStartIndexOfRow(row);
- 				if (createIndex == -1) {
-					// row does not exist
-					createIndex = coolBar.getItemCount();
-				}
-				newWraps = currentLayout.wrapsForNewRow(row, createIndex);
-			}
-		} else if (data.afterIndex != -1) {
-			// only an afterItem was found in the current coolbar layout
-			// for the item to be added
-			createIndex = data.afterIndex;
-			if (savedItemRow == savedAfterRow) {
-				// in the saved layout, the item was on the same row as the afterItem, 
-				// put the item on the currentAfterRow 
-				row = currentAfterRow;
-				newWraps = currentLayout.wrapsForNewItem(row, createIndex);
-			} else {
-				// in the saved layout, the item was not on the same row as the
-				//  afterItem, create a new row before currentAfterRow
-				row = currentAfterRow;
-				createIndex = currentLayout.getStartIndexOfRow(row);
- 				newWraps = currentLayout.wrapsForNewRow(row, createIndex);
-			}
-		} else if (data.beforeIndex != -1) {
-			// only a beforeItem was found in the current coolbar layout
-			// for the item to be added
-			createIndex = data.beforeIndex + 1;
-			if (savedItemRow == savedBeforeRow) {
-				// in the saved layout, the item was on the same row as the beforeItem, 
-				// put the item on currentBeforeRow
-				row = currentBeforeRow;
-				newWraps = currentLayout.wrapsForNewItem(row, createIndex);
-			} else {
-				// in the saved layout, the item was not on the same row as the 
-				// beforeItem, create a new row with the item after currentBeforeRow
-				row = currentBeforeRow + 1;
- 				createIndex = currentLayout.getStartIndexOfRow(row);
- 				if (createIndex == -1) {
- 					// row does not exist
- 					createIndex = coolBar.getItemCount();
- 				}
-				newWraps = currentLayout.wrapsForNewRow(row, createIndex);
-			}
-		} else {
-			// neither a before or after item was found in the current coolbar
-			// layout, just add the item to the end of the coolbar
-			createIndex = coolBar.getItemCount();
-		}
-
-		// create the item
-		if (newWraps != null) {
-			// item will be added and then the wraps will set, so use 
-			// since the position of the item will change
-			coolBar.setRedraw(false);
-		}
-		CoolItem coolItem = new CoolItem(coolBar, SWT.DROP_DOWN, createIndex);
-		coolItem.setControl(toolBar);
-		coolItem.setData(cbItem);
-//		setSizeFor(coolItem, position.getSizeOf(cbItem.getId()).x);
-		setSizeFor(coolItem);
-		if (newWraps != null)	{
-			coolBar.setWrapIndices(newWraps);
-			coolBar.setRedraw(true);
-		}
-		
-		positionAdded(position);
-		
-		return coolItem;
-	}	
-	/**
-	 */
-	private void dispose(CoolBarContributionItem cbItem) {
-		CoolItem coolItem = findCoolItem(cbItem);
-		if (coolItem != null) {
-			dispose(coolItem);
-		}
-		remove(cbItem);
- 		cbItem.getToolBarManager().dispose();
-	}
-	/**
-	 */
-	private void dispose(CoolItem coolItem) {
-		if ((coolItem != null) && !coolItem.isDisposed()) {
-			CoolBarContributionItem cbItem = (CoolBarContributionItem)coolItem.getData();
-			if (cbItem != null && rememberPositions) rememberPositionFor(cbItem.getId(), getLayout());
-			coolItem.setData(null);
-			Control control = coolItem.getControl();
-			// if the control is already disposed, setting the coolitem
-			// control to null will cause an SWT exception, workaround
-			// for 19630
-			if ((control != null) && !control.isDisposed()) {
-				coolItem.setControl(null);
-			}
-			coolItem.dispose();
-		}
-	}		
-	/**
-	 */
-	/* package */ void dispose() {
-		if (coolBarExist()) {
-			IContributionItem[] cbItems = getItems();
-			for (int i=0; i<cbItems.length; i++) {
-				CoolBarContributionItem cbItem = (CoolBarContributionItem)cbItems[i];
-				dispose(cbItem);
-				cbItem.dispose();
-			}
-			coolBar.dispose();
-			coolBar = null;
-		}
-		if (chevronMenuManager != null) {
-			chevronMenuManager.dispose();
-			chevronMenuManager = null;
-		}
-		if (coolBarMenuManager != null) {
-			coolBarMenuManager.dispose();
-			coolBarMenuManager = null;
-		}
-	}
-	/**
-	 */
-	private CoolItem findCoolItem(CoolBarContributionItem item) {
-		if (coolBar == null) return null;
-		CoolItem[] items = coolBar.getItems();
-		for (int i = 0; i < items.length; i++) {
-			CoolItem coolItem = items[i];
-			CoolBarContributionItem data = (CoolBarContributionItem)coolItem.getData();
-			if (data != null && data.equals(item)) return coolItem;
-		}
-		return null;
-	}
-	/**
-	 */
-	/* package */ CoolBarContributionItem findSubId(String id) {
-		IContributionItem[] items = getItems();
-		for (int i = 0; i < items.length; i++) {
-			CoolBarContributionItem item = (CoolBarContributionItem)items[i];
-			IContributionItem subItem = item.getToolBarManager().find(id);
-			if (subItem != null) return item;
-		}
-		return null;
-	}
-	/**
-	 */
-	private ArrayList getContributionIds() {
-		IContributionItem[] items = getItems();
-		ArrayList ids = new ArrayList(items.length);
-		for (int i = 0; i < items.length; i++) {
-			IContributionItem item = items[i];
-			ids.add(item.getId());
-		}
-		return ids;
-	}
-	/**
-	 */
-	private ArrayList getCoolItemIds() {
-		CoolItem[] coolItems = coolBar.getItems();
-		ArrayList ids = new ArrayList(coolItems.length);
-		for (int i = 0; i < coolItems.length; i++) {
-			CoolBarContributionItem group = (CoolBarContributionItem) coolItems[i].getData();
-			if (group != null) ids.add(group.getId());
-		}
-		return ids;
-	}
-	/**
-	 */
-	/* package */ Menu getCoolBarMenu() {
-		if (coolBarMenu == null) {
-			coolBarMenu = coolBarMenuManager.createContextMenu(coolBar);
-		}
-		return coolBarMenu;
-	}
-	/**
-	 * Return the SWT control for this manager.
-	 */
-	/* package */ CoolBar getControl() {
-		return coolBar;
-	}
-	/**
-	 */
-	private int getInsertAfterIndex(CoolBarContributionItem coolBarItem) {
-		IContributionItem[] items = getItems();
-		int index = -1;
-		CoolBarContributionItem afterItem = null;
-		// find out which item should be after this item
-		for (int i=0; i<items.length; i++) {
-			if (items[i].equals(coolBarItem)) {
-				if (i > 0) {
-					while (i > 0) {
-						afterItem = (CoolBarContributionItem)items[i-1];
-						if (afterItem.isVisible()) break;
-						i--;
-					}
-				} else {
-					// item is not after anything
-					index = 0;
-				}
-				break;
-			}
-		}
-		// get the coolbar location of the after item
-		if (afterItem != null) {
-			CoolItem afterCoolItem = findCoolItem(afterItem);
-			if (afterCoolItem != null) {
-				index = coolBar.indexOf(afterCoolItem);
-				index++;
-			}
-		}
-		return index;
-	}
-	/**
-	 */
-	private int getInsertBeforeIndex(CoolBarContributionItem coolBarItem) {
-		IContributionItem[] items = getItems();
-		int index = -1;
-		CoolBarContributionItem beforeItem = null;
-		// find out which item should be before this item
-		for (int i=0; i<items.length; i++) {
-			if (items[i].equals(coolBarItem)) {
-				if (i < items.length - 1) {
-					while (i < items.length - 1) {
-						beforeItem = (CoolBarContributionItem)items[i+1];
-						if (beforeItem.isVisible()) break;
-						i++;
-					}
-				} else {
-					// item is not before anything
-					index = coolBar.getItems().length;
-				}
-				break;
-			}
-		}
-		// get the coolbar location of the before item
-		if (beforeItem != null) {
-			CoolItem beforeCoolItem = findCoolItem(beforeItem);
-			if (beforeCoolItem != null) {
-				index = coolBar.indexOf(beforeCoolItem);
-			}
-		}
-		return index;
-	}
-	/**
-	 */
-	private CoolBarLayout getLayout() {
-		if (!coolBarExist())
-			return null;	
-		CoolBarLayout layout = new CoolBarLayout(coolBar);
-		layout.rememberedPositions = new ArrayList();
-		layout.rememberedPositions.addAll(rememberedPositions);
-		return layout;
-	}
-	private RestoreItemData getRestoreData(CoolBarContributionItem cbItem, CoolItemPosition position) {
-		RestoreItemData bestMatch = new RestoreItemData();		
-		ArrayList coolBarItems = getLayout().items;
-		
-		// Look at the remembered layouts starting at the layout for the item and heading 
-		// down the stack looking for the best saved layout to use for restoring the 
-		// item position.  Stop processing when an exact match is found or the position of
-		// the item has changed in the remembered layouts.
-		int startIndex = rememberedPositions.indexOf(position);
-		CoolBarLayout previousLayout = null;
-		for (int i=startIndex; i < rememberedPositions.size(); i++) {			
-			CoolItemPosition savedPosition = (CoolItemPosition)rememberedPositions.get(i);
-			ArrayList savedItems = savedPosition.getItems();
-			
-			// the item we are trying to restore is not in the saved layout, so stop
-			int savedItemIndex = savedItems.indexOf(cbItem.getId());
-			if (savedItemIndex == -1) break;
-				
-			// if the previousLayout is not similar to the next layout, stop
-			if (previousLayout != null) {
-				if (!previousLayout.isDerivativeOf(savedPosition.layout)) break;
-			}
-			
-			boolean afterBeforeItemFound = bestMatch.afterIndex != -1 && bestMatch.beforeIndex != -1;
-			String afterId = null;
-			String beforeId = null;	
-			int beforeIndex = -1;
-			int afterIndex = -1;	
-			
-			// look at the saved items after savedItemIndex, see if any of these items
-			// is in the current coolbar layout
-			for (int j = savedItemIndex + 1; j < savedItems.size(); j++) {
-				//
-				afterId = (String)savedItems.get(j);
-				afterIndex = coolBarItems.indexOf(afterId);
-				if (afterIndex != -1) {
-					break;
-				}
-			}
-			// look at the saved items before savedItemIndex, see if any of these items
-			// is in the current coolbar layout
-			for (int j = savedItemIndex - 1; j >= 0; j--) {
-				//
-				beforeId = (String)savedItems.get(j);
-				beforeIndex = coolBarItems.indexOf(beforeId);
-				if (beforeIndex != -1) {
-					break;
-				}
-			}
-			if (beforeIndex != -1 && afterIndex != -1) {
-				// test whether or not we've found an exact position, 
-				// if we have use this savedPosition
-				bestMatch.savedPosition = savedPosition;
-				bestMatch.afterItemId = afterId;
-				bestMatch.afterIndex = afterIndex;
-				bestMatch.beforeItemId = beforeId;
-				bestMatch.beforeIndex = beforeIndex;
-				if (beforeIndex + 1 == afterIndex) {
-					break;
-				} 
-			} else if (beforeIndex != -1) {
-				// If we found both items previously, that is the best match.
-				// This condition can happen if items were added between this 
-				// savedPosition and the previous savedPosition.
-				if (afterBeforeItemFound) break;
-				bestMatch.savedPosition = savedPosition;
-				bestMatch.beforeItemId = beforeId;
-				bestMatch.beforeIndex = beforeIndex;
-				bestMatch.afterItemId = null;
-				bestMatch.afterIndex = -1;
-				// there are no after before index on the coolbar
-				if (beforeIndex == coolBarItems.size() - 1) break;
-			} else if (afterIndex != -1) {
-				// If we found both items previously, that is the best match. 
-				// This condition can happen if items were added between this 
-				// savedPosition and the previous savedPosition.
-				if (afterBeforeItemFound) break;
-				bestMatch.savedPosition = savedPosition;
-				bestMatch.afterItemId = afterId;
-				bestMatch.afterIndex = afterIndex;
-				bestMatch.beforeItemId = null;
-				bestMatch.beforeIndex = -1;
-				// there are no items before afterIndex on the coolbar
-				if (afterIndex == 0) break;
-			} else {
-				// nothing found
-				break;
-			}
-			previousLayout = savedPosition.layout;
-		}
-		return bestMatch;
-	}
-	/**
-	 * Return the remembered position for the given CoolBarContributionItem.  If a position
-	 * was not remembered, return null.
-	 */
-	private CoolItemPosition getRememberedPosition (String cbItemId) {
-		for (int i=0; i<rememberedPositions.size(); i++) {
-			CoolItemPosition position = (CoolItemPosition)rememberedPositions.get(i);
-			if (position.id.equals(cbItemId) && !position.added) return position;
-		}
-		return null;
-	}
-	/* package */ int getStyle() {
-		return style;
-	}
-	/**
-	 * Create and display the chevron menu.
-	 */
-	private void handleChevron(SelectionEvent event) {
-		CoolItem item = (CoolItem) event.widget;
-		Control control = item.getControl();
-		if ((control instanceof ToolBar) == false) {
-			return;
-		}
-		
-		Point chevronPosition = coolBar.toDisplay(new Point(event.x, event.y));
-		ToolBar toolBar = (ToolBar) control;
-		ToolItem[] tools = toolBar.getItems();
-		int toolCount = tools.length;
-		int visibleItemCount = 0;
-		while (visibleItemCount < toolCount) {
-			Rectangle toolBounds = tools[visibleItemCount].getBounds();
-			Point point = toolBar.toDisplay(new Point(toolBounds.x, toolBounds.y));
-			toolBounds.x = point.x;
-			toolBounds.y = point.y;
-			// stop if the tool is at least partially hidden by the drop down chevron
-			if (chevronPosition.x >= toolBounds.x && chevronPosition.x - toolBounds.x <= toolBounds.width) {
-				break;
-			}
-			visibleItemCount++;
-		}
-
-		// Create a pop-up menu with items for each of the hidden buttons.
-		if (chevronMenuManager != null) {
-			chevronMenuManager.dispose();
-		}
-		chevronMenuManager = new MenuManager();
-		for (int i = visibleItemCount; i < toolCount; i++) {
-			IContributionItem data = (IContributionItem) tools[i].getData();
-			if (data instanceof ActionContributionItem) {
-				ActionContributionItem contribution = new ActionContributionItem(((ActionContributionItem) data).getAction());
-				chevronMenuManager.add(contribution);
-			} else if (data instanceof SubContributionItem) {
-				IContributionItem innerData = ((SubContributionItem)data).getInnerItem();
-				if (innerData instanceof ActionContributionItem) {
-					ActionContributionItem contribution = new ActionContributionItem(((ActionContributionItem) innerData).getAction());
-					chevronMenuManager.add(contribution);
-				}
-			} else if (data.isSeparator()) {
-				chevronMenuManager.add(new Separator());
-			}
-		}
-		Menu popup = chevronMenuManager.createContextMenu(coolBar);
-		popup.setLocation(chevronPosition.x, chevronPosition.y);
-		popup.setVisible(true);
-	}
-	/**
-	 * Inserts a contribution item for the given action after the item 
-	 * with the given id.
-	 * Equivalent to
-	 * <code>insertAfter(id,new ActionContributionItem(action))</code>.
-	 *
-	 * Not valid for CoolBarManager.  Only CoolBarContributionItems may be added
-	 * to this manager.
-	 *
-	 * @param id the contribution item id
-	 * @param action the action to insert
-	 */
-	public void insertAfter(String id, IAction action) {
-		Assert.isTrue(false);
-	}
-	/**
-	 * Inserts a contribution item after the item with the given id.
-	 *
-	 * @param id the CoolBarContributionItem 
-	 * @param item the CoolBarContributionItem to insert
-	 * @exception IllegalArgumentException if there is no item with
-	 *   the given id
-	 * @exception IllegalArgumentException if the type of item is
-	 * 	not valid
-	 */
-	public void insertAfter(String id, IContributionItem item) {
-		Assert.isTrue(item instanceof CoolBarContributionItem);
-		super.insertAfter(id, item);
-		((CoolBarContributionItem)item).setOrderAfter(true);
-	}
-	/**
-	 * Inserts a contribution item for the given action before the item 
-	 * with the given id.
-	 * Equivalent to
-	 * <code>insertBefore(id,new ActionContributionItem(action))</code>.
-	 *
-	 * Not valid for CoolBarManager.  Only CoolBarContributionItems may be added
-	 * to this manager.
-	 *
-	 * @param id the contribution item id
-	 * @param action the action to insert
-	 */
-	public void insertBefore(String id, IAction action) {
-		Assert.isTrue(false);
-	}
-	/**
-	 * Inserts a contribution item before the item with the given id.
-	 *
-	 * @param id the CoolBarContributionItem 
-	 * @param item the CoolBarContributionItem to insert
-	 * @exception IllegalArgumentException if there is no item with
-	 *   the given id
-	 * @exception IllegalArgumentException if the type of item is
-	 * 	not valid
-	 */
-	public void insertBefore(String id, IContributionItem item) {
-		Assert.isTrue(item instanceof CoolBarContributionItem);
-		super.insertBefore(id, item);
-		((CoolBarContributionItem)item).setOrderBefore(true);
-	}
-	/**
-	 */
-	/* package */ boolean isLayoutLocked() {
-		if (!coolBarExist()) return false;
-		return coolBar.getLocked();
-	}
-	/**
-	 */
-	/* package */ void lockLayout(boolean value) {
-		coolBar.setLocked(value);
-	}
-	/**
-	 */
-	private void positionAdded(CoolItemPosition position) {
-		// mark the position as added back
-		position.added = true;
-	
-		// remembered positions on the top of the stack that have been added can be removed
-		boolean done =  rememberedPositions.size() == 0;
-		while (!done) {
-			CoolItemPosition topLayout = (CoolItemPosition)rememberedPositions.get(0);
-			if (topLayout.added) {
-				rememberedPositions.remove(0);
-				done = rememberedPositions.size() == 0;
-			} else {
-				done = true;
-			}			
-		}
-		// all except the least recently added position in a set of contiguously added positions
-		// can be removed from the stack within each g
-		int testIndex = 1;
-		done =  testIndex + 1 > rememberedPositions.size() - 1;
-		while (!done) {
-			CoolItemPosition pos = (CoolItemPosition)rememberedPositions.get(testIndex);
-			if (pos.added) {
-				CoolItemPosition nextPos = (CoolItemPosition)rememberedPositions.get(testIndex + 1);
-				CoolItemPosition prevPos = (CoolItemPosition)rememberedPositions.get(testIndex - 1);
-				boolean nextSameGroup = pos.layout.isDerivativeOf(nextPos.layout);
-				boolean prevSameGroup = prevPos.layout.isDerivativeOf(pos.layout);
-				if (!nextSameGroup && !prevSameGroup) {
-					// only item in this group
-					rememberedPositions.remove(testIndex);
-				} else if (nextPos.added && nextSameGroup && !prevSameGroup) {
-					rememberedPositions.remove(testIndex);
-				} else {
-					testIndex++;
-				}
-			} else {
-				testIndex++;
-			}
-			done = testIndex + 1 > rememberedPositions.size() - 1; 
-		}	
-	}
-	/**
-	 * Layout out the coolbar items so that each one is sized to its preferred size.
-	 */
-	private void redoLayout() {
-		// Reset the wrap indices and the cool item sizes.  The coolbar will automatically
-		// wrap the items to the next row that do not fit.
-		coolBar.setWrapIndices(new int[0]);		
-		CoolItem[] coolItems = coolBar.getItems();
-		for (int i = 0; i < coolItems.length; i++) {
-			CoolItem coolItem = coolItems[i];
-			setSizeFor(coolItem);
-		}
-		// clear any remembered data
-		rememberedPositions = new ArrayList();
-		relayout();		
-	}
-	/**
-	 */
-	private void resetLayout() {
-		coolBar.setRedraw(false);
-		CoolItem[] coolItems = coolBar.getItems();
-		for (int i = 0; i < coolItems.length; i++) {
-			CoolItem coolItem = coolItems[i];
-			dispose(coolItem);
-		}
-		coolBar.setWrapIndices(new int[] {});
-		update(true);
-		coolBar.setRedraw(true);
-	}
-	/**
-	 * Removes the given contribution item from the contribution items
-	 * known to this manager.
-	 *
-	 * @param item the contribution item
-	 * @return the <code>item</code> parameter if the item was removed,
-	 *   and <code>null</code> if it was not found
-	 * @exception IllegalArgumentException if the type of item is
-	 * 	not valid
-	 */
-	public IContributionItem remove(IContributionItem item) {
-		Assert.isTrue(item instanceof CoolBarContributionItem);
-		return super.remove(item);
-	}
-	/**
-	 */
-	private void relayout() {
-		coolBar.getParent().layout();
-	}
-	/**
-	 * Save the position of the given CoolItem for restoring the item later.
-	 */
-	private CoolItemPosition rememberPositionFor(String cbItemId, CoolBarLayout layout) {
-		// create a CoolItemPosition for the given cbItem, no need to save 
-		// remembered positions as part of the layout
-		layout.rememberedPositions = new ArrayList();
-		CoolItemPosition position = new CoolItemPosition(cbItemId, layout);
-		
-		// remove the previously remembered position for the item if
-		// it exists
-		int index = -1;
-		for (int i=0; i<rememberedPositions.size(); i++) {
-			CoolItemPosition item = (CoolItemPosition)rememberedPositions.get(i);
-			if (position.id.equals(item.id)) index = i;
-		}
-		if (index != -1) rememberedPositions.remove(index);
-		
-		// add the position to the beginning of the stack of remembered
-		// positions
-		rememberedPositions.add(0, position);
-		return position;
-	}
-	void saveLayoutFor(Perspective perspective) {
-		perspective.setToolBarLayout(getLayout());
-		rememberPositions = false;
-		rememberedPositions = new ArrayList();
-	}
-	void setLayoutFor(Perspective perspective) {
-		rememberedPositions = new ArrayList();
-		setLayout(perspective.getToolBarLayout());
-		updateTabOrder();
-		rememberPositions = true;
-	}
-	/**
-	 */
-	private void setLayout(CoolBarLayout layout) {
-		try {
-			setLayoutTo(layout);
-		} catch (Exception e) {
-			// A lot can go wrong if the layout is out of sync with the coolbar state.
-			// Try to recover by resetting the layout.
-			WorkbenchPlugin.log("An error has occurred restoring the coolbar layout. " + e.toString()); //$NON-NLS-1$
-			resetLayout();
-		}
-	}
-	/**
-	 */
-	private void setLayoutTo(CoolBarLayout layout) {
-		// This method is called after update.  All of the coolbar items have
-		// been created, now apply the layout to the coolbar. 
-
-		if (layout == null) {
-			coolBar.setRedraw(false);
-			CoolItem[] coolItems = coolBar.getItems();
-			int[] newItemOrder = new int[coolItems.length];
-			// Reset the coolitem order to their original order.  This order is
-			// based on the order of the ContributionItems.  Note that the only
-			// way to reset item order is to setItemLayout (no setItemOrder API).
-			IContributionItem[] items = getItems();
-			int j = 0;
-			int[] oldItemOrder = coolBar.getItemOrder();
-			for (int i = 0; i < items.length; i++) {
-				CoolBarContributionItem item = (CoolBarContributionItem)items[i];
-				CoolItem coolItem = findCoolItem(item);
-				if (coolItem != null) {
-					int visualIndex = coolBar.indexOf(coolItem);
-					int creationIndex = oldItemOrder[visualIndex];
-					newItemOrder[j] = creationIndex;
-					j++;
-				}
-			}
-			coolBar.setItemLayout(newItemOrder, coolBar.getWrapIndices(), coolBar.getItemSizes());
-			redoLayout();
-			coolBar.setRedraw(true);
-			return;
-		}
-
-		int maxItemCount = coolBar.getItemCount();
-		int[] itemOrder = new int[maxItemCount];
-		Point[] itemSizes = new Point[maxItemCount];
-
-		// Used to keep track of what cool items have been accounted for in
-		// layout.  New items that were added after the layout was saved, will
-		// not be accounted for.
-		int[] found = new int[maxItemCount];
-		for (int i = 0; i < found.length; i++) {
-			found[i] = -1;
-		}
-		int[] currentItemOrder = coolBar.getItemOrder();
-		Vector foundItemOrder = new Vector();
-		Vector foundItemSizes = new Vector();
-		for (int i=0; i<layout.items.size(); i++) {
-			CoolItem coolItem = findCoolItem((CoolBarContributionItem)find((String)layout.items.get(i)));
-			if (coolItem != null) {
-				int index = currentItemOrder[coolBar.indexOf(coolItem)];
-				foundItemOrder.add(new Integer(index));
-				foundItemSizes.add(layout.itemSizes[i]);
-				// the cool item at the given index has been accounted for,
-				// so set the found value for that index to 0
-				found[index]=0;
-			} 
-		}
-		int count=0;
-		for (count=0; count<foundItemOrder.size(); count++) {
-			itemOrder[count]=((Integer)foundItemOrder.elementAt(count)).intValue();
-			itemSizes[count]=(Point)foundItemSizes.elementAt(count);
-		}
-		
-		rememberedPositions = layout.rememberedPositions;
-		// Handle those items that are on the coolbar, but not in the layout.
-		// Just add these items at the end of the coolbar for now.
-		ArrayList rememberedAddedItems = new ArrayList();
-		for (int i=0; i<found.length; i++) {
-			if (found[i] == -1) {
-				itemOrder[count]=i;
-				CoolItem cItem = coolBar.getItem(i);
-				itemSizes[count]=cItem.getSize();
-				CoolBarContributionItem cbItem = (CoolBarContributionItem)cItem.getData();
-				CoolItemPosition position = getRememberedPosition(cbItem.getId());
-				if (position != null) {
-					rememberedAddedItems.add(cItem);
-				}
-				count++;
-			}
-		}
-
-		coolBar.setRedraw(false);
-		coolBar.setItemLayout(itemOrder, new int[0], itemSizes);
-
-		// restore the wrap indices after the new item order is restored, wrap on the same items that 
-		// were specified in the layout
-		String[] wrapItems = new String[layout.itemWrapIndices.length];
-		for (int i = 0; i < layout.itemWrapIndices.length; i++) {
-			wrapItems[i] = (String) layout.items.get(layout.itemWrapIndices[i]);
-		}
-		int[] wrapIndices = new int[wrapItems.length];
-		ArrayList currentCoolItemIds = getCoolItemIds();
-		int j = 0;
-		int k = 0;
-		while (k < wrapItems.length) {
-			int index = currentCoolItemIds.indexOf(wrapItems[k]);
-			if (index != -1) {
-				wrapIndices[j] = index;
-				j++;
-				k++;
-			} else {
-				// wrap item no longer exists, try wrapping on the next item in the
-				// saved layout, if we hit a new row, stop
-				int visualIndex = layout.items.indexOf(wrapItems[k]);
-				int row = layout.getRowOfIndex(visualIndex);
-				int nextIndex = visualIndex + 1;
-				int nextRow = layout.getRowOfIndex(nextIndex);
-				if (nextIndex < layout.items.size() && nextRow == row) {
-					String nextItem = (String)layout.items.get(nextIndex);
-					wrapItems[k]=nextItem;
-				} else {
-					k++;
-				}
-			}
-		}
-		int[] itemWraps = new int[j];
-		System.arraycopy(wrapIndices, 0, itemWraps, 0, j);
-		coolBar.setWrapIndices(itemWraps);
-
-		// restore the position of items whose position was remembered
-		ArrayList cbItems = new ArrayList();
-		ArrayList toolbars = new ArrayList();
-		// dispose of the coolitems, then add back one at a time - necessary to restore the
-		// original layout
-		for (int i=0; i<rememberedAddedItems.size(); i++) {
-			CoolItem item = (CoolItem)rememberedAddedItems.get(i);
-			CoolBarContributionItem cbItem = (CoolBarContributionItem)item.getData();
-			cbItems.add(cbItem);
-			ToolBar tBar = (ToolBar) item.getControl();
-			toolbars.add(tBar);
-			dispose(item);
-		}
-		for (int i=0; i<cbItems.size(); i++) {		
-			CoolBarContributionItem cbItem = (CoolBarContributionItem)cbItems.get(i);
-			CoolItemPosition position = getRememberedPosition(cbItem.getId());
-			// restore the item's saved position
-			ToolBar tBar = (ToolBar)toolbars.get(i);
-			createRememberedCoolItem(cbItem, tBar, position);
-		}
-
-		// need to remember position for any item that was in the layout but not 
-		// currently on the coolbar
-		ArrayList currentIds = getCoolItemIds();
-		for (int i=0; i<layout.items.size(); i++) {
-			String id = (String)layout.items.get(i);
-			if (!currentIds.contains(id)) {
-				rememberPositionFor(id, layout);
-			}
-		}
-		coolBar.setRedraw(true);
-	}
-	private void setSizeFor(CoolItem coolItem) {
-		setSizeFor(coolItem, -1);
-	}
-	/**
-	 */
-	private void setSizeFor(CoolItem coolItem, int coolWidth) {
-		ToolBar toolBar = (ToolBar) coolItem.getControl();
-		Point size = toolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		Point coolSize = coolItem.computeSize(size.x, size.y);
-		// note setMinimumSize must be called before setSize, see PR 15565
-		coolItem.setMinimumSize(size.x, size.y);
-		coolItem.setPreferredSize(coolSize);
-		if (coolWidth == -1) {
-			coolItem.setSize(coolSize);
-		} else {
-			coolItem.setSize(new Point(coolWidth, coolSize.y));
-		} 
-	}
-	/**
-	 */
-	public void update(boolean force) {
-		if (isDirty() || force) {
-			if (coolBarExist()) {
-				boolean useRedraw = false;
-				CoolBarLayout layout = getLayout();
-				
-				// remove CoolBarItemContributions that are empty
-				IContributionItem[] items = getItems();
-				ArrayList cbItemsToRemove = new ArrayList(items.length);
-				for (int i = 0; i < items.length; i++) {
-					CoolBarContributionItem cbItem = (CoolBarContributionItem) items[i];
-					if (cbItem.getItems().length == 0) {
-						CoolItem coolItem = findCoolItem(cbItem);
-						if (!useRedraw && coolItem != null) {
-							int visualIndex = coolBar.indexOf(coolItem);
-							if (layout.isOnRowAlone(visualIndex)) {
-								useRedraw = true;
-							}
-						}						
-						cbItemsToRemove.add(cbItem);
-					}
-				}
-				
-				// remove non-visible CoolBarContributionItems
-				CoolItem[] coolItems = coolBar.getItems();
-				ArrayList coolItemsToRemove = new ArrayList(coolItems.length);
-				for (int i = 0; i < coolItems.length; i++) {
-					CoolItem coolItem = coolItems[i];
-					CoolBarContributionItem cbItem = (CoolBarContributionItem) coolItem.getData();
-					if ((cbItem != null) && !cbItem.isVisible() && (!cbItemsToRemove.contains(cbItem))) {
-						if (!useRedraw) {
-							int visualIndex = coolBar.indexOf(coolItem);
-							if (layout.isOnRowAlone(visualIndex)) {
-								useRedraw = true;
-							}
-						}
-						coolItemsToRemove.add(coolItem);
-					}
-				}
-				// set redraw off if deleting a sole item from a row to reduce jumpiness in the
-				// case that an item gets added back on that row as part of the update
-				if (!useRedraw && (cbItemsToRemove.size() + coolItemsToRemove.size() > 2)) {
-					useRedraw = true;
-				}
-				if (useRedraw) coolBar.setRedraw(false);
-
-				for (Iterator e = cbItemsToRemove.iterator(); e.hasNext();) {
-					CoolBarContributionItem cbItem = (CoolBarContributionItem) e.next();
-					dispose(cbItem);
-				}
-				for (Iterator e = coolItemsToRemove.iterator(); e.hasNext();) {
-					CoolItem coolItem = (CoolItem) e.next();
-					ToolBar tBar = (ToolBar) coolItem.getControl();
-					tBar.setVisible(false);
-					dispose(coolItem);
-				}
-
-				// create a CoolItem for each group of items that does not have a CoolItem 
-				ArrayList coolItemIds = getCoolItemIds();
-				items = getItems();
-				boolean changed = false;
-				boolean relock = false;
-				for (int i = 0; i < items.length; i++) {
-					CoolBarContributionItem cbItem = (CoolBarContributionItem) items[i];
-					if (!coolItemIds.contains(cbItem.getId())) {
-						if (cbItem.isVisible()) {
-							ToolBar toolBar = cbItem.getControl();
-							if ((toolBar != null) && (!toolBar.isDisposed()) && (toolBar.getItemCount() > 0) && cbItem.hasDisplayableItems()) {
-								if (!changed) {
-									// workaround for 14330
-									changed = true;
-									if (coolBar.getLocked()) {
-										coolBar.setLocked(false);
-										relock = true;
-									}
-								}
-								createCoolItem(cbItem, toolBar);
-							}
-						}
-					} 				
-				}
-				
-				updateTabOrder();
-				setDirty(false);
-
-				// workaround for 14330
-				if(relock) {
-					coolBar.setLocked(true);
-				}
-				if (useRedraw) coolBar.setRedraw(true);
-			}
-		}
-	}
-	/**
-	 * Recalculate and set the size for the given CoolBarContributionItem's coolitem.
-	 */
-	/* package */ void updateSizeFor(CoolBarContributionItem cbItem) {
-		CoolItem coolItem = findCoolItem(cbItem);
-		if (coolItem != null) setSizeFor(coolItem);
-	}
-	/**
-	 * Sets the tab order of the coolbar to the visual order of its items.
-	 */
-	/* package */ void updateTabOrder() {
-        CoolItem[] items = coolBar.getItems();
-        Control[] children = new Control[items.length];
-        for (int i = 0; i < children.length; i++) {
-        	children[i] = items[i].getControl();
-		}
-		coolBar.setTabList(children);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolItemMultiToolBarManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolItemMultiToolBarManager.java
deleted file mode 100644
index 44c7ea1..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolItemMultiToolBarManager.java
+++ /dev/null
@@ -1,429 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * Copyright (c) 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.Iterator;
-
-import org.eclipse.jface.action.*;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.ui.part.CoolItemGroupMarker;
-import org.eclipse.ui.IWorkbenchActionConstants;
-
-/**
- * CoolItemMultiToolBarManager class
- */
-public class CoolItemMultiToolBarManager extends CoolItemToolBarManager {
-	ArrayList coolBarItems = new ArrayList();
-	boolean active = false;
-	String id;
-	boolean coolItemsCreated = false;
-
-	public void add(IAction action) {
-		if (!coolItemsCreated) {
-			super.add(action);
-			return;
-		}
-		CoolBarContributionItem cbItem = ((CoolBarContributionItem) coolBarItems.get(coolBarItems.size() - 1));
-		cbItem.getToolBarManager().add(action);
-		if (cbItem.hasDisplayableItems()) setVisible(true);
-	}
-	public void add(IContributionItem item) {
-		if (!coolItemsCreated) {
-			super.add(item);
-			return;
-		}
-		CoolBarContributionItem cbItem = ((CoolBarContributionItem) coolBarItems.get(coolBarItems.size() - 1));
-		cbItem.getToolBarManager().add(item);
-		if (cbItem.hasDisplayableItems()) setVisible(true);
-	}
-	public void appendToGroup(String groupName, IAction action) {
-		if (!coolItemsCreated) {
-			super.appendToGroup(groupName, action);
-			return;
-		}
-		CoolBarContributionItem cbItem = findGroup(groupName);
-		if (cbItem != null) {
-			cbItem.getToolBarManager().add(action);
-			if (cbItem.hasDisplayableItems()) setVisible(true);
-		} else {
-			cbItem = findGroupFor(groupName);
-			if (cbItem != null) {
-				cbItem.getToolBarManager().appendToGroup(groupName, action);
-				if (cbItem.hasDisplayableItems()) setVisible(true);
-			}
-		}
-			
-	}
-	public void appendToGroup(String groupName, IContributionItem item) {
-		if (!coolItemsCreated) {
-			super.appendToGroup(groupName, item);
-			return;
-		}
-		CoolBarContributionItem cbItem = findGroup(groupName);
-		if (cbItem != null) {
-			cbItem.getToolBarManager().add(item);
-			if (cbItem.hasDisplayableItems()) setVisible(true);
-		} else {
-			cbItem = findGroupFor(groupName);
-			if (cbItem != null) {
-				cbItem.getToolBarManager().appendToGroup(groupName, item);
-				if (cbItem.hasDisplayableItems()) setVisible(true);
-			}
-		}
-	}
-	/**
-	* NOT VALID for multiple CoolItem case
-	*/
-	public ToolBar createControl(Composite parent) {
-		if (!coolItemsCreated) {
-			return super.createControl(parent);
-		}
-		return null;
-	}
-
-	/**
-	* Disposes of this tool bar manager and frees all allocated SWT resources.
-	* Note that this method does not clean up references between this tool bar 
-	* manager and its associated contribution items.
-	* Use <code>removeAll</code> for that purpose.
-	*/
-	public void dispose() {
-		if (!coolItemsCreated) {
-			super.dispose();
-			return;
-		}
-		for (Iterator e = coolBarItems.iterator(); e.hasNext();) {
-			CoolBarContributionItem cbItem = (CoolBarContributionItem) e.next();
-			cbItem.getToolBarManager().dispose();
-		}
-		super.dispose();
-	}
-
-	public IContributionItem find(String id) {
-		if (!coolItemsCreated) {
-			return super.find(id);
-		}
-		for (Iterator e = coolBarItems.iterator(); e.hasNext();) {
-			CoolBarContributionItem cbItem = (CoolBarContributionItem) e.next();
-			IContributionItem item = cbItem.getToolBarManager().find(id);
-			if (item != null) return item;
-		}
-		return null;
-	}
-	
-	protected CoolBarContributionItem findGroup(String id) {
-		for (Iterator e = coolBarItems.iterator(); e.hasNext();) {
-			CoolBarContributionItem cbItem = (CoolBarContributionItem) e.next();
-			if (cbItem.getId().equals(id))
-				return cbItem;
-		}
-		return null;
-	}
-	protected CoolBarContributionItem findGroupFor(String id) {
-		for (Iterator e = coolBarItems.iterator(); e.hasNext();) {
-			CoolBarContributionItem cbItem = (CoolBarContributionItem) e.next();
-			IContributionItem item = cbItem.getToolBarManager().find(id);
-			if (item != null)
-				return cbItem;
-		}
-		return null;
-	}
-	/**
-	 * NOT VALID for multiple CoolItem case
-	 */
-	public ToolBar getControl() {
-		if (!coolItemsCreated) {
-			return super.getControl();
-		}
-		return null;
-	}
-
-	public void prependToGroup(String groupName, IAction action) {
-		if (!coolItemsCreated) {
-			super.prependToGroup(groupName, action);
-			return;
-		}
-		CoolBarContributionItem cbItem = findGroup(groupName);
-		if (cbItem != null) {
-			cbItem.getToolBarManager().prependToGroup(groupName, action);
-			if (cbItem.hasDisplayableItems()) setVisible(true);
-		} else {
-			cbItem = findGroupFor(groupName);
-			if (cbItem != null) {
-				cbItem.getToolBarManager().prependToGroup(groupName, action);
-				if (cbItem.hasDisplayableItems()) setVisible(true);
-			}
-		}
-	}
-	public void prependToGroup(String groupName, IContributionItem item) {
-		if (!coolItemsCreated) {
-			super.prependToGroup(groupName, item);
-			return;
-		}
-		CoolBarContributionItem cbItem = findGroup(groupName);
-		if (cbItem != null) {
-			cbItem.getToolBarManager().prependToGroup(groupName, item);
-			if (cbItem.hasDisplayableItems()) setVisible(true);
-		} else {
-			cbItem = findGroupFor(groupName);
-			if (cbItem != null) {
-				cbItem.getToolBarManager().prependToGroup(groupName, item);
-				if (cbItem.hasDisplayableItems()) setVisible(true);
-			}
-		}
-	}
-
-
-	public void update(boolean force) {
-		if (!coolItemsCreated) {
-			super.update(force);
-			return;
-		}
-		for (Iterator e = coolBarItems.iterator(); e.hasNext();) {
-			CoolBarContributionItem cbItem = (CoolBarContributionItem) e.next();
-			cbItem.getToolBarManager().update(force);
-		}
-		getParentManager().update(force);
-	}
-
-	public CoolItemMultiToolBarManager(CoolBarManager parentManager, String id, boolean active) {
-		super(parentManager.getStyle());
-		this.parentManager = parentManager;
-		this.active = active;
-		this.id = id;
-	}
-	public void createCoolBarContributionItems() {
-		if (!isCoolItemGrouped()) {
-			// Don't create groups.
-			this.add(new GroupMarker(IWorkbenchActionConstants.GROUP_EDITOR));
-			CoolBarContributionItem coolBarItem = new CoolBarContributionItem(parentManager, this, id);
-			parentManager.add(coolBarItem);
-			this.setVisible(active);
-			return;
-		}
-		ArrayList groupedItems = getGroups();
-		if (groupedItems.size() > 0) {
-			coolItemsCreated = true;
-		}
-		for (Iterator groupIter = groupedItems.iterator(); groupIter.hasNext();) {
-			ArrayList items = (ArrayList) groupIter.next();
-			if (!items.isEmpty()) {
-				String groupId = ((IContributionItem) items.get(0)).getId();
-				CoolItemToolBarManager tBarMgr = createGroup(groupId);
-				for (Iterator itemIter = items.iterator(); itemIter.hasNext();) {
-					tBarMgr.add((IContributionItem) itemIter.next());
-				}
-			}
-		}
-	}
-	protected CoolItemToolBarManager createGroup(String groupId) {
-		CoolItemToolBarManager tBarMgr = new CoolItemToolBarManager(parentManager.getStyle());
-		tBarMgr.setOverrides(getOverrides());
-		CoolBarContributionItem coolBarItem = new CoolBarContributionItem(parentManager, tBarMgr, groupId);
-		parentManager.add(coolBarItem);
-		coolBarItems.add(coolBarItem);
-		coolBarItem.setVisible(active);
-		return tBarMgr;
-	}
-	/**
-	 * NOT VALID for multiple CoolItem case
-	 */
-	protected CoolBarContributionItem getCoolBarItem() {
-		if (!coolItemsCreated) {
-			return super.getCoolBarItem();
-		}
-		return null;
-	}
-	public IContributionItem[] getItems() {
-		if (!coolItemsCreated) {
-			return super.getItems();
-		}
-		ArrayList allItems = new ArrayList();
-		for (Iterator e = coolBarItems.iterator(); e.hasNext();) {
-			CoolBarContributionItem cbItem = (CoolBarContributionItem) e.next();
-			IContributionItem[] items = cbItem.getToolBarManager().getItems();
-			for (int i=0; i<items.length; i++) {
-				allItems.add(items[i]);
-			}
-		}
-		IContributionItem[] items = new IContributionItem[allItems.size()];
-		allItems.toArray(items);
-		return items;
-	}
-	protected boolean hasDynamicItems() {
-		if (!coolItemsCreated) {
-			return super.hasDynamicItems();
-		}
-		return false;
-	}	
-	protected ArrayList getGroups() {
-		ArrayList groups = new ArrayList();
-		IContributionItem[] items = getItems();
-		if (items.length == 0)
-			return groups;
-		ArrayList group = new ArrayList();
-		IContributionItem firstItem = items[0];
-		int start = 0;
-		if (isCoolItemMarker(firstItem)) {
-			group.add(firstItem);
-			start = 1;
-		} else {
-			group.add(new CoolItemGroupMarker(id));
-		}
-
-		for (int i = start; i < items.length; i++) {
-			IContributionItem item = items[i];
-			if (isCoolItemMarker(item)) {
-				groups.add(group);
-				group = new ArrayList();
-				group.add(item);
-			} else {
-				group.add(item);
-			}
-		}
-		groups.add(group);
-		return groups;
-	}
-
-	public void insertAfter(String ID, IAction action) {
-		if (!coolItemsCreated) {
-			super.insertAfter(ID, action);
-			return;
-		}
-		CoolBarContributionItem cbItem = findGroupFor(ID);
-		if (cbItem != null) {
-			cbItem.getToolBarManager().insertAfter(ID, action);
-			if (cbItem.hasDisplayableItems()) setVisible(true);
-		}
-	}
-	public void insertAfter(String ID, IContributionItem item) {
-		if (!coolItemsCreated) {
-			super.insertAfter(ID, item);
-			return;
-		}
-		CoolBarContributionItem cbItem = findGroupFor(ID);
-		if (cbItem != null) {
-			cbItem.getToolBarManager().insertAfter(ID, item);
-			if (cbItem.hasDisplayableItems()) setVisible(true);
-		}
-	}
-	public void insertBefore(String ID, IAction action) {
-		if (!coolItemsCreated) {
-			super.insertBefore(ID, action);
-			return;
-		}
-		CoolBarContributionItem cbItem = findGroupFor(ID);
-		if (cbItem != null) {
-			cbItem.getToolBarManager().insertBefore(ID, action);
-			if (cbItem.hasDisplayableItems()) setVisible(true);
-		}
-	}
-	public void insertBefore(String ID, IContributionItem item) {
-		if (!coolItemsCreated) {
-			super.insertBefore(ID, item);
-			return;
-		}
-		CoolBarContributionItem cbItem = findGroupFor(ID);
-		if (cbItem != null) {
-			cbItem.getToolBarManager().insertBefore(ID, item);
-			if (cbItem.hasDisplayableItems()) setVisible(true);
-		}
-	}
-	public boolean isDirty() {
-		if (!coolItemsCreated) {
-			return super.isDirty();
-		}
-		for (Iterator e = coolBarItems.iterator(); e.hasNext();) {
-			CoolBarContributionItem cbItem = (CoolBarContributionItem) e.next();
-			if (cbItem.getToolBarManager().isDirty())
-				return true;
-		}
-		return super.isDirty();
-	}
-	protected boolean isCoolItemMarker(IContributionItem item) {
-		return item instanceof CoolItemGroupMarker;
-	}
-	protected boolean isCoolItemGrouped() {
-		IContributionItem[] items = getItems();
-		for (int i=0; i<items.length; i++) {
-			IContributionItem item = items[i];
-			if (isCoolItemMarker(item)) return true;
-		}
-		return false;
-	}
-
-
-public IContributionItem remove(IContributionItem item) {
-	if (!coolItemsCreated) {
-		return super.remove(item);
-	}
-	CoolBarContributionItem cbItem = findGroupFor(item.getId());
-	if (cbItem != null) {
-		IContributionItem removed = cbItem.getToolBarManager().remove(item);
-		if (!cbItem.hasDisplayableItems()) cbItem.setVisible(false); 
-		return removed;
-	}
-	return null;
-}
-
-	public IContributionItem remove(String ID) {
-		if (!coolItemsCreated) {
-			return super.remove(ID);
-		}
-		CoolBarContributionItem cbItem = findGroupFor(ID);
-		if (cbItem != null) {
-			IContributionItem removed = cbItem.getToolBarManager().remove(ID);
-			if (!cbItem.hasDisplayableItems()) cbItem.setVisible(false); 
-			return removed;
-		}
-		return null;
-	}
-	public void removeAll() {
-		if (!coolItemsCreated) {
-			super.removeAll();
-			return;
-		}
-		for (Iterator e = coolBarItems.iterator(); e.hasNext();) {
-			CoolBarContributionItem cbItem = (CoolBarContributionItem) e.next();
-			cbItem.getToolBarManager().removeAll();
-		}
-		coolBarItems.clear();
-		setDirty(true);
-	}
-
-	/**
-	 * NOT VALID for multiple CoolItem case
-	 */
-	protected void setCoolBarItem(CoolBarContributionItem coolBarItem) {
-		if (!coolItemsCreated) {
-			super.setCoolBarItem(coolBarItem);
-		}
-	}
-	protected void setVisible(boolean set) {
-		super.setVisible(set);
-		if (!coolItemsCreated) {
-			return;
-		}
-		for (Iterator e = coolBarItems.iterator(); e.hasNext();) {
-			CoolBarContributionItem cbItem = (CoolBarContributionItem) e.next();
-			cbItem.setVisible(set);
-		}
-	}
-	protected void setVisible(boolean set, boolean forceVisibility) {
-		super.setVisible(set, forceVisibility);
-		if (!coolItemsCreated) {
-			return;
-		}
-		for (Iterator e = coolBarItems.iterator(); e.hasNext();) {
-			CoolBarContributionItem cbItem = (CoolBarContributionItem) e.next();
-			cbItem.setVisible(set, forceVisibility);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolItemPosition.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolItemPosition.java
deleted file mode 100644
index 211989a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolItemPosition.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.eclipse.ui.internal;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import java.util.ArrayList;
-import org.eclipse.swt.graphics.Point;
-
-/**
- * Class for remembering information about the position of a removed cool item.
- */
-public class CoolItemPosition {
-
-	boolean added = false; // indicates whether or not the item has been added back 
-
-	String id; // id of the cool bar contribution item associated to the removed cool item
-
-	CoolBarLayout layout; // the coolbar layout before the item is removed
-
-	CoolItemPosition() {
-	}
-	CoolItemPosition(String id, CoolBarLayout layout) {
-		this.id = id;
-		this.layout = layout;
-	}
-	/**
-	 * Return the items on the saved layout, an ArrayList of Strings (i.e., CoolBarContributionItem ids).
-	 */
-	ArrayList getItems() {
-		return layout.items;
-	}
-	/**
-	 * Return the row index for cbItemId.  The saved layout will be looked at and the index
-	 * will be relative to this layout.
-	 */
-	int getRowOf(String cbItemId) {
-		int index = layout.items.indexOf(cbItemId);
-		if (index == -1)
-			return -1;
-		return layout.getRowOfIndex(index);
-	}
-	/**
-	 * Return the CoolItem size for the CoolBarContributionItem with an id of cbItemId.
-	 */
-	Point getSizeOf(String cbItemId) {
-		int index = layout.items.indexOf(cbItemId);
-		if (index == -1)
-			return null;
-		return layout.itemSizes[index];
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolItemToolBarManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolItemToolBarManager.java
deleted file mode 100644
index 7eb378f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolItemToolBarManager.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * Copyright (c) 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.jface.action.IContributionItem;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.*;
-
-/**
- * CoolItemToolBarManager class
- */
-public class CoolItemToolBarManager extends ToolBarManager {
-	CoolBarManager parentManager;
-	CoolBarContributionItem coolBarItem;
-	
-	public CoolItemToolBarManager(int style) {
-		super(style);
-	}
-	public ToolBar createControl(Composite parent) {
-		ToolBar tBar = super.createControl(parent);
-		tBar.setMenu(parentManager.getCoolBarMenu());
-		return tBar;
-	}
-	public void dispose() {
-		// the toolbar menu is shared by all coolitems, so clear the
-		// reference to the menu so that it does not get disposed of
-		getControl().setMenu(null);
-		super.dispose();
-	}
-	protected CoolBarContributionItem getCoolBarItem() {
-		return coolBarItem;
-	}
-	protected CoolBarManager getParentManager() {
-		return parentManager;
-	}
-	protected boolean isVisible() {
-		if (coolBarItem == null) {
-			return false;
-		}
-		return coolBarItem.isVisible();
-	}
-	protected void itemAdded(IContributionItem item) {
-		super.itemAdded(item);
-		update(true);
-		parentManager.updateSizeFor(coolBarItem);
-	}
-	protected void itemRemoved(IContributionItem item) {
-		super.itemRemoved(item);
-		update(true);
-		parentManager.updateSizeFor(coolBarItem);
-	}
-	protected void relayout(ToolBar toolBar, int oldCount, int newCount) {
-		if (oldCount == newCount) return;
-		CoolBar coolBar = (CoolBar)toolBar.getParent();
-		CoolItem[] coolItems = coolBar.getItems();
-		CoolItem coolItem = null;
-		for (int i = 0; i < coolItems.length; i++) {	
-			CoolItem item = coolItems[i];
-			if (item.getControl() == toolBar) {
-				coolItem = item;
-				break;
-			}						
-		}
-		// recompute preferred size so chevron will work correctly when
-		// items are added/removed from the toolbar, don't set the size of
-		// the coolItem since that would affect the position of other
-		// coolItems on the toolbar
-		if (coolItem != null) {
-			Point size = toolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			Point coolSize = coolItem.computeSize (size.x, size.y);
-			coolItem.setPreferredSize(coolSize);
-		}
-		coolBar.layout();
-	} 
-	protected void setCoolBarItem(CoolBarContributionItem coolBarItem) {
-		this.coolBarItem = coolBarItem;
-	}
-	protected void setParentMgr(CoolBarManager parentManager) {
-		this.parentManager = parentManager;
-	}
-	
-	protected void setVisible(boolean set) {
-		if (coolBarItem != null) {
-			coolBarItem.setVisible(set);
-		}
-	}
-	protected void setVisible(boolean set, boolean forceVisibility) {
-		if (coolBarItem != null) {
-			coolBarItem.setVisible(set, forceVisibility);
-		}
-	}
-}      
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CycleEditorAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CycleEditorAction.java
deleted file mode 100644
index 0c4aef0..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CycleEditorAction.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * Copyright (c) 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.swt.SWT;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * This is the abstract superclass for NextEditorAction and PrevEditorAction.
- */
-public class CycleEditorAction extends CyclePartAction {
-	
-/**
- * Creates a CycleEditorAction.
- */
-protected CycleEditorAction(IWorkbenchWindow window, boolean forward) {
-	super(window,forward); //$NON-NLS-1$
-	window.getPartService().addPartListener(this);
-	updateState();
-}
-
-protected void setText() {
-	// TBD: Remove text and tooltip when this becomes an invisible action.
-	if (forward) {
-		setText(WorkbenchMessages.getString("CycleEditorAction.next.text")); //$NON-NLS-1$
-		setToolTipText(WorkbenchMessages.getString("CycleEditorAction.next.toolTip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IHelpContextIds.CYCLE_EDITOR_FORWARD_ACTION);
-	}
-	else {
-		setText(WorkbenchMessages.getString("CycleEditorAction.prev.text")); //$NON-NLS-1$
-		setToolTipText(WorkbenchMessages.getString("CycleEditorAction.prev.toolTip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IHelpContextIds.CYCLE_EDITOR_BACKWARD_ACTION);
-	}
-}
-
-/**
- * Updates the enabled state.
- */
-public void updateState() {
-	WorkbenchPage page = (WorkbenchPage)getActivePage();
-	if (page == null) {
-		setEnabled(false);
-		return;
-	}
-	// enable iff there is at least one other editor to switch to
-	setEnabled(page.getSortedEditors().length >= 1);
-}
-
-/**
- * Add all views to the dialog in the activation order
- */
-protected void addItems(Table table,WorkbenchPage page) {
-	IEditorReference refs[] = page.getSortedEditors();
-	for (int i = refs.length - 1; i >= 0 ; i--) {
-		TableItem item  = null;
-		item = new TableItem(table,SWT.NONE);
-		if(refs[i].isDirty())
-			item.setText("*" + refs[i].getTitle()); //$NON-NLS-1$
-		else
-			item.setText(refs[i].getTitle());
-		item.setImage(refs[i].getTitleImage());
-		item.setData(refs[i]);
-	}
-}
-/**
- * Returns the string which will be shown in the table header.
- */ 
-protected String getTableHeader() {
-	return WorkbenchMessages.getString("CycleEditorAction.header"); //$NON-NLS-1$
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CyclePartAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CyclePartAction.java
deleted file mode 100644
index d1dd8f0..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CyclePartAction.java
+++ /dev/null
@@ -1,341 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.HelpEvent;
-import org.eclipse.swt.events.HelpListener;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartReference;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Implements a action to enable the user switch between parts
- * using keyboard.
- */
-public class CyclePartAction extends PageEventAction {
-	boolean forward;
-	private Object selection;
-	private int accelerator;	
-	
-/**
- * Creates a CyclePartAction.
- */
-protected CyclePartAction(IWorkbenchWindow window, boolean forward) {
-	super("", window); //$NON-NLS-1$
-	this.forward = forward;
-	setText();
-	window.getPartService().addPartListener(this);
-	updateState();
-}
-/**
- * Set text and tooltips in the action.
- */
-protected void setText() {
-	// TBD: Remove text and tooltip when this becomes an invisible action.
-	if (forward) {
-		setText(WorkbenchMessages.getString("CyclePartAction.next.text")); //$NON-NLS-1$
-		setToolTipText(WorkbenchMessages.getString("CyclePartAction.next.toolTip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IHelpContextIds.CYCLE_PART_FORWARD_ACTION);
-	} else {
-		setText(WorkbenchMessages.getString("CyclePartAction.prev.text")); //$NON-NLS-1$
-		setToolTipText(WorkbenchMessages.getString("CyclePartAction.prev.toolTip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IHelpContextIds.CYCLE_PART_BACKWARD_ACTION);
-	}
-}
-/**
- * See IPageListener
- */
-public void pageActivated(IWorkbenchPage page) {
-	super.pageActivated(page);
-	updateState();
-}
-/**
- * See IPageListener
- */
-public void pageClosed(IWorkbenchPage page) {
-	super.pageClosed(page);
-	updateState();
-}
-/**
- * See IPartListener
- */
-public void partOpened(IWorkbenchPart part) {
-	super.partOpened(part);
-	updateState();
-}
-/**
- * See IPartListener
- */
-public void partClosed(IWorkbenchPart part) {
-	super.partClosed(part);
-	updateState();
-}
-/** 
- * Dispose the resources cached by this action.
- */
-protected void dispose() {
-}
-/**
- * Updates the enabled state.
- */
-protected void updateState() {
-	WorkbenchPage page = (WorkbenchPage)getActivePage();
-	if (page == null) {
-		setEnabled(false);
-		return;
-	}
-	// enable iff there is at least one other part to switch to
-	// (the editor area counts as one entry)
-	int count = page.getViewReferences().length;
-	if (page.getSortedEditors().length > 0) {
-		++count;
-	}
-	setEnabled(count >= 1);
-}
-/**
- * @see Action#run()
- */
-public void runWithEvent(Event e) {
-	accelerator = e.detail;
-	boolean direction = forward;
-	try {
-		IWorkbenchPage page = getActivePage();
-		openDialog((WorkbenchPage)page); 
-		activate(page,selection);
-	} finally {
-		forward = direction;
-	}
-}
-/**
- * Activate the selected item.
- */
-public void activate(IWorkbenchPage page,Object selection) {
-	if(selection != null) {
-		if (selection instanceof IEditorReference) {
-			page.setEditorAreaVisible(true);
-		}
-		IWorkbenchPart part = ((IWorkbenchPartReference)selection).getPart(true);
-		if(part != null) 
-			page.activate(part);
-	}	
-}
-/*
- * Open a dialog showing all views in the activation order
- */
-private void openDialog(WorkbenchPage page) {
-	final int MAX_ITEMS = 22;
-	
-	selection = null;
-	final Shell dialog = new Shell(getWorkbenchWindow().getShell(),SWT.MODELESS);
-	Display display = dialog.getDisplay();
-	dialog.setLayout(new FillLayout());
-	
-	final Table table = new Table(dialog,SWT.SINGLE | SWT.FULL_SELECTION);
-	table.setHeaderVisible(true);
-	table.setLinesVisible(true);
-	TableColumn tc = new TableColumn(table,SWT.NONE);
-	tc.setResizable(false);
-	tc.setText(getTableHeader());
-	addItems(table,page);
-	int tableItemCount = table.getItemCount();
-	switch (tableItemCount) {
-		case 0:
-			// do nothing;
-			break;
-		case 1:
-			table.setSelection(0);
-			break;
-		default:
-			if(forward)
-				table.setSelection(1);
-			else
-				table.setSelection(table.getItemCount() - 1);
-	}
-	tc.pack();
-	table.pack();
-	Rectangle tableBounds = table.getBounds();
-	tableBounds.height = Math.min(tableBounds.height, table.getItemHeight()*MAX_ITEMS);
-	dialog.setBounds(tableBounds);
-
- 	tc.setWidth(table.getClientArea().width);
- 	if (tableItemCount > 1)
-		table.showSelection();	
-	table.setFocus();
-	table.addFocusListener(new FocusListener() {
-		public void focusGained(FocusEvent e){}
-		public void focusLost(FocusEvent e) {
-			cancel(dialog);
-		}
-	});
-	
-	Rectangle dialogBounds = dialog.getBounds();
-	Rectangle displayBounds = display.getClientArea();
-	dialogBounds.x = (displayBounds.width - dialogBounds.width) / 2;
-	dialogBounds.y = (displayBounds.height - dialogBounds.height) / 2;
-	dialogBounds.height = dialogBounds.height + 3 - table.getHorizontalBar().getSize().y;
-	
-	dialog.setBounds(dialogBounds);
-
-	table.removeHelpListener(getHelpListener());
-	table.addHelpListener(new HelpListener() {
-		public void helpRequested(HelpEvent event) {
-		}
-	});
-	
-	addMouseListener(table,dialog);
-	addKeyListener(table,dialog);
-	
-	try {
-		dialog.open();
-		while (!dialog.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-	} finally {
-		if(!dialog.isDisposed()) {
-			cancel(dialog);
-		}
-	}
-}
-/**
- * Returns the string which will be shown in the table header.
- */ 
-protected String getTableHeader() {
-	return WorkbenchMessages.getString("CyclePartAction.header"); //$NON-NLS-1$
-}
-/**
- * Add all views to the dialog in the activation order
- */
-protected void addItems(Table table,WorkbenchPage page) {
-	IWorkbenchPartReference refs[] = page.getSortedParts();
-	boolean includeEditor = true;
-	for (int i = refs.length - 1; i >= 0 ; i--) {
-		if(refs[i] instanceof IEditorReference) {
-			if(includeEditor) {
-				IEditorReference activeEditor = (IEditorReference)refs[i];
-				TableItem item = new TableItem(table,SWT.NONE);
-				item.setText(WorkbenchMessages.getString("CyclePartAction.editor")); //$NON-NLS-1$
-				item.setImage(activeEditor.getTitleImage());
-				item.setData(activeEditor);
-				includeEditor = false;
-			}
-		} else {
-			TableItem item = new TableItem(table,SWT.NONE);
-			item.setText(refs[i].getTitle());
-			item.setImage(refs[i].getTitleImage());
-			item.setData(refs[i]);
-		}
-	}
-}
-/*
- * Add a key listener to the table shifting the selection when
- * the acelarator key is pressed and closing the dialog when
- * Control or Alt is released.
- */
-private void addKeyListener(final Table table,final Shell dialog) {
-	table.addKeyListener(new KeyListener() {
-		public void keyPressed(KeyEvent e) {
-			int acelaratorKey = getAcceleratorKey();
-			if((e.character == SWT.CR) || (e.character == SWT.LF)) {
-				ok(dialog,table);
-			} else if(e.keyCode == SWT.SHIFT) {
-				forward = false;
-			} else if(e.keyCode == acelaratorKey) {
-				int index = table.getSelectionIndex();
-				if(forward) {
-					index = (index + 1) % table.getItemCount();
-				} else {
-					index--;
-					index = index >= 0 ? index : table.getItemCount() - 1;
-				}
-				table.setSelection(index);
-			} else if ((e.keyCode == SWT.ARROW_DOWN) ||
-				(e.keyCode == SWT.ARROW_UP) ||
-				(e.keyCode == SWT.ARROW_LEFT) ||
-				(e.keyCode == SWT.ARROW_RIGHT)) {
-					//Do nothing.
-			} else {
-				cancel(dialog);
-			}
-		}
-		public void keyReleased(KeyEvent e) {
-			if(e.keyCode == SWT.SHIFT) {
-				forward = true;
-			} else if((e.keyCode == SWT.ALT) || (e.keyCode == SWT.CTRL)) {
-				ok(dialog, table);
-			}
-		}
-	});
-}
-/*
- * Close the dialog saving the selection
- */
-private void ok(Shell dialog, final Table table) {
-	TableItem[] items = table.getSelection();
-	if (items != null && items.length == 1)
-		selection = items[0].getData();
-	dialog.close();
-	dispose();
-}
-/*
- * Close the dialog and set selection to null.
- */
-private void cancel(Shell dialog) {
-	selection = null;
-	dialog.close();
-	dispose();
-}
-/*
- * Add mouse listener to the table closing it when
- * the mouse is pressed.
- */			
-private void addMouseListener(final Table table,final Shell dialog) {
-	table.addMouseListener(new MouseListener() {
-		public void mouseDoubleClick(MouseEvent e){
-			ok(dialog,table);
-		}
-		public void mouseDown(MouseEvent e){
-			ok(dialog,table);
-		}
-		public void mouseUp(MouseEvent e){
-			ok(dialog,table);
-		}
-	});
-}
-
-private int getAcceleratorKey() {
-	int accelerator = this.accelerator;
-	accelerator = accelerator & ~ SWT.CTRL;
-	accelerator = accelerator & ~ SWT.SHIFT;
-	accelerator = accelerator & ~ SWT.ALT;
-	return accelerator;
-}
-}
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CyclePerspectiveAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CyclePerspectiveAction.java
deleted file mode 100644
index 24ab310..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CyclePerspectiveAction.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package org.eclipse.ui.internal;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.dialogs.PerspLabelProvider;
-/**
- * Implements a action to enable the user switch between perspectives
- * using keyboard.
- */
-public class CyclePerspectiveAction extends CyclePartAction {
-	private PerspLabelProvider labelProvider = new PerspLabelProvider(false);;
-/**
- * Creates a CyclePerspectiveAction.
- */
-protected CyclePerspectiveAction(IWorkbenchWindow window, boolean forward) {
-	super(window,forward); //$NON-NLS-1$
-	window.addPerspectiveListener(new IPerspectiveListener() {
-		public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
-			updateState();
-		}
-		public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) {}
-	});
-	updateState();
-}
-
-protected void setText() {
-	// TBD: Remove text and tooltip when this becomes an invisible action.
-	if (forward) {
-		setText(WorkbenchMessages.getString("CyclePerspectiveAction.next.text")); //$NON-NLS-1$
-		setToolTipText(WorkbenchMessages.getString("CyclePerspectiveAction.next.toolTip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IHelpContextIds.CYCLE_PERSPECTIVE_FORWARD_ACTION);
-	}
-	else {
-		setText(WorkbenchMessages.getString("CyclePerspectiveAction.prev.text")); //$NON-NLS-1$
-		setToolTipText(WorkbenchMessages.getString("CyclePerspectiveAction.prev.toolTip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IHelpContextIds.CYCLE_PERSPECTIVE_BACKWARD_ACTION);
-	}
-}
-/** 
- * Dispose the resources cached by this action.
- */
-protected void dispose() {
-	labelProvider.dispose();
-}
-/**
- * Activate the selected item.
- */
-public void activate(IWorkbenchPage page, Object selection) {
-	if (selection != null) {
-		IPerspectiveDescriptor persp = (IPerspectiveDescriptor)selection;
-		page.setPerspective(persp);
-	}
-}
-/**
- * Updates the enabled state.
- */
-public void updateState() {
-	WorkbenchPage page = (WorkbenchPage) getActivePage();
-	if (page == null) {
-		setEnabled(false);
-		return;
-	}
-	// enable iff there is at least one other editor to switch to
-	setEnabled(page.getSortedPerspectives().length >= 1);
-}
-
-/**
- * Add all views to the dialog in the activation order
- */
-protected void addItems(Table table,WorkbenchPage page) {
-	IPerspectiveDescriptor perspectives[] = page.getSortedPerspectives();
-	for (int i = perspectives.length - 1; i >= 0 ; i--) {
-		TableItem item = new TableItem(table,SWT.NONE);
-		IPerspectiveDescriptor desc = perspectives[i];
-		item.setText(labelProvider.getText(desc));
-		item.setImage(labelProvider.getImage(desc));
-		item.setData(desc);
-	}
-}
-/**
- * Returns the string which will be shown in the table header.
- */ 
-protected String getTableHeader() {
-	return WorkbenchMessages.getString("CyclePerspectiveAction.header"); //$NON-NLS-1$
-}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/DefaultContributorResourceAdapter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/DefaultContributorResourceAdapter.java
deleted file mode 100644
index 68ccb20..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/DefaultContributorResourceAdapter.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * Copyright (c) 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.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.ui.IContributorResourceAdapter;
-
-/**
- * The DefaultContributorResourceAdapter is the default
- * implementation of the IContributorResourceAdapter used for 
- * one to one resource adaption.
- */
-
-public class DefaultContributorResourceAdapter
-	implements IContributorResourceAdapter {
-		
-	private static IContributorResourceAdapter singleton;
-
-	/**
-	 * Constructor for DefaultContributorResourceAdapter.
-	 */
-	public DefaultContributorResourceAdapter() {
-		super();
-	}
-
-	/**
-	 * Return the default instance used for TaskList adapting.
-	 */
-	public static IContributorResourceAdapter getDefault(){
-		if(singleton == null)
-			singleton = new DefaultContributorResourceAdapter();
-		return singleton;
-	}
-	
-	/*
-	 * @see IContributorResourceAdapter#getAdaptedResource(IAdaptable)
-	 */
-	public IResource getAdaptedResource(IAdaptable adaptable) {
-		return (IResource) adaptable.getAdapter(IResource.class);
-	}
-
-}
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/DetachedPlaceHolder.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/DetachedPlaceHolder.java
deleted file mode 100644
index 7adb713..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/DetachedPlaceHolder.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.ArrayList;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.ui.IMemento;
-
-public class DetachedPlaceHolder extends PartPlaceholder implements ILayoutContainer {
-	ArrayList children = new ArrayList();
-	Rectangle bounds;
-/**
- * DetachedPlaceHolder constructor comment.
- * @param id java.lang.String
- */
-public DetachedPlaceHolder(String id,Rectangle bounds) {
-	super(id);
-	this.bounds = bounds;
-}
-/**
- * Add a child to the container.
- */
-public void add(LayoutPart newPart) {
-	if (!(newPart instanceof PartPlaceholder)) return;
-	children.add(newPart);
-}
-/**
- * Return true if the container allows its
- * parts to show a border if they choose to,
- * else false if the container does not want
- * its parts to show a border.
- */
-public boolean allowsBorder() {
-	return false;
-}
-public Rectangle getBounds() {
-	return bounds;
-}
-/**
- * Returns a list of layout children.
- */
-public LayoutPart[] getChildren() {
-	LayoutPart result[] = new LayoutPart[children.size()];
-	children.toArray(result);
-	return result;
-}
-/**
- * Remove a child from the container.
- */
-public void remove(LayoutPart part) {
-	children.remove(part);
-}
-/**
- * Replace one child with another
- */
-public void replace(LayoutPart oldPart, LayoutPart newPart) {
-	remove(oldPart);
-	add(newPart);
-}
-/**
- * @see IPersistablePart
- */
-public void restoreState(IMemento memento) 
-{		
-	// Read the bounds.
-	Integer bigInt;
-	bigInt = memento.getInteger(IWorkbenchConstants.TAG_X);
-	int x = bigInt.intValue();
-	bigInt = memento.getInteger(IWorkbenchConstants.TAG_Y);
-	int y = bigInt.intValue();
-	bigInt = memento.getInteger(IWorkbenchConstants.TAG_WIDTH);
-	int width = bigInt.intValue();
-	bigInt = memento.getInteger(IWorkbenchConstants.TAG_HEIGHT);
-	int height = bigInt.intValue();
-
-	bounds = new Rectangle(x, y, width, height);
-	
-	// Restore the placeholders.
-	IMemento childrenMem[] = memento.getChildren(IWorkbenchConstants.TAG_VIEW);
-	for (int i = 0; i < childrenMem.length; i++){
-		PartPlaceholder holder = new PartPlaceholder(childrenMem[i].getString(IWorkbenchConstants.TAG_ID));
-		holder.setContainer(this);
-		children.add(holder);
-	}
-}
-/**
- * @see IPersistablePart
- */
-public void saveState(IMemento memento) 
-{		
-	// Save the bounds.
-	memento.putInteger(IWorkbenchConstants.TAG_X, bounds.x);
-	memento.putInteger(IWorkbenchConstants.TAG_Y, bounds.y);
-	memento.putInteger(IWorkbenchConstants.TAG_WIDTH, bounds.width);
-	memento.putInteger(IWorkbenchConstants.TAG_HEIGHT, bounds.height);
-	
-	// Save the views.
-	for (int i = 0; i < children.size(); i++){
-		IMemento childMem = memento.createChild(IWorkbenchConstants.TAG_VIEW);
-		LayoutPart child = (LayoutPart)children.get(i);
-		childMem.putString(IWorkbenchConstants.TAG_ID,child.getID());
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/DetachedWindow.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/DetachedWindow.java
deleted file mode 100644
index a307c4e..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/DetachedWindow.java
+++ /dev/null
@@ -1,196 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.*;
-import org.eclipse.ui.internal.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.jface.window.*;
-import java.util.*;
-import java.util.List;
-
-public class DetachedWindow extends Window {
-
-	private static int fgCount= 0;
-	private PartTabFolder folder;
-	private int fID;
-	private WorkbenchPage page;
-	
-	//Keep the state of a DetachedWindow when switching perspectives.
-	private String title;
-	private Rectangle bounds;
-/**
- * Create a new FloatingWindow.
- */
-public DetachedWindow(WorkbenchPage workbenchPage) {
-	super(workbenchPage.getWorkbenchWindow().getShell());
-	setShellStyle(/* SWT.CLOSE | SWT.MIN | SWT.MAX | */ SWT.RESIZE);
-	this.page = workbenchPage;
-	folder = new PartTabFolder();
-}
-/**
- * Adds a visual part to this window.
- * Supports reparenting.
- */
-public void add(ViewPane part, IPartDropListener listener) {
-	Shell shell = getShell();
-	if (shell != null)
-		part.reparent(shell);
-	folder.add(part);
-	folder.enableDrag(part, listener);
-}
-public boolean belongsToWorkbenchPage(IWorkbenchPage workbenchPage) {
-	return (this.page == workbenchPage);
-}
-/**
- * Closes this window and disposes its shell.
- */
-public boolean close() {
-	Shell s = getShell();
-	if(s != null) {
-		title = s.getText();
-		bounds = s.getBounds();
-	}
-	
-	if (folder != null)
-		folder.dispose();
-	
-	return super.close();
-}
-/**
- * Answer a list of the view panes.
- */
-private void collectViewPanes(List result, LayoutPart [] parts) {
-	for (int i = 0, length = parts.length; i < length; i++) {
-		LayoutPart part = parts[i];
-		if (part instanceof ViewPane) {
-			result.add(part);
-		}
-	}
-}
-/**
- * This method will be called to initialize the given Shell's layout
- */
-protected void configureShell(Shell shell) {
-	if(title != null) shell.setText(title);
-	shell.addListener(SWT.Resize, new Listener() {
-		public void handleEvent(Event event) {
-			Shell shell = (Shell)event.widget;
-			Control[] children = shell.getChildren();
-			if (children != null) {
-				for (int i = 0, length = children.length; i < length; i++){
-					if (children[i] instanceof CTabFolder) {
-						children[i].setBounds(shell.getClientArea());
-						break;
-					}
-				}
-			}
-		}
-	});
-
-	WorkbenchHelp.setHelp(shell, IHelpContextIds.DETACHED_WINDOW);
-}
-/**
- * Override this method to create the widget tree that is used as the window's contents.
- */
-protected Control createContents(Composite parent) {
-	// Create the tab folder.
-	folder.createControl(parent);
-
-	// Reparent each view in the tab folder.
-	Vector detachedChildren = new Vector();
-	collectViewPanes(detachedChildren, getChildren());
-	Enumeration enum = detachedChildren.elements();
-	while (enum.hasMoreElements()) {
-		LayoutPart part = (LayoutPart)enum.nextElement();
-		part.reparent(parent);
-	}
-
-	// Return tab folder control.
-	return folder.getControl();
-}
-public LayoutPart [] getChildren() {						
-	return folder.getChildren();
-}
-public WorkbenchPage getWorkbenchPage() {						
-	return this.page;
-}
-/**
- * Close has been pressed.  Close all views.
- */
-protected void handleShellCloseEvent() {
-//	List views = new ArrayList();
-//	collectViewPanes(views, getChildren());
-//	Iterator enum = views.iterator();
-//	while (enum.hasNext()) {
-//		ViewPane child = (ViewPane)enum.next();
-//		page.hideView(child.getViewPart());
-//	}
-//	close();
-}
-protected void initializeBounds() {
-	if(bounds != null)
-		getShell().setBounds(bounds);
-	else
-		super.initializeBounds();
-}
-/**
- * @see IPersistablePart
- */
-public void restoreState(IMemento memento) 
-{
-	// Read the title.
-	title = memento.getString(IWorkbenchConstants.TAG_TITLE);
-	
-	// Read the bounds.
-	Integer bigInt;
-	bigInt = memento.getInteger(IWorkbenchConstants.TAG_X);
-	int x = bigInt.intValue();
-	bigInt = memento.getInteger(IWorkbenchConstants.TAG_Y);
-	int y = bigInt.intValue();
-	bigInt = memento.getInteger(IWorkbenchConstants.TAG_WIDTH);
-	int width = bigInt.intValue();
-	bigInt = memento.getInteger(IWorkbenchConstants.TAG_HEIGHT);
-	int height = bigInt.intValue();
-
-	// Set the bounds.
-	bounds = new Rectangle(x, y, width, height);
-	if(getShell() != null) {
-		getShell().setText(title);
-		getShell().setBounds(bounds);
-	}
-	
-	// Create the folder.
-	IMemento childMem = memento.getChild(IWorkbenchConstants.TAG_FOLDER);
-	if (childMem != null)
-		folder.restoreState(childMem);
-}
-/**
- * @see IPersistablePart
- */
-public void saveState(IMemento memento) 
-{
-	if(getShell() != null) {
-		title = getShell().getText();
-		bounds = getShell().getBounds();
-	}
-	// Save the title.
-	memento.putString(IWorkbenchConstants.TAG_TITLE,title);
-		
-	// Save the bounds.
-	memento.putInteger(IWorkbenchConstants.TAG_X, bounds.x);
-	memento.putInteger(IWorkbenchConstants.TAG_Y, bounds.y);
-	memento.putInteger(IWorkbenchConstants.TAG_WIDTH, bounds.width);
-	memento.putInteger(IWorkbenchConstants.TAG_HEIGHT, bounds.height);
-	
-	// Save the views.	
-	IMemento childMem = memento.createChild(IWorkbenchConstants.TAG_FOLDER);
-	folder.saveState(childMem);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditActionSetsAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditActionSetsAction.java
deleted file mode 100644
index 772dde8..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditActionSetsAction.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Edit the action sets.
- */
-public class EditActionSetsAction  extends Action {
-	private IWorkbenchWindow window;
-/**
- * This default constructor allows the the action to be called from the welcome page.
- */
-public EditActionSetsAction() {
-	this(((Workbench)PlatformUI.getWorkbench()).getActiveWorkbenchWindow());
-}
-/**
- * 
- */
-public EditActionSetsAction(IWorkbenchWindow window) {
-	super(WorkbenchMessages.getString("EditorActionSetsAction.text")); //$NON-NLS-1$
-	setToolTipText(WorkbenchMessages.getString("EditorActionSetsAction.toolTip")); //$NON-NLS-1$
-	setEnabled(false);
-	this.window = window;
-	WorkbenchHelp.setHelp(this, IHelpContextIds.EDIT_ACTION_SETS_ACTION);
-}
-/**
- * Open the selected resource in the default page.
- */
-public void run() {
-	WorkbenchPage page = (WorkbenchPage)window.getActivePage();
-	if (page == null)
-		return;
-	page.editActionSets();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorActionBars.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorActionBars.java
deleted file mode 100644
index 4576000..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorActionBars.java
+++ /dev/null
@@ -1,281 +0,0 @@
-package org.eclipse.ui.internal;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. and others. 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

-Contributors:
-**********************************************************************/
-
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IContributionManagerOverrides;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.SubMenuManager;
-import org.eclipse.jface.action.SubStatusLineManager;
-import org.eclipse.jface.action.SubToolBarManager;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorActionBarContributor;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.SubActionBars;
-import org.eclipse.ui.actions.RetargetAction;
-
-/**
- * The action bars for an editor.
- */
-public class EditorActionBars extends SubActionBars {
-	private String type;
-	private int refCount;
-	private IEditorActionBarContributor editorContributor;
-	private IEditorActionBarContributor extensionContributor;
-	private CoolItemMultiToolBarManager coolItemToolBarMgr;
-	private boolean enabledAllowed = true;
-
-	private class Overrides implements IContributionManagerOverrides {
-		public Boolean getEnabled(IContributionItem item) {
-			if (((item instanceof ActionContributionItem) && (((ActionContributionItem) item).getAction() instanceof RetargetAction)) || enabledAllowed)
-				return null;
-			else
-				return Boolean.FALSE;
-		}
-		public Integer getAccelerator(IContributionItem item) {
-			return null;
-		}
-		public String getAcceleratorText(IContributionItem item) {
-			return null;
-		}
-		public String getText(IContributionItem item) {
-			return null;
-		}
-	}
-
-	/**
-	 * Constructs the EditorActionBars for an editor.  
-	 */
-	public EditorActionBars(IActionBars parent, String type) {
-		super(parent);
-		this.type = type;
-	}
-	/**
-	 * Activate the contributions.
-	 */
-	public void activate(boolean forceVisibility) {
-		setActive(true, forceVisibility);
-	}
-	/**
-	 * Add one ref to the bars.
-	 */
-	public void addRef() {
-		++refCount;
-	}
-	/* (non-Javadoc)
-	 * Method declared on SubActionBars.
-	 */
-	protected SubMenuManager createSubMenuManager(IMenuManager parent) {
-		return new EditorMenuManager(parent);
-	}
-	/* (non-Javadoc)
-	 * Method declared on SubActionBars.
-	 */
-	protected SubToolBarManager createSubToolBarManager(IToolBarManager parent) {
-		// return null, editor actions are managed by CoolItemToolBarManagers
-		return null;
-	}
-	/**
-	 * Deactivate the contributions.
-	 */
-	public void deactivate(boolean forceVisibility) {
-		setActive(false, forceVisibility);
-	}
-	/**
-	 * Dispose the contributions.
-	 */
-	public void dispose() {
-		super.dispose();
-		if (editorContributor != null)
-			editorContributor.dispose();
-		if (extensionContributor != null)
-			extensionContributor.dispose();
-		if (coolItemToolBarMgr != null)
-			coolItemToolBarMgr.removeAll();
-	}
-	/**
-	 * Gets the editor contributor
-	 */
-	public IEditorActionBarContributor getEditorContributor() {
-		return editorContributor;
-	}
-	/**
-	 * Gets the extension contributor
-	 */
-	public IEditorActionBarContributor getExtensionContributor() {
-		return extensionContributor;
-	}
-	/**
-	 * Returns the editor type.
-	 */
-	public String getEditorType() {
-		return type;
-	}
-	/**
-	 * Returns the tool bar manager.  If items are added or
-	 * removed from the manager be sure to call <code>updateActionBars</code>.
-	 * Overridden to support CoolBars.
-	 *
-	 * @return the tool bar manager
-	 */
-	public IToolBarManager getToolBarManager() {
-		IToolBarManager parentMgr = getParent().getToolBarManager();
-		if (parentMgr == null) {
-			return null;
-		}
-		if (coolItemToolBarMgr == null) {
-			// Create a CoolItem manager for this action bar.  The CoolBarContributionItem(s)
-			// will be created when the EditorActionBar is initialized.
-			CoolBarManager cBarMgr = ((CoolBarManager) parentMgr);
-			coolItemToolBarMgr = new CoolItemMultiToolBarManager(cBarMgr, type, getActive());
-			coolItemToolBarMgr.setParentMgr(cBarMgr);
-			coolItemToolBarMgr.setOverrides(new Overrides());
-		}
-		return coolItemToolBarMgr;
-	}
-	/**
-	 * Returns the reference count.
-	 */
-	public int getRef() {
-		return refCount;
-	}
-	/**
-	 * Returns whether the contribution list is visible.
-	 * If the visibility is <code>true</code> then each item within the manager 
-	 * appears within the parent manager.  Otherwise, the items are not visible.
-	 *
-	 * @return <code>true</code> if the manager is visible
-	 */
-	private boolean isVisible() {
-		if (coolItemToolBarMgr != null)
-			return coolItemToolBarMgr.isVisible();
-		return false;
-	}
-	/**
-	 * Sets the target part for the action bars.
-	 * For views this is ignored because each view has its own action vector.
-	 * For editors this is important because the action vector is shared by editors of the same type.
-	 */
-	public void partChanged(IWorkbenchPart part) {
-		super.partChanged(part);
-		if (part instanceof IEditorPart) {
-			IEditorPart editor = (IEditorPart) part;
-			if (editorContributor != null)
-				editorContributor.setActiveEditor(editor);
-			if (extensionContributor != null)
-				extensionContributor.setActiveEditor(editor);
-		}
-	}
-	/**
-	 * Remove one ref to the bars.
-	 */
-	public void removeRef() {
-		--refCount;
-	}
-	/**
-	 * Activate / Deactivate the contributions.
-	 * 
-	 * Workaround for flashing when editor contributes
-	 * many menu/tool contributions. In this case, the force visibility
-	 * flag determines if the contributions should be actually
-	 * made visible/hidden or just change the enablement state.
-	 */
-	private void setActive(boolean set, boolean forceVisibility) {
-		basicSetActive(set);
-		if (isSubMenuManagerCreated())
-			 ((EditorMenuManager) getMenuManager()).setVisible(set, forceVisibility);
-
-		if (isSubStatusLineManagerCreated())
-			((SubStatusLineManager)getStatusLineManager()).setVisible(set);
-
-		setVisible(set, forceVisibility);
-	}
-	/**
-	 * Sets the editor contributor
-	 */
-	public void setEditorContributor(IEditorActionBarContributor c) {
-		editorContributor = c;
-	}
-	/**
-	 * Sets the extension contributor
-	 */
-	public void setExtensionContributor(IEditorActionBarContributor c) {
-		extensionContributor = c;
-	}
-	/**
-	 * Sets the visibility of the manager.  If the visibility is <code>true</code>
-	 * then each item within the manager appears within the parent manager.
-	 * Otherwise, the items are not visible.
-	 *
-	 * @param visible the new visibility
-	 */
-	private void setVisible(boolean visible) {
-		if (coolItemToolBarMgr != null)
-			coolItemToolBarMgr.setVisible(visible);
-	}
-	/**
-	 * Sets the visibility of the manager. If the visibility is <code>true</code>
-	 * then each item within the manager appears within the parent manager.
-	 * Otherwise, the items are not visible if force visibility is
-	 * <code>true</code>, or grayed out if force visibility is <code>false</code>
-	 * <p>
-	 * This is a workaround for the layout flashing when editors contribute
-	 * large amounts of items.</p>
-	 *
-	 * @param visible the new visibility
-	 * @param forceVisibility whether to change the visibility or just the
-	 * 		enablement state. This parameter is ignored if visible is 
-	 * 		<code>true</code>.
-	 */
-	private void setVisible(boolean visible, boolean forceVisibility) {
-		if (visible) {
-			if (forceVisibility) {
-				// Make the items visible 
-				if (!enabledAllowed)
-					setEnabledAllowed(true);
-			} else {
-				if (enabledAllowed)
-					setEnabledAllowed(false);
-			}
-			if (!isVisible())
-				setVisible(true);
-		} else {
-			if (forceVisibility)
-				// Remove the editor tool bar items
-				setVisible(false);
-			else
-				// Disabled the tool bar items.
-				setEnabledAllowed(false);
-		}
-		if (coolItemToolBarMgr != null)
-			coolItemToolBarMgr.setVisible(visible, forceVisibility);
-	}
-	/**
-	 * Sets the enablement ability of all the items contributed by the editor.
-	 * 
-	 * @param enabledAllowed <code>true</code> if the items may enable
-	 * @since 2.0
-	 */
-	private void setEnabledAllowed(boolean enabledAllowed) {
-		if (this.enabledAllowed == enabledAllowed)
-			return;
-		this.enabledAllowed = enabledAllowed;
-		if (coolItemToolBarMgr != null) {
-			IContributionItem[] items = coolItemToolBarMgr.getItems();
-			for (int i = 0; i < items.length; i++) {
-				IContributionItem item = items[i];
-				item.update(IContributionManagerOverrides.P_ENABLED);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorActionBuilder.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorActionBuilder.java
deleted file mode 100644
index 0183329..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorActionBuilder.java
+++ /dev/null
@@ -1,135 +0,0 @@
-package org.eclipse.ui.internal;
-
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IActionDelegate2;
-import org.eclipse.ui.IEditorActionBarContributor;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-
-/**
- * This class reads the registry for extensions that plug into
- * 'editorActions' extension point.
- */
-public class EditorActionBuilder extends PluginActionBuilder {
-	private static final String TAG_CONTRIBUTION_TYPE = "editorContribution"; //$NON-NLS-1$
-	
-	/**
-	 * The constructor.
-	 */
-	public EditorActionBuilder() {
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on PluginActionBuilder.
-	 */
-	protected ActionDescriptor createActionDescriptor(IConfigurationElement element) {
-		return new ActionDescriptor(element, ActionDescriptor.T_EDITOR);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on PluginActionBuilder.
-	 */
-	protected BasicContribution createContribution() {
-		return new EditorContribution();
-	}
-
-	/**
-	 * Reads and apply all external contributions for this editor's ID
-	 * registered in 'editorActions' extension point.
-	 */
-	public IEditorActionBarContributor readActionExtensions(IEditorDescriptor desc, IActionBars bars) {
-		ExternalContributor ext = null;
-		readContributions(desc.getId(), TAG_CONTRIBUTION_TYPE, IWorkbenchConstants.PL_EDITOR_ACTIONS);
-		if (cache != null) {
-			ext = new ExternalContributor(cache);
-			cache = null;
-		}
-		return ext;
-	}
-
-
-	/**
-	 * Helper class to collect the menus and actions defined within a
-	 * contribution element.
-	 */
-	private static class EditorContribution extends BasicContribution {
-		public void dispose() {
-			if (actions != null) {
-				for (int i = 0; i < actions.size(); i++) {
-					PluginAction proxy = ((ActionDescriptor) actions.get(i)).getAction();
-					if (proxy.getDelegate() instanceof IActionDelegate2)
-						 ((IActionDelegate2) proxy.getDelegate()).dispose();
-				}
-			}
-		}
-		
-		public void editorChanged(IEditorPart editor) {
-			if (actions != null) {
-				for (int i = 0; i < actions.size(); i++) {
-					ActionDescriptor ad = (ActionDescriptor) actions.get(i);
-					EditorPluginAction action = (EditorPluginAction) ad.getAction();
-					action.editorChanged(editor);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Helper class that will populate the menu and toobar with the external
-	 * editor contributions.
-	 */
-	protected static class ExternalContributor implements IEditorActionBarContributor {
-		private ArrayList cache;
-		
-		public ExternalContributor(ArrayList cache) {
-			this.cache = cache;
-		}
-		
-		public void dispose() {
-			for (int i = 0; i < cache.size(); i++) {
-				((EditorContribution)cache.get(i)).dispose();
-			}
-		};
-		
-		public ActionDescriptor[] getExtendedActions() {
-			ArrayList results = new ArrayList();
-			for (int i = 0; i < cache.size(); i++) {
-				EditorContribution ec = (EditorContribution)cache.get(i);
-				if (ec.actions != null)
-					results.addAll(ec.actions);
-			}
-			return (ActionDescriptor[]) results.toArray(new ActionDescriptor[results.size()]);
-		}
-		
-		public void init(IActionBars bars, IWorkbenchPage page) {
-			for (int i = 0; i < cache.size(); i++) {
-				((EditorContribution)cache.get(i)).contribute(
-					bars.getMenuManager(),
-					false,
-					bars.getToolBarManager(),
-					true);
-			}
-		}
-		
-		public void setActiveEditor(IEditorPart editor) {
-			for (int i = 0; i < cache.size(); i++) {
-				((EditorContribution)cache.get(i)).editorChanged(editor);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorArea.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorArea.java
deleted file mode 100644
index 341ced1..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorArea.java
+++ /dev/null
@@ -1,340 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import java.util.*;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.EditorInputTransfer;
-import org.eclipse.ui.part.MarkerTransfer;
-import org.eclipse.ui.part.ResourceTransfer;
-
-/**
- * Represents the area set aside for editor workbooks.
- * This container only accepts EditorWorkbook and PartSash
- * as layout parts.
- *
- * Note no views are allowed within this container.
- */
-public class EditorArea extends PartSashContainer {
-	
-	private static final String DEFAULT_WORKBOOK_ID = "DefaultEditorWorkbook";//$NON-NLS-1$
-	private IPartDropListener partDropListener;
-	private ArrayList editorWorkbooks = new ArrayList(3);
-	private EditorWorkbook activeEditorWorkbook;
-	private DropTarget dropTarget;
-	private DropTargetAdapter dropTargetAdapter;
-	
-public EditorArea(String editorId, IPartDropListener listener, WorkbenchPage page) {
-	super(editorId,page);
-
-	this.partDropListener = listener;
-	this.dropTargetAdapter = new EditorAreaDropAdapter(page);
-	createDefaultWorkbook();
-}
-/**
- * Add an editor to the active workbook.
- */
-public void addEditor(EditorPane pane) {
-	EditorWorkbook workbook = getActiveWorkbook();
-	workbook.add(pane);
-}
-/**
- * Notification that a child layout part has been
- * added to the container. Subclasses may override
- * this method to perform any container specific
- * work.
- */
-protected void childAdded(LayoutPart child) {
-	if (child instanceof EditorWorkbook)
-		editorWorkbooks.add(child);
-}
-/**
- * Notification that a child layout part has been
- * removed from the container. Subclasses may override
- * this method to perform any container specific
- * work.
- */
-protected void childRemoved(LayoutPart child) {
-	if (child instanceof EditorWorkbook) {
-		editorWorkbooks.remove(child);
-		if (activeEditorWorkbook == child)
-			setActiveWorkbook(null, false);
-	}
-}
-protected EditorWorkbook createDefaultWorkbook() {
-	EditorWorkbook newWorkbook = new EditorWorkbook(this);
-	newWorkbook.setID(DEFAULT_WORKBOOK_ID);
-	add(newWorkbook);
-	return newWorkbook;
-}
-/**
- * Subclasses override this method to specify
- * the composite to use to parent all children
- * layout parts it contains.
- */
-protected Composite createParent(Composite parentWidget) {
-	return new Composite(parentWidget, SWT.NONE);
-}
-/**
- * Dispose of the editor area.
- */
-public void dispose() {
-	// Free editor workbooks.
-	Iterator iter = editorWorkbooks.iterator();
-	while (iter.hasNext()) {
-		EditorWorkbook wb = (EditorWorkbook)iter.next();
-		wb.dispose();
-	}
-	editorWorkbooks.clear();
-
-	// Free rest.
-	super.dispose();
-}
-/**
- * Subclasses override this method to dispose
- * of any swt resources created during createParent.
- */
-protected void disposeParent() {
-	this.parent.dispose();
-}
-/**
- * Return the editor workbook which is active.
- */
-public EditorWorkbook getActiveWorkbook() {
-	if (activeEditorWorkbook == null) {
-		if (editorWorkbooks.size() < 1)
-			setActiveWorkbook(createDefaultWorkbook(), false);
-		else 
-			setActiveWorkbook((EditorWorkbook)editorWorkbooks.get(0), false);
-	}
-
-	return activeEditorWorkbook;
-}
-/**
- * Return the editor workbook id which is active.
- */
-public String getActiveWorkbookID() {
-	return getActiveWorkbook().getID();
-}
-/**
- * Return the all the editor workbooks.
- */
-public ArrayList getEditorWorkbooks() {
-	return (ArrayList)editorWorkbooks.clone();
-}
-/**
- * Return the all the editor workbooks.
- */
-public int getEditorWorkbookCount() {
-	return editorWorkbooks.size();
-}
-/**
- * Return the interested listener of d&d events.
- */
-public IPartDropListener getPartDropListener() {
-	return partDropListener;
-}
-/**
- * Return true is the workbook specified
- * is the active one.
- */
-protected boolean isActiveWorkbook(EditorWorkbook workbook) {
-	return activeEditorWorkbook == workbook;
-}
-/**
- * Find the sashs around the specified part.
- */
-public void findSashes(LayoutPart pane,PartPane.Sashes sashes) {
-	//Find the sashes around the current editor and
-	//then the sashes around the editor area.
-	super.findSashes(pane,sashes);
-	getRootContainer().findSashes(this,sashes);
-}
-/**
- * Remove all the editors
- */
-public void removeAllEditors() {
-	EditorWorkbook currentWorkbook = getActiveWorkbook();
-
-	// Iterate over a copy so the original can be modified.	
-	Iterator workbooks = ((ArrayList)editorWorkbooks.clone()).iterator();
-	while (workbooks.hasNext()) {
-		EditorWorkbook workbook = (EditorWorkbook)workbooks.next();
-		workbook.removeAll();
-		if (workbook != currentWorkbook) {
-			remove(workbook);
-			workbook.dispose();
-		}
-	}
-}
-/**
- * Remove an editor from its' workbook.
- */
-public void removeEditor(EditorPane pane) {
-	EditorWorkbook workbook = pane.getWorkbook();
-	if (workbook == null)
-		return;
-	workbook.remove(pane);
-
-	// remove the editor workbook if empty and
-	// there are other workbooks
-	if (workbook.getItemCount() < 1 && editorWorkbooks.size() > 1) {
-		remove(workbook);
-		workbook.dispose();
-	}
-}
-/**
- * @see IPersistablePart
- */
-public IStatus restoreState(IMemento memento) {
-	// Remove the default editor workbook that is
-	// initialy created with the editor area.
-	if (children != null) {
-		EditorWorkbook defaultWorkbook = null;
-		for (int i = 0; i < children.size(); i++) {
-			LayoutPart child = (LayoutPart)children.get(i);
-			if (child.getID() == DEFAULT_WORKBOOK_ID) {
-				defaultWorkbook = (EditorWorkbook)child;
-				if (defaultWorkbook.getItemCount() > 0)
-					defaultWorkbook = null;
-			}
-		}
-		if (defaultWorkbook != null)
-			remove(defaultWorkbook);
-	}
-
-	// Restore the relationship/layout
-	IMemento [] infos = memento.getChildren(IWorkbenchConstants.TAG_INFO);
-	Map mapIDtoPart = new HashMap(infos.length);
-
-	for (int i = 0; i < infos.length; i ++) {
-		// Get the info details.
-		IMemento childMem = infos[i];
-		String partID = childMem.getString(IWorkbenchConstants.TAG_PART);
-		String relativeID = childMem.getString(IWorkbenchConstants.TAG_RELATIVE);
-		int relationship = 0;
-		float ratio = 0.0f;
-		if (relativeID != null) {
-			relationship = childMem.getInteger(IWorkbenchConstants.TAG_RELATIONSHIP).intValue();
-			ratio = childMem.getFloat(IWorkbenchConstants.TAG_RATIO).floatValue();
-		}
-
-		// Create the part.
-		EditorWorkbook workbook = new EditorWorkbook(this);
-		workbook.setID(partID);
-		// 1FUN70C: ITPUI:WIN - Shouldn't set Container when not active
-		workbook.setContainer(this);
-		
-		// Add the part to the layout
-		if (relativeID == null) {
-			add(workbook);
-		} else {
-			LayoutPart refPart = (LayoutPart)mapIDtoPart.get(relativeID);
-			if (refPart != null) {
-				add(workbook, relationship, ratio, refPart);	
-			} else {
-				WorkbenchPlugin.log("Unable to find part for ID: " + relativeID);//$NON-NLS-1$
-			}
-		}
-		mapIDtoPart.put(partID, workbook);
-	}
-	return new Status(IStatus.OK,PlatformUI.PLUGIN_ID,0,"",null);
-}
-/**
- * @see IPersistablePart
- */
-public IStatus saveState(IMemento memento) {
-	RelationshipInfo[] relationships = computeRelation();
-	for (int i = 0; i < relationships.length; i ++) {
-		// Save the relationship info ..
-		//		private LayoutPart part;
-		// 		private int relationship;
-		// 		private float ratio;
-		// 		private LayoutPart relative;
-		RelationshipInfo info = relationships[i];
-		IMemento childMem = memento.createChild(IWorkbenchConstants.TAG_INFO);
-		childMem.putString(IWorkbenchConstants.TAG_PART, info.part.getID());
-		if (info.relative != null) {
-			childMem.putString(IWorkbenchConstants.TAG_RELATIVE, info.relative.getID());
-			childMem.putInteger(IWorkbenchConstants.TAG_RELATIONSHIP, info.relationship);
-			childMem.putFloat(IWorkbenchConstants.TAG_RATIO, info.ratio);
-		}
-	}
-	return new Status(IStatus.OK,PlatformUI.PLUGIN_ID,0,"",null);
-}
-/**
- * Set the editor workbook which is active.
- */
-public void setActiveWorkbook(EditorWorkbook newWorkbook, boolean hasFocus) {
-	EditorWorkbook oldWorkbook = activeEditorWorkbook;
-	activeEditorWorkbook = newWorkbook;
-	
-	if (oldWorkbook != null && oldWorkbook != newWorkbook)
-		oldWorkbook.tabFocusHide();
-
-	if (newWorkbook != null)
-		newWorkbook.tabFocusShow(hasFocus);
-		
-	updateTabList();
-}
-/**
- * Set the editor workbook which is active.
- */
-public void setActiveWorkbookFromID(String id) {
-	for (int i = 0; i < editorWorkbooks.size(); i++) {
-		EditorWorkbook workbook = (EditorWorkbook) editorWorkbooks.get(i);
-		if (workbook.getID().equals(id))
-			setActiveWorkbook(workbook, false);
-	}
-}
-
-/**
- * Updates the editor area's tab list to include the active
- * editor and its tab.
- */
-public void updateTabList() {
-	Composite parent = getParent();
-	if (parent != null) {  // parent may be null on startup
-		EditorWorkbook wb = getActiveWorkbook();
-		if (wb == null) {
-			parent.setTabList(new Control[0]);
-		}
-		else {
-			parent.setTabList(wb.getTabList());
-		}
-	}
-}
-
-
-	/**
-	 * @see org.eclipse.ui.internal.LayoutPart#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		//let the user drop files/editor input on the editor area
-		addDropSupport();		
-	}
-	private void addDropSupport() {
-		if (dropTarget == null) {
-			Transfer[] types = new Transfer[] {
-					EditorInputTransfer.getInstance(), 
-					ResourceTransfer.getInstance(),
-					MarkerTransfer.getInstance() };
-		
-			dropTarget = new DropTarget(getControl(), DND.DROP_DEFAULT);
-			dropTarget.setTransfer(types);
-			dropTarget.addDropListener(dropTargetAdapter);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorAreaDropAdapter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorAreaDropAdapter.java
deleted file mode 100644
index 6ff5c64..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorAreaDropAdapter.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTargetAdapter;
-import org.eclipse.swt.dnd.DropTargetEvent;
-
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.internal.misc.Assert;
-import org.eclipse.ui.part.EditorInputTransfer;
-import org.eclipse.ui.part.MarkerTransfer;
-import org.eclipse.ui.part.ResourceTransfer;
-
-/* package */ class EditorAreaDropAdapter extends DropTargetAdapter {
-	
-	private WorkbenchPage page;
-	
-	/**
-	 * Constructs a new EditorAreaDropAdapter.
-	 * @param page the workbench page
-	 */
-	public EditorAreaDropAdapter(WorkbenchPage page) {
-		this.page = page;
-	}
-
-	public void drop(DropTargetEvent event) {
-
-		/* Open Editor for generic IEditorInput */
-		if (EditorInputTransfer.getInstance().isSupportedType(event.currentDataType)) {
-			/* event.data is an array of EditorInputData, which contains an IEditorInput and 
-			 * the corresponding editorId */
-			Assert.isTrue(event.data instanceof EditorInputTransfer.EditorInputData[]);
-			EditorInputTransfer.EditorInputData[] editorInputs = (EditorInputTransfer.EditorInputData []) event.data;
-
-			try { //open all the markers
-				for (int i = 0; i < editorInputs.length; i++) {
-					String editorId = editorInputs[i].editorId;
-					IEditorInput editorInput = editorInputs[i].input;
-					page.openInternalEditor(editorInput, editorId);	
-				}
-			} catch (PartInitException e) {
-				//do nothing, user may have been trying to drag a marker with no associated file
-			}
-		}
-			
-		/* Open Editor for Marker (e.g. Tasks, Bookmarks, etc) */
-		else if (MarkerTransfer.getInstance().isSupportedType(event.currentDataType)) {
-			Assert.isTrue(event.data instanceof IMarker[]);
-			IMarker[] markers = (IMarker[]) event.data;
-			try { //open all the markers
-				for (int i = 0; i < markers.length; i++) {
-					page.openInternalEditor(markers[i]);	
-				}
-			} catch (PartInitException e) {
-				//do nothing, user may have been trying to drag a marker with no associated file
-			}
-		}
-
-		/* Open Editor for resource */
-		else if (ResourceTransfer.getInstance().isSupportedType(event.currentDataType)) {
-			Assert.isTrue(event.data instanceof IResource[]);
-			IResource[] files = (IResource[]) event.data;
-			try { //open all the files
-				for (int i = 0; i < files.length; i++) {
-					if (files[i] instanceof IFile)
-						page.openInternalEditor((IFile)files[i]);	
-				}
-			} catch (PartInitException e) {
-				//do nothing, user may have been trying to drag a folder
-			}
-		}
-			
-	}
-	
-	public void dragOver(DropTargetEvent event) {				
-		//make sure the file is never moved; always do a copy
-		event.detail = DND.DROP_COPY;
-	}
-}
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorHistory.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorHistory.java
deleted file mode 100644
index b024861..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorHistory.java
+++ /dev/null
@@ -1,184 +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 v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-
-Contributors:
-	IBM Corporation - Initial implementation
-**********************************************************************/
-
-package org.eclipse.ui.internal;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class is used to record "open editor" actions as they
- * happen.  The input and type of each editor are recorded so that
- * the user can reopen an item from the recently used files list.
- */
-public class EditorHistory {
-	
-	private int size;
-	private ArrayList fifoList;
-	
-	/**
-	 * Constructs a new history.
-	 */
-	public EditorHistory() {
-		this(10);
-	}
-	
-	/**
-	 * Constructs a new history.
-	 */
-	public EditorHistory(int size) {
-		this.size = size;
-		fifoList = new ArrayList(size);
-	}
-	
-	/**
-	 * Adds an item to the history.  Added in fifo fashion.
-	 */
-	public void add(IEditorInput input) {
-		add(input, null);
-	}
-	
-	/**
-	 * Adds an item to the history.  Added in fifo fashion.
-	 */
-	public void add(IEditorInput input, IEditorDescriptor desc) {
-		add(new EditorHistoryItem(input, desc), 0);
-	}
-	
-	/**
-	 * Adds an item to the history.
-	 */
-	private void add(EditorHistoryItem newItem, int index) {
-		// Remove the item if it already exists so that it will be put 
-		// at the top of the list.
-		if (newItem.isRestored()) {
-			remove(newItem.getInput());
-		}
-
-		// Add the new item.
-		fifoList.add(index, newItem);
-		if (fifoList.size() > size) {
-			fifoList.remove(size);
-		}
-	}
-	
-	/**
-	 * Returns an array of editor history items.  The items are returned in order
-	 * of most recent first.
-	 */
-	public EditorHistoryItem[] getItems() {
-		refresh();
-		EditorHistoryItem[] array = new EditorHistoryItem[fifoList.size()];
-		fifoList.toArray(array);
-		return array;
-	}
-	
-	
-	
-	
-	/**
-	 * Returns the stack height.
-	 */
-	public int getSize() {
-		return fifoList.size();
-	}
-	
-	/**
-	 * Refresh the editor list.  Any stale items are removed.
-	 * Only restored items are considered.
-	 */
-	public void refresh() {
-		Iterator iter = fifoList.iterator();
-		while (iter.hasNext()) {
-			EditorHistoryItem item = (EditorHistoryItem) iter.next();
-			if (item.isRestored()) {
-				IEditorInput input = item.getInput();
-				if (input != null && !input.exists())
-					iter.remove();
-			}
-		}
-	}
-
-	/**
-	 * Removes the given history item.
-	 */
-	public void remove(EditorHistoryItem item) {
-		fifoList.remove(item);
-	}
-
-	/**
-	 * Removes all traces of an editor input from the history.
-	 */
-	public void remove(IEditorInput input) {
-		if (input == null) {
-			return;
-		}
-		Iterator iter = fifoList.iterator();
-		while (iter.hasNext()) {
-			EditorHistoryItem item = (EditorHistoryItem) iter.next();
-			if (item.matches(input)) {
-				iter.remove();
-			}
-		}
-	}
-	
-	/**
-	 * Reset the editor history to have the specified size.  Trim the list if
-	 * it does not conforms to the new size.
-	 */
-	public void reset(int size) {
-		this.size = size;
-		while (fifoList.size() > size) {
-			fifoList.remove(size);
-		}
-	}
-	
-	/**
-	 * Restore the most-recently-used history from the given memento.
-	 * 
-	 * @param memento the memento to restore the mru history from
-	 */
-	public IStatus restoreState(IMemento memento) {
-		IMemento[] mementos = memento.getChildren(IWorkbenchConstants.TAG_FILE);
-		for (int i = 0; i < mementos.length; i++) {
-			EditorHistoryItem item = new EditorHistoryItem(mementos[i]);
-			if (!"".equals(item.getName()) || !"".equals(item.getToolTipText())) {
-				add(item, fifoList.size());
-			}
-		}
-		return new Status(IStatus.OK,PlatformUI.PLUGIN_ID,0,"",null);
-	}
-	
-	/**
-	 * Save the most-recently-used history in the given memento.
-	 * 
-	 * @param memento the memento to save the mru history in
-	 */
-	public IStatus saveState(IMemento memento) {
-		Iterator iterator = fifoList.iterator();
-		while (iterator.hasNext()) {
-			EditorHistoryItem item = (EditorHistoryItem) iterator.next();
-			if (item.canSave()) {
-				IMemento itemMemento = memento.createChild(IWorkbenchConstants.TAG_FILE);
-				item.saveState(itemMemento);
-			}
-		}
-		return new Status(IStatus.OK,PlatformUI.PLUGIN_ID,0,"",null);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorHistoryItem.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorHistoryItem.java
deleted file mode 100644
index 24eeaac..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorHistoryItem.java
+++ /dev/null
@@ -1,224 +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 v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-
-Contributors:
-	IBM Corporation - Initial implementation
-**********************************************************************/
-
-package org.eclipse.ui.internal;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.IElementFactory;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.misc.Assert;
-
-/**
- * An item in the editor history.
- */
-public class EditorHistoryItem {
-	
-	private IEditorInput input;
-	private IEditorDescriptor descriptor;
-	private IMemento memento;
-
-/**
- * Constructs a new item.
- */	
-public EditorHistoryItem(IEditorInput input, IEditorDescriptor descriptor) {
-	this.input = input;
-	this.descriptor = descriptor;
-}
-
-/**
- * Constructs a new item from a memento.
- */	
-public EditorHistoryItem(IMemento memento) {
-	this.memento = memento;
-}
-
-/**
- * Returns the editor descriptor.
- * 
- * @return the editor descriptor.
- */
-public IEditorDescriptor getDescriptor() {
-	return descriptor;
-}
-/**
- * Returns the editor input.
- * 
- * @return the editor input.
- */
-public IEditorInput getInput() {
-	return input;
-}
-
-/**
- * Returns whether this item has been restored from the memento.
- */
-public boolean isRestored() {
-	return memento == null;
-}
-
-/**
- * Returns the name of this item, either from the input if restored,
- * otherwise from the memento.
- */
-public String getName() {
-	if (isRestored() && getInput() != null) {
-		return getInput().getName();
-	}
-	else if (memento != null) {
-		String name = memento.getString(IWorkbenchConstants.TAG_NAME);
-		if (name != null) {
-			return name;
-		}
-	}
-	return "";
-}
-
-/**
- * Returns the tooltip text of this item, either from the input if restored,
- * otherwise from the memento.
- */
-public String getToolTipText() {
-	if (isRestored() && getInput() != null) {
-		return getInput().getToolTipText();
-	}
-	else if (memento != null) {
-		String name = memento.getString(IWorkbenchConstants.TAG_TOOLTIP);
-		if (name != null) {
-			return name;
-		}
-	}
-	return "";
-}
-
-/**
- * Returns whether this item matches the given editor input.
- */
-public boolean matches(IEditorInput input) {
-	if (isRestored())
-		return input.equals(getInput());
-	// if not restored, compare name, tool tip text and factory id,
-	// avoiding as much work as possible
-	if (!getName().equals(input.getName()))
-		return false;
-	if (!getToolTipText().equals(input.getToolTipText()))
-		return false;
-	IPersistableElement persistable = input.getPersistable(); 
-	String inputId = persistable == null ? null : persistable.getFactoryId(); 
-	String myId = getFactoryId();
-	return myId == null ? inputId == null : myId.equals(inputId); 		
-}
-/**
- * Returns the factory id of this item, either from the input if restored,
- * otherwise from the memento.
- * Returns <code>null</code> if there is no factory id.
- */
-public String getFactoryId() {
-	if (isRestored()) {
-		if (input != null) {
-			IPersistableElement persistable = input.getPersistable();
-			if (persistable != null) {
-				return persistable.getFactoryId(); 
-			}
-		}
-	}
-	else if (memento != null) {
-		return memento.getString(IWorkbenchConstants.TAG_FACTORY_ID);
-	}
-	return null;
-}
-/**
- * Restores the object state from the memento. 
- */
-public IStatus restoreState() {
-	Assert.isTrue(!isRestored());
-
-	Status result = new Status(IStatus.OK,PlatformUI.PLUGIN_ID,0,"",null);
-	IMemento memento = this.memento;
-	this.memento = null;
-	
-	String factoryId = memento.getString(IWorkbenchConstants.TAG_FACTORY_ID);
-	if (factoryId == null) {
-		WorkbenchPlugin.log("Unable to restore mru list - no input factory ID.");//$NON-NLS-1$
-		return result;
-	}
-	IElementFactory factory = WorkbenchPlugin.getDefault().getElementFactory(factoryId);
-	if (factory == null) {
-		return result;
-	}
-	IMemento persistableMemento = memento.getChild(IWorkbenchConstants.TAG_PERSISTABLE);
-	if (persistableMemento == null) {
-		WorkbenchPlugin.log("Unable to restore mru list - no input element state: " + factoryId);//$NON-NLS-1$
-		return result;
-	}
-	IAdaptable adaptable = factory.createElement(persistableMemento);
-	if (adaptable == null || (adaptable instanceof IEditorInput) == false) {
-		return result;
-	}
-	input = (IEditorInput) adaptable;
-	// Get the editor descriptor.
-	String editorId = memento.getString(IWorkbenchConstants.TAG_ID);
-	if (editorId != null) {
-		IEditorRegistry registry = WorkbenchPlugin.getDefault().getEditorRegistry();
-		descriptor = registry.findEditor(editorId);
-	}
-	return result;
-}
-
-/**
- * Returns whether this history item can be saved.
- */
-public boolean canSave() {
-	return !isRestored()
-		|| (getInput() != null && getInput().getPersistable() != null);
-}
-
-/**
- * Saves the object state in the given memento. 
- * 
- * @param memento the memento to save the object state in
- */
-public IStatus saveState(IMemento memento) {
-	if (!isRestored()) {
-		memento.putMemento(this.memento);
-	}
-	else if (input != null) {
-		
-		IPersistableElement persistable = input.getPersistable();
-		if (persistable != null) {
-			/*
-			 * Store IPersistable of the IEditorInput in a separate section
-			 * since it could potentially use a tag already used in the parent 
-			 * memento and thus overwrite data.
-			 */	
-			IMemento persistableMemento = memento.createChild(IWorkbenchConstants.TAG_PERSISTABLE);
-			persistable.saveState(persistableMemento);
-			memento.putString(IWorkbenchConstants.TAG_FACTORY_ID, persistable.getFactoryId());
-			if (descriptor != null && descriptor.getId() != null) {
-				memento.putString(IWorkbenchConstants.TAG_ID, descriptor.getId());
-			}
-			// save the name and tooltip separately so they can be restored
-			// without having to instantiate the input, which can activate plugins
-			memento.putString(IWorkbenchConstants.TAG_NAME, input.getName());
-			memento.putString(IWorkbenchConstants.TAG_TOOLTIP, input.getToolTipText());
-		}
-	}
-	return new Status(IStatus.OK,PlatformUI.PLUGIN_ID,0,"",null);
-}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorList.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorList.java
deleted file mode 100644
index dbbd74f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorList.java
+++ /dev/null
@@ -1,789 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal;
-
-import java.text.Collator;
-import java.util.*;
-import java.util.List;
-
-import org.eclipse.jface.action.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ViewForm;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-public class EditorList {
-	private WorkbenchWindow window;
-	private EditorWorkbook workbook;
-	private Table editorsTable;
-	private static List editorListViews = new ArrayList();
-	private Object selection;
-	private List elements = new ArrayList();
-
-	private SaveAction saveAction;
-	private CloseAction closeAction;
-	private SelectionAction selectCleanAction;
-	private SelectionAction InvertSelectionAction;
-	private SelectionAction selectAllAction;
-	private FullNameAction fullNameAction;
-	private SortAction nameSortAction;
-	private SortAction MRUSortAction;	
-	private SetScopeAction windowScopeAction;
-	private SetScopeAction pageScopeAction;
-	private SetScopeAction tabGroupScopeAction;
-
-	private boolean dropDown; // initialized in constructor
-	
-	// options same among all instances of editorList
-	private static int sortOrder; // initialized in constructor
-	private static int listScope; // initialized in constructor
-	private static boolean displayFullPath; // initialized in constructor
-	
-	private static Collator collator = Collator.getInstance();
-	
-	private static final int SELECT_ALL = 0;
-	private static final int INVERT_SELECTION = 1;
-	private static final int SELECT_CLEAN = 2;
-
-	private static final int NAME_SORT = IPreferenceConstants.EDITOR_LIST_NAME_SORT;
-	private static final int MRU_SORT = IPreferenceConstants.EDITOR_LIST_MRU_SORT;
-
-	private static final int SET_WINDOW_SCOPE = IPreferenceConstants.EDITOR_LIST_SET_WINDOW_SCOPE;
-	private static final int SET_PAGE_SCOPE = IPreferenceConstants.EDITOR_LIST_SET_PAGE_SCOPE;
-	private static final int SET_TAB_GROUP_SCOPE = IPreferenceConstants.EDITOR_LIST_SET_TAB_GROUP_SCOPE;
-	
-	private static final String editorListData = "editorListData";
-	
-	/**
-	 * Listen for notifications from the editor part that its title has change or
-	 * it's dirty, and update view
-	 *
-	 * @see IPropertyListener
-	 */
-	private IPropertyListener propertyListener = new IPropertyListener() {
-		public void propertyChanged(Object source, int property) {
-			if (property == IEditorPart.PROP_DIRTY || property == IWorkbenchPart.PROP_TITLE) {
-				if (source instanceof IEditorPart) {
-					EditorSite site = (EditorSite) ((IEditorPart)source).getEditorSite();
-					IEditorReference ref = (IEditorReference)site.getPane().getPartReference();
-
-					TableItem[] items = editorsTable.getItems();
-					for (int i = 0; i < items.length; i++) {
-						Adapter editor = (Adapter)items[i].getData(editorListData);
-						if (editor.editorRef == ref) {
-							updateItem(items[i], editor);
-						}
-					}
-				}
-			}
-		}
-	};
-
-	private IPartListener2 partListener = new IPartListener2() {
-		int counter = 0;
-		private void updateEditorList(IWorkbenchPartReference ref) {
-			if (ref instanceof IEditorReference) { 
-				final Display display = window.getShell().getDisplay();
-				final int TIMER_INTERVAL = 100;
-				counter ++;				
-				display.timerExec(TIMER_INTERVAL, new Runnable() {
-					public void run() {
-						counter --;
-						// When closing the workbench the delay may allow the editorTable
-						// to dispose prior to running.						
-						if ((counter == 0) && (editorsTable !=null)){
-							updateItems();
-							notifyEditorListViews();
-						}
-					}
-				});				
-			}
-		}
-		// select in navigator
-		public void partBroughtToTop(IWorkbenchPartReference ref) {
-			updateEditorList(ref);
-		}
-		// select tabs, open editor
-		public void partActivated(IWorkbenchPartReference ref) {
-			updateEditorList(ref);
-		}
-		// closeAll
-		public void partClosed(IWorkbenchPartReference ref) {
-			updateEditorList(ref);
-		}
-		// delete
-		public void partDeactivated(IWorkbenchPartReference ref) {
-			updateEditorList(ref);
-		}
-		public void partOpened(IWorkbenchPartReference ref) {
-		}
-		public void partHidden(IWorkbenchPartReference ref) {
-		}
-		public void partVisible(IWorkbenchPartReference ref) {
-		}
-		public void partInputChanged(IWorkbenchPartReference ref) {
-		}				
-	};
-
-public EditorList(IWorkbenchWindow window, EditorWorkbook workbook) {
-	this.window = (WorkbenchWindow) window;
-	this.workbook = workbook;
-	
-	listScope = WorkbenchPlugin.getDefault().getPreferenceStore().getInt(IPreferenceConstants.EDITOR_LIST_SELECTION_SCOPE);
-	sortOrder = WorkbenchPlugin.getDefault().getPreferenceStore().getInt(IPreferenceConstants.EDITOR_LIST_SORT_CRITERIA);
-	displayFullPath = WorkbenchPlugin.getDefault().getPreferenceStore().getBoolean(IPreferenceConstants.EDITOR_LIST_DISPLAY_FULL_NAME);
-
-	// Special handling for scope selection. The concept of tab groups does
-	// not make sense in this situation, so over-ride to page scope
-	// uses dropDown for this
-	//
-	// in addition drop down used to indicate if the editorList must also
-	// close the viewform etc.
-	dropDown = (workbook != null);
- 	if (!dropDown) {
-		// Views need to listen for part activation/deactivation.
-		window.getPartService().addPartListener(partListener);
-		
-		// When selectionScope (listScope) is changed, or displayFullPath is 
-		// changed there is no notification to the editorList views that this 
-		// happened (i.e. if it happens from a different window or from
-		// the pullDown).  Keep track of the views and update them
-		// appropriately.
-		editorListViews.add(this);
-	}
-	
-	saveAction = new SaveAction();
-	closeAction = new CloseAction();
-	selectCleanAction = new SelectionAction(SELECT_CLEAN);
-	InvertSelectionAction = new SelectionAction(INVERT_SELECTION);
-	selectAllAction = new SelectionAction(SELECT_ALL);
-	fullNameAction = new FullNameAction();
-	nameSortAction = new SortAction(NAME_SORT);
-	MRUSortAction = new SortAction(MRU_SORT);
-	windowScopeAction = new SetScopeAction(SET_WINDOW_SCOPE);
-	pageScopeAction = new SetScopeAction(SET_PAGE_SCOPE);
-	tabGroupScopeAction = new SetScopeAction(SET_TAB_GROUP_SCOPE);		
-}
-
-/**
- * Create the EditorList table and menu items.
- */
-public Control createControl(Composite parent) {
-	editorsTable = new Table(parent, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL );
-	updateItems();
-	editorsTable.pack();
-	editorsTable.setFocus();
-
-	// Create the context menu
-	MenuManager menuMgr = new MenuManager("#PopUp"); //$NON-NLS-1$
-	menuMgr.setRemoveAllWhenShown(true);
-	menuMgr.addMenuListener(new IMenuListener() {
-		public void menuAboutToShow(IMenuManager manager) {
-			setCheckedMenuItems();
-			EditorList.this.fillContextMenu(manager);
-		}
-	});
-
-	editorsTable.setMenu(menuMgr.createContextMenu(editorsTable));
-	editorsTable.addKeyListener(new KeyListener() {
-		public void keyPressed(KeyEvent e) {
-			if(e.character == SWT.ESC)
-				destroyControl();
-			if(e.character == ' ' || e.character == SWT.CR)
-				handleSelectionEvent(true);
-		}
-		public void keyReleased(KeyEvent e) {
-		}
-	});
-
-	editorsTable.addMouseListener(new MouseAdapter() {
-		public void mouseDown(MouseEvent e) {
-			if ((e.stateMask & SWT.CTRL) != 0 || (e.stateMask & SWT.SHIFT) != 0) {
-				return;
-			}
-			if (e.button != 3) {
-				handleSelectionEvent(true);
-			}
-		}
-	});
-
-	editorsTable.addSelectionListener(new SelectionAdapter() {
-		public void widgetDefaultSelected(SelectionEvent e) {
-			handleSelectionEvent(true);
-		}
-	});
-
-	return editorsTable;
-}
-
-public void dispose() {
-	editorsTable = null;
-	editorListViews.remove(this);
-
-	// remove the listeners
-	elements = new ArrayList();
-	getAllEditors(elements);
-	for (Iterator iterator = elements.iterator(); iterator.hasNext();) {
-		Adapter e = (Adapter) iterator.next();
-		e.editorRef.removePropertyListener(propertyListener);
-	}		
-	window.getPartService().removePartListener(partListener);
-}
-
-public void destroyControl() {
-	if (dropDown && (editorsTable != null)) {
-		ViewForm parent = (ViewForm) editorsTable.getParent();
-		parent.setContent(null);
-		parent.dispose();
-		dispose();
-	}
-}
-
-public Control getControl() {
-	return editorsTable;
-}
-
-public int getItemCount() {
-	return editorsTable.getItemCount();
-}
-
-private void notifyEditorListViews() {
-	for (Iterator iterator = editorListViews.iterator(); iterator.hasNext();) {
-		EditorList editorList = (EditorList) iterator.next();
-		if (editorList != this) {
-			editorList.updateItems();
-		}
-	}
-}
-
-private void handleSelectionEvent(boolean mouseEvent) {
-	TableItem[] selection = editorsTable.getSelection();
-	if (selection.length > 0) {
-		boolean enableSaveAction = false;					
-		for (int i = 0; i < selection.length; i++) {
-			Adapter editor = (Adapter)selection[i].getData(editorListData);
-			if (editor.isDirty()) {
-				enableSaveAction = true;
-				break;
-			}
-		}
-		saveAction.setEnabled(enableSaveAction);
-		closeAction.setEnabled(true);
-	} else {
-		saveAction.setEnabled(false);
-		closeAction.setEnabled(false);
-	}
-	if ((selection.length == 1) && mouseEvent){
-		Adapter a = (Adapter)selection[0].getData(editorListData);
-		destroyControl();
-		a.activate(dropDown);
-	}
-	notifyEditorListViews();
-}
-
-private void setCheckedMenuItems() {
-	fullNameAction.setChecked(displayFullPath);
-	nameSortAction.setChecked(EditorList.sortOrder==NAME_SORT);
-	MRUSortAction.setChecked(EditorList.sortOrder==MRU_SORT);
-	windowScopeAction.setChecked(EditorList.listScope==SET_WINDOW_SCOPE);
-	pageScopeAction.setChecked(EditorList.listScope==SET_PAGE_SCOPE);
-	if (dropDown) {
-		tabGroupScopeAction.setChecked(EditorList.listScope==SET_TAB_GROUP_SCOPE);	
-	} else {
-		tabGroupScopeAction.setEnabled(false);
-		if (listScope == SET_TAB_GROUP_SCOPE) {
-			pageScopeAction.setChecked(true);
-		}
-	}	
-}
-
-/**
- * Updates the specified item
- */
-private void updateItem(TableItem item, Adapter editor) {
-	int index = fullNameAction.isChecked() ? 1:0;
-	item.setData(editorListData, editor);
-	item.setText(editor.getDisplayText()[index]);
-
-	Image image = editor.getImage();
-	if (image != null) {
-		item.setImage(image);
-	}
-
-	if (!dropDown) {
-		editor.editorRef.addPropertyListener(propertyListener);
-	}
-}
-	
-/**
- * Sorts the editors
- */
-private void sort() {
-	switch (sortOrder) {
-	case NAME_SORT:
-		Adapter a[] = new Adapter[elements.size()];
-		elements.toArray(a);
-		Arrays.sort(a);
-		elements = Arrays.asList(a);
-		break;
-	case MRU_SORT:
-		// The elements are already in MRU order
-		// TODO: Not in MRU if multiple windows open.  Within each window
-		// group they are in order, but not overall
-		break;
-	default:
-		break;
-	}
-}
-
-/**
- * Adds all editors to elements
- */
-private void updateEditors(IWorkbenchPage[] pages) {
-	for (int j = 0; j < pages.length; j++) {
-		IEditorReference editors[] = ((WorkbenchPage)pages[j]).getSortedEditors();
-		for (int k = editors.length-1; k >= 0; k--) {
-			elements.add(new Adapter(editors[k]));
-		}
-	}
-}
-
-private void getAllEditors(List elements) {
-	if(windowScopeAction.isChecked()) {
-		IWorkbenchWindow windows[] = window.getWorkbench().getWorkbenchWindows();
-		for (int i = 0; i < windows.length; i++) {
-			updateEditors(windows[i].getPages());
-		}
-		// TODO: when multiple windows open, loose files from one of the windows
-		// When the view is being restored the active window is not included
-		// in the collection.  Handle this case, get editors from active page
-		if (!dropDown  && elements.size() == 0) {
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null) {		
-				updateEditors(new IWorkbenchPage[]{page});
-			}
-		}		
-	} else {
-		IWorkbenchPage page = window.getActivePage();
-		if (page != null) {
-			if (pageScopeAction.isChecked()) {
-				updateEditors(new IWorkbenchPage[]{page});
-			} else {
-				EditorPane editors[] = workbook.getEditors();
-				for (int j = 0 ; j < editors.length; j ++) {
-					elements.add(new Adapter(editors[j].getEditorReference()));
-				}
-			}
-		}
-	}
-}
-
-/**
- * Updates all items in the table
- */
-private void updateItems() {
-	setCheckedMenuItems();
-	editorsTable.removeAll();
-	elements = new ArrayList();
-	getAllEditors(elements);
-	
-	sort();
-	
-	Object selection = null;
-	if(window.getActivePage() != null) {
-		selection = window.getActivePage().getActiveEditor();
-	}
-	for (Iterator iterator = elements.iterator(); iterator.hasNext();) {
-		Adapter e = (Adapter) iterator.next();
-		TableItem item = new TableItem(editorsTable,SWT.NULL);
-		updateItem(item,e);
-		if((selection != null) && (selection == e.editorRef.getPart(false))) {
-			editorsTable.setSelection(new TableItem[]{item});
-			saveAction.setEnabled(e.isDirty());
-		}
-	}
-}
-
-
-private void fillContextMenu(IMenuManager menuMgr) {
-	// SortBy SubMenu
-	MenuManager sortMenuMgr = new MenuManager(WorkbenchMessages.getString("EditorList.SortBy.text")); //$NON-NLS-1$
-	sortMenuMgr.add(nameSortAction);
-	sortMenuMgr.add(MRUSortAction);
-	
-	// ApplyTo SubMenu
-	MenuManager applyToMenuMgr = new MenuManager(WorkbenchMessages.getString("EditorList.ApplyTo.text")); //$NON-NLS-1$
-	applyToMenuMgr.add(windowScopeAction);
-	applyToMenuMgr.add(pageScopeAction);
-	if (dropDown) {
-		applyToMenuMgr.add(tabGroupScopeAction);
-	}
-	
-	// Main menu	
-	menuMgr.add(saveAction);
-	menuMgr.add(closeAction);
-	menuMgr.add(new Separator());
-	menuMgr.add(selectCleanAction);
-	menuMgr.add(InvertSelectionAction);
-	menuMgr.add(selectAllAction);
-	menuMgr.add(new Separator());
-	menuMgr.add(fullNameAction);
-	menuMgr.add(sortMenuMgr);
-	menuMgr.add(applyToMenuMgr);
-}
-
-private class SaveAction extends Action {
-	/**
-	 *	Create an instance of this class
-	 */
-	private SaveAction() {
-		setText(WorkbenchMessages.getString("EditorList.saveSelected.text")); //$NON-NLS-1$
-		setToolTipText(WorkbenchMessages.getString("EditorList.saveSelected.toolTip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IHelpContextIds.SAVE_ACTION);
-	}
-	
-	/**
-	 * Performs the save.
-	 */
-	public void run() {
-		TableItem[] items = editorsTable.getSelection();
-		List dirtyEditorList = new ArrayList();
-
-		for (int i = 0; i < items.length; i++) {
-			Adapter editor = (Adapter)items[i].getData(editorListData);
-			Object element = editor.editorRef.getPart(false);
-			if (editor.isDirty()) {
-				dirtyEditorList.add(element);	
-			}
-		}
-		
-		if (dirtyEditorList.size() != 0) {
-			EditorManager.saveAll(dirtyEditorList, false, window);
-		}
-		destroyControl();
-	}
-}
-
-/**
- * Closes the selected editor.
- */
-private class CloseAction extends Action {
-	/**
-	 *	Create an instance of this class
-	 */
-	private CloseAction() {
-		setText(WorkbenchMessages.getString("EditorList.closeSelected.text")); //$NON-NLS-1$
-		setToolTipText(WorkbenchMessages.getString("EditorList.closeSelected.toolTip")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IHelpContextIds.CLOSE_PART_ACTION);
-	}
-	/**
-	 * Close the selected editor.
-	 */
-	public void run() {
-		TableItem[] items = editorsTable.getSelection();
-		Adapter[] editorRef = new Adapter[items.length];
-		List dirtyEditorList = new ArrayList();
-
-		// store the editor references as editorsTable will
-		// be disposed when focus is lost.
-		for (int i = 0; i < items.length; i++) {
-			editorRef[i] = (Adapter)items[i].getData(editorListData);
-			Object element = editorRef[i].editorRef.getPart(false);
-			if (editorRef[i].isDirty()) {
-				dirtyEditorList.add(element);	
-			}			
-		}
-	
-		boolean result = true;
-		if (dirtyEditorList.size() != 0) {
-			result = EditorManager.saveAll(dirtyEditorList, true, window);
-		}
-		
-		// now close the editors
-		if (result) {
-			for (int i = 0; i < editorRef.length; i++) {
-				editorRef[i].close();
-			}
-		}
-		
-		notifyEditorListViews();
-		destroyControl();
-	}
-}
-
-/**
- * Selects editors.
- */
-private class SelectionAction extends Action {
-	private int selectionType;
-	/**
-	 *	Create an instance of this class
-	 */
-	private SelectionAction(int selectionType) {
-		this.selectionType = selectionType;
-
-		switch (selectionType) {
-		case SELECT_ALL:
-			setText(WorkbenchMessages.getString("EditorList.selectAll.text")); //$NON-NLS-1$
-			setToolTipText(WorkbenchMessages.getString("EditorList.selectAll.toolTip")); //$NON-NLS-1$
-			break;
-		case INVERT_SELECTION:
-			setText(WorkbenchMessages.getString("EditorList.invertSelection.text")); //$NON-NLS-1$
-			setToolTipText(WorkbenchMessages.getString("EditorList.invertSelection.toolTip")); //$NON-NLS-1$
-			break;
-		case SELECT_CLEAN:
-			setText(WorkbenchMessages.getString("EditorList.selectClean.text")); //$NON-NLS-1$
-			setToolTipText(WorkbenchMessages.getString("EditorList.selectClean.toolTip")); //$NON-NLS-1$
-			break;
-		default:
-			break;
-		}
-//		WorkbenchHelp.setHelp(this, IHelpContextIds.SELECTION_ACTION);
-	}
-
-	private TableItem[] invertSelection(TableItem[] allItems,TableItem[] selectedItems ) {
-		if(allItems.length == 0) {
-			return allItems;
-		}
-		ArrayList invertedSelection = new ArrayList(allItems.length - selectedItems.length);
-		outerLoop: for (int i = 0; i < allItems.length; i++) {
-			for (int j = 0; j < selectedItems.length; j++) {
-				if(allItems[i] == selectedItems[j])
-					continue outerLoop;
-			}
-			invertedSelection.add(allItems[i]);
-		}
-
-		TableItem result[] = new TableItem[invertedSelection.size()];
-		invertedSelection.toArray(result);
-		return result;
-	}
-
-	private TableItem[] selectClean(TableItem[] allItems) {
-		if(allItems.length == 0) {
-			return new TableItem[0];
-		}
-		ArrayList cleanItems = new ArrayList(allItems.length);
-		for (int i = 0; i < allItems.length; i++) {
-			Adapter editor = (Adapter)allItems[i].getData(editorListData);
-			if(!editor.isDirty())
-				cleanItems.add(allItems[i]);
-		}
-		TableItem result[] = new TableItem[cleanItems.size()];
-		cleanItems.toArray(result);
-
-		return result;
-	}
-	/**
-	 *	Select editors.
-	 */
-	public void run() {
-		switch (selectionType) {
-			case SELECT_ALL:
-				editorsTable.setSelection(editorsTable.getItems());
-				break;
-			case INVERT_SELECTION:
-				editorsTable.setSelection(invertSelection(editorsTable.getItems(), editorsTable.getSelection()));
-				break;
-			case SELECT_CLEAN:
-				editorsTable.setSelection(selectClean(editorsTable.getItems()));
-				break;
-		}
-		handleSelectionEvent(false);
-	}
-}
-
-
-/**
- * Displays the full file name.
- */
-private class FullNameAction extends Action {
-	/**
-	 *	Create an instance of this class
-	 */
-	private FullNameAction() {
-		setText(WorkbenchMessages.getString("EditorList.FullName.text")); //$NON-NLS-1$
-		setToolTipText(WorkbenchMessages.getString("EditorList.FullName.toolTip")); //$NON-NLS-1$
-//		WorkbenchHelp.setHelp(this, IHelpContextIds.FULL_NAME_ALL_ACTION);
-	}
-	/**
-	 *	Display full file name.
-	 */
-	public void run() {
-		displayFullPath = !displayFullPath;
-		WorkbenchPlugin.getDefault().getPreferenceStore().setValue(IPreferenceConstants.EDITOR_LIST_DISPLAY_FULL_NAME, displayFullPath);
-		setChecked(displayFullPath);
-		int[] indices = editorsTable.getSelectionIndices();
-		updateItems();
-		if (dropDown) {
-			workbook.resizeEditorList();
-		}
-		editorsTable.setSelection(indices);
-		notifyEditorListViews();
-	}
-}
-
-private class SortAction extends Action {
-	private int sortOrder;
-	/**
-	 *	Create an instance of this class
-	 */
-	private SortAction(int sortOrder) {
-		this.sortOrder = sortOrder;
-		switch (sortOrder) {
-		case NAME_SORT:
-			setText(WorkbenchMessages.getString("EditorList.SortByName.text")); //$NON-NLS-1$
-			setToolTipText(WorkbenchMessages.getString("EditorList.SortByName.toolTip")); //$NON-NLS-1$
-			break;
-		case MRU_SORT:
-			setText(WorkbenchMessages.getString("EditorList.SortByMostRecentlyUsed.text")); //$NON-NLS-1$
-			setToolTipText(WorkbenchMessages.getString("EditorList.SortByMostRecentlyUsed.toolTip")); //$NON-NLS-1$
-			break;
-		default:
-			break;
-		}
-//		WorkbenchHelp.setHelp(this, IHelpContextIds.SORT_ACTION);
-	}
-
-	/**
-	 * Performs the sort.
-	 */
-	public void run() {
-		EditorList.sortOrder = this.sortOrder;
-		WorkbenchPlugin.getDefault().getPreferenceStore().setValue(IPreferenceConstants.EDITOR_LIST_SORT_CRITERIA, this.sortOrder);
-		TableItem[] items = editorsTable.getItems();
-		if(items.length == 0) {
-			return;
-		}
-		updateItems();
-		notifyEditorListViews();
-	}
-}
-
-private class SetScopeAction extends Action {
-	private int whichScope;
-	/**
-	 *	Create an instance of this class
-	 */
-	private SetScopeAction (int whichScope) {
-		this.whichScope = whichScope;
-		switch (whichScope) {
-		case SET_WINDOW_SCOPE:
-			setText(WorkbenchMessages.getString("EditorList.DisplayAllWindows.text")); //$NON-NLS-1$
-			setToolTipText(WorkbenchMessages.getString("EditorList.DisplayAllWindows.toolTip")); //$NON-NLS-1$
-			break;
-		case SET_PAGE_SCOPE:
-			setText(WorkbenchMessages.getString("EditorList.DisplayAllPage.text")); //$NON-NLS-1$
-			setToolTipText(WorkbenchMessages.getString("EditorList.DisplayAllPage.toolTip")); //$NON-NLS-1$
-			break;
-		case SET_TAB_GROUP_SCOPE:
-			setText(WorkbenchMessages.getString("EditorList.DisplayTabGroup.text")); //$NON-NLS-1$
-			setToolTipText(WorkbenchMessages.getString("EditorList.DisplayTabGroup.toolTip")); //$NON-NLS-1$
-			break;
-		default:
-			break;
-		}
-//		WorkbenchHelp.setHelp(this, IHelpContextIds.SORT_EDITOR_SCOPE_ACTION);
-	}
-
-	/**
-	 * Display the appropriate scope.
-	 */
-	public void run() {
-		EditorList.listScope = this.whichScope;
-		WorkbenchPlugin.getDefault().getPreferenceStore().setValue(IPreferenceConstants.EDITOR_LIST_SELECTION_SCOPE, this.whichScope);
-		updateItems();
-		if (dropDown) {
-			workbook.resizeEditorList();
-		}
-		notifyEditorListViews();
-	}
-}
-
-/**
- * A helper inner class
- */
-private class Adapter implements Comparable {
-	IEditorReference editorRef;
-	String text[], displayText[];
-	Image images[];
-	Adapter(IEditorReference ref) {
-		editorRef = ref;
-	}
-	
-	boolean isDirty() {
-		return editorRef.isDirty();
-	}
-
-	void close() {
-		WorkbenchPage p = ((WorkbenchPartReference)editorRef).getPane().getPage();
-		p.closeEditor(editorRef,false);
-	}
-
-	// file name without any dirty indication, used for sorting
-	String[] getText() {
-		text = new String[2];
-		text[0] = editorRef.getTitle();
-		text[1] = editorRef.getTitleToolTip();
-		return text;
-	}
-	// file name with dirty indication, used for displaying
-	String[] getDisplayText() {
-		displayText = new String[2];
-
-		if(editorRef.isDirty()) {
-			displayText[0] = "*" + editorRef.getTitle(); //$NON-NLS-1$
-			displayText[1] = "*" + editorRef.getTitleToolTip(); //$NON-NLS-1$
-		} else {
-			displayText[0] = editorRef.getTitle();
-			displayText[1] = editorRef.getTitleToolTip();
-		}
-		return displayText;
-	}
-
-	Image getImage() {
-		return editorRef.getTitleImage();
-	}
-
-	private void activate(boolean activate){
-		IEditorPart editor = editorRef.getEditor(true);
-		if (editor != null) {
-			WorkbenchPage p = (WorkbenchPage)editor.getEditorSite().getPage();
-			Shell s = p.getWorkbenchWindow().getShell();
-			if(s.getMinimized()) {
-				s.setMinimized(false);
-			}
-			s.moveAbove(null);
-			p.getWorkbenchWindow().setActivePage(p);
-			if (activate) {
-				if (editor == p.getActivePart()) {
-					editor.setFocus();
-				} else {
-					p.activate(editor);
-				}
-			} else {
-				p.bringToTop(editor);
-			}
-		}
-	}
-	
-	public int compareTo(Object another) {
-		int index = fullNameAction.isChecked() ? 1:0;
-		Adapter adapter = (Adapter)another;
-		int  result = collator.compare(getText()[index],adapter.getText()[index]);
-		return result;
-	}
-}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorManager.java
deleted file mode 100644
index 8654a00..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorManager.java
+++ /dev/null
@@ -1,1278 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.window.ApplicationWindow;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.program.Program;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.*;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-import org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor;
-import org.eclipse.ui.internal.editorsupport.ComponentSupport;
-import org.eclipse.ui.internal.misc.ExternalEditor;
-import org.eclipse.ui.internal.misc.UIStats;
-import org.eclipse.ui.internal.model.AdaptableList;
-import org.eclipse.ui.internal.registry.EditorDescriptor;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.part.MultiEditor;
-import org.eclipse.ui.part.MultiEditorInput;
-
-/**
- * Manage a group of element editors.  Prevent the creation of two editors on
- * the same element.
- *
- * 06/12/00 - DS - Given the ambiguous editor input type, the manager delegates
- * a number of responsabilities to the editor itself.
- *
- * <ol>
- * <li>The editor should determine its own title.</li>
- * <li>The editor shoudl listen to resource deltas and close itself if the input is deleted.
- * It may also choose to stay open if the editor has dirty state.</li>
- * <li>The editor should persist its own state plus editor input.</li>
- * </ol>
- */
-public class EditorManager { 
-	private EditorPresentation editorPresentation;
-	private WorkbenchWindow window;
-	private WorkbenchPage page;
-	private Map actionCache = new HashMap();
-
-	private static final String RESOURCES_TO_SAVE_MESSAGE = WorkbenchMessages.getString("EditorManager.saveResourcesMessage"); //$NON-NLS-1$
-	private static final String SAVE_RESOURCES_TITLE = WorkbenchMessages.getString("EditorManager.saveResourcesTitle"); //$NON-NLS-1$
-	/**
-	 * EditorManager constructor comment.
-	 */
-	public EditorManager(WorkbenchWindow window, WorkbenchPage workbenchPage, EditorPresentation pres) {
-		this.window = window;
-		this.page = workbenchPage;
-		this.editorPresentation = pres;
-	}
-	/**
-	 * Closes all of the editors in the workbench.  The contents are not saved.
-	 *
-	 * This method will close the presentation for each editor.  
-	 * The IEditorPart.dispose method must be called at a higher level.
-	 */
-	public void closeAll() {
-		// Close the pane, action bars, pane, etc.
-		IEditorReference[] editors = editorPresentation.getEditors();
-		editorPresentation.closeAllEditors();
-		for (int i = 0; i < editors.length; i++) {
-			IEditorPart part = (IEditorPart)editors[i].getPart(false);
-			if(part != null) {
-				PartSite site = (PartSite) part.getSite();
-				disposeEditorActionBars((EditorActionBars) site.getActionBars());
-				site.dispose();
-			}
-		}
-	}
-	/**
-	 * Closes an editor.  The contents are not saved.
-	 *
-	 * This method will close the presentation for the editor.
-	 * The IEditorPart.dispose method must be called at a higher level.
-	 */
-	public void closeEditor(IEditorReference ref) {
-		// Close the pane, action bars, pane, etc.
-		IEditorPart part = ref.getEditor(false);
-		if(part != null) {
-			if(part instanceof MultiEditor) {
-				IEditorPart innerEditors[] = ((MultiEditor)part).getInnerEditors();
-				for (int i = 0; i < innerEditors.length; i++) {
-					EditorSite site = (EditorSite) innerEditors[i].getEditorSite();
-					editorPresentation.closeEditor(innerEditors[i]);
-					disposeEditorActionBars((EditorActionBars) site.getActionBars());
-					site.dispose();				
-				}
-			} else {
-				EditorSite site = (EditorSite) part.getEditorSite();
-				if(site.getPane() instanceof MultiEditorInnerPane) {
-					MultiEditorInnerPane pane = (MultiEditorInnerPane)site.getPane();
-					page.closeEditor((IEditorReference)pane.getParentPane().getPartReference(),true);
-					return;
-				}
-			}
-			EditorSite site = (EditorSite) part.getEditorSite();
-			editorPresentation.closeEditor(part);
-			disposeEditorActionBars((EditorActionBars) site.getActionBars());
-			site.dispose();
-		} else {
-			editorPresentation.closeEditor(ref);
-			((Editor)ref).dispose();
-		}
-	}
-	/**
-	 * Answer a list of dirty editors.
-	 */
-	private List collectDirtyEditors() {
-		List result = new ArrayList(3);
-		IEditorReference[] editors = editorPresentation.getEditors();
-		for (int i = 0; i < editors.length; i++) {
-			IEditorPart part = (IEditorPart)editors[i].getPart(false);
-			if (part != null && part.isDirty())
-				result.add(part);
-
-		}
-		return result;
-	}
-	/**
-	 * Returns whether the manager contains an editor.
-	 */
-	public boolean containsEditor(IEditorReference ref) {
-		IEditorReference[] editors = editorPresentation.getEditors();
-		for (int i = 0; i < editors.length; i++) {
-			if (ref == editors[i])
-				return true;
-		}
-		return false;
-	}	
-	/*
-	 * Creates the action bars for an editor.   Editors of the same type should share a single 
-	 * editor action bar, so this implementation may return an existing action bar vector.
-	 */
-	private EditorActionBars createEditorActionBars(EditorDescriptor desc) {
-		// Get the editor type.
-		String type = desc.getId();
-
-		// If an action bar already exists for this editor type return it.
-		EditorActionBars actionBars = (EditorActionBars) actionCache.get(type);
-		if (actionBars != null) {
-			actionBars.addRef();
-			return actionBars;
-		}
-
-		// Create a new action bar set.
-		actionBars = new EditorActionBars(page.getActionBars(), type);
-		actionBars.addRef();
-		actionCache.put(type, actionBars);
-
-		// Read base contributor.
-		IEditorActionBarContributor contr = desc.createActionBarContributor();
-		if (contr != null) {
-			actionBars.setEditorContributor(contr);
-			contr.init(actionBars, page);
-		}
-
-		// Read action extensions.
-		EditorActionBuilder builder = new EditorActionBuilder();
-		contr = builder.readActionExtensions(desc, actionBars);
-		if (contr != null) {
-			actionBars.setExtensionContributor(contr);
-			contr.init(actionBars, page);
-		}
-
-		// Return action bars.
-		return actionBars;
-	}
-	/*
-	 * Creates the action bars for an editor.   
-	 */
-	private EditorActionBars createEmptyEditorActionBars() {
-		// Get the editor type.
-		String type = String.valueOf(System.currentTimeMillis());
-
-		// Create a new action bar set.
-		// Note: It is an empty set.
-		EditorActionBars actionBars = new EditorActionBars(page.getActionBars(), type);
-		actionBars.addRef();
-		actionCache.put(type, actionBars);
-
-		// Return action bars.
-		return actionBars;
-	}
-	/*
-	 * Dispose
-	 */
-	private void disposeEditorActionBars(EditorActionBars actionBars) {
-		actionBars.removeRef();
-		if (actionBars.getRef() <= 0) {
-			String type = actionBars.getEditorType();
-			actionCache.remove(type);
-			actionBars.dispose();
-		}
-	}
-	/*
-	 * Answer an open editor for the input element.  If none
-	 * exists return null.
-	 */
-	public IEditorPart findEditor(IEditorInput input) {
-		IEditorReference[] editors = editorPresentation.getEditors();
-		for (int i = 0; i < editors.length; i++) {
-			IEditorPart part = (IEditorPart)editors[i].getPart(false);
-			if (part != null && input.equals(part.getEditorInput()))
-				return part;
-		}
-		String name = input.getName();
-		IPersistableElement persistable = input.getPersistable();
-		if(name == null || persistable == null)
-			return null;
-		String id = persistable.getFactoryId();
-		if(id == null)
-			return null;
-		for (int i = 0; i < editors.length; i++) { 
-			Editor e = (Editor)editors[i];
-			if(name.equals(e.getName()) && id.equals(e.getFactoryId())) {
-				IEditorPart editor = e.getEditor(true);
-				if(editor != null) {
-					if(input.equals(editor.getEditorInput()))
-						return editor;
-				}
-			}	
-		}
-		return null;
-	}
-	/**
-	 * Returns the SWT Display.
-	 */
-	private Display getDisplay() {
-		return window.getShell().getDisplay();
-	}
-	/**
-	 * Answer the number of editors.
-	 */
-	public int getEditorCount() {
-		return editorPresentation.getEditors().length;
-	}
-	/*
-	 * Answer the editor registry.
-	 */
-	private IEditorRegistry getEditorRegistry() {
-		return WorkbenchPlugin.getDefault().getEditorRegistry();
-	}
-	/*
-	 * See IWorkbenchPage.
-	 */
-	public IEditorPart[] getDirtyEditors() {
-		List dirtyEditors = collectDirtyEditors();
-		return (IEditorPart[])dirtyEditors.toArray(new IEditorPart[dirtyEditors.size()]);
-	}
-	/*
-	 * See IWorkbenchPage.
-	 */
-	public IEditorReference[] getEditors() {
-		return editorPresentation.getEditors();
-	}
-	/*
-	 * See IWorkbenchPage#getFocusEditor
-	 */
-	public IEditorPart getVisibleEditor() {
-		if(editorPresentation.getVisibleEditor() == null)
-			return null;
-		return (IEditorPart)editorPresentation.getVisibleEditor().getPart(true);
-	}
-	/**
-	 * Answer true if save is needed in any one of the editors.
-	 */
-	public boolean isSaveAllNeeded() {
-		IEditorReference[] editors = editorPresentation.getEditors();
-		for (int i = 0; i < editors.length; i++) {
-			IEditorReference ed = editors[i];
-			if (ed.isDirty())
-				return true;
-		}
-		return false;
-	}
-	/*
-	 * @see IWorkbenchPage.
-	 */
-	private IEditorReference openEditorFromInput(IEditorReference ref,IEditorInput editorInput, boolean setVisible, boolean forceInternal) throws PartInitException {
-		if (!(editorInput instanceof IFileEditorInput))
-			throw new PartInitException(
-				WorkbenchMessages.format(
-					"EditorManager.unableToOpenEditor", //$NON-NLS-1$
-					new Object[] { editorInput.getName() }));
-					
-		IFileEditorInput input = (IFileEditorInput)editorInput;
-		IFile file = input.getFile();
-		// If there is a registered editor for the file use it.
-		EditorDescriptor desc = (EditorDescriptor) getEditorRegistry().getDefaultEditor(file);
-		if (desc != null) {
-			return openEditorFromDescriptor(ref,desc, input, forceInternal);
-		}
-
-		// Try to open an OLE editor.
-		IEditorPart componentEditor = ComponentSupport.getComponentEditor(file);
-		if (componentEditor != null) {
-			createSite(componentEditor, desc, input);
-			((Editor)ref).setPart(componentEditor);
-			createEditorTab(ref, null, input, setVisible);
-			Workbench wb = (Workbench) window.getWorkbench();
-			wb.getEditorHistory().add(input, desc);
-			return ref;
-		}
-		
-		//only open a system file if an external editor is permitted.
-		if (!forceInternal) {
-			// Try to open a system editor.
-			if (testForSystemEditor(file)) {
-				openSystemEditor(file);
-				Workbench wb = (Workbench) window.getWorkbench();
-				wb.getEditorHistory().add(input, desc);
-				return null;
-			}
-		}
-
-		// There is no registered editor.  
-		// Use the default text editor.
-		desc = (EditorDescriptor) getEditorRegistry().getDefaultEditor();
-		return openEditorFromDescriptor(ref,desc, input, forceInternal);
-	}
-	/*
-	 * Prompt the user to save the reusable editor.
-	 * Return false if a new editor should be opened.
-	 */
-	private IEditorReference findReusableEditor(EditorDescriptor desc) {
-
-		IEditorReference editors[] = page.getSortedEditors();
-		IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();		
-		boolean reuse = store.getBoolean(IPreferenceConstants.REUSE_EDITORS_BOOLEAN);
-		if(!reuse)
-			return null;
-	
-		if (editors.length < page.getEditorReuseThreshold())
-			return null;
-
-		IEditorReference dirtyEditor = null;
-
-		//Find a editor to be reused
-		for (int i = 0; i < editors.length; i++) {
-			IEditorReference editor = editors[i];
-			//		if(editor == activePart)
-			//			continue;
-			if (editor.isPinned())
-				continue;
-			if (editor.isDirty()) {
-				if (dirtyEditor == null)  //ensure least recently used
-					dirtyEditor = editor;
-				continue;
-			}
-			return editor;
-		}
-		if (dirtyEditor == null)
-			return null;
-		
-		/*fix for 11122*/
-		boolean reuseDirty = store.getBoolean(IPreferenceConstants.REUSE_DIRTY_EDITORS);
-		if (!reuseDirty)
-			return null;
-
-		MessageDialog dialog =
-			new MessageDialog(window.getShell(), WorkbenchMessages.getString("EditorManager.reuseEditorDialogTitle"), null, // accept the default window icon //$NON-NLS-1$
-			WorkbenchMessages.format("EditorManager.saveChangesQuestion", new String[] { dirtyEditor.getName()}), //$NON-NLS-1$
-			MessageDialog.QUESTION,
-			new String[] { IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL, WorkbenchMessages.getString("EditorManager.openNewEditorLabel")}, //$NON-NLS-1$
-			0);
-		int result = dialog.open();
-		if (result == 0) { //YES
-			ProgressMonitorDialog pmd = new ProgressMonitorDialog(dialog.getShell());
-			pmd.open();
-			dirtyEditor.getEditor(true).doSave(pmd.getProgressMonitor());
-			pmd.close();
-		} else if ((result == 2) || (result == -1)){
-			return null;
-		}
-		return dirtyEditor;
-	}
-	/*
-	 * See IWorkbenchPage.
-	 */	
-	public IEditorReference openEditor(String editorId,IEditorInput input,boolean setVisible, boolean forceInternal) throws PartInitException {
-		if(editorId == null) {
-			return openEditorFromInput(new Editor(),input,setVisible, forceInternal);
-		} else {
-			IEditorRegistry reg = getEditorRegistry();
-			EditorDescriptor desc = (EditorDescriptor) reg.findEditor(editorId);
-			if (desc == null) {
-				throw new PartInitException(WorkbenchMessages.format("EditorManager.unknownEditorIDMessage", new Object[] { editorId })); //$NON-NLS-1$
-			}
-			IEditorReference result = openEditorFromDescriptor(new Editor(),desc, input, forceInternal);
-			if(input instanceof IFileEditorInput) {
-				IFile file = ((IFileEditorInput)input).getFile();
-				if(file != null) {
-					// Update the default editor for this file.
-					IEditorDescriptor defaultDesc = (EditorDescriptor)getEditorRegistry().getDefaultEditor(file.getName());
-					if (defaultDesc == null)
-						defaultDesc = (EditorDescriptor)getEditorRegistry().getDefaultEditor();
-					String editorID = desc.getId();
-					if(defaultDesc.getId().equals(editorId)) {
-						getEditorRegistry().setDefaultEditor(file, null);
-					} else {
-						getEditorRegistry().setDefaultEditor(file, editorID);
-					}
-				}
-			}
-			return result;			
-		}
-	}
-	/*
-	 * Open a new 
-	 */
-	private IEditorReference openEditorFromDescriptor(IEditorReference ref,EditorDescriptor desc, IEditorInput input, boolean forceInternal) throws PartInitException {
-		IEditorReference result = ref;
-		if (desc.isInternal()) {
-			result = reuseInternalEditor(desc, input);
-			if (result == null) {
-				result = ref;
-				openInternalEditor(ref,desc, input, true);
-			}
-		} else if (desc.isOpenInPlace()) {
-			IEditorPart cEditor = ComponentSupport.getComponentEditor();
-			if (cEditor == null) {
-				return null;
-			} else {				
-				createSite(cEditor, desc, input);
-				((Editor)ref).setPart(cEditor);
-				createEditorTab(ref, desc, input, true);
-			}
-		} else if (!forceInternal && desc.getId().equals(IWorkbenchConstants.SYSTEM_EDITOR_ID)) {
-			if (input instanceof IFileEditorInput) {
-				openSystemEditor(((IFileEditorInput) input).getFile());
-				result = null;
-			} else
-				throw new PartInitException(WorkbenchMessages.getString("EditorManager.systemEditorError")); //$NON-NLS-1$
-		} else if (!forceInternal) {
-			openExternalEditor(desc, input);
-			result = null;
-		} else { //use default text editor
-			desc = (EditorDescriptor) getEditorRegistry().getDefaultEditor();
-			result = reuseInternalEditor(desc, input);
-			if (result == null) {
-				result = ref;
-				openInternalEditor(ref,desc, input, true);
-			}
-		}
-		Workbench wb = (Workbench) window.getWorkbench();
-		wb.getEditorHistory().add(input, desc);
-		return result;
-	}
-	/**
-	 * Open an external viewer on an file.  Throw up an error dialog if
-	 * an exception occurs.
-	 */
-	private void openExternalEditor(final EditorDescriptor desc, final Object input) throws PartInitException {
-		// Convert input to file.
-		if (!(input instanceof IFileEditorInput))
-			throw new PartInitException(WorkbenchMessages.format("EditorManager.errorOpeningExternalEditor", new Object[] { desc.getFileName(), desc.getId()})); //$NON-NLS-1$
-		//$NON-NLS-1$
-
-		final IFileEditorInput fileInput = (IFileEditorInput) input;
-
-		//Must catch CoreException inside the runnable because
-		//the Runnable.run() does not throw exceptions.
-		final CoreException ex[] = new CoreException[1];
-		// Start busy indicator.
-		BusyIndicator.showWhile(getDisplay(), new Runnable() {
-			public void run() {
-				// Open an external editor.
-				try {
-					if (desc.getLauncher() != null) {
-						// Open using launcher
-						Object launcher = WorkbenchPlugin.createExtension(desc.getConfigurationElement(), "launcher"); //$NON-NLS-1$
-						 ((IEditorLauncher) launcher).open(fileInput.getFile());
-					} else {
-						// Open using command
-						ExternalEditor oEditor = new ExternalEditor(fileInput.getFile(), desc);
-						oEditor.open();
-					}
-				} catch (CoreException e) {
-					ex[0] = e;
-				}
-			}
-		});
-
-		// Test the result.
-		if (ex[0] != null) {
-			throw new PartInitException(ex[0].getMessage()); //$NON-NLS-1$
-		}
-	}
-	/*
-	 * Create the site and action bars for each inner editor.
-	 */
-	private IEditorReference[] openMultiEditor(final IEditorReference ref, final MultiEditor part, final EditorDescriptor desc, final MultiEditorInput input, final boolean setVisible)
-		throws PartInitException {
-
-		String[] editorArray = input.getEditors();
-		IEditorInput[] inputArray = input.getInput();
-		
-		//find all descriptors
-		EditorDescriptor[] descArray = new EditorDescriptor[editorArray.length];
-		IEditorReference refArray[] = new IEditorReference[editorArray.length];
-		IEditorPart partArray[] = new IEditorPart[editorArray.length];
-
-
-		IEditorRegistry reg = getEditorRegistry();		
-		for (int i = 0; i < editorArray.length; i++) {
-			EditorDescriptor innerDesc = (EditorDescriptor) reg.findEditor(editorArray[i]);
-			if (innerDesc == null)
-				throw new PartInitException(WorkbenchMessages.format("EditorManager.unknownEditorIDMessage", new Object[] { editorArray[i] })); //$NON-NLS-1$
-			descArray[i] = innerDesc;
-			partArray[i] = createPart(descArray[i]);
-			refArray[i] = new Editor();
-			createSite(partArray[i],descArray[i],inputArray[i]);
-			((Editor)refArray[i]).setPart(partArray[i]);			
-		}
-		part.setChildren(partArray);
-		return refArray;
-	}
-	/*
-	 * Opens an editor part.
-	 */
-	private void createEditorTab(final IEditorReference ref, final EditorDescriptor desc, final IEditorInput input, final boolean setVisible)
-		throws PartInitException {
-
-		//Check it there is already a tab for this ref.
-		IEditorReference refs[] = editorPresentation.getEditors();
-		for (int i = 0; i < refs.length; i++) {
-			if(ref == refs[i])
-				return;
-		}
-				
-		final PartInitException ex[] = new PartInitException[1];
-		BusyIndicator.showWhile(getDisplay(), new Runnable() {
-			public void run() {
-				try {
-					if(input != null) {
-						IEditorPart part = ref.getEditor(false);
-						if (part != null && part instanceof MultiEditor) {
-							IEditorReference refArray[] = openMultiEditor(ref, (MultiEditor)part, desc, (MultiEditorInput)input, setVisible);
-							editorPresentation.openEditor(ref,refArray,setVisible);
-							return;
-						}
-					}
-					editorPresentation.openEditor(ref, setVisible);
-				} catch (PartInitException e) {
-					ex[0] = e;
-				}
-			}
-		});
-
-		// If the opening failed for any reason throw an exception.
-		if (ex[0] != null)
-			throw ex[0];
-	}
-	/*
-	 * Create the site and initialize it with its action bars.
-	 */
-	private void createSite(final IEditorPart part, final EditorDescriptor desc, final IEditorInput input) throws PartInitException {
-		EditorSite site = new EditorSite(part, page, desc);
-		final String label = part.getTitle();
-		try {
-			UIStats.start(UIStats.INIT_PART,label);
-			part.init(site, input);
-		} finally {
-			UIStats.end(UIStats.INIT_PART,label);
-		}
-		
-		
-		if (part.getSite() != site)
-			throw new PartInitException(WorkbenchMessages.format("EditorManager.siteIncorrect", new Object[] { desc.getId()})); //$NON-NLS-1$
-
-		if (desc != null)
-			site.setActionBars(createEditorActionBars(desc));
-		else
-			site.setActionBars(createEmptyEditorActionBars());
-	}
-	/*
-	 * See IWorkbenchPage.
-	 */
-	private IEditorReference reuseInternalEditor(EditorDescriptor desc, IEditorInput input) throws PartInitException {
-		IEditorReference reusableEditorRef = findReusableEditor(desc);
-		if (reusableEditorRef != null) {
-			IEditorPart reusableEditor = reusableEditorRef.getEditor(false);
-			if(reusableEditor == null) {
-				IEditorReference result = new Editor();
-				openInternalEditor(result,desc, input, true);
-				page.closeEditor(reusableEditorRef,false);
-				return result;	
-			}
-			EditorSite site = (EditorSite) reusableEditor.getEditorSite();
-			EditorDescriptor oldDesc = site.getEditorDescriptor();
-			if (oldDesc == null)
-				oldDesc = (EditorDescriptor) getEditorRegistry().getDefaultEditor();
-			if ((desc.getId().equals(oldDesc.getId())) && (reusableEditor instanceof IReusableEditor)) {
-				Workbench wb = (Workbench) window.getWorkbench();
-				editorPresentation.moveEditor(reusableEditor, -1);
-				wb.getEditorHistory().add(reusableEditor.getEditorInput(), site.getEditorDescriptor());
-				page.reuseEditor((IReusableEditor) reusableEditor,input);
-				return reusableEditorRef;
-			} else {
-				//findReusableEditor(...) checks pinned and saves editor if necessary
-				IEditorReference ref = new Editor();
-				openInternalEditor(ref,desc, input, true);
-				reusableEditor.getEditorSite().getPage().closeEditor(reusableEditor, false);
-				return ref;
-			}
-		}
-		return null;
-	}
-	/**
-	 * Open an internal editor on an file.  Throw up an error dialog if
-	 * an exception occurs.
-	 */
-	private void openInternalEditor(IEditorReference ref,final EditorDescriptor desc, IEditorInput input, boolean setVisible) throws PartInitException {
-		// Create an editor instance.
-		final IEditorPart editor;
-		final String label = ref.getName() != null ? ref.getName() : desc.getLabel();
-		try {
-			UIStats.start(UIStats.CREATE_PART,label);
-			editor = createPart(desc);
-		} finally {
-			UIStats.end(UIStats.CREATE_PART,label);
-		}
-		// Open the instance.
-		createSite(editor, desc, input);
-		((Editor)ref).setPart(editor);
-		createEditorTab(ref, desc, input, setVisible);
-	}
-	
-	private IEditorPart createPart(final EditorDescriptor desc) throws PartInitException {
-		final IEditorPart editor[] = new IEditorPart[1];
-		final Throwable ex[] = new Throwable[1];
-		Platform.run(new SafeRunnable() {
-			public void run() throws CoreException {
-				editor[0] = (IEditorPart) WorkbenchPlugin.createExtension(desc.getConfigurationElement(), "class"); //$NON-NLS-1$
-			}
-			public void handleException(Throwable e) {
-				ex[0] = e;
-			}
-		});
-		
-		if (ex[0] != null)
-			throw new PartInitException(WorkbenchMessages.format("EditorManager.unableToInstantiate", new Object[] { desc.getId(), ex[0] })); //$NON-NLS-1$
-		return editor[0];
-	}
-	/**
-	 * Open a system editor on the input file.  Throw up an error dialog if
-	 * an error occurs.
-	 */
-	public void openSystemEditor(final IFile input) throws PartInitException {
-		// Start busy indicator.
-		final boolean result[] = {false};
-		BusyIndicator.showWhile(getDisplay(), new Runnable() {
-			public void run() {
-				// Open file using shell.
-				IPath location = input.getLocation();
-				if(location != null) {
-					String path = location.toOSString();
-					result[0] = Program.launch(path);
-				}
-			}
-		});
-
-		// ShellExecute returns whether call was successful
-		if (!result[0]) {
-			throw new PartInitException(WorkbenchMessages.format("EditorManager.unableToOpenExternalEditor", new Object[] { input.getName()})); //$NON-NLS-1$
-		}
-	}
-	
-	private ImageDescriptor findImage(EditorDescriptor desc,IFile file) {
-		ImageDescriptor iDesc;
-		if(desc != null) {
-			iDesc = desc.getImageDescriptor();
-		} else if(file != null && (testForSystemEditor(file) || ComponentSupport.testForOleEditor(file))) {
-			iDesc = PlatformUI.getWorkbench().getEditorRegistry().getImageDescriptor(file);;
-		} else {
-			// There is no registered editor.  
-			// Use the default text editor's.
-			IEditorRegistry reg = getEditorRegistry();
-			iDesc = reg.getDefaultEditor().getImageDescriptor();
-		}
-		return iDesc;
-	}
-	/**
-	 * @see IPersistablePart
-	 */
-	public IStatus restoreState(IMemento memento) {
-		// Restore the editor area workbooks layout/relationship
-		final MultiStatus result = new MultiStatus(
-			PlatformUI.PLUGIN_ID,IStatus.OK,
-			WorkbenchMessages.getString("EditorManager.problemsRestoringEditors"),null);
-		final String activeWorkbookID[] = new String[1];
-		final ArrayList visibleEditors = new ArrayList(5);
-		final IEditorPart activeEditor[] = new IEditorPart[1];
-		final ArrayList errorWorkbooks = new ArrayList(1);
-
-		IMemento areaMem = memento.getChild(IWorkbenchConstants.TAG_AREA);
-		if (areaMem != null) {
-			result.add(editorPresentation.restoreState(areaMem));
-			activeWorkbookID[0] = areaMem.getString(IWorkbenchConstants.TAG_ACTIVE_WORKBOOK);
-		}
-
-		// Loop through the editors.
-
-		IMemento[] editorMems = memento.getChildren(IWorkbenchConstants.TAG_EDITOR);
-		for (int x = 0; x < editorMems.length; x++) {
-			final IMemento editorMem = editorMems[x];
-			String strFocus = editorMem.getString(IWorkbenchConstants.TAG_FOCUS);
-			boolean visibleEditor = "true".equals(strFocus); //$NON-NLS-1$
-			if(visibleEditor) {
-				Editor e = new Editor();
-				e.setPinned("true".equals(editorMem.getString(IWorkbenchConstants.TAG_PINNED)));
-				visibleEditors.add(e);
-				page.addPart(e);
-				result.add(restoreEditor(e,editorMem));
-				IEditorPart editor = (IEditorPart)e.getPart(true);
-				if(editor != null) {
-					String strActivePart = editorMem.getString(IWorkbenchConstants.TAG_ACTIVE_PART);
-					if ("true".equals(strActivePart)) //$NON-NLS-1$
-						activeEditor[0] = editor;
-				} else {
-					page.closeEditor(e,false);
-					visibleEditors.remove(e);
-					errorWorkbooks.add(editorMem.getString(IWorkbenchConstants.TAG_WORKBOOK));
-				}
-			} else {
-				String editorTitle = editorMem.getString(IWorkbenchConstants.TAG_TITLE);
-				String editorName = editorMem.getString(IWorkbenchConstants.TAG_NAME);
-				String editorID = editorMem.getString(IWorkbenchConstants.TAG_ID);
-				boolean pinned = "true".equals(editorMem.getString(IWorkbenchConstants.TAG_PINNED));
-				IMemento inputMem = editorMem.getChild(IWorkbenchConstants.TAG_INPUT);
-				String factoryID = inputMem.getString(IWorkbenchConstants.TAG_FACTORY_ID);
-				if (factoryID == null)
-					WorkbenchPlugin.log("Unable to restore editor - no input factory ID."); //$NON-NLS-1$
-					
-				if(editorTitle == null) { //backward compatible format of workbench.xml
-					Editor e = new Editor();
-					e.setPinned("true".equals(editorMem.getString(IWorkbenchConstants.TAG_PINNED)));
-					result.add(restoreEditor(e,editorMem));
-					IEditorPart editor = (IEditorPart)e.getPart(true);
-					if(editor == null) {
-						page.closeEditor(e,false);
-						visibleEditors.remove(e);
-						errorWorkbooks.add(editorMem.getString(IWorkbenchConstants.TAG_WORKBOOK));
-					}
-					page.addPart(e);
-				} else {
-					//if the editor is not visible, ensure it is put in the correct workbook. PR 24091
-					String workbookID = editorMem.getString(IWorkbenchConstants.TAG_WORKBOOK);
-					editorPresentation.setActiveEditorWorkbookFromID(workbookID);
-					
-					// Get the editor descriptor.
-					EditorDescriptor desc = null;
-					if (editorID != null) {
-						IEditorRegistry reg = WorkbenchPlugin.getDefault().getEditorRegistry();
-						desc = (EditorDescriptor) reg.findEditor(editorID);
-					}
-					IFile file = null;
-					if(desc == null) {
-						String path = editorMem.getString(IWorkbenchConstants.TAG_PATH);	
-						IResource res = ResourcesPlugin.getWorkspace().getRoot().findMember(new Path(path));
-						if (res instanceof IFile)
-							file = (IFile)res;
-					}
-					ImageDescriptor iDesc = findImage(desc,file);
-					
-					String tooltip = editorMem.getString(IWorkbenchConstants.TAG_TOOLTIP);
-					if(tooltip == null) tooltip = "";
-										
-					Editor e = new Editor(editorID,editorMem,editorName,editorTitle,tooltip,iDesc,factoryID,pinned);
-					page.addPart(e);
-					try {
-						createEditorTab(e,null,null,false);
-					} catch (PartInitException ex) {
-						result.add(ex.getStatus());
-					}
-				}
-			}
-		}
-
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				// Update each workbook with its visible editor.
-				for (int i = 0; i < visibleEditors.size(); i++)
-					setVisibleEditor((IEditorReference) visibleEditors.get(i), false);
-				for (Iterator iter = errorWorkbooks.iterator(); iter.hasNext();) {
-					iter.next();
-					editorPresentation.setActiveEditorWorkbookFromID(activeWorkbookID[0]);
-					editorPresentation.fixVisibleEditor();
-				}
-				
-				// Update the active workbook
-				if (activeWorkbookID[0] != null)
-					editorPresentation.setActiveEditorWorkbookFromID(activeWorkbookID[0]);
-
-				if (activeEditor[0] != null)
-					page.activate(activeEditor[0]);
-			}
-			public void handleException(Throwable e) {
-				//The exception is already logged.
-				result.add(new Status(
-					IStatus.ERROR,PlatformUI.PLUGIN_ID,0,
-					WorkbenchMessages.getString("EditorManager.exceptionRestoringEditor"),e));
-			}
-		});
-		return result;
-	}
-	public IStatus restoreEditor(final Editor ref,final IMemento editorMem) {
-		final IStatus result[] = new IStatus[1];
-		BusyIndicator.showWhile(
-			Display.getCurrent(),
-			new Runnable() {
-				public void run() {
-					result[0] = busyRestoreEditor(ref,editorMem);
-				}
-			});
-		return result[0];
-	}
-	public IStatus busyRestoreEditor(final Editor ref,final IMemento editorMem) {
-		final IStatus result[] = new IStatus[1];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				// Get the input factory.
-				IMemento inputMem = editorMem.getChild(IWorkbenchConstants.TAG_INPUT);
-				String factoryID = inputMem.getString(IWorkbenchConstants.TAG_FACTORY_ID);
-				if (factoryID == null) {
-					WorkbenchPlugin.log("Unable to restore editor - no input factory ID."); //$NON-NLS-1$
-					result[0] = unableToCreateEditor(editorMem,null);
-					return;
-				}
-				IAdaptable input;
-				String label = ref.getName() != null ? ref.getName() : factoryID;
-				try {
-					UIStats.start(UIStats.CREATE_PART_INPUT,label);
-					IElementFactory factory = WorkbenchPlugin.getDefault().getElementFactory(factoryID);
-					if (factory == null) {
-						WorkbenchPlugin.log("Unable to restore editor - cannot instantiate input element factory: " + factoryID); //$NON-NLS-1$
-						result[0] = unableToCreateEditor(editorMem,null);
-						return;
-					}
-	
-					// Get the input element.
-					input = factory.createElement(inputMem);
-					if (input == null) {
-						WorkbenchPlugin.log("Unable to restore editor - createElement returned null for input element factory: " + factoryID); //$NON-NLS-1$
-						result[0] = unableToCreateEditor(editorMem,null);
-						return;
-					}
-				} finally {
-					UIStats.end(UIStats.CREATE_PART_INPUT,label);
-				}
-				if (!(input instanceof IEditorInput)) {
-					WorkbenchPlugin.log("Unable to restore editor - createElement result is not an IEditorInput for input element factory: " + factoryID); //$NON-NLS-1$
-					result[0] = unableToCreateEditor(editorMem,null);
-					return;
-				}
-				IEditorInput editorInput = (IEditorInput) input;
-
-				// Get the editor descriptor.
-				String editorID = editorMem.getString(IWorkbenchConstants.TAG_ID);
-				EditorDescriptor desc = null;
-				if (editorID != null) {
-					IEditorRegistry reg = WorkbenchPlugin.getDefault().getEditorRegistry();
-					desc = (EditorDescriptor) reg.findEditor(editorID);
-				}
-
-				// Open the editor.
-				try {
-					String workbookID = editorMem.getString(IWorkbenchConstants.TAG_WORKBOOK);
-					editorPresentation.setActiveEditorWorkbookFromID(workbookID);
-					if (desc == null) {
-						openEditorFromInput(ref,editorInput, false, false);
-					} else {
-						openInternalEditor(ref,desc, editorInput, false);
-					}
-					ref.getPane().createChildControl();
-					((EditorPane)ref.getPane()).getWorkbook().updateEditorTab(ref);
-				} catch (PartInitException e) {
-					WorkbenchPlugin.log("Exception creating editor: " + e.getMessage()); //$NON-NLS-1$
-					result[0] = unableToCreateEditor(editorMem,e);				
-				}
-			}
-			public void handleException(Throwable e) {
-				result[0] = unableToCreateEditor(editorMem,e);
-			}
-		});
-		if(result[0] != null)
-			return result[0];
-		else
-			return new Status(IStatus.OK,PlatformUI.PLUGIN_ID,0,"",null);
-	}
-	/**
-	 *  Returns an error status to be displayed when unable to create an editor.
-	 */
-	private IStatus unableToCreateEditor(IMemento editorMem,Throwable t) {
-		String name = editorMem.getString(IWorkbenchConstants.TAG_NAME);
-		return new Status(
-			IStatus.ERROR,PlatformUI.PLUGIN_ID,0,
-			WorkbenchMessages.format("EditorManager.unableToCreateEditor",new String[]{name}),t);
-	}
-	/**
-	 * Runs a progress monitor operation.
-	 * Returns true if success, false if cancelled.
-	 */
-	private static boolean runProgressMonitorOperation(String opName, final IRunnableWithProgress progressOp,IWorkbenchWindow window) {
-		IRunnableContext ctx;
-		if (window instanceof ApplicationWindow) {
-			ctx = window;
-		} else {
-			ctx = new ProgressMonitorDialog(window.getShell());
-		}
-		final boolean[] wasCanceled = new boolean[1];
-		IRunnableWithProgress runnable = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-				progressOp.run(monitor);
-				wasCanceled[0] = monitor.isCanceled();
-			}
-		};
-
-		try {
-			ctx.run(false, true, runnable);
-		} catch (InvocationTargetException e) {
-			String title = WorkbenchMessages.format("EditorManager.operationFailed", new Object[] { opName }); //$NON-NLS-1$
-			Throwable targetExc = e.getTargetException();
-			WorkbenchPlugin.log(title, new Status(Status.WARNING, PlatformUI.PLUGIN_ID, 0, title, targetExc));
-			MessageDialog.openError(window.getShell(), WorkbenchMessages.getString("Error"), //$NON-NLS-1$
-			title + ':' + targetExc.getMessage());
-		} catch (InterruptedException e) {
-			// Ignore.  The user pressed cancel.
-		}
-		return !wasCanceled[0];
-	}
-	/**
-	 * Save all of the editors in the workbench.  
-	 * Return true if successful.  Return false if the
-	 * user has cancelled the command.
-	 */
-	public boolean saveAll(boolean confirm, boolean closing) {
-		// Get the list of dirty editors.  If it is
-		// empty just return.
-		List dirtyEditors = collectDirtyEditors();
-		if (dirtyEditors.size() == 0)
-			return true;
-
-		// If confirmation is required ..
-		return saveAll(dirtyEditors,confirm,window); //$NON-NLS-1$
-	}
-	
-	public static boolean saveAll(List dirtyEditors,boolean confirm,final IWorkbenchWindow window) {
-		if (confirm) {
-			// Convert the list into an element collection.
-			AdaptableList input = new AdaptableList();
-			input.add(dirtyEditors.iterator());
-		
-			ListSelectionDialog dlg =
-				new ListSelectionDialog(window.getShell(), input, new WorkbenchContentProvider(), new WorkbenchPartLabelProvider(), RESOURCES_TO_SAVE_MESSAGE);
-		
-			dlg.setInitialSelections(dirtyEditors.toArray(new Object[dirtyEditors.size()]));
-			dlg.setTitle(SAVE_RESOURCES_TITLE);
-			int result = dlg.open();
-		
-			//Just return false to prevent the operation continuing
-			if (result == IDialogConstants.CANCEL_ID)
-				return false;
-		
-			dirtyEditors = Arrays.asList(dlg.getResult());
-			if (dirtyEditors == null)
-				return false;
-		
-			// If the editor list is empty return.
-			if (dirtyEditors.size() == 0)
-				return true;
-		}
-		
-		// Create save block.
-		final List finalEditors = dirtyEditors;
-		final IWorkspaceRunnable workspaceOp = new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) {
-				monitor.beginTask("", finalEditors.size()); //$NON-NLS-1$
-				Iterator enum = finalEditors.iterator();
-				while (enum.hasNext()) {
-					IEditorPart part = (IEditorPart) enum.next();
-					part.doSave(new SubProgressMonitor(monitor, 1));
-					if (monitor.isCanceled())
-						break;
-				}
-			}
-		};
-		IRunnableWithProgress progressOp = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) {
-				try {
-					IProgressMonitor monitorWrap = new EventLoopProgressMonitor(monitor);
-					ResourcesPlugin.getWorkspace().run(workspaceOp, monitorWrap);
-				} catch (CoreException e) {
-					IStatus status = new Status(Status.WARNING, PlatformUI.PLUGIN_ID, 0, WorkbenchMessages.getString("EditorManager.saveFailed"), e); //$NON-NLS-1$
-					WorkbenchPlugin.log(WorkbenchMessages.getString("EditorManager.saveFailed"), status); //$NON-NLS-1$
-					ErrorDialog.openError(
-						window.getShell(), 
-						WorkbenchMessages.getString("Error"), //$NON-NLS-1$
-						WorkbenchMessages.format("EditorManager.saveFailedMessage", new Object[] { e.getMessage()}), //$NON-NLS-1$
-						e.getStatus());
-				}
-			}
-		};
-		
-		// Do the save.
-		return runProgressMonitorOperation(WorkbenchMessages.getString("Save_All"), progressOp,window); //$NON-NLS-1$
-	}
-	/**
-	 * Save and close an editor.
-	 * Return true if successful.  Return false if the
-	 * user has cancelled the command.
-	 */
-	public boolean saveEditor(final IEditorPart part, boolean confirm) {
-		// Short circuit.
-		if (!part.isDirty())
-			return true;
-
-		// If confirmation is required ..
-		if (confirm) {
-			String message = WorkbenchMessages.format("EditorManager.saveChangesQuestion", new Object[] { part.getTitle()}); //$NON-NLS-1$
-			// Show a dialog.
-			String[] buttons = new String[] { IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL, IDialogConstants.CANCEL_LABEL };
-				MessageDialog d = new MessageDialog(
-					window.getShell(), WorkbenchMessages.getString("Save_Resource"), //$NON-NLS-1$
-					null, message, MessageDialog.QUESTION, buttons, 0);
-			int choice = d.open();
-
-			// Branch on the user choice.
-			// The choice id is based on the order of button labels above.
-			switch (choice) {
-				case 0 : //yes
-					break;
-				case 1 : //no
-					return true;
-				default :
-				case 2 : //cancel
-					return false;
-			}
-		}
-
-		// Create save block.
-		IRunnableWithProgress progressOp = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) {
-				IProgressMonitor monitorWrap = new EventLoopProgressMonitor(monitor);
-				part.doSave(monitorWrap);
-			}
-		};
-
-		// Do the save.
-		return runProgressMonitorOperation(WorkbenchMessages.getString("Save"), progressOp,window); //$NON-NLS-1$
-	}
-	/**
-	 * @see IPersistablePart
-	 */
-	public IStatus saveState(final IMemento memento) {
-
-		final MultiStatus result = new MultiStatus(
-			PlatformUI.PLUGIN_ID,IStatus.OK,
-			WorkbenchMessages.getString("EditorManager.problemsSavingEditors"),null);
-
-		// Save the editor area workbooks layout/relationship
-		IMemento editorAreaMem = memento.createChild(IWorkbenchConstants.TAG_AREA);
-		result.add(editorPresentation.saveState(editorAreaMem));
-
-		// Save the active workbook id
-		editorAreaMem.putString(IWorkbenchConstants.TAG_ACTIVE_WORKBOOK, editorPresentation.getActiveEditorWorkbookID());
-
-		// Get each workbook
-		ArrayList workbooks = editorPresentation.getWorkbooks();
-		
-		for (Iterator iter = workbooks.iterator(); iter.hasNext();) {
-			EditorWorkbook workbook = (EditorWorkbook) iter.next();
-			
-			// Use the list of editors found in EditorWorkbook; fix for 24091
-			EditorPane editorPanes[] = workbook.getEditors();
-			
-			for (int i = 0; i < editorPanes.length; i++) {
-				// Save each open editor.
-				IEditorReference editorReference = editorPanes[i].getEditorReference();
-				final IEditorPart editor = editorReference.getEditor(false);
-				if(editor == null) {
-					Editor e = (Editor)editorReference;
-					if(e.getMemento() != null) {
-						IMemento editorMem = memento.createChild(IWorkbenchConstants.TAG_EDITOR);
-						editorMem.putMemento(e.getMemento());
-					}
-					continue;
-				}
-				final EditorSite site = (EditorSite)editor.getEditorSite();
-				if(site.getPane() instanceof MultiEditorInnerPane)
-					continue;
-					
-				Platform.run(new SafeRunnable() {
-					public void run() {
-						// Get the input.
-						IEditorInput input = editor.getEditorInput();
-						IPersistableElement persistable = input.getPersistable();
-						if (persistable == null)
-							return;
-	
-						// Save editor.
-						IMemento editorMem = memento.createChild(IWorkbenchConstants.TAG_EDITOR);
-						editorMem.putString(IWorkbenchConstants.TAG_TITLE,editor.getTitle());
-						editorMem.putString(IWorkbenchConstants.TAG_NAME,input.getName());
-						editorMem.putString(IWorkbenchConstants.TAG_ID, editor.getSite().getId());
-						editorMem.putString(IWorkbenchConstants.TAG_TOOLTIP, editor.getTitleToolTip()); //$NON-NLS-1$
-	
-						if(!site.getReuseEditor())
-							editorMem.putString(IWorkbenchConstants.TAG_PINNED,"true");
-	
-						EditorPane editorPane = (EditorPane) ((EditorSite) editor.getEditorSite()).getPane();
-						editorMem.putString(IWorkbenchConstants.TAG_WORKBOOK, editorPane.getWorkbook().getID());
-	
-						if (editor == page.getActivePart())
-							editorMem.putString(IWorkbenchConstants.TAG_ACTIVE_PART, "true"); //$NON-NLS-1$
-	
-						if (editorPane == editorPane.getWorkbook().getVisibleEditor())
-							editorMem.putString(IWorkbenchConstants.TAG_FOCUS, "true"); //$NON-NLS-1$
-							
-						if (input instanceof IFileEditorInput) {
-							IFile file = ((IFileEditorInput)input).getFile();
-							editorMem.putString(IWorkbenchConstants.TAG_PATH,file.getFullPath().toString());
-						}
-				
-						// Save input.
-						IMemento inputMem = editorMem.createChild(IWorkbenchConstants.TAG_INPUT);
-						inputMem.putString(IWorkbenchConstants.TAG_FACTORY_ID, persistable.getFactoryId());
-						persistable.saveState(inputMem);
-					}
-					public void handleException(Throwable e) {
-						result.add(new Status(
-							IStatus.ERROR,PlatformUI.PLUGIN_ID,0,
-							WorkbenchMessages.format("EditorManager.unableToSaveEditor",new String[]{editor.getTitle()}),
-							e));
-					}
-				});
-			}
-		}
-		return result;
-	}
-	/**
-	 * Shows an editor.  If <code>setFocus == true</code> then
-	 * give it focus, too.
-	 *
-	 * @return true if the active editor was changed, false if not.
-	 */
-	public boolean setVisibleEditor(IEditorReference newEd, boolean setFocus) {
-		return editorPresentation.setVisibleEditor(newEd, setFocus);
-	}
-	/**
-	 * Answer true if a system editor exists for the input file.
-	 * @see openSystemEditor.
-	 */
-	private boolean testForSystemEditor(IFile input) {
-		String strName = input.getName();
-		int nDot = strName.lastIndexOf('.');
-		if (nDot >= 0) {
-			strName = strName.substring(nDot);
-			return Program.findProgram(strName) != null;
-		}
-		return false;
-	}
-	
-	private class Editor extends WorkbenchPartReference implements IEditorReference {
-
-		private IMemento editorMemento;
-		private String name;
-		private String factoryId;
-		private boolean pinned = false;
-		
-		Editor(String id,IMemento memento,String name,String title,String tooltip,ImageDescriptor desc,String factoryId,boolean pinned) {
-			init(id,title,tooltip,desc);
-			this.editorMemento = memento;
-			this.name = name;
-			this.factoryId = factoryId;
-			this.pinned = pinned;			
-			//make it backward compatible.
-			if(this.name == null)
-				this.name = title;
-		}
-		Editor() {
-		}
-
-		public String getFactoryId() {
-			IEditorPart part = getEditor(false);
-			if(part != null) {
-				IPersistableElement persistable = part.getEditorInput().getPersistable();
-				if(persistable != null)
-					return persistable.getFactoryId();
-				return null;
-			}
-			return factoryId;
-		}
-		public String getName() {
-			if(part != null)
-				return getEditor(false).getEditorInput().getName();
-			return name;
-		}
-		public String getRegisteredName() {
-			if(part != null)
-				return part.getSite().getRegisteredName();
-			return getName();
-		}
-		public IWorkbenchPart getPart(boolean restore) {
-			return getEditor(restore);
-		}
-		public IEditorPart getEditor(boolean restore) {
-			if(part != null)
-				return (IEditorPart)part;
-			if(!restore || editorMemento == null)
-				return null;
-			
-			IStatus status = restoreEditor(this,editorMemento);
-			Workbench workbench = (Workbench)window.getWorkbench();
-			if(status.getSeverity() == IStatus.ERROR) {
-				editorMemento = null;
-				page.closeEditor(this,false);
-				if(!workbench.isStarting()) {
-					ErrorDialog.openError(
-						window.getShell(),
-						WorkbenchMessages.getString("EditorManager.unableToRestoreEditorTitle"), //$NON-NLS-1$
-						WorkbenchMessages.format("EditorManager.unableToRestoreEditorMessage",new String[]{getName()}), //$NON-NLS-1$
-						status,
-						IStatus.WARNING | IStatus.ERROR);
-				} 
-			}
-			setPane(getPane());
-			releaseReferences(); 
-			return (IEditorPart)part;
-		}
-		public void releaseReferences() {
-			super.releaseReferences();
-			editorMemento = null;
-			name = null;
-			factoryId = null;
-		}
-			
-		public void setPart(IWorkbenchPart part) {
-			super.setPart(part);
-			EditorSite site = (EditorSite)part.getSite();
-			if(site != null) {
-				site.setReuseEditor(!pinned);
-			}
-		}			
-		public IMemento getMemento() {
-			return editorMemento;
-		}
-		public boolean isDirty() {
-			if(part == null)
-				return false;
-			return ((IEditorPart)part).isDirty();
-		}
-		public boolean isPinned() {
-			if(part != null)
-				return !((EditorSite)((IEditorPart)part).getEditorSite()).getReuseEditor();
-			return pinned;
-		}
-		public void setPinned(boolean pinned) {
-			this.pinned = pinned;
-		}		
-		public IWorkbenchPage getPage() {
-			return page;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorMenuManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorMenuManager.java
deleted file mode 100644
index 66c9153..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorMenuManager.java
+++ /dev/null
@@ -1,199 +0,0 @@
-package org.eclipse.ui.internal;
-
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IContributionManagerOverrides;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.SubMenuManager;
-import org.eclipse.ui.actions.RetargetAction;
-
-/**
- * An <code>EditorMenuManager</code> is used to sort the contributions
- * made by an editor so that they always appear after the action sets.  
- */
-public class EditorMenuManager extends SubMenuManager {
-	private ArrayList wrappers;
-	private boolean enabledAllowed = true;
-
-	private class Overrides implements IContributionManagerOverrides {
-		/**
-		 * Indicates that the items of this manager are allowed to enable;
-		 * <code>true</code> by default.
-		 */
-		public void updateEnabledAllowed() {
-			// update the items in the map
-			IContributionItem[] items = EditorMenuManager.super.getItems();
-			for (int i = 0; i < items.length; i++) {
-				IContributionItem item = items[i];
-				item.update(IContributionManagerOverrides.P_ENABLED);
-			}
-			// update the wrapped menus
-			if (wrappers != null) {
-				for (int i = 0; i < wrappers.size(); i++) {
-					EditorMenuManager manager = (EditorMenuManager) wrappers.get(i);
-					manager.setEnabledAllowed(enabledAllowed);
-				}
-			}
-		}
-		public Boolean getEnabled(IContributionItem item) {
-			if (((item instanceof ActionContributionItem) && (((ActionContributionItem) item).getAction() instanceof RetargetAction)) || enabledAllowed)
-				return null;
-			else
-				return Boolean.FALSE;
-		}
-		public Integer getAccelerator(IContributionItem item) {
-			if (getEnabled(item) == null)
-				return getParentMenuManager().getOverrides().getAccelerator(item);
-			else
-				// no acclerator if the item is disabled
-				return new Integer(0);
-		}
-		public String getAcceleratorText(IContributionItem item) {
-			return getParentMenuManager().getOverrides().getAcceleratorText(item);
-		}
-		public String getText(IContributionItem item) {
-			return getParentMenuManager().getOverrides().getText(item);
-		}
-	}
-	private Overrides overrides = new Overrides();
-	/**
-	 * Constructs a new editor manager.
-	 */
-	public EditorMenuManager(IMenuManager mgr) {
-		super(mgr);
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 */
-	public IContributionItem[] getItems() {
-		return getParentMenuManager().getItems();
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 */
-	public IContributionManagerOverrides getOverrides() {
-		return overrides;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 * Inserts the new item after any action set contributions which may
-	 * exist within the toolbar to ensure a consistent order for actions.
-	 */
-	public void insertAfter(String id, IContributionItem item) {
-		IContributionItem refItem = PluginActionSetBuilder.findInsertionPoint(id, null, getParentMenuManager(), false);
-		if (refItem != null) {
-			super.insertAfter(refItem.getId(), item);
-		} else {
-			WorkbenchPlugin.log("Reference item " + id + " not found for action " + item.getId()); //$NON-NLS-1$
-		}
-	}
-	/* (non-Javadoc)
-	 * Method declared on IContributionManager.
-	 * Inserts the new item after any action set contributions which may
-	 * exist within the toolbar to ensure a consistent order for actions.
-	 */
-	public void prependToGroup(String groupName, IContributionItem item) {
-		insertAfter(groupName, item);
-	}
-	/**
-	 * Sets the visibility of the manager. If the visibility is <code>true</code>
-	 * then each item within the manager appears within the parent manager.
-	 * Otherwise, the items are not visible.
-	 * <p>
-	 * If force visibility is <code>true</code>, or grayed out if force visibility is <code>false</code>
-	 * <p>
-	 * This is a workaround for the layout flashing when editors contribute
-	 * large amounts of items.</p>
-	 *
-	 * @param visible the new visibility
-	 * @param forceVisibility whether to change the visibility or just the
-	 * 		enablement state.
-	 */
-	public void setVisible(boolean visible, boolean forceVisibility) {
-		if (visible) {
-			if (forceVisibility) {
-				// Make the items visible 
-				if (!enabledAllowed)
-					setEnabledAllowed(true);
-			} else {
-				if (enabledAllowed)
-					setEnabledAllowed(false);
-			}
-			if (!isVisible())
-				setVisible(true);
-		} else {
-			if (forceVisibility)
-				// Remove the editor menu items
-				setVisible(false);
-			else
-				// Disable the editor menu items.
-				setEnabledAllowed(false);
-		}
-	}
-	/**
-	 * Sets the enablement ability of all the items contributed by the editor.
-	 *
-	 * @param enabledAllowed <code>true</code> if the items may enable
-	 * @since 2.0
-	 */
-	public void setEnabledAllowed(boolean enabledAllowed) {
-		if (this.enabledAllowed == enabledAllowed)
-			return;
-		this.enabledAllowed = enabledAllowed;
-		overrides.updateEnabledAllowed();
-	}
-	/* (non-Javadoc)
-	 * Method declared on SubMenuManager.
-	 */
-	protected SubMenuManager wrapMenu(IMenuManager menu) {
-		if (wrappers == null)
-			wrappers = new ArrayList();
-		EditorMenuManager manager = new EditorMenuManager(menu);
-		wrappers.add(manager);
-		return manager;
-	}
-
-	protected IAction[] getAllContributedActions() {
-		HashSet set = new HashSet();
-		getAllContributedActions(set);
-		return (IAction[]) set.toArray(new IAction[set.size()]);
-	}
-	protected void getAllContributedActions(HashSet set) {
-		IContributionItem[] items = super.getItems();
-		for (int i = 0; i < items.length; i++)
-			getAllContributedActions(set, items[i]);
-		if (wrappers == null)
-			return;
-		for (Iterator iter = wrappers.iterator(); iter.hasNext();) {
-			EditorMenuManager element = (EditorMenuManager) iter.next();
-			element.getAllContributedActions(set);
-		}
-	}
-	protected void getAllContributedActions(HashSet set, IContributionItem item) {
-		if (item instanceof MenuManager) {
-			IContributionItem subItems[] = ((MenuManager) item).getItems();
-			for (int j = 0; j < subItems.length; j++)
-				getAllContributedActions(set, subItems[j]);
-		} else if (item instanceof ActionContributionItem) {
-			set.add(((ActionContributionItem) item).getAction());
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorPane.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorPane.java
deleted file mode 100644
index 14951db..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorPane.java
+++ /dev/null
@@ -1,248 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.resource.JFaceColors;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.part.EditorPart;
-import org.eclipse.ui.part.WorkbenchPart;
-
-/**
- * An EditorPane is a subclass of PartPane offering extended
- * behavior for workbench editors.
- */
-public class EditorPane extends PartPane {
-	private EditorWorkbook workbook;
-	private PinEditorAction pinEditorAction;
-/**
- * Constructs an editor pane for an editor part.
- */
-public EditorPane(IEditorReference ref, WorkbenchPage page, EditorWorkbook workbook) {
-	super(ref, page);
-	this.workbook = workbook;
-}
-protected WorkbenchPart createErrorPart(WorkbenchPart oldPart) {
-	class ErrorEditorPart extends EditorPart {
-		private Text text;
-		public void doSave(IProgressMonitor monitor) {}
-		public void doSaveAs() {}
-		public void gotoMarker(IMarker marker) {}
-		public void init(IEditorSite site, IEditorInput input) {
-			setSite(site);
-			setInput(input);
-		}
-		public boolean isDirty() {return false;}
-		public boolean isSaveAsAllowed() {return false;}
-		public void createPartControl(Composite parent) {
-			text = new Text(parent,SWT.MULTI|SWT.READ_ONLY|SWT.WRAP);
-			text.setForeground(JFaceColors.getErrorText(text.getDisplay()));
-			text.setBackground(text.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
-			text.setText(WorkbenchMessages.getString("EditorPane.errorMessage")); //$NON-NLS-1$
-		}
-		public void setFocus() {
-			if (text != null) text.setFocus();
-		}
-		protected void setTitle(String title) {
-			super.setTitle(title);
-		}
-		protected void setTitleToolTip(String text) {
-			super.setTitleToolTip(text);
-		}
-	}
-	IEditorPart oldEditorPart = (IEditorPart)oldPart;
-	EditorSite oldEditorSite = (EditorSite)oldEditorPart.getEditorSite();
-	ErrorEditorPart newPart = new ErrorEditorPart();
-	newPart.setTitle(oldPart.getTitle());
-	newPart.setTitleToolTip(oldPart.getTitleToolTip());
-	oldEditorSite.setPart(newPart);
-	newPart.init(oldEditorSite, oldEditorPart.getEditorInput());
-	return newPart;
-}
-/**
- * Editor panes do not need a title bar. The editor
- * title and close icon are part of the tab containing
- * the editor. Tools and menus are added directly into
- * the workbench toolbar and menu bar.
- */
-protected void createTitleBar() {
-	// do nothing
-}
-/**
- * @see PartPane::doHide
- */
-public void doHide() {
-	getPage().closeEditor(getEditorReference(), true);
-}
-/**
- * Answer the editor part child.
- */
-public IEditorReference getEditorReference() {
-	return (IEditorReference)getPartReference();
-}
-/**
- * Answer the SWT widget style.
- */
-int getStyle() {
-	return SWT.NONE;
-}
-/**
- * Answer the editor workbook container
- */
-public EditorWorkbook getWorkbook() {
-	return workbook;
-}
-/**
- * See LayoutPart
- */
-public boolean isDragAllowed(Point p) {
-	// See also similar restrictions in addMoveItems method
-	
-	if (workbook.overImage(this, p.x))
-		return false;
-		
-	int wbCount = workbook.getEditorArea().getEditorWorkbookCount();
-	int editorCount = workbook.getItemCount();
-	if (isZoomed())
-		return editorCount > 1;
-	else
-		return editorCount > 1 || wbCount > 1;
-}
-
-/**
- * Notify the workbook page that the part pane has
- * been activated by the user.
- */
-protected void requestActivation() {
-	// By clearing the active workbook if its not the one
-	// associated with the editor, we reduce draw flicker
-	if (!workbook.isActiveWorkbook())
-		workbook.getEditorArea().setActiveWorkbook(null, false);
-		
-	super.requestActivation();
-}
-/**
- * Set the editor workbook container
- */
-public void setWorkbook(EditorWorkbook editorWorkbook) {
-	workbook = editorWorkbook;
-}
-/* (non-Javadoc)
- * Method declared on PartPane.
- */
-/* package */ void shellActivated() {
-	this.workbook.drawGradient();
-}
-
-/* (non-Javadoc)
- * Method declared on PartPane.
- */
-/* package */ void shellDeactivated() {
-	this.workbook.drawGradient();
-}
-/**
- * Indicate focus in part.
- */
-public void showFocus(boolean inFocus) {
-	if (inFocus)
-		this.workbook.becomeActiveWorkbook(true);
-	else
-		this.workbook.tabFocusHide();
-}
-/**
- * Add the Editor and Tab Group items to the Move menu.
- */
-protected void addMoveItems(Menu moveMenu) {
-	// See also similar restrictions in isDragAllowed method
-	// No need to worry about mouse cursor over image.
-	
-	int wbCount = workbook.getEditorArea().getEditorWorkbookCount();
-	int editorCount = workbook.getItemCount();
-	
-	MenuItem item = new MenuItem(moveMenu, SWT.NONE);
-	item.setText(WorkbenchMessages.getString("EditorPane.moveEditor")); //$NON-NLS-1$
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			workbook.openTracker(EditorPane.this);
-		}
-	});
-	if (isZoomed())
-		item.setEnabled(editorCount > 1);
-	else
-		item.setEnabled(editorCount > 1 || wbCount > 1);
-	
-	item = new MenuItem(moveMenu, SWT.NONE);
-	item.setText(WorkbenchMessages.getString("EditorPane.moveFolder")); //$NON-NLS-1$
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			workbook.openTracker(getWorkbook());
-		}
-	});
-	if (isZoomed())
-		item.setEnabled(false);
-	else
-		item.setEnabled(wbCount > 1);
-}
-/**
- * Set the action to pin/unpin an editor. 
- */
-protected void setPinEditorAction(PinEditorAction action) {
-	pinEditorAction = action;
-}
-/**
- * Add the pin menu item on the editor system menu
- */
-protected void addPinEditorItem(Menu parent) {
-		// add fast view item
-	if(pinEditorAction == null || !pinEditorAction.getVisible())
-		return;
-			
-	final MenuItem item = new MenuItem(parent, SWT.CHECK);
-	item.setText(WorkbenchMessages.getString("EditorPane.pinEditor")); //$NON-NLS-1$
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			if(pinEditorAction != null) {
-				pinEditorAction.setChecked(!pinEditorAction.isChecked());
-				pinEditorAction.run();
-			}
-		}
-	});
-	item.setEnabled(pinEditorAction.isEnabled());
-	item.setSelection(pinEditorAction.isChecked());
-}
-
-/**
- * Return the sashes around this part.
- */
-protected Sashes findSashes() {
-	Sashes result = new Sashes();
-	workbook.getEditorArea().findSashes(workbook,result);
-	return result;
-}
-/**
- * Update the title attributes for the pane.
- */
-public void updateTitles() {
-	workbook.updateEditorTab(getEditorReference());
-}
-/**
- * Show a title label menu for this pane.
- */
-public void showPaneMenu() {
-	workbook.showPaneMenu();
-}
-/**
- * Show the context menu for this part.
- */
-public void showViewMenu(){
-	//Do nothing. Editors do not have menus
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorPluginAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorPluginAction.java
deleted file mode 100644
index 3829c19..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorPluginAction.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.IActionDelegate;
-import org.eclipse.ui.IEditorActionDelegate;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.WorkbenchException;
-
-/**
- * Extends PartPluginAction for usage in editor parts. Objects
- * of this class are created by reading the registry (extension point "editorActions").
- */
-public final class EditorPluginAction extends PartPluginAction {
-	private IEditorPart currentEditor;
-
-	/**
-	 * This class adds the requirement that action delegates
-	 * loaded on demand implement IViewActionDelegate.
-	 * 
-	 * @deprecated
-	 */
-	public EditorPluginAction(IConfigurationElement actionElement, String runAttribute, IEditorPart part, String definitionId) {
-		this(actionElement, runAttribute, part, definitionId, IAction.AS_PUSH_BUTTON);
-	}
-
-	/**
-	 * This class adds the requirement that action delegates
-	 * loaded on demand implement IViewActionDelegate
-	 */
-	public EditorPluginAction(IConfigurationElement actionElement, String runAttribute, IEditorPart part, String definitionId, int style) {
-		super(actionElement, runAttribute, definitionId, style);
-		if (part != null)
-			editorChanged(part);
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on PluginAction.
-	 */
-	protected IActionDelegate validateDelegate(Object obj) throws WorkbenchException {
-		if (obj instanceof IEditorActionDelegate)
-			return (IEditorActionDelegate)obj;
-		else
-			throw new WorkbenchException("Action must implement IEditorActionDelegate"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on PluginAction.
-	 */
-	protected void initDelegate() {
-		super.initDelegate();
-		((IEditorActionDelegate)getDelegate()).setActiveEditor(this, currentEditor);
-	}
-
-	/**
-	 * Handles editor change by re-registering for selection
-	 * changes and updating IEditorActionDelegate.
-	 */
-	public void editorChanged(IEditorPart part) {
-		if (currentEditor != null)
-			unregisterSelectionListener(currentEditor);
-
-		currentEditor = part;
-		
-		if (getDelegate() == null && isOkToCreateDelegate())
-			createDelegate();
-		if (getDelegate() != null)
-			((IEditorActionDelegate)getDelegate()).setActiveEditor(this, part);
-
-		if (part != null)
-			registerSelectionListener(part);
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorPresentation.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorPresentation.java
deleted file mode 100644
index 56d74f0..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorPresentation.java
+++ /dev/null
@@ -1,456 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal;
-
-import java.util.*;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.ui.*;
-import org.eclipse.ui.part.MultiEditor;
-
-/**
- * EditorPresentation is a wrapper for PartTabworkbook.
- */
-public class EditorPresentation {
-	private WorkbenchPage page;
-	private ArrayList editorTable = new ArrayList(4);
-	private Map mapEditorToPane = new HashMap(11);
-	private EditorArea editorArea;
-/**
- * Creates a new EditorPresentation.
- */
-public EditorPresentation(WorkbenchPage page) {
-	IPartDropListener partDropListener = new IPartDropListener() {
-		public void dragOver(PartDropEvent e) {
-			onPartDragOver(e);
-		};
-		public void drop(PartDropEvent e){
-			onPartDrop(e);
-		};
-	};
-	
-	this.page = page;
-	this.editorArea = new EditorArea(IPageLayout.ID_EDITOR_AREA, partDropListener, page);
-}
-/**
- * Closes all of the editors.
- */
-public void closeAllEditors() {
-	editorArea.removeAllEditors();
-	ArrayList editorsToDispose = (ArrayList) editorTable.clone();
-	editorTable.clear();
-	for (int i = 0; i < editorsToDispose.size(); i++){
-		((EditorPane)editorsToDispose.get(i)).dispose();
-	}	
-}
-/**
- * Closes an editor.   
- *
- * @param part the editor to close
- */
-public void closeEditor(IEditorReference ref) {
-	EditorPane pane = (EditorPane)((WorkbenchPartReference)ref).getPane();
-	closeEditor(pane);
-}
-/**
- * Closes an editor.   
- *
- * @param part the editor to close
- */
-public void closeEditor(IEditorPart part) {
-	EditorPane pane = (EditorPane)((PartSite)part.getEditorSite()).getPane();
-	closeEditor(pane);
-}
-/**
- * Closes an editor.   
- *
- * @param part the editor to close
- */
-private void closeEditor(EditorPane pane) {
-	if (pane != null) {
-		if (!(pane instanceof MultiEditorInnerPane))
-			editorArea.removeEditor(pane);
-		editorTable.remove(pane);
-		pane.dispose();
-	}
-}
-/**
- * Deref a given part.  Deconstruct its container as required.
- * Do not remove drag listeners.
- */
-private void derefPart(LayoutPart part) {
-	// Get vital part stats before reparenting.
-	ILayoutContainer oldContainer = part.getContainer();
-	
-	// Reparent the part back to the main window
-	part.reparent(editorArea.getParent());
-	// Update container.
-	if (oldContainer == null) 
-		return;
-	oldContainer.remove(part);
-	LayoutPart[] children = oldContainer.getChildren();
-	if (children == null || children.length == 0){
-		// There are no more children in this container, so get rid of it
-		if (oldContainer instanceof LayoutPart) {
-			LayoutPart parent = (LayoutPart)oldContainer;
-			ILayoutContainer parentContainer = parent.getContainer();
-			if (parentContainer != null) {
-				parentContainer.remove(parent);
-				parent.dispose();
-			}
-		}
-	}
-}
-/**
- * Dispose of the editor presentation. 
- */
-public void dispose() {
-	if (editorArea != null) {
-		editorArea.dispose();
-	}
-}
-/**
- * @see IEditorPresentation
- */
-public String getActiveEditorWorkbookID() {
-	return editorArea.getActiveWorkbookID();
-}
-/**
- * Returns an array of the open editors.
- *
- * @return an array of open editors
- */
-public IEditorReference[] getEditors() {
-	int nSize = editorTable.size();
-	IEditorReference [] retArray = new IEditorReference[nSize];
-	for (int i = 0; i < retArray.length; i++){
-		retArray[i] = ((EditorPane)editorTable.get(i)).getEditorReference();
-	}
-	return retArray;
-}
-/**
- * Returns the editor area.
- */
-public LayoutPart getLayoutPart() {
-	return editorArea;
-}
-/**
- * Returns the active editor in this perspective.  If the editors appear
- * in a workbook this will be the visible editor.  If the editors are
- * scattered around the workbench this will be the most recent editor
- * to hold focus.
- *
- * @return the active editor, or <code>null</code> if no editor is active
- */
-public IEditorReference getVisibleEditor() {
-	EditorWorkbook activeWorkbook = editorArea.getActiveWorkbook();
-	EditorPane pane = activeWorkbook.getVisibleEditor();
-	if (pane != null) {
-		IEditorReference result = pane.getEditorReference();
-		IEditorPart editorPart = (IEditorPart)result.getPart(false);
-		if((editorPart != null) && (editorPart instanceof MultiEditor)) {
-			editorPart = ((MultiEditor)editorPart).getActiveEditor();
-			EditorSite site = (EditorSite)editorPart.getSite();
-			result = (IEditorReference)site.getPane().getPartReference();
-		}
-		return result;
-	}
-	return null;
-}
-/**
- * The active editor has failed to be restored. Find another editor, restore it
- * and make it visible.
- */
-public void fixVisibleEditor() {
-	EditorWorkbook activeWorkbook = editorArea.getActiveWorkbook();
-	EditorPane pane = activeWorkbook.getVisibleEditor();
-	if(pane == null) {
-		LayoutPart editors[] = activeWorkbook.getChildren();
-		if(editors.length > 0)
-			pane = (EditorPane)editors[0];
-	}
-	if(pane != null) {
-		IEditorReference result = pane.getEditorReference();
-		IEditorPart editorPart = (IEditorPart)result.getPart(true);
-		if(editorPart != null)
-			activeWorkbook.setVisibleEditor(pane);
-	}
-}
-
-public void moveEditor(IEditorPart part,int position) {
-	EditorPane pane = (EditorPane)((EditorSite)part.getSite()).getPane();
-	pane.getWorkbook().reorderTab(pane,position);
-}
-/**
- * Move a part from one position to another.
- * This implementation assumes the target is
- * an editor workbook. 
- */
-private void movePart(LayoutPart part, int position, EditorWorkbook relativePart) {
-	EditorArea sashContainer = relativePart.getEditorArea();
-	if (sashContainer == null)
-		return;
-		
-	// Remove the part from the current container.
-	derefPart(part);
-	// Add the part.
-	int relativePosition = IPageLayout.LEFT;
-	if (position == PartDragDrop.RIGHT)
-		relativePosition = IPageLayout.RIGHT;
-	else if (position == PartDragDrop.TOP)
-		relativePosition = IPageLayout.TOP;
-	else if (position == PartDragDrop.BOTTOM)
-		relativePosition = IPageLayout.BOTTOM;
-	if (part instanceof EditorWorkbook) {
-		sashContainer.add(part, relativePosition, (float) 0.5, relativePart);
-		((EditorWorkbook)part).becomeActiveWorkbook(true);
-	}
-	else {
-		EditorWorkbook newWorkbook = new EditorWorkbook(editorArea);
-		sashContainer.add(newWorkbook, relativePosition, (float) 0.5, relativePart);
-		newWorkbook.add(part);
-		newWorkbook.becomeActiveWorkbook(true);
-	}
-}
-/**
- * Notification sent during drag and drop operation.
- * Only allow editors and editor workbooks to participate
- * in the drag. Only allow the drop on an editor workbook
- * within the same editor area.
- */
-private void onPartDragOver(PartDropEvent e) {
-	// If source and target are in different windows reject.
-	if (e.dragSource != null && e.dropTarget != null) {
-		if (e.dragSource.getWorkbenchWindow() != e.dropTarget.getWorkbenchWindow()) {
-			e.relativePosition = PartDragDrop.INVALID;
-			return;
-		}
-	}	
-	
-	// can't detach editor into its own window
-	if (/*!detachable &&*/ e.relativePosition == PartDragDrop.OFFSCREEN){
-		e.relativePosition = PartDragDrop.INVALID;
-		return;
-	}
-	// can't drop unless over an editor workbook
-	if (!(e.dropTarget instanceof EditorWorkbook)) {
-		e.relativePosition = PartDragDrop.INVALID;
-		return;
-	}
-	// handle drag of an editor
-	if (e.dragSource instanceof EditorPane) {
-		EditorWorkbook sourceWorkbook = ((EditorPane)e.dragSource).getWorkbook();
-		// limitations when drop is over editor's own workbook
-		if (sourceWorkbook == e.dropTarget) {
-			// can't stack/detach/attach from same workbook when only one editor
-			if (sourceWorkbook.getItemCount() == 1) {
-				e.relativePosition = PartDragDrop.INVALID;
-				return;
-			}
-		}
-		
-		// can't drop into another editor area
-		EditorWorkbook targetWorkbook = (EditorWorkbook)e.dropTarget;
-		if (sourceWorkbook.getEditorArea() != targetWorkbook.getEditorArea()) {
-			e.relativePosition = PartDragDrop.INVALID;
-			return;
-		}
-		// all seems well
-		return;
-	}
-	// handle drag of an editor workbook
-	if (e.dragSource instanceof EditorWorkbook) {
-		// can't attach nor stack in same workbook
-		if (e.dragSource == e.dropTarget) {
-			e.relativePosition = PartDragDrop.INVALID;
-			return;
-		}
-		// can't drop into another editor area
-		EditorWorkbook sourceWorkbook = (EditorWorkbook)e.dragSource;
-		EditorWorkbook targetWorkbook = (EditorWorkbook)e.dropTarget;
-		if (sourceWorkbook.getEditorArea() != targetWorkbook.getEditorArea()) {
-			e.relativePosition = PartDragDrop.INVALID;
-			return;
-		}
-		
-		// all seems well
-		return;
-	}
-	// invalid case - do not allow a drop to happen
-	e.relativePosition = PartDragDrop.INVALID;
-}
-/**
- * Notification sent when drop happens. Only editors
- * and editor workbooks were allowed to participate.
- * Only an editor workbook in the same editor area as
- * the drag started can accept the drop.
- */
-private void onPartDrop(PartDropEvent e) {
-	switch (e.relativePosition) {
-		case PartDragDrop.OFFSCREEN:
-			// This case is not supported and should never
-			// happen. See onPartDragOver
-			//detach(e.dragSource, e.x, e.y);
-			break;
-		case PartDragDrop.CENTER:
-			if (e.dragSource instanceof EditorPane) {
-				EditorWorkbook sourceWorkbook = ((EditorPane)e.dragSource).getWorkbook();
-				if (sourceWorkbook == e.dropTarget) {
-					sourceWorkbook.reorderTab((EditorPane)e.dragSource, e.cursorX, e.cursorY);
-					break;
-				}
-			}
-			stack(e.dragSource, (EditorWorkbook)e.dropTarget);
-			break;
-		case PartDragDrop.LEFT:
-		case PartDragDrop.RIGHT:
-		case PartDragDrop.TOP:
-		case PartDragDrop.BOTTOM:
-			if (page.isZoomed())
-				page.zoomOut();
-			movePart(e.dragSource, e.relativePosition, (EditorWorkbook)e.dropTarget);
-			break;
-	}
-}
-/**
- * Opens an editor within the presentation.  
- * </p>
- * @param part the editor
- */
-public void openEditor(IEditorReference ref,IEditorReference[] innerEditors, boolean setVisible) {
-	EditorPane pane = new MultiEditorOuterPane(ref, page, editorArea.getActiveWorkbook());
-	initPane(pane,ref);
-	for (int i = 0; i < innerEditors.length; i++) {
-		EditorPane innerPane = new MultiEditorInnerPane(pane,innerEditors[i], page, editorArea.getActiveWorkbook());
-		initPane(innerPane,innerEditors[i]);
-	}
-	// Show the editor.
-	editorArea.addEditor(pane);
-	if(setVisible)
-		setVisibleEditor(ref, true);
-}
-/**
- * Opens an editor within the presentation.  
- * </p>
- * @param part the editor
- */
-public void openEditor(IEditorReference ref,boolean setVisible) {
-	
-	EditorPane pane = new EditorPane(ref, page, editorArea.getActiveWorkbook());
-	initPane(pane,ref);
-	
-	// Show the editor.
-	editorArea.addEditor(pane);
-	if(setVisible)
-		setVisibleEditor(ref, true);
-}
-private EditorPane initPane(EditorPane pane, IEditorReference ref) {
-	((WorkbenchPartReference)ref).setPane(pane);
-	// Record the new editor.
-	editorTable.add(pane);
-	return pane;
-}
-/**
- * @see IPersistablePart
- */
-public IStatus restoreState(IMemento memento) {
-	// Restore the editor area workbooks layout/relationship
-	return editorArea.restoreState(memento);
-}
-/**
- * @see IPersistablePart
- */
-public IStatus saveState(IMemento memento) {
-	// Save the editor area workbooks layout/relationship
-	return editorArea.saveState(memento);
-}
-/**
- * @see IEditorPresentation
- */
-public void setActiveEditorWorkbookFromID(String id) {
-	editorArea.setActiveWorkbookFromID(id);
-}
-/**
- * Brings an editor to the front and gives it focus.
- *
- * @param part the editor to make visible
- * @param setFocus whether to give the editor focus
- * @return true if the active editor was changed, false if not.
- */
-public boolean setVisibleEditor(IEditorReference ref, boolean setFocus) {
-	IEditorReference visibleEditor = getVisibleEditor();
-	if (ref != visibleEditor) {
-		IEditorPart part = (IEditorPart)ref.getPart(true);
-		EditorPane pane = null;
-		if(part != null)
-			pane = (EditorPane)((PartSite)part.getEditorSite()).getPane();
-		if (pane != null) {
-			if(pane instanceof MultiEditorInnerPane) {
-				EditorPane parentPane = ((MultiEditorInnerPane)pane).getParentPane();
-				EditorWorkbook activeWorkbook = parentPane.getWorkbook();
-				EditorPane activePane = activeWorkbook.getVisibleEditor();
-				if(activePane != parentPane)
-					parentPane.getWorkbook().setVisibleEditor(parentPane);
-				else
-					return false;
-			} else {
-				pane.getWorkbook().setVisibleEditor(pane);
-			}
-			if (setFocus)
-				part.setFocus();
-			return true;
-		}
-	}
-	return false;
-}
-private void stack(LayoutPart newPart, EditorWorkbook refPart) {
-	editorArea.getControl().setRedraw(false);
-	if (newPart instanceof EditorWorkbook) {
-		EditorPane visibleEditor = ((EditorWorkbook)newPart).getVisibleEditor();
-		LayoutPart[] children = ((EditorWorkbook)newPart).getChildren();
-		for (int i = 0; i < children.length; i++)
-			stackEditor((EditorPane)children[i], refPart);
-		if (visibleEditor != null) {
-			visibleEditor.setFocus();
-			refPart.becomeActiveWorkbook(true);
-			refPart.setVisibleEditor(visibleEditor);
-		}
-	}
-	else {
-		stackEditor((EditorPane)newPart, refPart);
-		newPart.setFocus();
-		refPart.becomeActiveWorkbook(true);
-		refPart.setVisibleEditor((EditorPane)newPart);
-	}
-	editorArea.getControl().setRedraw(true);
-}
-private void stackEditor(EditorPane newPart, EditorWorkbook refPart) {
-	// Remove the part from old container.
-	derefPart(newPart);
-	// Reparent part and add it to the workbook
-	newPart.reparent(refPart.getParent());
-	refPart.add(newPart);
-}
-/**
- * Method getWorkbooks.
- * @return ArrayList
- */
-public ArrayList getWorkbooks() {
-	return editorArea.getEditorWorkbooks();
-}
-/**
- * Open the list of editors
- */
-public void openEditorList() {
-		editorArea.getActiveWorkbook().openEditorList();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorSite.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorSite.java
deleted file mode 100644
index 8510f17..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorSite.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.registry.EditorDescriptor;
-
-/**
- * An editor container manages the services for an editor.
- */
-public class EditorSite extends PartSite
-	implements IEditorSite
-{
-	private EditorDescriptor desc;
-	private boolean reuseEditor = true;
-	
-/**
- * Constructs an EditorSite for an editor.  The resource editor descriptor
- * may be omitted for an OLE editor.
- */
-public EditorSite(IEditorPart editor, WorkbenchPage page, 
-	EditorDescriptor desc) 
-{
-	super(editor, page);
-	if (desc != null) {
-		this.desc = desc;
-		setConfigurationElement(desc.getConfigurationElement());
-	}
-}
-
-/**
- * Returns the editor action bar contributor for this editor.
- * <p>
- * An action contributor is responsable for the creation of actions.
- * By design, this contributor is used for one or more editors of the same type.
- * Thus, the contributor returned by this method is not owned completely
- * by the editor.  It is shared.
- * </p>
- *
- * @return the editor action bar contributor
- */
-public IEditorActionBarContributor getActionBarContributor() {
-	EditorActionBars bars = (EditorActionBars)getActionBars();
-	if (bars != null)
-		return bars.getEditorContributor();
-	else
-		return null;
-}
-/**
- * Returns the extension editor action bar contributor for this editor.
- */
-public IEditorActionBarContributor getExtensionActionBarContributor() {
-	EditorActionBars bars = (EditorActionBars)getActionBars();
-	if (bars != null)
-		return bars.getExtensionContributor();
-	else
-		return null;
-}
-/**
- * Returns the editor
- */
-public IEditorPart getEditorPart() {
-	return (IEditorPart)getPart();
-}
-
-public EditorDescriptor getEditorDescriptor() {
-	return desc;
-}
-
-public boolean getReuseEditor() {
-	return reuseEditor;
-}
-	
-public void setReuseEditor(boolean reuse) {
-	reuseEditor = reuse;
-}
-protected String getInitialScopeId() {
-	return "org.eclipse.ui.textEditorScope";
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorView.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorView.java
deleted file mode 100644
index 08e5d53..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorView.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.part.ViewPart;
-
-public class EditorView extends ViewPart {
-	private EditorList editorList;
-	
-/**
- * Constructs a new editorList view.
- */
-public EditorView() {
-}
-
-/* (non-Javadoc)
- * Method declared on IWorkbenchPart.
- */
-public void createPartControl(Composite parent) {
-	IWorkbenchWindow window = getSite().getPage().getWorkbenchWindow();
-	editorList = new EditorList(window, null);
-	editorList.createControl(parent);
-}
-
-/* (non-Javadoc)
- * Method declared on IWorkbenchPart.
- */
-public void dispose() {
-	editorList.dispose();
-	editorList = null;
-	super.dispose();
-}
-
-/**
- * @see IWorkbenchPart#setFocus()
- */
-public void setFocus() {
-	editorList.getControl().setFocus();
-}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorWorkbook.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorWorkbook.java
deleted file mode 100644
index 4465e18..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/EditorWorkbook.java
+++ /dev/null
@@ -1,1089 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-  	Cagatay Kavukcuoglu <cagatayk@acm.org> - Fix for bug 10025 - Resizing views should not use height ratios
-		
-************************************************************************/
-
-package org.eclipse.ui.internal;
-
-import java.util.*;
-import java.util.List;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-
-
-/**
- * Represents a tab folder of editors. This layout part
- * container only accepts EditorPane parts.
- */
-public class EditorWorkbook extends LayoutPart
-	implements ILayoutContainer, IPropertyListener
-{
-	private static final int INACTIVE = 0;
-	private static final int ACTIVE_FOCUS = 1;
-	private static final int ACTIVE_NOFOCUS = 2;
-
-	private static int tabLocation = -1; // Initialized in constructor.
-	
-	private int activeState = INACTIVE;
-	private boolean assignFocusOnSelection = true;
-	private boolean ignoreTabFocusHide = false;
-	private boolean handleTabSelection = true;
-	private boolean mouseDownListenerAdded = false;
-
-	private boolean isZoomed = false;
-	private Composite parent;
-	private CTabFolder tabFolder;
-	private IPropertyChangeListener tabFolderListener;
-	private EditorArea editorArea;
-	private EditorPane visibleEditor;
-	private Map mapPartToDragMonitor = new HashMap();
-
-	private Map mapTabToEditor = new HashMap();
-	private List editors = new ArrayList();
-	
-	private ToolBar pullDownBar;
-	private ToolItem pullDownButton;
-	private EditorList editorList;
-	private ViewForm listComposite;
-
-	
-/**
- * EditorWorkbook constructor comment.
- */
-public EditorWorkbook(EditorArea editorArea) {
-	super("editor workbook");//$NON-NLS-1$
-	this.editorArea = editorArea;
-	// Each workbook has a unique ID so
-	// relative positioning is unambiguous.
-	setID(this.toString());
-
-	// Get tab location preference.
-	if (tabLocation == -1)
-		tabLocation = getPreferenceStore().getInt(
-			IPreferenceConstants.EDITOR_TAB_POSITION);
-}
-/**
- * See ILayoutContainer::add
- *
- * Note: the workbook currently only accepts
- * editor parts.
- */
-public void add(LayoutPart part) {
-	if (part instanceof EditorPane) {
-		EditorPane editorPane = (EditorPane) part;
-		editors.add(editorPane);
-		editorPane.setWorkbook(this);
-		editorPane.setZoomed(isZoomed);
-		if (tabFolder != null) {
-			createTab(editorPane);
-			createPage(editorPane);
-			setVisibleEditor(editorPane);
-		}	
-	}
-}
-/**
- * See ILayoutContainer::allowBorder
- *
- * There is already a border around the tab
- * folder so no need for one from the parts.
- */
-public boolean allowsBorder() {
-	return false;
-}
-public void becomeActiveWorkbook(boolean hasFocus) {
-	EditorArea area = getEditorArea();
-	if (area != null)
-		area.setActiveWorkbook(this, hasFocus);
-}
-public void createControl(Composite parent) {
-
-	if (tabFolder != null)
-		return;
-
-	this.parent = parent;
-	tabFolder = new CTabFolder(parent, SWT.BORDER | tabLocation);
-
-	// listen for property change events on the folder
-	tabFolderListener =
-		new IPropertyChangeListener(){
-			public void propertyChange(PropertyChangeEvent event){
-				if(event.getProperty().equals(IPreferenceConstants.EDITOR_TAB_WIDTH_SCALAR)){
-					//TODO: Need API from SWT, this is a workaround
-					tabFolder.MIN_TAB_WIDTH = getPreferenceStore().getInt(IPreferenceConstants.EDITOR_TAB_WIDTH_SCALAR);
-					if (getPreferenceStore().getBoolean(IPreferenceConstants.EDITOR_LIST_PULLDOWN_ACTIVE)) {	
-						tabFolder.setTopRight(pullDownBar);
-						pullDownBar.setVisible(tabFolder.getItemCount() >= 1);
-					} else {
-						pullDownBar.setVisible(false);
-						tabFolder.setTopRight(null);
-					}
-				}
-				if(event.getProperty().equals(IPreferenceConstants.EDITOR_LIST_PULLDOWN_ACTIVE)) {
-					if (getPreferenceStore().getBoolean(IPreferenceConstants.EDITOR_LIST_PULLDOWN_ACTIVE)) {	
-							tabFolder.setTopRight(pullDownBar);
-							pullDownBar.setVisible(tabFolder.getItemCount() >= 1);
-						} else {
-							pullDownBar.setVisible(false);							
-							tabFolder.setTopRight(null);
-						}
-				}
-//				if(event.getProperty().equals(IPreferenceConstants.NUMBER_EDITOR_TABS)){
-//					//TODO: editor tabs
-//					int numberOfTabs = WorkbenchPlugin.getDefault().getPreferenceStore().getInt(IPreferenceConstants.NUMBER_EDITOR_TABS);
-//				}
-//				if(event.getProperty().equals(IPreferenceConstants.EDITOR_TABS_SPAN_MULTIPLE_LINES)){
-//					boolean spanMultiple = WorkbenchPlugin.getDefault().getPreferenceStore().getBoolean(IPreferenceConstants.EDITOR_TABS_SPAN_MULTIPLE_LINES);
-//					//TODO: editor tabs
-//				}
-			}
-		};	
-
-	IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-	store.addPropertyChangeListener(tabFolderListener);
-
-	// prevent close button and scroll buttons from taking focus
-	tabFolder.setTabList(new Control[0]);
-	
-	// redirect drop request to the workbook
-	tabFolder.setData((IPartDropTarget) this);
-
-	// listener to close the editor
-	tabFolder.addCTabFolderListener(new CTabFolderAdapter() {
-		public void itemClosed(CTabFolderEvent e) {
-			e.doit = false; // otherwise tab is auto disposed on return
-			EditorPane pane = (EditorPane) mapTabToEditor.get(e.item);
-			pane.doHide();
-		}
-	});
-
-	// listener to switch between visible tabItems
-	tabFolder.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			if (handleTabSelection) {
-				EditorPane pane = (EditorPane) mapTabToEditor.get(e.item);
-				// Pane can be null when tab is just created but not map yet.
-				if (pane != null) {
-					setVisibleEditor(pane);
-					if (assignFocusOnSelection) {
-						// If we get a tab focus hide request, it's from
-						// the previous editor in this workbook which had focus.
-						// Therefore ignore it to avoid paint flicker
-						ignoreTabFocusHide = true;
-						pane.setFocus();
-						ignoreTabFocusHide = false;
-					}
-				}
-			}
-		}
-	});
-
-	// listener to resize visible components
-	tabFolder.addListener(SWT.Resize, new Listener() {
-		public void handleEvent(Event e) {
-			setControlSize();
-		}
-	});
-
-	// listen for mouse down on tab area to set focus.
-	tabFolder.addMouseListener(new MouseAdapter() {
-		public void mouseDoubleClick(MouseEvent event) {
-			doZoom();
-		}
-
-		public void mouseDown(MouseEvent e) {
-			if (visibleEditor != null) {
-				CTabItem item = getTab(visibleEditor);
-				// ctrl-click close the editor
-				if ((e.stateMask & SWT.CTRL) != 0) {
-					EditorPane pane = (EditorPane) mapTabToEditor.get(item);
-					pane.doHide();
-					item.dispose();					
-				} else {
-					// switch to the editor
-					visibleEditor.setFocus();
-					Rectangle bounds = item.getBounds();
-					if(bounds.contains(e.x,e.y)) {
-						if (e.button == 3)
-							visibleEditor.showPaneMenu(tabFolder,new Point(e.x, e.y));
-						else if((e.button == 1) && overImage(item,e.x))
-							visibleEditor.showPaneMenu();
-					}
-				}
-			}
-		}
-	});
-
-	// register the interested mouse down listener
-	if (!mouseDownListenerAdded && getEditorArea() != null) {
-		tabFolder.addListener(SWT.MouseDown, getEditorArea().getMouseDownListener());
-		mouseDownListenerAdded = true;
-	}
-
-	// Enable drop target data
-	enableDrop(this);
-			
-	// Create the pulldown menu on the CTabFolder
-	editorList = new EditorList(getEditorArea().getWorkbenchWindow(), this);
-	pullDownBar = new ToolBar(tabFolder, SWT.FLAT);
-	pullDownButton = new ToolItem(pullDownBar, SWT.PUSH);
-	Image pullDownButtonImage = WorkbenchImages.getImage(IWorkbenchGraphicConstants.IMG_LCL_VIEW_MENU);
-	pullDownButton.setDisabledImage(pullDownButtonImage);
-	pullDownButton.setImage(pullDownButtonImage);
-	pullDownButton.setToolTipText(WorkbenchMessages.getString("Editors")); //$NON-NLS-1$
-	
-	pullDownButton.addSelectionListener(new SelectionListener() {
-		public void widgetSelected(SelectionEvent e) {
-			openEditorList(); 
-
-		}
-		public void widgetDefaultSelected(SelectionEvent e) {
-		}
-	});
-
-	// Present the editorList pull-down if requested
-	if (store.getBoolean(IPreferenceConstants.EDITOR_LIST_PULLDOWN_ACTIVE)) {
-		tabFolder.setTopRight(pullDownBar);
-		pullDownBar.setVisible(true);
-	} else {
-		pullDownBar.setVisible(false);
-		tabFolder.setTopRight(null);
-	}
-	
-	// Set the tab width
-	tabFolder.MIN_TAB_WIDTH =  store.getInt(IPreferenceConstants.EDITOR_TAB_WIDTH_SCALAR);			
-
-	// Create tabs.
-	Iterator enum = editors.iterator();
-	while (enum.hasNext()) {
-		EditorPane pane = (EditorPane) enum.next();
-		createTab(pane);
-		createPage(pane);
-	}
-
-	// Set active tab.
-	if (visibleEditor != null)
-		setVisibleEditor(visibleEditor);
-	else
-		if (getItemCount() > 0)
-			setVisibleEditor((EditorPane) editors.get(0));		
-}
-
-private void closeEditorList() {
-	editorList.destroyControl();
-}
-
-public void openEditorList() {
-	// don't think this check is necessary, need to verify
-	if (listComposite != null) {
-		return;
-	}
-	Shell parent = getEditorArea().getWorkbenchWindow().getShell();
-	
-	listComposite = new ViewForm(parent, SWT.BORDER);
-	listComposite.setVisible(false);
-	listComposite.addDisposeListener(new DisposeListener() {
-		public void widgetDisposed(DisposeEvent e) {
-			listComposite = null;
-		}
-	});
-	parent.addControlListener(new ControlAdapter() {
-		public void controlResized(ControlEvent e) {
-			if (listComposite != null) {
-				closeEditorList();
-			}
-		}
-	});
-
-	Control editorListControl = editorList.createControl(listComposite);
-	editorListControl.setVisible(false);
-	Table editorsTable = ((Table)editorListControl);
-	TableItem[] items = editorsTable.getItems();
-	if (items.length == 0) {
-		listComposite.dispose();
-		return;
-	}
-
-	listComposite.setContent(editorListControl);
-	listComposite.pack();
-
-	setEditorListBounds(parent);
-
-	listComposite.setVisible(true);
-	listComposite.moveAbove(null);
-	editorListControl.setVisible(true);
-	editorListControl.setFocus();
-	editorsTable.showSelection();
-
-	editorListControl.addListener(SWT.Deactivate, new Listener() {
-		public void handleEvent(Event event) {
-			if (listComposite != null) {
-				closeEditorList();
-			}			
-		}
-	});
-}
-
-private void setEditorListBounds(Shell parent) {
-	final int MAX_ITEMS = 20;
-	
-	Rectangle r = listComposite.getBounds();
-	
-	int width = r.width;
-	int height = Math.min(r.height, MAX_ITEMS * ((Table)editorList.getControl()).getItemHeight());
-	Rectangle bounds = tabFolder.getClientArea();
-	Point point = new Point(bounds.x + bounds.width - width, bounds.y);
-	if (tabLocation == SWT.BOTTOM) {
-		point.y = bounds.y + bounds.height - height - 1;
-	}
-	point = tabFolder.toDisplay(point);
-	point = parent.toControl(point);
-	listComposite.setBounds(listComposite.computeTrim(point.x, point.y, width, height));
-}
-
-public void resizeEditorList() {
-	Shell parent = getEditorArea().getWorkbenchWindow().getShell();
-	listComposite.pack();
-	setEditorListBounds(parent);
-}
-/**
- * Show a title label menu for this pane.
- */
-public void showPaneMenu() {
-	if (visibleEditor != null) {
-		CTabItem item = getTab(visibleEditor);
-		Rectangle bounds = item.getBounds();
-		visibleEditor.showPaneMenu(tabFolder,new Point(bounds.x,bounds.height));
-	}
-}
-/**
- * Returns true if the mouse pointer is over the
- * image of the tab's label
- */
-/*package*/ boolean overImage(EditorPane pane, int x) {
-	CTabItem item = getTab(pane);
-	return overImage(item, x);
-}
-/*
- * Return true if <code>x</code> is over the label image.
- */
-private boolean overImage(CTabItem item,int x) {
-	Rectangle imageBounds = item.getImage().getBounds();
-	return x < (item.getBounds().x + imageBounds.x + imageBounds.width);
-}		
-/**
- * Create a page and tab for an editor.
- */
-private void createPage(EditorPane editorPane) {
-	editorPane.createControl(parent);
-	editorPane.setContainer(this);
-	enableDrop(editorPane);
-	// Update tab to be in-sync after creation of
-	// pane's control since prop listener was not on
-	IEditorReference editorRef = editorPane.getEditorReference();
-	updateEditorTab(editorRef);
-	editorRef.addPropertyListener(this);
-
-	// When first editor added, also enable workbook for
-	// D&D - this avoids dragging the initial empty workbook
-	if (mapPartToDragMonitor.size() == 1)
-		enableTabDrag(this, null);
-}
-/**
- * Create a new tab for an item.
- */
-private CTabItem createTab(EditorPane editorPane) {
-	return createTab(editorPane, tabFolder.getItemCount());
-}
-/**
- * Create a new tab for an item at a particular index.
- */
-private CTabItem createTab(EditorPane editorPane, int index) {
-	CTabItem tab = new CTabItem(tabFolder, SWT.NONE, index);
-	mapTabToEditor.put(tab, editorPane);
-	enableTabDrag(editorPane, tab);
-	updateEditorTab((IEditorReference)editorPane.getPartReference());
-	if (tabFolder.getItemCount() == 1) {
-		if (tabFolder.getTopRight() != null) {
-			pullDownBar.setVisible(true);
-		}
-	}
-	return tab;
-}
-private void disableTabDrag(LayoutPart part) {
-	PartDragDrop partDragDrop = (PartDragDrop)mapPartToDragMonitor.get(part);
-	if (partDragDrop != null) {
-		partDragDrop.dispose();
-		mapPartToDragMonitor.remove(part);
-	}
-}
-
-/**
- * See LayoutPart#dispose
- */
-public void dispose() {
-	if (tabFolder == null) 
-		return;
-
-	for (int i = 0; i < editors.size(); i++)
-		removeListeners((EditorPane)editors.get(i));
-	editors.clear();
-	//Reset the visible editor so that no references are made to it.
-	setVisibleEditor(null);
-
-	// dispose of disabled images
-	for(int i = 0; i < tabFolder.getItemCount(); i++) {
-		CTabItem tab = tabFolder.getItem(i);
-		if (tab.getDisabledImage() != null)
-			tab.getDisabledImage().dispose();
-	}
-
-	tabFolder.dispose();
-	tabFolder = null;
-	mouseDownListenerAdded = false;
-
-	mapTabToEditor.clear();
-	IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-	store.removePropertyChangeListener(tabFolderListener);
-}
-/**
- * Zooms in on the active page in this workbook.
- */
-private void doZoom() {
-	if (visibleEditor == null)
-		return;
-	visibleEditor.getPage().toggleZoom(visibleEditor.getPartReference());
-}
-/**
- * Draws the applicable gradient on the active tab
- */
-/* package */ void drawGradient() {
-	if (tabFolder == null)
-		return;
-		
-	Color fgColor;
-	Color[] bgColors;
-	int[] bgPercents;
-	
-	switch (activeState) {
-		case ACTIVE_FOCUS :
-			if (getShellActivated()) {
-				fgColor = WorkbenchColors.getSystemColor(SWT.COLOR_TITLE_FOREGROUND);
-				bgColors = WorkbenchColors.getActiveEditorGradient();
-				bgPercents = WorkbenchColors.getActiveEditorGradientPercents();
-			}
-			else {
-				fgColor = WorkbenchColors.getSystemColor(SWT.COLOR_TITLE_INACTIVE_FOREGROUND);
-				bgColors = WorkbenchColors.getDeactivatedEditorGradient();
-				bgPercents = WorkbenchColors.getDeactivatedEditorGradientPercents();
-			}
-			break;
-		case ACTIVE_NOFOCUS :
-			fgColor = WorkbenchColors.getSystemColor(SWT.COLOR_LIST_FOREGROUND);
-			bgColors = WorkbenchColors.getActiveNoFocusEditorGradient();
-			bgPercents = WorkbenchColors.getActiveNoFocusEditorGradientPercents();
-			break;
-		case INACTIVE :
-		default :
-			fgColor = null;
-			bgColors = null;
-			bgPercents = null;
-			break;
-	}
-	
-	tabFolder.setSelectionForeground(fgColor);
-	tabFolder.setSelectionBackground(bgColors, bgPercents);
-	tabFolder.update();
-}
-/**
- * enableDrop
- */
-private void enableDrop(LayoutPart part) {
-	Control control = part.getControl();
-	if (control != null)
-		control.setData((IPartDropTarget)this); // Use workbook as drop target, not part itself.
-}
-private void enableTabDrag(LayoutPart part, CTabItem tab) {
-	CTabPartDragDrop dragSource = new CTabPartDragDrop(part, this.tabFolder, tab);
-	mapPartToDragMonitor.put(part, dragSource);
-	dragSource.addDropListener(getEditorArea().getPartDropListener());
-}
-/**
- * Gets the presentation bounds.
- */
-public Rectangle getBounds() {
-	if (tabFolder == null)
-		return new Rectangle(0, 0, 0, 0);
-	return tabFolder.getBounds();
-}
-
-// getMinimumHeight() added by cagatayk@acm.org 
-/**
- * @see LayoutPart#getMinimumHeight()
- */
-public int getMinimumHeight() {
-	if (tabFolder != null && !tabFolder.isDisposed() && getItemCount() > 0)
-		/* Subtract 1 for divider line, bottom border is enough
-		 * for editor tabs. 
-		 */
-		return tabFolder.computeTrim(0, 0, 0, 0).height - 1;
- 	else
- 		return super.getMinimumHeight();
-}
-
-/**
- * See ILayoutContainer::getChildren
- */
-public LayoutPart[] getChildren() {
-	int nSize = editors.size();
-	LayoutPart [] children = new LayoutPart[nSize];
-	editors.toArray(children);
-	return children;
-}
-/**
- * Get the part control.  This method may return null.
- */
-public Control getControl() {
-	return tabFolder;
-}
-/**
- * Return the editor area to which this editor
- * workbook belongs to.
- */
-public EditorArea getEditorArea() {
-	return editorArea;
-}
-/**
- * Answer the number of children.
- */
-public int getItemCount() {
-	return editors.size();
-}
-/**
- * Return the composite used to parent all
- * editors within this workbook.
- */
-public Composite getParent() {
-	return this.parent;
-}
-/**
- * Returns the tab for a part.
- */
-private CTabItem getTab(IEditorReference editorRef) {
-	Iterator tabs = mapTabToEditor.keySet().iterator();
-	PartPane pane = ((WorkbenchPartReference)editorRef).getPane();
-	while (tabs.hasNext()) {
-		CTabItem tab = (CTabItem) tabs.next();
-		PartPane p = (PartPane)mapTabToEditor.get(tab);
-		if (p != null && p == pane)
-			return tab;
-	}
-	
-	return null;
-}
-/**
- * Returns the tab for a part.
- */
-private CTabItem getTab(LayoutPart child) {
-	Iterator tabs = mapTabToEditor.keySet().iterator();
-	while (tabs.hasNext()) {
-		CTabItem tab = (CTabItem) tabs.next();
-		if (mapTabToEditor.get(tab) == child)
-			return tab;
-	}
-	
-	return null;
-}
-
-/**
- * Returns the tab list to use when this workbook is active.
- * Includes the active editor and its tab, in the appropriate order.
- */
-public Control[] getTabList() {
-	if (tabFolder == null) {
-		return new Control[0];
-	}
-	if (visibleEditor == null) {
-		return new Control[] { tabFolder };
-	}
-	if ((tabFolder.getStyle() & SWT.TOP) != 0) {
-		return new Control[] { tabFolder, visibleEditor.getControl() };
-	}
-	else {
-		return new Control[] { visibleEditor.getControl(), tabFolder };
-	}
-}
-
-/**
- * Returns the visible child.
- */
-public EditorPane getVisibleEditor() {
-	return visibleEditor;
-}
-/**
- * Returns true if this editor workbook is the
- * active one within the editor area.
- */
-public boolean isActiveWorkbook() {
-	return getEditorArea().isActiveWorkbook(this);
-}
-/**
- * See LayoutPart
- */
-public boolean isDragAllowed(Point p) {
-	if (isZoomed) {
-		return false;
-	} else if (getEditorArea().getEditorWorkbookCount() == 1) {
-		return false;
-	} else if (visibleEditor != null) {
-		if(!overImage(visibleEditor, p.x))
-			return true;
-	}
-	return false;
-}
-/**
- * Open the tracker to allow the user to move
- * the specified part using keyboard.
- */
-public void openTracker(LayoutPart part) {
-	CTabPartDragDrop dnd = (CTabPartDragDrop)mapPartToDragMonitor.get(part);
-	dnd.openTracker();
-}
-
-/**
- * Listen for notifications from the editor part
- * that its title has change or it's dirty, and
- * update the corresponding tab
- *
- * @see IPropertyListener
- */
-public void propertyChanged(Object source, int property) {
-	if (property == IEditorPart.PROP_DIRTY || property == IWorkbenchPart.PROP_TITLE) {
-		if (source instanceof IEditorPart) {
-			updateEditorTab((IEditorPart)source);
-		}
-	}
-}
-/**
- * See ILayoutContainer::remove
- *
- * Note: workbook only handles editor parts.
- */
-public void remove(LayoutPart child) {
-	// Get editor position.
-	int tabIndex = editors.indexOf(child);
-	if (tabIndex < 0)
-		return;
-
-	// Dereference the old editor.  
-	// This must be done before "show" to get accurate decorations.
-	editors.remove(child);
-	removeListeners((EditorPane)child);
-	
-	// Show new editor
-	if (visibleEditor == child) {
-		EditorPane nextEditor = null;
-		int maxIndex = editors.size() - 1;
-		if (maxIndex >= 0) {
-			tabIndex = Math.min(tabIndex, maxIndex);
-			nextEditor = (EditorPane)editors.get(tabIndex);
-		}
-		if (tabFolder != null) {
-			// Dispose old editor.
-			removeTab(getTab(child));
-			child.setContainer(null);
-			if (tabFolder.getItemCount() == 0)
-				pullDownBar.setVisible(false);			
-		}
-		setVisibleEditor(nextEditor);
-	} else if (tabFolder != null) {
-		// Dispose old editor.
-		removeTab(getTab(child));
-		child.setContainer(null);
-		if (tabFolder.getItemCount() == 0)
-			pullDownBar.setVisible(false);			
-	}
-}
-/**
- * See IVisualContainer#remove
- */
-public void removeAll() {
-	// turn off tab selection handling so as
-	// not to activate another editor when a
-	// tab is disposed. See PR 1GBXAWZ
-	handleTabSelection = false;
-	
-	// Show empty space.
-	setVisibleEditor(null);
-
-	// Dispose of all tabs.
-	if (tabFolder != null) {
-		Iterator tabs = mapTabToEditor.keySet().iterator();
-		while (tabs.hasNext()) {
-			CTabItem tab = (CTabItem) tabs.next();
-			if (tab.getDisabledImage() != null)
-				tab.getDisabledImage().dispose();
-			tab.dispose();
-			EditorPane child = (EditorPane)mapTabToEditor.get(tab);
-			removeListeners(child);
-			child.setContainer(null);
-		}
-		// disable the pulldown menu
-		pullDownBar.setVisible(false);
-	}
-
-	// Clean up
-	mapTabToEditor.clear();
-	editors.clear();
-	handleTabSelection = true;
-}
-private void removeListeners(EditorPane editor) {
-	if (editor == null)
-		return;
-
-	disableTabDrag(editor);
-
-	// When last editor removed, also disable workbook for
-	// D&D - this avoids dragging the initial empty workbook
-	if (mapPartToDragMonitor.size() == 1)
-		disableTabDrag(this);
-
-	editor.getPartReference().removePropertyListener(this);
-}
-/**
- * Remove the tab item from the tab folder
- */
-private void removeTab(CTabItem tab) {
-	if (tabFolder != null) {
-		if (tab != null) {
-			mapTabToEditor.remove(tab);
-			if (tab.getDisabledImage() != null)
-				tab.getDisabledImage().dispose();
-			// Note, that disposing of the tab causes the
-			// tab folder to select another tab and fires
-			// a selection event. In this situation, do
-			// not assign focus.
-			assignFocusOnSelection = false;
-			tab.dispose();
-			assignFocusOnSelection = true;
-		}
-	}
-}
-/**
- * Reorder the tab representing the specified pane.
- * If a tab exists under the specified x,y location,
- * then move the tab before it, otherwise place it
- * as the last tab.
- */
-public void reorderTab(EditorPane pane, int x, int y) {
-	CTabItem sourceTab = getTab(pane);
-	if (sourceTab == null)
-		return;
-
-	// adjust the y coordinate to fall within the tab area
-	Point location = new Point(1, 1);
-	if ((tabFolder.getStyle() & SWT.BOTTOM) != 0)
-		location.y = tabFolder.getSize().y - 4; // account for 3 pixel border
-
-	// adjust the x coordinate to be within the tab area
-	if (x > location.x)
-		location.x = x;
-		
-	// find the tab under the adjusted location.
-	CTabItem targetTab = tabFolder.getItem(location);
-
-	// no tab under location so move editor's tab to end
-	if (targetTab == null) {
-		// do nothing if already at the end
-		if (tabFolder.indexOf(sourceTab) != tabFolder.getItemCount() - 1)
-			reorderTab(pane, sourceTab, -1);
-		
-		return;
-	}
-
-	// do nothing if over editor's own tab
-	if (targetTab == sourceTab)
-		return;
-
-	// do nothing if already before target tab
-	int sourceIndex = tabFolder.indexOf(sourceTab);
-	int targetIndex = tabFolder.indexOf(targetTab);
-	
-	if (sourceIndex == targetIndex - 1)
-		return;
-		
-	//Source is going to be dispose so the target index will change.
-	if (sourceIndex < targetIndex)
-		targetIndex--;
-		
-	reorderTab(pane, sourceTab, targetIndex);
-}
-/**
- * Move the specified editor to the a new position. 
- * Move to the end if <code>newIndex</code> is less then
- * zero.
- */
-public void reorderTab(EditorPane pane,int newIndex) {
-	reorderTab(pane,getTab(pane),newIndex);
-}
-
-/**
- * Reorder the tab representing the specified pane.
- */
-private void reorderTab(EditorPane pane, CTabItem sourceTab, int newIndex) {
-	// remember if the source tab was the visible one
-	boolean wasVisible = (tabFolder.getSelection() == sourceTab);
-
-	// Remove old tab.
-	disableTabDrag(pane);
-	removeTab(sourceTab);
-
-	// Create the new tab at the specified index
-	CTabItem newTab;
-	if (newIndex < 0)
-		newTab = createTab(pane);
-	else
-		newTab = createTab(pane, newIndex);
-	CTabPartDragDrop partDragDrop = (CTabPartDragDrop)mapPartToDragMonitor.get(pane);
-	partDragDrop.setTab(newTab);
-
-	// update order of editors.
-	editors.remove(pane);
-	if (newIndex < 0)
-		editors.add(pane);
-	else
-		editors.add(newIndex, pane);
-
-	// update the new tab's visibility but do
-	// not set focus...caller's responsibility.
-	// Note, if the pane already had focus, it
-	// will still have it after the tab order change.
-	if (wasVisible) {
-		tabFolder.setSelection(newTab);
-		setVisibleEditor(pane);
-	}
-}
-/**
- * See ILayoutContainer::replace
- *
- * Note: this is not currently supported
- */
-public void replace(LayoutPart oldPart, LayoutPart newPart) {
-}
-/**
- * Sets the gradient state of the active tab
- */
-private void setActiveState(int state) {
-	if (activeState != state) {
-		activeState = state;
-		drawGradient();
-	}
-}
-/**
- * Sets the presentation bounds.
- */
-public void setBounds(Rectangle r) {
-	if (tabFolder != null) {
-		tabFolder.setBounds(r);
-		setControlSize();
-	}
-}
-/**
- * Sets the parent for this part.
- */
-public void setContainer(ILayoutContainer container) {
-	super.setContainer(container);
-	
-	// register the interested mouse down listener
-	if (!mouseDownListenerAdded && getEditorArea() != null && tabFolder != null) {
-		tabFolder.addListener(SWT.MouseDown, getEditorArea().getMouseDownListener());
-		mouseDownListenerAdded = true;
-	}
-}
-/**
- * Set the size of a page in the folder.
- */
-private void setControlSize() {
-	if (visibleEditor == null || tabFolder == null) 
-		return;
-	Rectangle bounds = PartTabFolder.calculatePageBounds(tabFolder);
-	visibleEditor.setBounds(bounds);
-	visibleEditor.moveAbove(tabFolder);
-}
-public void setVisibleEditor(EditorPane comp) {
-
-	if (tabFolder == null) {
-		visibleEditor = comp;
-		return;
-	}
-	
-	if(comp != null) {
-		//Make sure the EditorPart is created.
-		Object part = comp.getPartReference().getPart(true);
-		if(part == null)
-			comp = null;
-	}
-
-	// Hide old part. Be sure that it is not in the middle of closing
-	if (visibleEditor != null && visibleEditor != comp){
-		visibleEditor.setVisible(false);
-	}
-
-	// Show new part.
-	visibleEditor = comp;
-	if (visibleEditor != null) {
-		CTabItem key = getTab(visibleEditor);
-		if (key != null) {
-			int index = tabFolder.indexOf(key);
-			tabFolder.setSelection(index);
-		}
-		setControlSize();
-		if(visibleEditor != null)
-			visibleEditor.setVisible(true);
-			
-		becomeActiveWorkbook(activeState == ACTIVE_FOCUS);
-	}
-}
-public void tabFocusHide() {
-	if (tabFolder == null || ignoreTabFocusHide) 
-		return;
-
-	if (isActiveWorkbook())
-		setActiveState(ACTIVE_NOFOCUS);
-	else
-		setActiveState(INACTIVE);
-}
-public void tabFocusShow(boolean hasFocus) {
-	if (tabFolder == null) 
-		return;
-
-	if (hasFocus)
-		setActiveState(ACTIVE_FOCUS);
-	else
-		setActiveState(ACTIVE_NOFOCUS);
-}
-/**
- * @see IPartDropTarget::targetPartFor
- */
-public LayoutPart targetPartFor(LayoutPart dragSource) {
-	if (dragSource instanceof EditorPane || dragSource instanceof EditorWorkbook)
-		return this;
-	else
-		return getEditorArea();
-}
-/**
- * Update the tab for an editor.  This is typically called
- * by a site when the tab title changes.
- */
-public void updateEditorTab(IEditorPart part) {
-	PartPane pane = ((EditorSite)part.getSite()).getPane();
-	String title = part.getTitle();
-	boolean isDirty = part.isDirty();
-	Image image = part.getTitleImage();
-	String toolTip = part.getTitleToolTip();
-	updateEditorTab(pane,title,isDirty,image,toolTip);
-}
-/**
- * Update the tab for an editor.  This is typically called
- * by a site when the tab title changes.
- */
-public void updateEditorTab(IEditorReference ref) {
-	PartPane pane = ((WorkbenchPartReference)ref).getPane();
-	String title = ref.getTitle();
-	boolean isDirty = ref.isDirty();
-	Image image = ref.getTitleImage();
-	String toolTip = ref.getTitleToolTip();
-	updateEditorTab(pane,title,isDirty,image,toolTip);
-}
-/**
- * Update the tab for an editor.  This is typically called
- * by a site when the tab title changes.
- */
-public void updateEditorTab(PartPane pane,String title,boolean isDirty,Image image,String toolTip) {
-	// Get tab.
-	CTabItem tab = getTab(pane);
-	if(tab == null) return;
-	
-	// Update title.
-	if (isDirty)
-		title = "*" + title;//$NON-NLS-1$
-	tab.setText(title);
-
-	// Update the tab image
-	if (image == null || image.isDisposed()) {
-		// Normal image.
-		tab.setImage(null);
-		// Disabled image.
-		Image disableImage = tab.getDisabledImage();
-		if (disableImage != null) {
-			disableImage.dispose();
-			tab.setDisabledImage(null);
-		}
-	} else if (!image.equals(tab.getImage())) {
-		// Normal image.
-		tab.setImage(image);
-		// Disabled image.
-		Image disableImage = tab.getDisabledImage();
-		if (disableImage != null)
-			disableImage.dispose();
-		Display display = tab.getDisplay();
-		disableImage = new Image(display, image, SWT.IMAGE_DISABLE);
-		tab.setDisabledImage(disableImage);
-	}
-
-	// Tool tip.
-	tab.setToolTipText(toolTip);
-	tab.getParent().update();
-}
-/**
- * Zoom in on the active part.
- */
-public void zoomIn() {
-	if (isZoomed)
-		return;
-	isZoomed = true;
-
-	// Mark it's editors as zoom in
-	Iterator iterator = editors.iterator();
-	while (iterator.hasNext())
-		((EditorPane) iterator.next()).setZoomed(true);
-}
-/**
- * Zoom out and show all editors.
- */
-public void zoomOut() {
-	if (!isZoomed)
-		return;
-	isZoomed = false;
-	
-	// Mark it's editors as zoom out
-	Iterator iterator = editors.iterator();
-	while (iterator.hasNext())
-		((EditorPane) iterator.next()).setZoomed(false);
-}
-/**
- * Method getEditors.
- * @return EditorPane
- */
-public EditorPane [] getEditors() {
-	int nSize = editors.size();
-	EditorPane [] children = new EditorPane[nSize];
-	editors.toArray(children);
-	return children;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ExceptionHandler.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ExceptionHandler.java
deleted file mode 100644
index 4a2ecf9..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ExceptionHandler.java
+++ /dev/null
@@ -1,215 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.boot.IPlatformRunnable;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.dialogs.InternalErrorDialog;
-import org.eclipse.ui.internal.misc.Policy;
-
-/**
- * Handles exceptions or errors caught in the event loop.
- * In case of a "simpler" exception such as NPE, log the exception,
- * open a dialog to inform the user and try to keep running.
- * In case of a exception like OutOfMemory and SWTError, log the exception,
- * open a dialog to ask the user to decide with the workbench should 
- * be terminated.
- */
-class ExceptionHandler implements Window.IExceptionHandler {
-	
-	private int exceptionCount = 0; //To avoid recursive errors
-	private InternalErrorDialog dialog;
-	//Workaround. MessageDialog should accept null as parent;
-	private Shell defaultParent = new Shell();
-	private boolean closing = false;
-	private Workbench workbench;
-		
-	//Pre-load all Strings trying to run as light as possible in case of fatal errors.
-	private static String MSG_UNHANDLED_EXCEPTION = WorkbenchMessages.getString("Unhandled_exception"); //$NON-NLS-1$
-	private static String MSG_OutOfMemoryError = WorkbenchMessages.getString("FatalError_OutOfMemoryError"); //$NON-NLS-1$
-	private static String MSG_StackOverflowError = WorkbenchMessages.getString("FatalError_StackOverflowError"); //$NON-NLS-1$
-	private static String MSG_VirtualMachineError = WorkbenchMessages.getString("FatalError_VirtualMachineError"); //$NON-NLS-1$
-	private static String MSG_SWTError = WorkbenchMessages.getString("FatalError_SWTError"); //$NON-NLS-1$
-	private static String MSG_FATAL_ERROR = WorkbenchMessages.getString("FatalError"); //$NON-NLS-1$
-	private static String MSG_FATAL_ERROR_Recursive = WorkbenchMessages.getString("FatalError_RecursiveError"); //$NON-NLS-1$
-	private static String MSG_FATAL_ERROR_RecursiveTitle = WorkbenchMessages.getString("Internal_error"); //$NON-NLS-1$
-
-
-/**
- * Initializes a new ExceptionHandler with its workbench.
- */
-public ExceptionHandler(Workbench w) {
-	workbench = w;
-}
-/**
- * @See IExceptionHandler
- */
-public void handleException(Throwable t) {
-	try {
-		exceptionCount++;
-		if(exceptionCount > 2) {
-			//Avoid recursive error.
-			if(t instanceof RuntimeException)
-				throw (RuntimeException)t;
-			else
-				throw (Error)t;
-		}
-		if(t instanceof ThreadDeath) {
-			// Don't catch ThreadDeath as this is a normal occurrence when the thread dies
-			throw (ThreadDeath)t;
-		} if(exceptionCount == 2) {
-			if(closing)
-				return;
-			log(t);
-			Shell parent = defaultParent;
-			if(dialog != null && dialog.getShell() != null && !dialog.getShell().isDisposed())
-				parent = dialog.getShell();
-			MessageBox box = new MessageBox(parent,SWT.ICON_ERROR | SWT.YES | SWT.NO | SWT.SYSTEM_MODAL);
-			box.setText(MSG_FATAL_ERROR_RecursiveTitle);
-			box.setMessage(MSG_FATAL_ERROR_Recursive + MSG_FATAL_ERROR);
-			int result = box.open();
-			if(result == SWT.YES) {
-				if(!closing)
-					closeWorkbench();
-			}
-		} else {
-			log(t);
-			if(openQuestionDialog(t)) {
-				if(!closing)
-					closeWorkbench();
-			}
-		}
-	} finally {
-		exceptionCount--;
-	}
-}
-/**
- * Close the workbench and make sure all exceptions are handled.
- */
-private void closeWorkbench() {
-	try {
-		closing = true;
-		if(dialog != null && dialog.getShell() != null && !dialog.getShell().isDisposed())
-			dialog.close();
-		workbench.close(IPlatformRunnable.EXIT_OK,true);
-	} catch (RuntimeException th) {
-		/* It may not be possible to show the inform the user about this exception we may not 
-		 * have more memory or OS handles etc. */
-		System.err.println("Another fatal error happened while closing the workbench."); //$NON-NLS-1$
-		th.printStackTrace();
-		throw th;
-	} catch (Error th) {
-		/* It may not be possible to show the inform the user about this exception we may not 
-		 * have more memory or OS handles etc. */
-		System.err.println("Another fatal error happened while closing the workbench."); //$NON-NLS-1$
-		th.printStackTrace();
-		throw th;
-	}
-}
-/**
- * Log the specified exception and make sure all exceptions are handled..
- */
-private void log(Throwable t) {
-	try {
-		// For the status object, use the exception's message, or the exception name if no message.
-		String msg = t.getMessage() == null ? t.toString() : t.getMessage();
-		WorkbenchPlugin.log(MSG_UNHANDLED_EXCEPTION, new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, 0, msg, t));
-	
-		// special case for SWTException and SWTError to handle workaround for bug 6312
-		Throwable nested = null;
-		if (t instanceof SWTException)
-			nested = ((SWTException)t).throwable;
-		else if(t instanceof SWTError)
-			nested = ((SWTError)t).throwable;	
-		if (nested != null) {
-			msg = nested.getMessage() == null ? nested.toString() : nested.getMessage();
-			WorkbenchPlugin.log("\n*** Stack trace of contained exception ***", new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, 0, msg, nested)); //$NON-NLS-1$
-		}
-		if (WorkbenchPlugin.DEBUG) {
-			t.printStackTrace();
-		}
-	} catch (Throwable th) {
-		/* Probably: a log listener is crashing while we are handling exceptions.
-		We can't do much here. Core should have already logged the exception since it
-		should be the first log listener */
-		System.err.println("A fatal error happened while logging a fatal error."); //$NON-NLS-1$
-		t.printStackTrace();
-		System.err.println("New exception."); //$NON-NLS-1$
-		th.printStackTrace();
-	}
-}
-/**
- * Inform the user about a fatal error. Return true if the user decide to 
- * exit workspace or if another faltal error happens while reporting it.
- */
-private boolean openQuestionDialog(Throwable internalError) {
-	try {
-		String msg = null;
-		if(internalError instanceof OutOfMemoryError) {
-			msg = MSG_OutOfMemoryError;
-		} else if(internalError instanceof StackOverflowError) {
-			msg = MSG_StackOverflowError;
-		} else if(internalError instanceof VirtualMachineError) {
-			msg = MSG_VirtualMachineError;
-		} else if(internalError instanceof SWTError) {
-			msg = MSG_SWTError;
-		} else {
-			if (internalError.getMessage() == null) {
-				msg = WorkbenchMessages.getString("InternalErrorNoArg");  //$NON-NLS-1$
-			} else {
-				msg = WorkbenchMessages.format("InternalErrorOneArg", new Object[] {internalError.getMessage()}); //$NON-NLS-1$
-			}
-			if(Policy.DEBUG_OPEN_ERROR_DIALOG) 
-				return openQuestion(null, WorkbenchMessages.getString("Internal_error"), msg,internalError,1); //$NON-NLS-1$
-			else
-				return false;
-	    }
-	    //Allways open the dialog in case of major error but does not show the detail button
-	    //if OPEN_DIALOG is false.
-	    Throwable detail = internalError;
-	    if(!Policy.DEBUG_OPEN_ERROR_DIALOG)
-	    	detail = null;
-		return InternalErrorDialog.openQuestion(null, WorkbenchMessages.getString("Internal_error"), msg + MSG_FATAL_ERROR,detail,1); //$NON-NLS-1$
-	} catch (Throwable th) {
-		/* It may not be possible to show the inform the user about this exception we may not 
-		 * have more memory or OS handles etc. */
-		System.err.println("A fatal error happened while informing the user about a fatal error."); //$NON-NLS-1$
-		internalError.printStackTrace();
-		System.err.println("New exception."); //$NON-NLS-1$
-		th.printStackTrace();
-		return true;
-	}	
-}
-
-private boolean openQuestion(Shell parent, String title, String message, Throwable detail,int defaultIndex) {
-	String[] labels;
-	if(detail == null)
-		labels = new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL};
-    else
-		labels = new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL,IDialogConstants.SHOW_DETAILS_LABEL};
-
-	dialog = new InternalErrorDialog(
-		parent,
-		title, 
-		null,	// accept the default window icon
-		message,
-		detail,
-		InternalErrorDialog.QUESTION, 
-		labels, 
-		defaultIndex);
-		
-	if(detail != null)
-	    dialog.setDetailButton(2);
-	boolean result = dialog.open() == 0;
-	dialog = null;
-	return result;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FolderLayout.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FolderLayout.java
deleted file mode 100644
index d784a17..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FolderLayout.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.registry.IViewDescriptor;
-import org.eclipse.ui.internal.registry.IViewRegistry;
-
-/**
- * This layout is used to define the initial set of views and placeholders
- * in a folder.
- * <p>
- * Views are added to the folder by ID. This id is used to identify 
- * a view descriptor in the view registry, and this descriptor is used to 
- * instantiate the IViewPart.
- * </p>
- */
-public class FolderLayout implements IFolderLayout {
-	private ViewFactory viewFactory;
-	private PartTabFolder folder;
-	private PageLayout pageLayout;
-	
-/**
- * Create an instance of a FolderLayout belonging to an PageLayout.
- */
-public FolderLayout(PageLayout pageLayout, PartTabFolder folder, ViewFactory viewFactory) {
-	super();
-	this.folder = folder;
-	this.viewFactory = viewFactory;
-	this.pageLayout = pageLayout;
-}
-/**
- * @see IFolderLayout
- */
-public void addPlaceholder(String viewId) {
-	if (pageLayout.checkPartInLayout(viewId))
-		return;
-
-	// Get the view's label.
-	IViewRegistry reg = WorkbenchPlugin.getDefault().getViewRegistry();
-	IViewDescriptor desc = reg.find(viewId);
-	if (desc == null) {
-		// cannot safely open the dialog so log the problem
-		WorkbenchPlugin.log("Unable to find view label: " + viewId);//$NON-NLS-1$
-		return;
-	}
-
-	// Create the placeholder.
-	LayoutPart newPart = new PartPlaceholder(viewId);
-	linkPartToPageLayout(viewId, newPart);
-	
-	// Add it to the folder layout.
-	String label = desc.getLabel();
-	folder.add(label, folder.getItemCount(), newPart);
-}
-/**
- * @see IFolderLayout
- */
-public void addView(String viewId) {
-	if (pageLayout.checkPartInLayout(viewId))
-		return;
-
-	try {
-		// Create the part.
-		WorkbenchPartReference ref = (WorkbenchPartReference)viewFactory.createView(viewId);
-		ViewPane newPart = (ViewPane)ref.getPane();
-		if(newPart == null) {
-			newPart = new ViewPane((IViewReference)ref,(WorkbenchPage)ref.getPage());
-			ref.setPane(newPart);
-		}
-		linkPartToPageLayout(viewId, newPart);
-		folder.add(newPart);
-	} catch (PartInitException e) {
-		// cannot safely open the dialog so log the problem
-		WorkbenchPlugin.log(e.getMessage()) ;
-	}
-}
-/**
- * Inform the page layout of the new part created
- * and the folder the part belongs to.
- */
-private void linkPartToPageLayout(String viewId, LayoutPart newPart) {
-	pageLayout.setRefPart(viewId, newPart);
-	pageLayout.setFolderPart(viewId, folder);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IActionSetContributionItem.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IActionSetContributionItem.java
deleted file mode 100644
index 7b89e90..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IActionSetContributionItem.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-/**
- * This interface should be implemented by all contribution items
- * defined by an action set.
- */
-public interface IActionSetContributionItem {
-
-/**
- * Returns the action set id.
- */
-public String getActionSetId();
-/**
- * Sets the action set id.
- */
-public void setActionSetId(String newActionSetId);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IHelpContextIds.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IHelpContextIds.java
deleted file mode 100644
index ae6a470..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IHelpContextIds.java
+++ /dev/null
@@ -1,190 +0,0 @@
-package org.eclipse.ui.internal;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. 
-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:
-**********************************************************************/
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Help context ids for the workbench.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * 
- */
-public interface IHelpContextIds {
-	public static final String PREFIX = PlatformUI.PLUGIN_ID + "."; //$NON-NLS-1$
-	
-	// Actions
-	public static final String ADD_BOOKMARK_ACTION = PREFIX + "add_bookmark_action_context"; //$NON-NLS-1$
-	public static final String ADD_TASK_ACTION = PREFIX + "add_task_action_context"; //$NON-NLS-1$	
-	public static final String INCREMENTAL_BUILD_ACTION = PREFIX + "incremental_build_action_context"; //$NON-NLS-1$
-	public static final String FULL_BUILD_ACTION = PREFIX + "full_build_action_context"; //$NON-NLS-1$
-	public static final String CLOSE_RESOURCE_ACTION = PREFIX + "close_resource_action_context"; //$NON-NLS-1$
-	public static final String OPEN_RESOURCE_ACTION = PREFIX + "open_resource_action_context"; //$NON-NLS-1$
-	public static final String OPEN_FILE_ACTION = PREFIX + "open_file_action_context"; //$NON-NLS-1$
-	public static final String OPEN_SYSTEM_EDITOR_ACTION = PREFIX + "open_system_editor_action_context"; //$NON-NLS-1$
-	public static final String REFRESH_ACTION = PREFIX + "refresh_action_context"; //$NON-NLS-1$
-	public static final String MOVE_RESOURCE_ACTION = PREFIX + "move_resource_action_context"; //$NON-NLS-1$
-	public static final String COPY_RESOURCE_ACTION = PREFIX + "copy_resource_action_context"; //$NON-NLS-1$
-	public static final String MOVE_PROJECT_ACTION = PREFIX + "move_project_action_context"; //$NON-NLS-1$
-	public static final String COPY_PROJECT_ACTION = PREFIX + "copy_project_action_context"; //$NON-NLS-1$
-	public static final String RENAME_RESOURCE_ACTION = PREFIX + "rename_resource_action_context"; //$NON-NLS-1$
-	public static final String DELETE_RESOURCE_ACTION = PREFIX + "delete_resource_action_context"; //$NON-NLS-1$
-	public static final String PROPERTY_DIALOG_ACTION = PREFIX + "property_dialog_action_context"; //$NON-NLS-1$
-	public static final String CREATE_FOLDER_ACTION = PREFIX + "create_folder_action_context"; //$NON-NLS-1$
-	public static final String CREATE_FILE_ACTION = PREFIX + "create_file_action_context"; //$NON-NLS-1$
-	public static final String NEW_ACTION = PREFIX + "new_action_context"; //$NON-NLS-1$
-	public static final String IMPORT_ACTION = PREFIX + "import_action_context"; //$NON-NLS-1$
-	public static final String EXPORT_ACTION = PREFIX + "export_action_context"; //$NON-NLS-1$
-	public static final String SCRUB_LOCAL_ACTION = PREFIX + "scrub_local_action_context"; //$NON-NLS-1$
-	public static final String SET_PAGE_ACTION = PREFIX + "set_page_action_context"; //$NON-NLS-1$
-	public static final String SAVE_PERSPECTIVE_ACTION = PREFIX + "save_perspective_action_context"; //$NON-NLS-1$
-	public static final String SAVE_AS_ACTION = PREFIX + "save_as_action_context"; //$NON-NLS-1$
-	public static final String SAVE_ALL_ACTION = PREFIX + "save_all_action_context"; //$NON-NLS-1$
-	public static final String SAVE_ACTION = PREFIX + "save_action_context"; //$NON-NLS-1$
-	public static final String ABOUT_ACTION = PREFIX + "about_action_context"; //$NON-NLS-1$
-	public static final String CLOSE_ALL_ACTION = PREFIX + "close_all_action_context"; //$NON-NLS-1$
-	public static final String LOCK_TOOLBAR_ACTION = PREFIX + "lock_toolbar_action_context"; //$NON-NLS-1$
-	public static final String CLOSE_PAGE_ACTION = PREFIX + "close_page_action_context"; //$NON-NLS-1$
-	public static final String CLOSE_PART_ACTION = PREFIX + "close_part_action_context"; //$NON-NLS-1$
-	public static final String EDIT_ACTION_SETS_ACTION = PREFIX + "edit_action_sets_action_context"; //$NON-NLS-1$
-	public static final String EDIT_PERSPECTIVES_ACTION = PREFIX + "edit_perspectives_action_context"; //$NON-NLS-1$
-	public static final String GLOBAL_INCREMENTAL_BUILD_ACTION = PREFIX + "global_incremental_build_action_context"; //$NON-NLS-1$
-	public static final String GLOBAL_FULL_BUILD_ACTION = PREFIX + "global_full_build_action_context"; //$NON-NLS-1$
-	public static final String DELETE_RETARGET_ACTION = PREFIX + "delete_retarget_action_context"; //$NON-NLS-1$
-	public static final String CLOSE_ALL_PAGES_ACTION = PREFIX + "close_all_pages_action_context"; //$NON-NLS-1$
-	public static final String OPEN_NEW_PAGE_ACTION = PREFIX + "open_new_page_action_context"; //$NON-NLS-1$
-	public static final String OPEN_NEW_WINDOW_ACTION = PREFIX + "open_new_window_action_context"; //$NON-NLS-1$
-	public static final String OPEN_PREFERENCES_ACTION = PREFIX + "open_preferences_action_context"; //$NON-NLS-1$
-	public static final String OPEN_NEW_ACTION = PREFIX + "open_new_action_context"; //$NON-NLS-1$
-	public static final String NEXT_PAGE_ACTION = PREFIX + "next_page_action_context"; //$NON-NLS-1$
-	public static final String QUICK_START_ACTION = PREFIX + "quick_start_action_context"; //$NON-NLS-1$
-	public static final String QUIT_ACTION = PREFIX + "quit_action_context"; //$NON-NLS-1$
-	public static final String RESET_PERSPECTIVE_ACTION = PREFIX + "reset_perspective_action_context"; //$NON-NLS-1$
-	public static final String RESET_TOOLBAR_ACTION = PREFIX + "reset_toolbar_action_context";	//$NON-NLS-1$
-	public static final String TOGGLE_EDITORS_VISIBILITY_ACTION = PREFIX + "target_editors_visibility_action_context"; //$NON-NLS-1$
-	public static final String SWITCH_TO_PERSPECTIVE_ACTION = PREFIX + "switch_to_perspective_action_context"; //$NON-NLS-1$
-	public static final String SHOW_VIEW_ACTION = PREFIX + "show_view_action_context"; //$NON-NLS-1$
-	public static final String CLOSE_ALL_SAVED_ACTION = PREFIX + "close_all_saved_action_context"; //$NON-NLS-1$
-	public static final String SHOW_VIEW_MENU_ACTION = PREFIX + "show_view_menu_action_context"; //$NON-NLS-1$
-	public static final String WORKBENCH_EDITORS_ACTION = PREFIX + "workbench_editors_action_context"; //$NON-NLS-1$
-	public static final String NEW_WIZARD_SHORTCUT_ACTION = PREFIX + "new_wizard_shortcut_action_context"; //$NON-NLS-1$
-	public static final String TEXT_CUT_ACTION = PREFIX + "text_cut_action_context"; //$NON-NLS-1$
-	public static final String TEXT_COPY_ACTION = PREFIX + "text_copy_action_context"; //$NON-NLS-1$
-	public static final String TEXT_PASTE_ACTION = PREFIX + "text_paste_action_context"; //$NON-NLS-1$
-	public static final String TEXT_DELETE_ACTION = PREFIX + "text_delete_action_context"; //$NON-NLS-1$
-	public static final String TEXT_SELECT_ALL_ACTION = PREFIX + "text_select_all_action_context"; //$NON-NLS-1$
-	public static final String CELL_CUT_ACTION = PREFIX + "cell_cut_action_context"; //$NON-NLS-1$
-	public static final String CELL_COPY_ACTION = PREFIX + "cell_copy_action_context"; //$NON-NLS-1$
-	public static final String CELL_PASTE_ACTION = PREFIX + "cell_paste_action_context"; //$NON-NLS-1$
-	public static final String CELL_DELETE_ACTION = PREFIX + "cell_delete_action_context"; //$NON-NLS-1$
-	public static final String CELL_FIND_ACTION = PREFIX + "cell_find_action_context"; //$NON-NLS-1$
-	public static final String CELL_SELECT_ALL_ACTION = PREFIX + "cell_select_all_action_context"; //$NON-NLS-1$
-	public static final String CELL_UNDO_ACTION = PREFIX + "cell_undo_action_context"; //$NON-NLS-1$
-	public static final String CELL_REDO_ACTION = PREFIX + "cell_redo_action_context"; //$NON-NLS-1$
-	public static final String SHOW_PART_PANE_MENU_ACTION = PREFIX + "show_part_pane_menu_action_context"; //$NON-NLS-1$
-	public static final String CYCLE_PART_FORWARD_ACTION = PREFIX + "cycle_part_forward_action_context"; //$NON-NLS-1$
-	public static final String CYCLE_PART_BACKWARD_ACTION = PREFIX + "cycle_part_backward_action_context"; //$NON-NLS-1$
-	public static final String CYCLE_EDITOR_FORWARD_ACTION = PREFIX + "cycle_editor_forward_action_context"; //$NON-NLS-1$
-	public static final String CYCLE_EDITOR_BACKWARD_ACTION = PREFIX + "cycle_editor_backward_action_context"; //$NON-NLS-1$
-	public static final String CYCLE_PERSPECTIVE_FORWARD_ACTION = PREFIX + "cycle_perspective_forward_action_context"; //$NON-NLS-1$
-	public static final String CYCLE_PERSPECTIVE_BACKWARD_ACTION = PREFIX + "cycle_perspective_backward_action_context"; //$NON-NLS-1$
-	public static final String ACTIVATE_EDITOR_ACTION = PREFIX + "activate_editor_action_context"; //$NON-NLS-1$
-	public static final String OPEN_WORKSPACE_FILE_ACTION = PREFIX + "open_workspace_file_action_context"; //$NON-NLS-1$
-	public static final String SELECT_WORKING_SET_ACTION = PREFIX + "select_working_set_action_context"; //$NON-NLS-1$
-	public static final String CLEAR_WORKING_SET_ACTION = PREFIX + "clear_working_set_action_context"; //$NON-NLS-1$
-	public static final String EDIT_WORKING_SET_ACTION = PREFIX + "edit_working_set_action_context"; //$NON-NLS-1$
-	public static final String SHOW_IN_ACTION = PREFIX + "show_in_action_context"; //$NON-NLS-1$
-		
-	// Dialogs
-	public static final String ABOUT_DIALOG = PREFIX + "about_dialog_context"; //$NON-NLS-1$
-	public static final String ABOUT_PLUGINS_DIALOG = PREFIX + "about_plugins_dialog_context"; //$NON-NLS-1$
-	public static final String ABOUT_FEATURES_DIALOG = PREFIX + "about_features_dialog_context"; //$NON-NLS-1$
-	public static final String ACTION_SET_SELECTION_DIALOG = PREFIX + "action_set_selection_dialog_context"; //$NON-NLS-1$
-	public static final String EDITOR_SELECTION_DIALOG = PREFIX + "editor_selection_dialog_context"; //$NON-NLS-1$
-	public static final String FILE_EXTENSION_DIALOG = PREFIX + "file_extension_dialog_context"; //$NON-NLS-1$
-	public static final String PREFERENCE_DIALOG = PREFIX + "preference_dialog_context"; //$NON-NLS-1$
-	public static final String PROPERTY_DIALOG = PREFIX + "property_dialog_context"; //$NON-NLS-1$
-	public static final String SAVE_PERSPECTIVE_DIALOG = PREFIX + "save_perspective_dialog_context"; //$NON-NLS-1$
-	public static final String SELECT_PERSPECTIVE_DIALOG = PREFIX + "select_perspective_dialog_context"; //$NON-NLS-1$
-	public static final String PROJECT_LOCATION_SELECTION_DIALOG = PREFIX + "project_location_selection_dialog_context"; //$NON-NLS-1$
-	public static final String SHOW_VIEW_DIALOG = PREFIX + "show_view_dialog_context"; //$NON-NLS-1$
-	public static final String SHOW_PROJECT_PERSPECTIVE_DIALOG = PREFIX + "show_project_perspective_dialog_context"; //$NON-NLS-1$
-	public static final String SAVE_AS_DIALOG = PREFIX + "save_as_dialog_context"; //$NON-NLS-1$
-	public static final String TYPE_FILTERING_DIALOG = PREFIX + "type_filtering_dialog_context"; //$NON-NLS-1$
-	public static final String CONTAINER_SELECTION_DIALOG = PREFIX + "container_selection_dialog_context"; //$NON-NLS-1$
-	public static final String FILE_SELECTION_DIALOG = PREFIX + "file_selection_dialog_context"; //$NON-NLS-1$
-	public static final String LIST_SELECTION_DIALOG = PREFIX + "list_selection_dialog_context"; //$NON-NLS-1$
-	public static final String YES_NO_CANCEL_LIST_SELECTION_DIALOG = PREFIX + "yes_no_cancel_list_selection_dialog_context"; //$NON-NLS-1$
-	public static final String RESOURCE_SELECTION_DIALOG = PREFIX + "resource_selection_dialog_context"; //$NON-NLS-1$
-	public static final String GOTO_LINE_DIALOG = PREFIX + "goto_line_dialog_context"; //$NON-NLS-1$	
-	public static final String WORKING_SET_SELECTION_DIALOG = PREFIX + "working_set_selection_dialog_context" ; //$NON-NLS-1$
-	public static final String DELETE_PROJECT_DIALOG = PREFIX + "delete_project_dialog_context"; //$NON-NLS-1$
-	public static final String FILTER_DIALOG = PREFIX + "filter_dialog_context"; //$NON-NLS-1$
-	public static final String MARKER_RESOLUTION_SELECTION_DIALOG = PREFIX + "marker_resolution_selection_dialog_context"; //$NON-NLS-1$
-	public static final String WORKBENCH_EDITORS_DIALOG = PREFIX + "workbench_editors_dialog"; //$NON-NLS-1$
-	public static final String WELCOME_PAGE_SELECTION_DIALOG = PREFIX + "welcome_page_selection_dialog"; //$NON-NLS-1$
-	public static final String OPEN_RESOURCE_DIALOG = PREFIX + "open_resource_dialog"; //$NON-NLS-1$
-	public static final String NEW_FOLDER_DIALOG = PREFIX + "new_folder_dialog"; //$NON-NLS-1$
-	public static final String PATH_VARIABLE_SELECTION_DIALOG = PREFIX + "path_variable_selection_dialog"; //$NON-NLS-1$
-		
-	// Editors
-	public static final String WELCOME_EDITOR = PREFIX + "welcome_editor_context"; //$NON-NLS-1$
-	
-	// Preference pages
-	public static final String BUILD_ORDER_PREFERENCE_PAGE = PREFIX + "build_order_preference_page_context"; //$NON-NLS-1$
-	public static final String FILE_EDITORS_PREFERENCE_PAGE = PREFIX + "file_editors_preference_page_context"; //$NON-NLS-1$
-	public static final String FILE_STATES_PREFERENCE_PAGE = PREFIX + "file_states_preference_page_context"; //$NON-NLS-1$
-	public static final String PERSPECTIVES_PREFERENCE_PAGE = PREFIX + "perspectives_preference_page_context"; //$NON-NLS-1$
-	public static final String VIEWS_PREFERENCE_PAGE = PREFIX + "views_preference_page_context"; //$NON-NLS-1$
-	public static final String COMPARE_VIEWERS_PREFERENCE_PAGE = PREFIX + "compare_viewers_preference_page_context"; //$NON-NLS-1$
-	public static final String WORKBENCH_EDITOR_PREFERENCE_PAGE = PREFIX + "workbench_editor_preference_page_context"; //$NON-NLS-1$
-	public static final String WORKBENCH_PREFERENCE_PAGE = PREFIX + "workbench_preference_page_context"; //$NON-NLS-1$
-	public static final String FONT_PREFERENCE_PAGE = PREFIX + "font_preference_page_context"; //$NON-NLS-1$
-	public static final String DECORATORS_PREFERENCE_PAGE = PREFIX + "decorators_preference_page_context"; //$NON-NLS-1$
-	public static final String STARTUP_PREFERENCE_PAGE = PREFIX + "startup_preference_page_context"; //$NON-NLS-1$
-
-	// Property pages
-	public static final String PROJECT_REFERENCE_PROPERTY_PAGE = PREFIX + "project_reference_property_page_context"; //$NON-NLS-1$
-	public static final String PROJECT_CAPABILITY_PROPERTY_PAGE = PREFIX + "project_capability_property_page_context"; //$NON-NLS-1$
-	public static final String RESOURCE_INFO_PROPERTY_PAGE = PREFIX + "resource_info_property_page_context"; //$NON-NLS-1$
-		
-	// Windows
-	public static final String DETACHED_WINDOW = PREFIX + "detached_window_context"; //$NON-NLS-1$
-	public static final String WORKBENCH_WINDOW = PREFIX + "workbench_window_context"; //$NON-NLS-1$
-
-	// Wizard pages
-	public static final String NEW_PROJECT_WIZARD_PAGE = PREFIX + "new_project_wizard_page_context"; //$NON-NLS-1$
-	public static final String NEW_PROJECT_REFERENCE_WIZARD_PAGE = PREFIX + "new_project_reference_wizard_page_context"; //$NON-NLS-1$
-	public static final String NEW_PROJECT_CAPABILITY_WIZARD_PAGE = PREFIX + "new_project_capability_wizard_page_context"; //$NON-NLS-1$
-	public static final String NEW_PROJECT_REVIEW_WIZARD_PAGE = PREFIX + "new_project_review_wizard_page_context"; //$NON-NLS-1$
-	public static final String NEW_PROJECT_CONFIGURE_WIZARD_PAGE = PREFIX + "new_project_configure_wizard_page_context"; //$NON-NLS-1$
-	public static final String NEW_FOLDER_WIZARD_PAGE = PREFIX + "new_folder_wizard_page_context"; //$NON-NLS-1$
-	public static final String NEW_FILE_WIZARD_PAGE = PREFIX + "new_file_wizard_page_context"; //$NON-NLS-1$
-	public static final String NEW_WIZARD_SELECTION_WIZARD_PAGE = PREFIX + "new_wizard_selection_wizard_page_context"; //$NON-NLS-1$
-	public static final String EXPORT_WIZARD_SELECTION_WIZARD_PAGE = PREFIX + "export_wizard_selection_wizard_page_context"; //$NON-NLS-1$
-	public static final String IMPORT_WIZARD_SELECTION_WIZARD_PAGE = PREFIX + "import_wizard_selection_wizard_page_context"; //$NON-NLS-1$
-	public static final String WORKING_SET_RESOURCE_PAGE = PREFIX + "working_set_resource_page"; //$NON-NLS-1$	
-	public static final String WORKING_SET_TYPE_PAGE = PREFIX + "working_set_type_page"; //$NON-NLS-1$	
-	public static final String NEW_LINK_WIZARD_PAGE = PREFIX + "new_link_wizard_page_context"; //$NON-NLS-1$
-	
-	// Wizards
-	public static final String NEW_WIZARD = PREFIX + "new_wizard_context"; //$NON-NLS-1$
-	public static final String NEW_WIZARD_SHORTCUT = PREFIX + "new_wizard_shortcut_context"; //$NON-NLS-1$
-	public static final String NEW_FILE_WIZARD = PREFIX + "new_file_wizard_context"; //$NON-NLS-1$
-	public static final String NEW_FOLDER_WIZARD = PREFIX + "new_folder_wizard_context"; //$NON-NLS-1$
-	public static final String NEW_PROJECT_WIZARD = PREFIX + "new_project_wizard_context"; //$NON-NLS-1$
-	public static final String IMPORT_WIZARD = PREFIX + "import_wizard_context"; //$NON-NLS-1$
-	public static final String EXPORT_WIZARD = PREFIX + "export_wizard_context"; //$NON-NLS-1$
-	public static final String UPDATE_CAPABILITY_WIZARD = PREFIX + "update_capability_wizard_context"; //$NON-NLS-1$
-	public static final String WORKING_SET_NEW_WIZARD = PREFIX + "working_set_new_wizard_context"; //$NON-NLS-1$	
-	public static final String WORKING_SET_EDIT_WIZARD = PREFIX + "working_set_edit_wizard_context"; //$NON-NLS-1$		
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IInternalPerspectiveListener.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IInternalPerspectiveListener.java
deleted file mode 100644
index edaea49..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IInternalPerspectiveListener.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.ui.*;
-
-/**
- * Interface for listening to a perspective lifecycle events.
- * <p>
- * This interface may be implemented by clients.
- * </p>
- *
- * @see IPerspectiveService
- */
-public interface IInternalPerspectiveListener extends IPerspectiveListener {
-	
-	/**
-	 * Notifies this listener that the given page's perspective
-	 * has been closed.
-	 *
-	 * @param page the page whose perspective was closed
-	 * @param perspective the descriptor of the perspective that was closed
-	 */
-	public void perspectiveClosed(IWorkbenchPage page, IPerspectiveDescriptor perspective);
-
-	/**
-	 * Notifies this listener that the given page's perspective
-	 * has been opened. The perspective is not active yet.
-	 *
-	 * @param page the page whose perspective was opened
-	 * @param perspective the descriptor of the perspective that was opened
-	 */
-	public void perspectiveOpened(IWorkbenchPage page, IPerspectiveDescriptor perspective);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ILayoutContainer.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ILayoutContainer.java
deleted file mode 100644
index fcfddd5..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ILayoutContainer.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-public interface ILayoutContainer {
-/**
- * Add a child to the container.
- */
-public void add(LayoutPart newPart);
-/**
- * Return true if the container allows its
- * parts to show a border if they choose to,
- * else false if the container does not want
- * its parts to show a border.
- */
-public boolean allowsBorder();
-/**
- * Returns a list of layout children.
- */
-public LayoutPart [] getChildren();
-/**
- * Remove a child from the container.
- */
-public void remove(LayoutPart part);
-/**
- * Replace one child with another
- */
-public void replace(LayoutPart oldPart, LayoutPart newPart);
-/**
- * Gets the parent for this container.
- */
-public ILayoutContainer getContainer();
-/**
- * Gets root container for this part.
- */
-public RootLayoutContainer getRootContainer();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IMarkerImageProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IMarkerImageProvider.java
deleted file mode 100644
index be3d211..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IMarkerImageProvider.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IMarker;
-/**
- * Clients should implement this interface when creating an
- * extension to define images for marker dynamically.
- * <p>
- * The name of the class should be specified in the extension contributed 
- * to the workbench's maker image provider extension point 
- * (named <code>"org.eclipse.ui.makerImageProvider"</code>).
- * For example, the plug-in's XML markup might contain:
- * <pre>
- * &LT;extension point="org.eclipse.ui.makerImageProvider"&GT;
- *      &LT;imageprovider 
- *		   id="com.example.myplugin.myprofiderID"
- *         makertype="com.example.myMarkerType"
- *         icon="icons/basic/view16/myGIF.gif"/&GT;
- * &LT;/extension&GT;
- * </pre>
- * It can also define the image provider using the tag <code>class</code>
- * instead of icon.
- * </p>
- * Either the image path specified by the tag <code>icon</code> or
- * the path returned from <code>getImagePath</code> will be used
- * to create the image when the following code is executed:
- * <p><code>myMarker.getAdapter(IWorkbenchAdapter).getImageDescriptor(myMarker);</code></p>
- */
-public interface IMarkerImageProvider {
-/**
- * Returns the relative path for the image
- * to be used for displaying an marker in the workbench.
- * This path is relative to the plugin location
- *
- * Returns <code>null</code> if there is no appropriate image.
- *
- * @param marker The marker to get an image path for.
- *
- * @see org.eclipse.jface.resource.FileImageDescriptor
- */
-public String getImagePath(IMarker marker);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IObjectActionContributor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IObjectActionContributor.java
deleted file mode 100644
index 26342ff..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IObjectActionContributor.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * This interface must be implemented in order to contribute
- * to context (pop-up) menu for an object. Classes
- * that implement this interface must register
- * with the popup menu manager.
- */
-public interface IObjectActionContributor extends IObjectContributor {
-/**
- * Implement this method to add actions that deal with the currently
- * selected object or objects. Actions should be added to the
- * provided menu object. Current selection can be obtained from
- * the given selection provider.
- * @return True if any contributions were made, and false otherwise.
- */
-public boolean contributeObjectActions(IWorkbenchPart part, IMenuManager menu, 
-	ISelectionProvider selProv);
-/**
- * Implement this method to add menus that deal with the currently
- * selected object or objects. Menus should be added to the
- * provided menu object. Current selection can be obtained from
- * the given selection provider.
- * @return True if any contributions were made, and false otherwise.
- */
-public boolean contributeObjectMenus(IMenuManager menu, ISelectionProvider selProv);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IObjectContributor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IObjectContributor.java
deleted file mode 100644
index 2610d6a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IObjectContributor.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * Objects of classes that implement this interface
- * can be registered for certain object type
- * in the IObjectContributorManager. Unlike with extenders,
- * all the matching contributors will be processed
- * in a sequence.
- * <p>By implementing 'isApplicableTo' method,
- * a contributor can tell the manager to skip it
- * if the object is of the desired type, but its
- * other properties do not match additional
- * requirements imposed by the contributor.
- *
- * @see IObjectContributorManager
- */
-
-public interface IObjectContributor {
-/**
- * Returns true if this contributor should be considered
- * for the given object.
- */
-public boolean isApplicableTo(Object object);
-
-/**
- * Return whether or not the receiver can adapt to IResource.
- */
-public boolean canAdapt();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IPartDropListener.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IPartDropListener.java
deleted file mode 100644
index e8cd810..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IPartDropListener.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-public interface IPartDropListener {
-public void dragOver(PartDropEvent event);
-public void drop(PartDropEvent event);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IPartDropTarget.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IPartDropTarget.java
deleted file mode 100644
index 0a139c4..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IPartDropTarget.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- 
-/**
- * Specifies the target layout part that accepts
- * the source part during drag and drop.
- *
- * @see PartDragDrop
- */
-public interface IPartDropTarget {
-/**
- * Return the layout part that would accept
- * the drag source part, or null if not applicable.
- *
- * @return org.eclipse.ui.internal.LayoutPart
- * @param dragSource org.eclipse.ui.internal.LayoutPart
- */
-LayoutPart targetPartFor(LayoutPart dragSource);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IPerspectiveService.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IPerspectiveService.java
deleted file mode 100644
index f0ec2ad..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IPerspectiveService.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- 
-import org.eclipse.ui.*;
-
-/**
- * A perspective service tracks the activation and reset of perspectives within a
- * workbench page.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- *
- * @see IWorkbenchPage
- */
-public interface IPerspectiveService {
-/**
- * Adds the given listener for a page's perspective lifecycle events.
- * Has no effect if an identical listener is already registered.
- *
- * @param listener a perspective listener
- */
-public void addPerspectiveListener(IInternalPerspectiveListener listener);
-/*
- * Returns the active perspective descriptor in the active workbench page.
- *
- * @return the active perspective descriptor, or <code>null</code> if no perspective is currently active
- */
-public IPerspectiveDescriptor getActivePerspective();
-/**
- * Removes the given page's perspective listener.
- * Has no affect if an identical listener is not registered.
- *
- * @param listener a perspective listener
- */
-public void removePerspectiveListener(IInternalPerspectiveListener listener);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IPreferenceConstants.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IPreferenceConstants.java
deleted file mode 100644
index 0ba70d3..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IPreferenceConstants.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal;
-
-/**
- * The IPreferenceConstants are the internal constants used by the Workbench.
- */
-public interface IPreferenceConstants {
-	// (boolean) Whether or not to display the Welcome dialog on startup.
-	public static final String WELCOME_DIALOG = "WELCOME_DIALOG"; //$NON-NLS-1$
-
-	// (boolean) Cause all editors to save modified resources prior
-	// to running a full or incremental manual build.
-	public static final String SAVE_ALL_BEFORE_BUILD = "SAVE_ALL_BEFORE_BUILD"; //$NON-NLS-1$
-
-	// (boolean) Whether or not to automatically run a build
-	// when a resource is modified. NOTE: The value is not
-	// actually in the preference store but available from
-	// IWorkspace. This constant is used solely for property
-	// change notification from the preference store so
-	// interested parties can listen for all preference changes.
-	public static final String AUTO_BUILD = "AUTO_BUILD"; //$NON-NLS-1$
-
-	//Do we show tabs up or down for views
-	public static final String VIEW_TAB_POSITION = "VIEW_TAB_POSITION"; //$NON-NLS-1$
-
-	//Boolean: true = single click opens editor; false = double click opens it.
-	public static final String OPEN_ON_SINGLE_CLICK = "OPEN_ON_SINGLE_CLICK"; //$NON-NLS-1$
-	//Boolean: true = select on hover;
-	public static final String SELECT_ON_HOVER = "SELECT_ON_HOVER"; //$NON-NLS-1$
-	//Boolean: true = open after delay
-	public static final String OPEN_AFTER_DELAY = "OPEN_AFTER_DELAY"; //$NON-NLS-1$
-
-	//Do we show color icons in toolbars?
-	public static final String COLOR_ICONS = "COLOR_ICONS"; //$NON-NLS-1$
-	
-	//Do we show tabs up or down for editors
-	public static final String EDITOR_TAB_POSITION = "EDITOR_TAB_POSITION"; //$NON-NLS-1$
-	
-	//mappings for type/extension to an editor
-	public final static String EDITORS = "editors"; //$NON-NLS-1$
-	public final static String RESOURCES = "resourcetypes"; //$NON-NLS-1$
-
-	//saving perspective layouts
-	public final static String PERSPECTIVES = "perspectives";
-
-	// (int) If > 0, an editor will be reused once 'N' editors are opened.
-	public static final String REUSE_EDITORS = "REUSE_OPEN_EDITORS"; //$NON-NLS-1$
-	//Boolean:	true = replace dirty editor if no other editors to reuse (prompt for save); 
-	//			false = open a new editor if no other editors to resuse
-	public static final String REUSE_DIRTY_EDITORS = "REUSE_DIRTY_EDITORS"; //$NON-NLS-1$
-	//On/Off option for the two preceding options.
-	public static final String REUSE_EDITORS_BOOLEAN = "REUSE_OPEN_EDITORS_BOOLEAN"; //$NON-NLS-1$
-	
-	// (int) N recently viewed files will be listed in the File->Open Recent menu.
-	public static final String RECENT_FILES = "RECENT_FILES"; //$NON-NLS-1$
-	public static final int MAX_RECENT_FILES_SIZE = 15;
-
-	// (integer) Mode for opening a view.
-	public static final String OPEN_VIEW_MODE = "OPEN_VIEW_MODE"; //$NON-NLS-1$
-	public static final int OVM_EMBED = 0;
-	public static final int OVM_FAST = 1;
-	public static final int OVM_FLOAT = 2;
-
-	// (int) Mode for opening a new perspective
-	public static final String OPEN_PERSP_MODE = "OPEN_PERSPECTIVE_MODE"; //$NON-NLS-1$
-	public static final int OPM_ACTIVE_PAGE = 0;
-	//public static final int OPM_NEW_PAGE = 1;
-	public static final int OPM_NEW_WINDOW = 2;
-
-	//Identifier for enabled decorators
-	public static final String ENABLED_DECORATORS = "ENABLED_DECORATORS"; //$NON-NLS-1$
-	
-	//Boolean: true = refresh workspace on startup if the command line does 
-	//not have the -refresh option
-	public static final String REFRESH_WORKSPACE_ON_STARTUP = "REFRESH_WORKSPACE_ON_STARTUP"; //$NON-NLS-1$
-	
-	//Boolean: true = close all editors before saving the workbench state when exiting
-	//Eclipse.  Will improve startup time for editors that have a long open time.
-	public static final String CLOSE_EDITORS_ON_EXIT = "CLOSE_EDITORS_ON_EXIT"; //$NON-NLS-1$
-	
-	//List of plugins but that extends "startup" extension point but are overriden by the user.
-	//String of plugin unique ids separated by ";"
-	public static final String PLUGINS_NOT_ACTIVATED_ON_STARTUP = "PLUGINS_NOT_ACTIVATED_ON_STARTUP"; //$NON-NLS-1$
-	
-	//Separator for PLUGINS_NOT_ACTIVATED_ON_STARTUP
-	public static char SEPARATOR = ';'; //$NON-NLS-1$
-	
-	//Preference key for default editors
-	public final static String DEFAULT_EDITORS = "defaultEditors"; //$NON-NLS-1$
-
-	//Preference key for default editors
-	public final static String DEFAULT_EDITORS_CACHE = "defaultEditorsCache"; //$NON-NLS-1$
-
-	//Workspace save interval in minutes
-	public final static String SAVE_INTERVAL = "saveInterval"; //$NON-NLS-1$
-	public static final int MAX_SAVE_INTERVAL = 9999;
-	
-	//Tab width = tab height * scalar value
-	public final static String EDITOR_TAB_WIDTH_SCALAR = "EDITOR_TAB_WIDTH_SCALAR"; //$NON-NLS-1$
-	
-	// Boolean: true= allow tabs to span multiple lines
-	public static final String EDITOR_TABS_SPAN_MULTIPLE_LINES = "EDITOR_TABS_SPAN_MULTIPLE_LINES"; //$NON-NLS-1$
-	
-	//Limits number of tabs, usefull when multiple lines of tabs active
-	public final static String NUMBER_EDITOR_TABS = "NUMBER_EDITOR_TABS"; //$NON-NLS-1$
-	public final static int NUMBER_EDITOR_TABS_MAXIMUM = 999;
-
-	//Boolean: true = show Editors drop down button on CTabFolder 
-	public static final String EDITOR_LIST_PULLDOWN_ACTIVE = "EDITOR_LIST_PULLDOWN_ACTIVE"; //$NON-NLS-1$
-
-	// Selection scope for EditorList
-	public static final String EDITOR_LIST_SELECTION_SCOPE = "EDITOR_LIST_SELECTION_SCOPE"; //$NON-NLS-1$
-	public static final int EDITOR_LIST_SET_WINDOW_SCOPE = 0;
-	public static final int EDITOR_LIST_SET_PAGE_SCOPE = 1;
-	public static final int EDITOR_LIST_SET_TAB_GROUP_SCOPE = 2;
-
-	// Sort criteria for EditorList
-	public static final String EDITOR_LIST_SORT_CRITERIA = "EDITOR_LIST_SORT_CRITERIA"; //$NON-NLS-1$
-	public static final int EDITOR_LIST_NAME_SORT = 0;
-	public static final int EDITOR_LIST_MRU_SORT = 1;
-	
-	// Boolean; true = EditorList displays full path
-	public static final String EDITOR_LIST_DISPLAY_FULL_NAME = "EDITOR_LIST_DISPLAY_FULL_NAME"; //$NON-NLS-1$
-	
-	// Show Tasks view to users when build contains errors
-	public static final String SHOW_TASKS_ON_BUILD = "SHOW_TASKS_ON_BUILD"; //$NON-NLS-1$
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IWorkbenchConstants.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IWorkbenchConstants.java
deleted file mode 100644
index 8adf5cd..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IWorkbenchConstants.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal;
-
-import org.eclipse.ui.PlatformUI;
-
-/**
- * General constants used by the workbench.
- */
-public interface IWorkbenchConstants {
-
-	// Workbench Extension Point Names
-	public static final String PL_ACTION_SETS = "actionSets"; //$NON-NLS-1$
-	public static final String PL_VIEW_ACTIONS = "viewActions"; //$NON-NLS-1$
-	public static final String PL_EDITOR_ACTIONS = "editorActions"; //$NON-NLS-1$
-	public static final String PL_PERSPECTIVES ="perspectives"; //$NON-NLS-1$
-	public static final String PL_PERSPECTIVE_EXTENSIONS ="perspectiveExtensions"; //$NON-NLS-1$
-	public static final String PL_ACTION_SET_PART_ASSOCIATIONS ="actionSetPartAssociations"; //$NON-NLS-1$
-	public static final String PL_PREFERENCES ="preferencePages"; //$NON-NLS-1$
-	public static final String PL_PROPERTY_PAGES ="propertyPages"; //$NON-NLS-1$
-	public static final String PL_EDITOR ="editors"; //$NON-NLS-1$
-	public static final String PL_VIEWS ="views"; //$NON-NLS-1$
-	public static final String PL_POPUP_MENU ="popupMenus"; //$NON-NLS-1$
-	public static final String PL_IMPORT ="importWizards"; //$NON-NLS-1$
-	public static final String PL_EXPORT ="exportWizards"; //$NON-NLS-1$
-	public static final String PL_NEW ="newWizards"; //$NON-NLS-1$
-	public static final String PL_ELEMENT_FACTORY ="elementFactories"; //$NON-NLS-1$
-	public static final String PL_DROP_ACTIONS ="dropActions"; //$NON-NLS-1$
-	public static final String PL_MARKER_IMAGE_PROVIDER ="markerImageProviders"; //$NON-NLS-1$
-	public static final String PL_MARKER_HELP ="markerHelp"; //$NON-NLS-1$
-	public static final String PL_MARKER_RESOLUTION ="markerResolution"; //$NON-NLS-1$
-	public static final String PL_ACCELERATOR_CONFIGURATIONS ="acceleratorConfigurations"; //$NON-NLS-1$
-	public static final String PL_ACCELERATOR_SCOPES ="acceleratorScopes"; //$NON-NLS-1$
-	public static final String PL_ACCELERATOR_SETS ="acceleratorSets"; //$NON-NLS-1$
-	public static final String PL_ACTION_DEFINITIONS ="actionDefinitions"; //$NON-NLS-1$
-	public static final String PL_CAPABILITIES = "capabilities"; //$NON-NLS-1$
-	public static final String PL_WORKINGSETS = "workingSets"; //$NON-NLS-1$	
-	
-	/**
-	 * @deprecated Extension point no longer applicable with new project capability
-	 */
-	public static final String PL_PROJECT_NATURE_IMAGES ="projectNatureImages"; //$NON-NLS-1$
-		
-	// Key binding service defaults
-	public static final String ACCELERATOR_CONFIGURATION_ID = "acceleratorConfigurationId"; //$NON-NLS-1$
-	public static final String DEFAULT_ACCELERATOR_CONFIGURATION_ID = "org.eclipse.ui.defaultAcceleratorConfiguration"; //$NON-NLS-1$
-	public static final String DEFAULT_ACCELERATOR_SCOPE_ID = "org.eclipse.ui.globalScope"; //$NON-NLS-1$
-	
-	//mappings for type/extension to an editor - backward compatibility only.
-	public final static String EDITOR_FILE_NAME = "editors.xml"; //$NON-NLS-1$
-	public final static String RESOURCE_TYPE_FILE_NAME = "resourcetypes.xml"; //$NON-NLS-1$
-
-	// Filename containing the workbench's preferences 
-	public static final String PREFERENCE_BUNDLE_FILE_NAME = "workbench.ini"; //$NON-NLS-1$
-
-	// Identifier for visible view parts. 
-	public static final String WORKBENCH_VISIBLE_VIEW_ID = "Workbench.visibleViewID";  //$NON-NLS-1$
-
-	// String to show in preference dialog as root node of workbench preferences
-	public static final String WORKBENCH_PREFERENCE_CATEGORY_ID = PlatformUI.PLUGIN_ID + ".preferencePages.Workbench"; //$NON-NLS-1$
-
-	// Identifier of workbench info properties page
-	public static final String WORKBENCH_PROPERTIES_PAGE_INFO = PlatformUI.PLUGIN_ID + ".propertypages.info.file"; //$NON-NLS-1$
-	
-	// Default layout.
-	public static final String DEFAULT_LAYOUT_ID = PlatformUI.PLUGIN_ID + ".resourcePerspective";       //$NON-NLS-1$
-
-	// Various editor.
-	public static final String DEFAULT_EDITOR_ID = PlatformUI.PLUGIN_ID + ".DefaultTextEditor"; //$NON-NLS-1$
-	public static final String OLE_EDITOR_ID = PlatformUI.PLUGIN_ID + ".OleEditor"; //$NON-NLS-1$
-	public static final String SYSTEM_EDITOR_ID = PlatformUI.PLUGIN_ID + ".SystemEditor"; //$NON-NLS-1$
-
-	// Default view category.
-	public static final String DEFAULT_CATEGORY_ID = PlatformUI.PLUGIN_ID;
-
-	// Persistance tags.
-	public static final String TAG_ID = "id"; //$NON-NLS-1$
-	public static final String TAG_FOCUS = "focus"; //$NON-NLS-1$
-	public static final String TAG_EDITOR = "editor"; //$NON-NLS-1$
-	public static final String TAG_DELETED_EDITOR = "deletedEditor"; //$NON-NLS-1$
-	public static final String TAG_EDITORS = "editors"; //$NON-NLS-1$
-	public static final String TAG_WORKBOOK = "workbook"; //$NON-NLS-1$
-	public static final String TAG_ACTIVE_WORKBOOK = "activeWorkbook"; //$NON-NLS-1$
-	public static final String TAG_AREA = "editorArea"; //$NON-NLS-1$
-	public static final String TAG_AREA_VISIBLE = "editorAreaVisible"; //$NON-NLS-1$
-	public static final String TAG_INPUT = "input"; //$NON-NLS-1$
-	public static final String TAG_FACTORY_ID = "factoryID"; //$NON-NLS-1$
-	public static final String TAG_TITLE = "title"; //$NON-NLS-1$
-	public static final String TAG_X = "x"; //$NON-NLS-1$
-	public static final String TAG_Y = "y"; //$NON-NLS-1$
-	public static final String TAG_WIDTH = "width"; //$NON-NLS-1$
-	public static final String TAG_HEIGHT = "height"; //$NON-NLS-1$
-	public static final String TAG_FOLDER = "folder"; //$NON-NLS-1$
-	public static final String TAG_INFO = "info"; //$NON-NLS-1$
-	public static final String TAG_PART = "part"; //$NON-NLS-1$
-	public static final String TAG_RELATIVE = "relative"; //$NON-NLS-1$
-	public static final String TAG_RELATIONSHIP = "relationship"; //$NON-NLS-1$
-	public static final String TAG_RATIO = "ratio"; //$NON-NLS-1$
-	public static final String TAG_ACTIVE_PAGE_ID = "activePageID"; //$NON-NLS-1$
-	public static final String TAG_PAGE = "page"; //$NON-NLS-1$
-	public static final String TAG_LABEL = "label"; //$NON-NLS-1$
-	public static final String TAG_CONTENT = "content"; //$NON-NLS-1$
-	public static final String TAG_CLASS = "class"; //$NON-NLS-1$
-	public static final String TAG_FILE = "file"; //$NON-NLS-1$
-	public static final String TAG_DESCRIPTOR = "descriptor"; //$NON-NLS-1$
-	public static final String TAG_MAIN_WINDOW = "mainWindow"; //$NON-NLS-1$
-	public static final String TAG_DETACHED_WINDOW = "detachedWindow"; //$NON-NLS-1$
-	public static final String TAG_HIDDEN_WINDOW = "hiddenWindow"; //$NON-NLS-1$
-	public static final String TAG_WORKBENCH = "workbench"; //$NON-NLS-1$
-	public static final String TAG_WINDOW = "window"; //$NON-NLS-1$
-	public static final String TAG_VERSION = "version"; //$NON-NLS-1$
-	public static final String TAG_PERSPECTIVES = "perspectives"; //$NON-NLS-1$
-	public static final String TAG_PERSPECTIVE = "perspective"; //$NON-NLS-1$
-	public static final String TAG_ACTIVE_PERSPECTIVE = "activePerspective"; //$NON-NLS-1$
-	public static final String TAG_ACTIVE_PART = "activePart"; //$NON-NLS-1$
-	public static final String TAG_ACTION_SET = "actionSet"; //$NON-NLS-1$
-	public static final String TAG_ALWAYS_ON_ACTION_SET = "alwaysOnActionSet"; //$NON-NLS-1$
-	public static final String TAG_ALWAYS_OFF_ACTION_SET = "alwaysOffActionSet"; //$NON-NLS-1$
-	public static final String TAG_SHOW_VIEW_ACTION = "show_view_action"; //$NON-NLS-1$
-	public static final String TAG_SHOW_IN_PART = "show_in_part"; //$NON-NLS-1$
-	public static final String TAG_NEW_WIZARD_ACTION = "new_wizard_action"; //$NON-NLS-1$
-	public static final String TAG_PERSPECTIVE_ACTION = "perspective_action"; //$NON-NLS-1$
-	public static final String TAG_VIEW = "view"; //$NON-NLS-1$
-	public static final String TAG_LAYOUT = "layout"; //$NON-NLS-1$
-	public static final String TAG_EXTENSION = "extension"; //$NON-NLS-1$
-	public static final String TAG_NAME = "name"; //$NON-NLS-1$
-	public static final String TAG_IMAGE = "image"; //$NON-NLS-1$
-	public static final String TAG_LAUNCHER = "launcher"; //$NON-NLS-1$
-	public static final String TAG_PLUGING = "plugin"; //$NON-NLS-1$
-	public static final String TAG_INTERNAL = "internal"; //$NON-NLS-1$
-	public static final String TAG_OPEN_IN_PLACE = "open_in_place"; //$NON-NLS-1$
-	public static final String TAG_PROGRAM_NAME = "program_name"; //$NON-NLS-1$
-	public static final String TAG_FAST_VIEWS = "fastViews"; //$NON-NLS-1$
-	public static final String TAG_VIEW_STATE = "viewState"; //$NON-NLS-1$
-	public static final String TAG_SINGLETON="singleton"; //$NON-NLS-1$
-	public static final String TAG_EDITOR_REUSE_THRESHOLD="editorReuseThreshold"; //$NON-NLS-1$
-	public static final String TAG_PERSISTABLE = "persistable";	//$NON-NLS-1$
-	public static final String TAG_MRU_LIST = "mruList";	//$NON-NLS-1$
-	public static final String TAG_PERSPECTIVE_HISTORY = "perspHistory";	//$NON-NLS-1$	
-	public static final String TAG_WORKING_SET_MANAGER = "workingSetManager"; //$NON-NLS-1$		
-	public static final String TAG_WORKING_SETS = "workingSets";	//$NON-NLS-1$	
-	public static final String TAG_WORKING_SET = "workingSet";	//$NON-NLS-1$		
-	public static final String TAG_ITEM = "item";	//$NON-NLS-1$			
-	public static final String TAG_EDIT_PAGE_ID = "editPageId";	//$NON-NLS-1$
-	public static final String TAG_TOOLBAR_LAYOUT = "toolbarLayout";	//$NON-NLS-1$
-	public static final String TAG_ITEM_SIZE = "itemSize";	//$NON-NLS-1$
-	public static final String TAG_ITEM_WRAP_INDEX = "wrapIndex";	//$NON-NLS-1$
-	public static final String TAG_INDEX = "index";	//$NON-NLS-1$
-	public static final String TAG_PINNED = "pinned";	//$NON-NLS-1$
-	public static final String TAG_PATH = "path";//$NON-NLS-1$
-	public static final String TAG_TOOLTIP = "tooltip";//$NON-NLS-1$
-	public static final String TAG_VIEWS = "views";//$NON-NLS-1$
-	public static final String TAG_ADDED = "added";//$NON-NLS-1$
-	public static final String TAG_POSITION = "position";//$NON-NLS-1$
-	public static final String TAG_NAVIGATION_HISTORY = "navigationHistory";//$NON-NLS-1$
-	public static final String TAG_ACTIVE = "active";//$NON-NLS-1$
-	public static final String TAG_REMOVED = "removed";//$NON-NLS-1$
-	public static final String TAG_HISTORY_LABEL = "historyLabel";//$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IWorkbenchGraphicConstants.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IWorkbenchGraphicConstants.java
deleted file mode 100644
index a019d85..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/IWorkbenchGraphicConstants.java
+++ /dev/null
@@ -1,209 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * This class defines constants for looking up resources that are available
- * only within the Eclipse UI and Eclipse UI Standard Components projects.
- *
- * See ISharedGraphicConstants for a description of how the keys are named.
- */
-public interface IWorkbenchGraphicConstants {
-
-	/*** Constants for Images ***/
-
-	// toolbar buttons for wizards
-
-	public final static String IMG_CTOOL_NEW_WIZ = "IMG_CTOOL_NEW_WIZ"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_NEW_WIZ_HOVER = "IMG_CTOOL_NEW_WIZ_HOVER"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_NEW_WIZ_DISABLED = "IMG_CTOOL_NEW_WIZ_DIS"; //$NON-NLS-1$
-	
-	public final static String IMG_CTOOL_IMPORT_WIZ = "IMG_CTOOL_IMPORT_WIZ"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_IMPORT_WIZ_HOVER = "IMG_CTOOL_IMPORT_WIZ_HOVER"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_IMPORT_WIZ_DISABLED = "IMG_CTOOL_IMPORT_WIZ_DISABLED"; //$NON-NLS-1$
-
-	public final static String IMG_CTOOL_EXPORT_WIZ = "IMG_CTOOL_EXPORT_WIZ"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_EXPORT_WIZ_HOVER = "IMG_CTOOL_EXPORT_WIZ_HOVER"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_EXPORT_WIZ_DISABLED = "IMG_CTOOL_EXPORT_WIZ_DISABLED"; //$NON-NLS-1$
-
-	// other toolbar buttons
-	public final static String IMG_CTOOL_BUILD_EXEC = "IMG_CTOOL_BUILD_EXEC" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_BUILD_EXEC_HOVER = "IMG_CTOOL_BUILD_EXEC_HOVER" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_BUILD_EXEC_DISABLED = "IMG_CTOOL_BUILD_EXEC_DISABLED" ; //$NON-NLS-1$
-			
-	public final static String IMG_CTOOL_CLOSE_EDIT = "IMG_CTOOL_CLOSE_EDIT" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_CLOSE_EDIT_HOVER = "IMG_CTOOL_CLOSE_EDIT_HOVER" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_CLOSE_EDIT_DISABLED = "IMG_CTOOL_CLOSE_EDIT_DISABLED" ; //$NON-NLS-1$
-
-	public final static String IMG_CTOOL_SAVE_EDIT = "IMG_CTOOL_SAVE_EDIT" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_SAVE_EDIT_HOVER = "IMG_CTOOL_SAVE_EDIT_HOVER" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_SAVE_EDIT_DISABLED = "IMG_CTOOL_SAVE_EDIT_DISABLED" ; //$NON-NLS-1$
-
-	public final static String IMG_CTOOL_SAVEAS_EDIT = "IMG_CTOOL_SAVEAS_EDIT" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_SAVEAS_EDIT_HOVER = "IMG_CTOOL_SAVEAS_EDIT_HOVER" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_SAVEAS_EDIT_DISABLED = "IMG_CTOOL_SAVEAS_EDIT_DISABLED" ; //$NON-NLS-1$
-
-	public final static String IMG_CTOOL_SAVEALL_EDIT = "IMG_CTOOL_SAVEALL_EDIT" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_SAVEALL_EDIT_HOVER = "IMG_CTOOL_SAVEALL_EDIT_HOVER" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_SAVEALL_EDIT_DISABLED = "IMG_CTOOL_SAVEALL_EDIT_DISABLED" ; //$NON-NLS-1$
-	
-	public final static String IMG_CTOOL_PRINT_EDIT = "IMG_CTOOL_PRINT_EDIT" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_PRINT_EDIT_HOVER = "IMG_CTOOL_PRINT_EDIT_HOVER" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_PRINT_EDIT_DISABLED = "IMG_CTOOL_PRINT_EDIT_DISABLED" ; //$NON-NLS-1$
-
-	public final static String IMG_CTOOL_UNDO_EDIT = "IMG_CTOOL_UNDO_EDIT" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_UNDO_EDIT_HOVER = "IMG_CTOOL_UNDO_EDIT_HOVER" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_UNDO_EDIT_DISABLED = "IMG_CTOOL_UNDO_EDIT_DISABLED" ; //$NON-NLS-1$
-
-	public final static String IMG_CTOOL_REDO_EDIT = "IMG_CTOOL_REDO_EDIT" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_REDO_EDIT_HOVER = "IMG_CTOOL_REDO_EDIT_HOVER" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_REDO_EDIT_DISABLED= "IMG_CTOOL_REDO_EDIT_DISABLED" ; //$NON-NLS-1$
-
-	public final static String IMG_CTOOL_CUT_EDIT = "IMG_CTOOL_CUT_EDIT" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_CUT_EDIT_HOVER = "IMG_CTOOL_CUT_EDIT_HOVER" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_CUT_EDIT_DISABLED = "IMG_CTOOL_CUT_EDIT_DISABLED" ; //$NON-NLS-1$
-
-	public final static String IMG_CTOOL_COPY_EDIT = "IMG_CTOOL_COPY_EDIT" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_COPY_EDIT_HOVER = "IMG_CTOOL_COPY_EDIT_HOVER" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_COPY_EDIT_DISABLED = "IMG_CTOOL_COPY_EDIT_DISABLED" ; //$NON-NLS-1$
-
-	public final static String IMG_CTOOL_DELETE_EDIT = "IMG_CTOOL_DELETE_EDIT" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_DELETE_EDIT_HOVER = "IMG_CTOOL_DELETE_EDIT_HOVER" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_DELETE_EDIT_DISABLED = "IMG_CTOOL_DELETE_EDIT_DISABLED" ; //$NON-NLS-1$
-
-	public final static String IMG_CTOOL_PASTE_EDIT = "IMG_CTOOL_PASTE_EDIT" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_PASTE_EDIT_HOVER = "IMG_CTOOL_PASTE_EDIT_HOVER" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_PASTE_EDIT_DISABLED= "IMG_CTOOL_PASTE_EDIT_DISABLED" ; //$NON-NLS-1$
-
-	public final static String IMG_CTOOL_SEARCH_SRC = "IMG_CTOOL_SEARCH_SRC" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_SEARCH_SRC_HOVER = "IMG_CTOOL_SEARCH_SRC_HOVER" ; //$NON-NLS-1$
-	public final static String IMG_CTOOL_SEARCH_SRC_DISABLED = "IMG_CTOOL_SEARCH_SRC_DISABLED" ; //$NON-NLS-1$
-
-	public final static String IMG_CTOOL_REFRESH_NAV = "IMG_CTOOL_REFRESH_NAV"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_REFRESH_NAV_HOVER = "IMG_CTOOL_REFRESH_NAV_HOVER"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_REFRESH_NAV_DISABLED = "IMG_CTOOL_REFRESH_NAV_DISABLED"; //$NON-NLS-1$
-
-	public final static String IMG_CTOOL_FORWARD_NAV = "IMG_CTOOL_FORWARD_NAV"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_FORWARD_NAV_HOVER = "IMG_CTOOL_FORWARD_NAV_HOVER"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_FORWARD_NAV_DISABLED = "IMG_CTOOL_FORWARD_NAV_DISABLED"; //$NON-NLS-1$
-
-	public final static String IMG_CTOOL_BACKWARD_NAV = "IMG_CTOOL_BACKWARD_NAV"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_BACKWARD_NAV_HOVER = "IMG_CTOOL_BACKWARD_NAV_HOVER"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_BACKWARD_NAV_DISABLED = "IMG_CTOOL_BACKWARD_NAV_DISABLED"; //$NON-NLS-1$
-
-	public final static String IMG_CTOOL_STOP_NAV = "IMG_CTOOL_STOP_NAV"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_STOP_NAV_HOVER = "IMG_CTOOL_STOP_NAV_HOVER"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_STOP_NAV_DISABLED = "IMG_CTOOL_STOP_NAV_DISABLED"; //$NON-NLS-1$
-
-	public final static String IMG_CTOOL_HOME_NAV = "IMG_CTOOL_HOME_NAV"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_HOME_NAV_HOVER = "IMG_CTOOL_HOME_NAV_HOVER"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_HOME_NAV_DISABLED = "IMG_CTOOL_HOME_NAV_DISABLED"; //$NON-NLS-1$
-
-	public final static String IMG_CTOOL_NEXT_NAV = "IMG_CTOOL_NEXT_NAV"; //$NON-NLS-1$
-
-	public final static String IMG_CTOOL_PREVIOUS_NAV = "IMG_CTOOL_PREVIOUS_NAV"; //$NON-NLS-1$
-	
-	public final static String IMG_CTOOL_NEW_PAGE = "IMG_CTOOL_NEW_PAGE"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_NEW_PAGE_HOVER = "IMG_CTOOL_NEW_PAGE_HOVER"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_NEW_PAGE_DISABLED = "IMG_CTOOL_NEW_PAGE_DISABLED"; //$NON-NLS-1$
-
-	public final static String IMG_CTOOL_SET_PAGE = "IMG_CTOOL_SET_PAGE"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_SET_PAGE_HOVER = "IMG_CTOOL_SET_PAGE_HOVER"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_SET_PAGE_DISABLED = "IMG_CTOOL_SET_PAGE_DISABLED"; //$NON-NLS-1$
-
-	public final static String IMG_CTOOL_NEW_WND = "IMG_CTOOL_NEW_WND"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_NEW_WND_HOVER = "IMG_CTOOL_NEW_WND_HOVER"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_NEW_WND_DISABLED = "IMG_CTOOL_NEW_WND_DISABLED"; //$NON-NLS-1$
-
-	public final static String IMG_CTOOL_PIN_EDITOR = "IMG_CTOOL_PIN_EDITOR"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_PIN_EDITOR_HOVER = "IMG_CTOOL_PIN_EDITOR_HOVER"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_PIN_EDITOR_DISABLED = "IMG_CTOOL_PIN_EDITOR_DISABLED"; //$NON-NLS-1$
-		
-	public final static String IMG_CTOOL_DEF_PERSPECTIVE = "IMG_CTOOL_DEF_PERSPECTIVE"; //$NON-NLS-1$
-	public final static String IMG_CTOOL_DEF_PERSPECTIVE_HOVER = "IMG_CTOOL_DEF_PERSPECTIVE_HOVER"; //$NON-NLS-1$
-	
-	// local toolbars
-	public final static String IMG_LCL_CLOSE_VIEW = "IMG_LCL_CLOSE_VIEW" ; //$NON-NLS-1$
-	public final static String IMG_LCL_PIN_VIEW = "IMG_LCL_PIN_VIEW" ; //$NON-NLS-1$
-	public final static String IMG_LCL_MIN_VIEW = "IMG_LCL_MIN_VIEW" ; //$NON-NLS-1$
-	public final static String IMG_LCL_GOTOOBJ_TSK = "IMG_LCL_GOTOOBJ_TSK"; //$NON-NLS-1$
-	public final static String IMG_LCL_ADDTSK_TSK = "IMG_LCL_ADDTSK_TSK"; //$NON-NLS-1$
-	public final static String IMG_LCL_REMTSK_TSK = "IMG_LCL_REMTSK_TSK"; //$NON-NLS-1$
-	public final static String IMG_LCL_SHOWCOMPLETE_TSK = "IMG_LCL_SHOWCOMPLETE_TSK"; //$NON-NLS-1$
-	public final static String IMG_LCL_VIEW_MENU = "IMG_LCL_VIEW_MENU"; //$NON-NLS-1$
-	public final static String IMG_LCL_SELECTED_MODE = "IMG_LCL_SELECTED_MODE"; //$NON-NLS-1$
-	public final static String IMG_LCL_SHOWCHILD_MODE = "IMG_LCL_SHOWCHILD_MODE"; //$NON-NLS-1$
-
-	public final static String IMG_LCL_TREE_MODE = "IMG_LCL_TREE_MODE"; //$NON-NLS-1$
-		
-	public final static String IMG_LCL_DEFAULTS_PS = "IMG_LCL_DEFAULTS_PS"; //$NON-NLS-1$
-	public final static String IMG_LCL_FILTER_PS = "IMG_LCL_FILTER_PS"; //$NON-NLS-1$
-	public final static String IMG_LCL_REMBKMRK_TSK = "IMG_LCL_REMBKMRK_TSK"; //$NON-NLS-1$
-
-	public final static String IMG_LCL_SHOWSYNC_RN = "IMG_LCL_SHOWSYNC_RN"; //$NON-NLS-1$
-
-	//wizard images
-	public final static String IMG_WIZBAN_NEW_WIZ = "IMG_WIZBAN_NEW_WIZ"; //$NON-NLS-1$
-	public final static String IMG_WIZBAN_NEWPRJ_WIZ = "IMG_WIZBAN_NEWPRJ_WIZ"; //$NON-NLS-1$
-	public final static String IMG_WIZBAN_NEWFOLDER_WIZ = "IMG_WIZBAN_NEWFOLDER_WIZ"; //$NON-NLS-1$
-	public final static String IMG_WIZBAN_NEWFILE_WIZ = "IMG_WIZBAN_NEWFILE_WIZ"; //$NON-NLS-1$
-
-	public final static String IMG_WIZBAN_IMPORT_WIZ = "IMG_WIZBAN_IMPORT_WIZ"; //$NON-NLS-1$
-	public final static String IMG_WIZBAN_IMPORTDIR_WIZ = "IMG_WIZBAN_IMPORTDIR_WIZ"; //$NON-NLS-1$
-	public final static String IMG_WIZBAN_IMPORTZIP_WIZ = "IMG_WIZBAN_IMPORTZIP_WIZ"; //$NON-NLS-1$
-
-	public final static String IMG_WIZBAN_EXPORT_WIZ = "IMG_WIZBAN_EXPORT_WIZ"; //$NON-NLS-1$
-	public final static String IMG_WIZBAN_EXPORTDIR_WIZ =  "IMG_WIZBAN_EXPORTDIR_WIZ"; //$NON-NLS-1$
-	public final static String IMG_WIZBAN_EXPORTZIP_WIZ = "IMG_WIZBAN_EXPORTZIP_WIZ"; //$NON-NLS-1$
-	
-	public final static String IMG_WIZBAN_RESOURCEWORKINGSET_WIZ = "IMG_WIZBAN_EXPORTZIP_WIZ"; //$NON-NLS-1$	
-
-	public final static String IMG_VIEW_DEFAULTVIEW_MISC = "IMG_VIEW_DEFAULTVIEW_MISC"; //$NON-NLS-1$
-	
-	// dialog images
-	public final static String IMG_DLGBAN_SAVEAS_DLG = "IMG_DLGBAN_SAVEAS_DLG"; //$NON-NLS-1$
-
-	// task objects
-	public final static String IMG_OBJS_HPRIO_TSK = "IMG_OBJS_HPRIO_TSK"; //$NON-NLS-1$
-	public final static String IMG_OBJS_MPRIO_TSK = "IMG_OBJS_MPRIO_TSK"; //$NON-NLS-1$
-	public final static String IMG_OBJS_LPRIO_TSK = "IMG_OBJS_LPRIO_TSK"; //$NON-NLS-1$
-	public final static String IMG_OBJS_COMPLETE_TSK = "IMG_OBJS_COMPLETE_TSK"; //$NON-NLS-1$
-	public final static String IMG_OBJS_INCOMPLETE_TSK = "IMG_OBJS_INCOMPLETE_TSK"; //$NON-NLS-1$
-	public final static String IMG_OBJS_BRKPT_TSK = "IMG_OBJS_BRKPT_TSK"; //$NON-NLS-1$
-		
-	// product
-	public final static String IMG_OBJS_DEFAULT_PROD = "IMG_OBJS_DEFAULT_PROD"; //$NON-NLS-1$
-
-	// welcome
-	public final static String IMG_OBJS_WELCOME_ITEM = "IMG_OBJS_WELCOME_ITEM"; //$NON-NLS-1$
-	public final static String IMG_OBJS_WELCOME_BANNER = "IMG_OBJS_WELCOME_BANNER"; //$NON-NLS-1$
-
-	// synchronization indicator objects
-	public final static String IMG_OBJS_WBET_STAT = "IMG_OBJS_WBET_STAT"; //$NON-NLS-1$
-	public final static String IMG_OBJS_SBET_STAT = "IMG_OBJS_SBET_STAT"; //$NON-NLS-1$
-	public final static String IMG_OBJS_CONFLICT_STAT = "IMG_OBJS_CONFLICT_STAT"; //$NON-NLS-1$
-
-	// local content indicator objects
-	public final static String IMG_OBJS_NOTLOCAL_STAT = "IMG_OBJS_NOTLOCAL_STAT"; //$NON-NLS-1$
-	public final static String IMG_OBJS_LOCAL_STAT = "IMG_OBJS_LOCAL_STAT"; //$NON-NLS-1$
-	public final static String IMG_OBJS_FILLLOCAL_STAT = "IMG_OBJS_FILLLOCAL_STAT"; //$NON-NLS-1$
-
-	// part direct manipulation objects
-	public final static String IMG_OBJS_DND_LEFT_SOURCE = "IMG_OBJS_DND_LEFT_SOURCE"; //$NON-NLS-1$
-	public final static String IMG_OBJS_DND_LEFT_MASK = "IMG_OBJS_DND_LEFT_MASK"; //$NON-NLS-1$
-	public final static String IMG_OBJS_DND_RIGHT_SOURCE = "IMG_OBJS_DND_RIGHT_SOURCE"; //$NON-NLS-1$
-	public final static String IMG_OBJS_DND_RIGHT_MASK = "IMG_OBJS_DND_RIGHT_MASK"; //$NON-NLS-1$
-	public final static String IMG_OBJS_DND_TOP_SOURCE = "IMG_OBJS_DND_TOP_SOURCE"; //$NON-NLS-1$
-	public final static String IMG_OBJS_DND_TOP_MASK = "IMG_OBJS_DND_TOP_MASK"; //$NON-NLS-1$
-	public final static String IMG_OBJS_DND_BOTTOM_SOURCE = "IMG_OBJS_DND_BOTTOM_SOURCE"; //$NON-NLS-1$
-	public final static String IMG_OBJS_DND_BOTTOM_MASK = "IMG_OBJS_DND_BOTTOM_MASK"; //$NON-NLS-1$
-	public final static String IMG_OBJS_DND_INVALID_SOURCE = "IMG_OBJS_DND_INVALID_SOURCE"; //$NON-NLS-1$
-	public final static String IMG_OBJS_DND_INVALID_MASK = "IMG_OBJS_DND_INVALID_MASK"; //$NON-NLS-1$
-	public final static String IMG_OBJS_DND_STACK_SOURCE = "IMG_OBJS_DND_STACK_SOURCE"; //$NON-NLS-1$
-	public final static String IMG_OBJS_DND_STACK_MASK = "IMG_OBJS_DND_STACK_MASK"; //$NON-NLS-1$
-	public final static String IMG_OBJS_DND_OFFSCREEN_SOURCE = "IMG_OBJS_DND_OFFSCREEN_SOURCE"; //$NON-NLS-1$
-	public final static String IMG_OBJS_DND_OFFSCREEN_MASK = "IMG_OBJS_DND_OFFSCREEN_MASK"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/KeyBindingService.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/KeyBindingService.java
deleted file mode 100644
index 6702c66..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/KeyBindingService.java
+++ /dev/null
@@ -1,146 +0,0 @@
-package org.eclipse.ui.internal;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.HashMap;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.ui.IKeyBindingService;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.misc.Assert;
-
-/** 
- * Implementation of an IKeyBindingService.
- * Notes:
- * <ul>
- * <li>One instance is created for each editor site</li>
- * <li>Each editor has to register all its actions by calling registerAction()</li>
- * <li>The editor should call setActiveAcceleratorScopeId() once</li>
- * </ul>
- */
-public class KeyBindingService implements IKeyBindingService {
-	
-	/* Maps action definition id to action. */
-	private HashMap defIdToAction = new HashMap();
-	
-	/* The active accelerator scope which is set by the editor */
-	private String[] scopeIds = new String[] { IWorkbenchConstants.DEFAULT_ACCELERATOR_SCOPE_ID };
-	
-	/* The Workbench window key binding service which manages the 
-	 * global actions and the action sets 
-	 */
-	private WWinKeyBindingService parent;
-	
-	/**
-	 * Create an instance of KeyBindingService and initializes 
-	 * it with its parent.
-	 */		
-	public KeyBindingService(WWinKeyBindingService service, PartSite site) {
-		parent = service;
-		
-		if (site instanceof EditorSite) {
-			EditorActionBuilder.ExternalContributor contributor = (EditorActionBuilder.ExternalContributor) ((EditorSite) site).getExtensionActionBarContributor();
-			
-			if (contributor != null)
-				registerExtendedActions(contributor.getExtendedActions());
-		}
-	}
-	
-	public void registerExtendedActions(ActionDescriptor[] actionDescriptors) {
-		for (int i = 0; i < actionDescriptors.length; i++) {
-			IAction action = actionDescriptors[i].getAction();
-			
-			if (action.getActionDefinitionId() != null)
-				registerAction(action);
-		}		
-	}
-
-	/*
-	 * @see IKeyBindingService#getScopeIds()
-	 */
-	public String[] getScopeIds() {
-    	return (String[]) scopeIds.clone();
-    }
-
-	/*
-	 * @see IKeyBindingService#setScopeIds(String[] scopeIds)
-	 */
-	public void setScopeIds(String[] scopeIds)
-		throws IllegalArgumentException {
-		if (scopeIds == null || scopeIds.length < 1)
-			throw new IllegalArgumentException();
-			
-    	this.scopeIds = (String[]) scopeIds.clone();
-    	
-    	for (int i = 0; i < scopeIds.length; i++)
-			if (scopeIds[i] == null)
-				throw new IllegalArgumentException();    	
-    }
-
-	/*
-	 * @see IKeyBindingService#registerAction(IAction)
-	 */
-	public void registerAction(IAction action) {
-    	String defId = action.getActionDefinitionId();
-    	Assert.isNotNull(defId, "All registered action must have a definition id"); //$NON-NLS-1$
-		defIdToAction.put(defId,action);
-    }
-    
-   	/*
-	 * @see IKeyBindingService#unregisterAction(IAction)
-	 */
-	public void unregisterAction(IAction action) {   		
-    	String defId = action.getActionDefinitionId();
-    	Assert.isNotNull(defId, "All registered action must have a definition id"); //$NON-NLS-1$
-		defIdToAction.remove(defId);
-    }
-		
-    /**
-     * Returns the action mapped with the specified <code>definitionId</code>
-     */
-    public IAction getAction(String definitionId) {
-    	IAction action = (IAction) defIdToAction.get(definitionId);
-    	
-    	if (action == null)
-    		action = (IAction) parent.getMapping().get(definitionId);
-    	    		
-    	return action;
-    }
-
-	/*
-	 * @see IKeyBindingService#getActiveAcceleratorConfigurationId()
-	 */
-    public String getActiveAcceleratorConfigurationId() {
-    	return ((Workbench) PlatformUI.getWorkbench()).getActiveAcceleratorConfiguration().getId();
-    }
-
-	/*
-	 * @see IKeyBindingService#getActiveAcceleratorScopeId()
-	 */
-	public String getActiveAcceleratorScopeId() {
-   		return getScopeIds()[0];
-    }
-
-	/*
-	 * @see IKeyBindingService#setActiveAcceleratorScopeId(String)
-	 */ 
-    public void setActiveAcceleratorScopeId(String scopeId)
-    	throws IllegalArgumentException {
-   		setScopeIds(new String[] { scopeId });
-    }
-    
-   	/*
-	 * @see IKeyBindingService#processKey(Event)
-	 */
-	public boolean processKey(KeyEvent event) {
-		return false;
-    }
-
-    /*
-	 * @see IKeyBindingService#registerAction(IAction)
-	 */
-	public void enable(boolean enable) {
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/KeyTable.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/KeyTable.java
deleted file mode 100644
index 5672c37..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/KeyTable.java
+++ /dev/null
@@ -1,120 +0,0 @@
-package org.eclipse.ui.internal;
- 
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.widgets.*;
-
-public class KeyTable {
-
-	public interface KeyTableListener {
-		void keyPressed(int key);
-	}
-	
- 	private Shell shell;
-	private int[] keys;
-	private Menu menu;
-	private MenuItem menuItem;
-
-	public KeyTable(Shell shell) {
-		this.shell = shell;
-		initMenu();
-	}
-
-	public void initMenu() {
-		Menu parent = shell.getMenuBar();
-		
-		if (parent == null || parent.getItemCount() < 1)
-			throw new SWTException();
-			
-		MenuItem parentItem = parent.getItem(parent.getItemCount() - 1);
-		final Menu child = parentItem.getMenu();
-		
-		if (child == null)
-			throw new SWTException();
-				
-		menuItem = new MenuItem(child, SWT.CASCADE,0);
-		menuItem.setMenu(menu = new Menu(menuItem));
-		
-		child.addListener(SWT.Show, new Listener () {
-			public void handleEvent(Event event) {
-				if(menuItem == null || menuItem.isDisposed())
-					return;
-				menuItem.setMenu(null);
-				menuItem.dispose();
-			}
-		});
-		
-		child.addListener(SWT.Hide, new Listener () {
-			public void handleEvent(Event event) {
-				//It seems that we are getting this event twice
-				if(menuItem == null || menuItem.isDisposed()) {
-					menuItem = new MenuItem(child, SWT.CASCADE,0);
-					menuItem.setMenu(menu);
-				}
-			}
-		});	
-	}
-
-	private KeyTableListener keyTableListener;
-
-	public void addKeyTableListener(KeyTableListener keyTableListener) {
-		this.keyTableListener = keyTableListener;
-		// TBD: add listener to list
-	}
-
-	public void removeKeyTableListener(KeyTableListener keyTableListener) {
-		// TBD: remove listener from list
-	}
-
-	void handleEvent(Event event) {
-		MenuItem eventMenuItem = (MenuItem) event.widget;
-		int key = eventMenuItem.getAccelerator();
-		// TBD: send key to all listeners
-		if (keyTableListener != null) 	
-			keyTableListener.keyPressed(key);
-	}
-
-	public int[] getKeys() {
-		if (keys == null)
-			return null;
-		else {
-			int[] keys = new int[this.keys.length];
-			System.arraycopy(this.keys, 0, keys, 0, this.keys.length);
-			return keys;
-		}
-	}
-
-	public void setKeys(final int[] keys) {
-		if (keys == null)
-			this.keys = null;
-		else 
-			System.arraycopy(keys, 0, this.keys = new int[keys.length], 0, keys.length);
-			
-		if (menu != null) {
-			menu.dispose();
-			menu = null;
-		}
-
-		// Arrays.sort(keys);		
-		if(menuItem == null || menuItem.isDisposed()) {
-			initMenu();
-		} else {	
-			menu = new Menu(menuItem);
-			menuItem.setMenu(menu);
-		}
-		
-		for (int i = 0; i < keys.length; i++) {
-			final int key = keys[i];
-			MenuItem keyMenuItem = new MenuItem(menu, SWT.PUSH);
-			keyMenuItem.setAccelerator(key);
-			
-			//keyMenuItem.setText(Action.convertAccelerator(key));
-			
-			keyMenuItem.addListener(SWT.Selection, new Listener() {
-				public void handleEvent(Event event) {
-					KeyTable.this.handleEvent(event);
-				}
-			});
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LabelDecoratorAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LabelDecoratorAction.java
deleted file mode 100644
index da3ac8b..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LabelDecoratorAction.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.internal.decorators.*;
-
-/**
- * The LabelDecoratorAction is an action that toggles the 
- * enabled state of a decorator.
- * 
- * @since 2.0
- * @deprecated this action is no longer in use
- */
-public class LabelDecoratorAction extends Action {
-
-	private DecoratorDefinition decorator;
-
-	/**
-	 * Constructor for LabelDecoratorAction.
-	 * @param text
-	 */
-	public LabelDecoratorAction(DecoratorDefinition definition) {
-		super(definition.getName());
-		decorator = definition;
-		setChecked(decorator.isEnabled());
-	}
-
-	/*
-	 * see @Action.run()
-	 */
-	public void run() {}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LayoutPart.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LayoutPart.java
deleted file mode 100644
index 608df16..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LayoutPart.java
+++ /dev/null
@@ -1,269 +0,0 @@
-package org.eclipse.ui.internal;
-
-/**********************************************************************
-Copyright (c) 2000, 2001, 2002, International Business Machines 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:
-  Cagatay Kavukcuoglu <cagatayk@acm.org> 
-    - Fix for bug 10025 - Resizing views should not use height ratios
-**********************************************************************/
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IWorkbenchWindow;
-
-/**
- * A presentation part is used to build the presentation for the
- * workbench.  Common subclasses are pane and folder.
- */
-abstract public class LayoutPart implements IPartDropTarget {
-	protected ILayoutContainer container;
-	protected String id;
-
-	private Boolean visible;
-	private ListenerList propertyListeners = new ListenerList(1);
-	
-	public static final String PROP_VISIBILITY = "PROP_VISIBILITY";
-	
-/**
- * PresentationPart constructor comment.
- */
-public LayoutPart(String id) {
-	super();
-	this.id = id;
-}
-/**
- * Adds a property change listener to this action.
- * Has no effect if an identical listener is already registered.
- *
- * @param listener a property change listener
- */
-public void addPropertyChangeListener(IPropertyChangeListener listener) {
-	propertyListeners.add(listener);
-}
-/**
- * Removes the given listener from this action.
- * Has no effect if an identical listener is not registered.
- *
- * @param listener a property change listener
- */
-public void removePropertyChangeListener(IPropertyChangeListener listener) {
-	propertyListeners.remove(listener);
-}
-/**
- * Creates the SWT control
- */
-abstract public void createControl(Composite parent);
-/** 
- * Disposes the SWT control
- */
-public void dispose() {
-}
-/**
- * Gets the presentation bounds.
- */
-public Rectangle getBounds() {
-	return new Rectangle(0, 0, 0, 0);
-}
-/**
- * Gets root container for this part.
- */
-public RootLayoutContainer getRootContainer() {
-	if(container != null)
-		return container.getRootContainer();
-	return null;
-}
-/**
- * Gets the parent for this part.
- */
-public ILayoutContainer getContainer() {
-	return container;
-}
-/**
- * Get the part control.  This method may return null.
- */
-abstract public Control getControl();
-
-/**
- * Gets the ID for this part.
- */
-public String getID() {
-	return id;
-}
-/**
- * Return the place the preferences used by layout parts reside.
- * @return IPreferenceStore
- */
-/*package*/ IPreferenceStore getPreferenceStore() {
-	return WorkbenchPlugin.getDefault().getPreferenceStore();		
-}
-/**
- * Return whether the window's shell is activated
- */
-/* package */ boolean getShellActivated() {
-	Window window = getWindow();
-	if (window instanceof WorkbenchWindow) 
-		return ((WorkbenchWindow) window).getShellActivated();
-	else
-		return false;
-}
-/**
- * Gets the presentation size.
- */
-public Point getSize() {
-	Rectangle r = getBounds();
-	Point ptSize = new Point(r.width, r.height);
-	return ptSize;
-}
-
-// getMinimumWidth() added by cagatayk@acm.org 
-/**
- * Returns the minimum width a part can have. Subclasses may
- * override as necessary.
- */
-public int getMinimumWidth() {
-	return 0;
-}
-
-// getMinimumHeight() added by cagatayk@acm.org 
-/**
- * Returns the minimum height a part can have. Subclasses may 
- * override as necessary.
- */
-public int getMinimumHeight() {
-	return 0;
-}
-
-/**
- * Returns the top level window for a part.
- */
-public Window getWindow() {
-	Control ctrl = getControl();
-	if (ctrl != null) {
-		Object data = ctrl.getShell().getData();
-		if (data instanceof Window)
-			return (Window)data;
-	}
-	return null;
-}
-/**
- * Returns the workbench window window for a part.
- */
-public IWorkbenchWindow getWorkbenchWindow() {
-	Window parentWindow = getWindow();
-	if (parentWindow instanceof IWorkbenchWindow)
-		return (IWorkbenchWindow)parentWindow;
-	/*
-	 * Detached window no longer supported - remove when confirmed
-	 *
-	 * if (parentWindow instanceof DetachedWindow)
-	 * 	return ((DetachedWindow)parentWindow).getWorkbenchPage().getWorkbenchWindow();
-	 */
-	 
-	return null;
-}
-/**
- *	Allow the layout part to determine if they are in
- * an acceptable state to start a drag & drop operation.
- */
-public boolean isDragAllowed(Point p) {
-	return true;
-}
-/**
- * Move the control over another one.
- */
-public void moveAbove(Control refControl) {
-}
-/**
- * Reparent a part.
- */
-public void reparent(Composite newParent) {
-	if (!newParent.isReparentable())
-		return;
-		
-	Control control = getControl();
-	if ((control == null) || (control.getParent() == newParent))
-		return;
-		
-	// make control small in case it is not resized with other controls
-	control.setBounds(0, 0, 0, 0);
-	// By setting the control to disabled before moving it,
-	// we ensure that the focus goes away from the control and its children
-	// and moves somewhere else
-	boolean enabled = control.getEnabled();
-	control.setEnabled(false);
-	control.setParent(newParent);
-	control.setEnabled(enabled);
-}
-/**
- * Returns true if this part is visible.
- */
-public boolean isVisible() {
-	Control ctrl = getControl();
-	if (ctrl != null)
-		return visible == Boolean.TRUE ? true : false;
-	return false;
-}
-/**
- * Shows the receiver if <code>visible</code> is true otherwise hide it.
- */
-public void setVisible(boolean makeVisible) {
-	Control ctrl = getControl();
-	if (ctrl != null) {
-		if(visible != null && makeVisible == visible.booleanValue())
-			return;
-		
-		visible = makeVisible ? Boolean.TRUE : Boolean.FALSE;
-		ctrl.setVisible(makeVisible);
-		final Object[] listeners = propertyListeners.getListeners();
-		if (listeners.length > 0) {
-			Boolean oldValue = makeVisible ? Boolean.FALSE : Boolean.TRUE;
-			PropertyChangeEvent event = new PropertyChangeEvent(this,PROP_VISIBILITY, oldValue,visible);
-			for (int i = 0; i < listeners.length; ++i)
-				((IPropertyChangeListener)listeners[i]).propertyChange(event);
-		}
-	}
-}
-/**
- * Sets the presentation bounds.
- */
-public void setBounds(Rectangle r) {
-	Control ctrl = getControl();
-	if (ctrl != null)
-		ctrl.setBounds(r);
-}
-/**
- * Sets the parent for this part.
- */
-public void setContainer(ILayoutContainer container) {
-	this.container = container;
-}
-/**
- * Sets focus to this part.
- */
-public void setFocus() {
-}
-/** 
- * Sets the part ID.
- */
-public void setID(String str) {
-	id = str;
-}
-/**
- * @see IPartDropTarget::targetPartFor
- */
-public LayoutPart targetPartFor(LayoutPart dragSource) {
-	return null;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LayoutPartSash.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LayoutPartSash.java
deleted file mode 100644
index f07b627..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LayoutPartSash.java
+++ /dev/null
@@ -1,187 +0,0 @@
-package org.eclipse.ui.internal;
-
-/**********************************************************************
-Copyright (c) 2000, 2001, 2002, International Business Machines 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:
-  Cagatay Kavukcuoglu <cagatayk@acm.org> 
-    - Fix for bug 10025 - Resizing views should not use height ratios
-**********************************************************************/
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.*;
-
-class LayoutPartSash extends LayoutPart {
-
-	private Sash sash;
-	private PartSashContainer rootContainer;
-	private int style;
-
-	private LayoutPartSash preLimit;
-	private LayoutPartSash postLimit;
-
-	SelectionListener selectionListener;
-	private float ratio = 0.5f;
-	
-	/* Optimize limit checks by calculating minimum 
-	 * and maximum ratios once per drag
-	 */
-	private float minRatio;
-	private float maxRatio;
-
-	
-	
-LayoutPartSash(PartSashContainer rootContainer,int style) {
-	super(null);
-	this.style = style;
-	this.rootContainer = rootContainer;
-
-	selectionListener = new SelectionAdapter () {
-		public void widgetSelected(SelectionEvent e) {
-			if (e.detail == SWT.DRAG)
-				checkDragLimit(e);
-			else
-				LayoutPartSash.this.widgetSelected(e.x, e.y, e.width, e.height);
-		}
-	};
-
-	initDragRatios();
-}
-
-// checkDragLimit contains changes by cagatayk@acm.org
-private void checkDragLimit(SelectionEvent event) {
-	LayoutTree root = rootContainer.getLayoutTree();
-	LayoutTreeNode node = root.findSash(this);
-	Rectangle nodeBounds = node.getBounds();
-	
-	// optimization: compute ratios only once per drag
-	if (minRatio < 0)
-		minRatio = node.getMinimumRatioFor(nodeBounds);
-	if (maxRatio < 0)
-		maxRatio = node.getMaximumRatioFor(nodeBounds);
-
-	if(style == SWT.VERTICAL) {
-		// limit drag to current node's bounds
-		if (event.x < nodeBounds.x)
-			event.x = nodeBounds.x;
-		if ((event.x + event.width) > (nodeBounds.x + nodeBounds.width))
-			event.x = nodeBounds.x + nodeBounds.width - event.width;
-		// limit drag to current node's ratios
-		float width = nodeBounds.width;
-		if (event.x - nodeBounds.x < width * minRatio)
-			event.x = nodeBounds.x + (int)(width * minRatio);
-		if (event.x - nodeBounds.x > width * maxRatio)
-			event.x = nodeBounds.x + (int)(width * maxRatio);
-	} else {
-		// limit drag to current node's bounds
-		if (event.y < nodeBounds.y)
-			event.y = nodeBounds.y;
-		if ((event.y + event.height) > (nodeBounds.y + nodeBounds.height))
-			event.y = nodeBounds.y + nodeBounds.height - event.height;
-		// limit drag to current node's ratios
-		float height = nodeBounds.height;
-		if (event.y - nodeBounds.y < height * minRatio)
-			event.y = nodeBounds.y + (int)(height * minRatio);
-		if (event.y - nodeBounds.y > height * maxRatio)
-			event.y = nodeBounds.y + (int)(height * maxRatio);
-	}
-}
-
-/**
- * Creates the control
- */
-public void createControl(Composite parent) {
-	if (sash == null) {
-		sash = new Sash(parent, style);
-		sash.addListener(SWT.MouseDown, rootContainer.getMouseDownListener());
-		sash.addSelectionListener(selectionListener);
-	}
-}
-/**
- * See LayoutPart#dispose
- */
-public void dispose() {
-
-	if (sash != null)
-		sash.dispose();
-	sash = null;
-}
-/**
- * Gets the presentation bounds.
- */
-public Rectangle getBounds() {
-	if(sash == null)
-		return super.getBounds();
-	return sash.getBounds();
-}
-/**
- * Returns the part control.
- */
-public Control getControl() {
-	return sash;
-}
-/** 
- *
- */
-public String getID() {
-	return null;
-}
-LayoutPartSash getPostLimit() {
-	return postLimit;
-}
-LayoutPartSash getPreLimit() {
-	return preLimit;
-}
-float getRatio() {
-	return ratio;
-}
-boolean isHorizontal() {
-	return ((style & SWT.HORIZONTAL) == SWT.HORIZONTAL);
-}
-boolean isVertical() {
-	return ((style & SWT.VERTICAL) == SWT.VERTICAL);
-}
-void setPostLimit(LayoutPartSash newPostLimit) {
-	postLimit = newPostLimit;
-}
-void setPreLimit(LayoutPartSash newPreLimit) {
-	preLimit = newPreLimit;
-}
-void setRatio(float newRatio) {
-	if (newRatio < 0.0 || newRatio > 1.0) return;
-	ratio = newRatio;
-}
-/**
- * @see IPartDropTarget::targetPartFor
- */
-public LayoutPart targetPartFor(LayoutPart dragSource) {
-	return null;
-}
-private void widgetSelected(int x, int y, int width, int height) {
-	LayoutTree root = rootContainer.getLayoutTree();
-	LayoutTreeNode node = root.findSash(this);
-	Rectangle nodeBounds = node.getBounds();
-	//Recompute ratio
-	if(style == SWT.VERTICAL) {
-		setRatio((float)(x - nodeBounds.x)/(float)nodeBounds.width);
-	} else {
-		setRatio((float)(y - nodeBounds.y)/(float)nodeBounds.height);
-	}
-		
-	node.setBounds(nodeBounds);
-	initDragRatios();
-}
-
-
-private void initDragRatios() {
-	minRatio = maxRatio = -1f;
-}
-
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LayoutTree.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LayoutTree.java
deleted file mode 100644
index 0589a3f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LayoutTree.java
+++ /dev/null
@@ -1,188 +0,0 @@
-package org.eclipse.ui.internal;
-
-/**********************************************************************
-Copyright (c) 2000, 2001, 2002, International Business Machines 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:
-  Cagatay Kavukcuoglu <cagatayk@acm.org> 
-    - Fix for bug 10025 - Resizing views should not use height ratios
-**********************************************************************/
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import java.util.ArrayList;
-/**
- * Implementation of a tree where the node is allways a sash
- * and it allways has two chidren. If a children is removed
- * the sash, ie the node, is removed as well and its other children
- * placed on its parent.
- */
-public class LayoutTree {
-	/* The parent of this tree or null if it is the root */
-	LayoutTreeNode parent;
-	/* Any LayoutPart if this is a leaf or a LayoutSashPart if it is a node */
-	LayoutPart part;
-
-/**
- * Initialize this tree with its part.
- */
-public LayoutTree(LayoutPart part) {
-	this.part = part;
-}
-/**
- * Add the relation ship between the children in the list
- * and returns the left children.
- */
-public LayoutPart computeRelation(ArrayList relations) {
-	return part;
-}
-/**
- * Dispose all Sashs in this tree
- */
-public void disposeSashes() {
-}
-/**
- * Find a LayoutPart in the tree and return its sub-tree. Returns
- * null if the child is not found.
- */
-public LayoutTree find(LayoutPart child) {
-	if(part != child) 
-		return null;
-	return this;
-}
-/**
- * Find the Left,Right,Top and Botton 
- * sashes around this tree and set them
- * in <code>sashes</code>
- */
-public void findSashes(PartPane.Sashes sashes) {
-	if(getParent() == null)
-		return;
-	getParent().findSashes(this,sashes);
-}
-/**
- * Find the part that is in the bottom rigth possition.
- */
-public LayoutPart findBottomRight() {
-	return part;
-}
-/**
- * Find a sash in the tree and return its sub-tree. Returns
- * null if the sash is not found.
- */
-public LayoutTreeNode findSash(LayoutPartSash sash) {
-	return null;
-}
-/**
- * Return the bounds of this tree which is the rectangle that
- * contains all Controls in this tree.
- */
-public Rectangle getBounds() {
-	return part.getBounds();
-}
-
-// getMinimumWidth() added by cagatayk@acm.org 
-public int getMinimumWidth() {
-	return part.getMinimumWidth();
-}
-
-// getMinimumHeight() added by cagatayk@acm.org 
-public int getMinimumHeight() {
-	return part.getMinimumHeight();
-}
-/**
- * Returns the parent of this tree or null if it is the root.
- */
-public LayoutTreeNode getParent() {
-	return parent;
-}
-/**
- * Inserts a new child on the tree. The child will be placed beside 
- * the <code>relative</code> child. Returns the new root of the tree.
- */
-public LayoutTree insert(LayoutPart child,boolean left,LayoutPartSash sash,LayoutPart relative) {
-	LayoutTree relativeChild = find(relative);
-	LayoutTreeNode node = new LayoutTreeNode(sash);
-	if(relativeChild == null) {
-		//Did not find the relative part. Insert beside the root.
-		node.setChild(left,child);	
-		node.setChild(!left,this);
-		return node;
-	} else {
-		LayoutTreeNode oldParent = relativeChild.getParent();
-		node.setChild(left,child);	
-		node.setChild(!left,relativeChild);
-		if(oldParent == null) {
-			//It was the root. Return a new root.
-			return node;
-		}
-		oldParent.replaceChild(relativeChild,node);
-		return this;
-	}
-}
-/**
- * Returns true if this tree has visible parts otherwise returns false.
- */
-public boolean isVisible() {
-	return !(part instanceof PartPlaceholder);
-}
-/**
- * Recompute the ratios in this tree.
- */
-public void recomputeRatio() {
-}
-/**
- * Find a child in the tree and remove it and its parent.
- * The other child of its parent is placed on the parent's parent.
- * Returns the new root of the tree.
- */
-public LayoutTree remove(LayoutPart child) {
-	LayoutTree tree = find(child);
-	if(tree == null)
-		return this;
-	LayoutTreeNode oldParent = tree.getParent();
-	if(oldParent == null) {
-		//It was the root and the only child of this tree
-		return null;
-	}
-	if(oldParent.getParent() == null)
-		return oldParent.remove(tree);
-		
-	oldParent.remove(tree);
-	return this;
-}
-/**
- * Resize the parts on this tree to fit in <code>bounds</code>.
- */
-public void setBounds(Rectangle bounds) {
-	part.setBounds(bounds);
-}
-/**
- * Set the parent of this tree.
- */
-void setParent(LayoutTreeNode parent) {
-	this.parent = parent;
-}
-/**
- * Set the part of this leaf
- */
-void setPart(LayoutPart part) {
-	this.part = part;
-}
-/**
- * Returns a string representation of this object.
- */
-public String toString() {
-	return "(" + part.toString() + ")";//$NON-NLS-2$//$NON-NLS-1$
-}
-/**
- * Create the sashes if the children are visible
- * and dispose it if they are not.
- */
-public void updateSashes(Composite parent) {
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LayoutTreeNode.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LayoutTreeNode.java
deleted file mode 100644
index 4e2e43a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LayoutTreeNode.java
+++ /dev/null
@@ -1,511 +0,0 @@
-package org.eclipse.ui.internal;
-
-/**********************************************************************
-Copyright (c) 2000, 2001, 2002, International Business Machines 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:
-  Cagatay Kavukcuoglu <cagatayk@acm.org> 
-    - Fix for bug 10025 - Resizing views should not use height ratios
-**********************************************************************/
-
-import java.util.ArrayList;
-
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Sash;
-import org.eclipse.ui.IPageLayout;
-
-/**
- * Implementation of a tree node. The node represents a
- * sash and it allways has two children.
- */
-public class LayoutTreeNode extends LayoutTree {
-	/* The node children witch may be another node or a leaf */
-	private LayoutTree children[] = new LayoutTree[2];
-	/* The sash's width when vertical and hight on horizontal */
-	private final static int SASH_WIDTH = 3;
-/**
- * Initialize this tree with its sash.
- */
-public LayoutTreeNode(LayoutPartSash sash) {
-	super(sash);
-}
-/**
- * Add the relation ship between the children in the list
- * and returns the left children.
- */
-public LayoutPart computeRelation(ArrayList relations) {
-	PartSashContainer.RelationshipInfo r = new PartSashContainer.RelationshipInfo();
-	r.relative = children[0].computeRelation(relations);
-	r.part = children[1].computeRelation(relations);
-	r.ratio = getSash().getRatio();
-	r.relationship = getSash().isVertical()?IPageLayout.RIGHT:IPageLayout.BOTTOM;
-	relations.add(0,r);
-	return r.relative;
-}
-/**
- * Dispose all Sashs in this tree
- */
-public void disposeSashes() {
-	children[0].disposeSashes();
-	children[1].disposeSashes();
-	getSash().dispose();
-}
-/**
- * Find a LayoutPart in the tree and return its sub-tree. Returns
- * null if the child is not found.
- */
-public LayoutTree find(LayoutPart child) {
-	LayoutTree node = children[0].find(child);
-	if(node != null) return node;
-	node = children[1].find(child);
-	return node;
-}
-/**
- * Find the part that is in the bottom right position.
- */
-public LayoutPart findBottomRight() {
-	if(children[1].isVisible())
-		return children[1].findBottomRight();
-	return children[0].findBottomRight();
-}
-/**
- * Go up in the tree finding a parent that is common of both children.
- * Return the subtree.
- */
-public LayoutTreeNode findCommonParent(LayoutPart child1, LayoutPart child2) {
-	return findCommonParent(child1,child2,false,false);
-}
-/**
- * Go up in the tree finding a parent that is common of both children.
- * Return the subtree.
- */
-LayoutTreeNode findCommonParent(LayoutPart child1, LayoutPart child2,boolean foundChild1,boolean foundChild2) {
-	if(!foundChild1)
-		foundChild1 = find(child1) != null;
-	if(!foundChild2)
-		foundChild2 = find(child2) != null;
-	if(foundChild1 && foundChild2)
-		return this;
-	if(parent == null)
-		return null;
-	return parent.findCommonParent(child1,child2,foundChild1,foundChild2);
-}
-/**
- * Find a sash in the tree and return its sub-tree. Returns
- * null if the sash is not found.
- */
-public LayoutTreeNode findSash(LayoutPartSash sash) {
-	if(this.getSash() == sash)
-		return this;
-	LayoutTreeNode node = children[0].findSash(sash);
-	if(node != null) return node;
-	node = children[1].findSash(sash);
-	if(node != null) return node;
-	return null;
-}
-/**
- * Sets the elements in the array of sashes with the
- * Left,Rigth,Top and Botton sashes. The elements
- * may be null depending whether there is a shash
- * beside the <code>part</code>
- */
-void findSashes(LayoutTree child,PartPane.Sashes sashes) {
-	Sash sash = (Sash)getSash().getControl();
-	boolean leftOrTop = children[0] == child;
-	if(sash != null) {
-		LayoutPartSash partSash = getSash();
-		//If the child is in the left, the sash 
-		//is in the rigth and so on.
-		if(leftOrTop) {
-			if(partSash.isVertical()) {
-				if(sashes.right == null)
-					sashes.right = sash;
-			} else {
-				if(sashes.bottom == null)
-					sashes.bottom = sash;
-			}
-		} else {
-			if(partSash.isVertical()) {
-				if(sashes.left == null)
-					sashes.left = sash;
-			} else {
-				if(sashes.top == null)
-					sashes.top = sash;
-			}
-		}
-	}
-	if(getParent() != null)
-		getParent().findSashes(this,sashes);
-}
-/**
- * Return the bounds of this tree which is the rectangle that
- * contains all Controls in this tree.
- */
-public Rectangle getBounds() {
-	if(!children[0].isVisible())
-		return children[1].getBounds();
-
-	if(!children[1].isVisible())
-		return children[0].getBounds();
-
-	
-	Rectangle leftBounds = children[0].getBounds();
-	Rectangle rightBounds = children[1].getBounds();
-	Rectangle sashBounds = getSash().getBounds();
-	Rectangle result = new Rectangle(leftBounds.x,leftBounds.y,leftBounds.width,leftBounds.height);
-	if(getSash().isVertical()) {
-		result.width = rightBounds.width + leftBounds.width + sashBounds.width;
-	} else {
-		result.height = rightBounds.height + leftBounds.height + sashBounds.height;
-	}
-	return result;
-}
-/**
- * Returns the sash of this node.
- */
-public LayoutPartSash getSash() {
-	return (LayoutPartSash)part;
-}
-/**
- * Returns true if this tree has visible parts otherwise returns false.
- */
-public boolean isVisible() {
-	return children[0].isVisible() || children[1].isVisible();
-}
-/**
- * Recompute the ratios in this tree. The ratio for a node is the width
- * (or height if the sash is horizontal) of the left child's bounds 
- * divided by the width or height of node's bounds. Sash width <em>is</em> 
- * considered in ratio computation.
- */
-public void recomputeRatio() {
-	children[0].recomputeRatio();
-	children[1].recomputeRatio();
-
-	if(children[0].isVisible() && children[1].isVisible()) {
-		if(getSash().isVertical()) {
-			float left = children[0].getBounds().width;
-			float right = children[1].getBounds().width;
-			getSash().setRatio(left/(right+left+SASH_WIDTH));
-		} else {
-			float left = children[0].getBounds().height;
-			float right = children[1].getBounds().height;
-			getSash().setRatio(left/(right+left+SASH_WIDTH));
-		}
-	}
-		
-}
-/**
- * Remove the child and this node from the tree
- */
-LayoutTree remove(LayoutTree child) {
-	getSash().dispose();
-	if(parent == null) {
-		//This is the root. Return the other child to be the new root.
-		if(children[0] == child) {		
-			children[1].setParent(null);
-			return children[1];
-		}
-		children[0].setParent(null);
-		return children[0];
-	}
-	
-	LayoutTreeNode oldParent = parent;
-	if(children[0] == child)
-		oldParent.replaceChild(this,children[1]);
-	else
-		oldParent.replaceChild(this,children[0]);
-	return oldParent;
-}
-/**
- * Replace a child with a new child and sets the new child's parent.
- */
-void replaceChild(LayoutTree oldChild,LayoutTree newChild) {
-	if(children[0] == oldChild)
-		children[0] = newChild;
-	else if(children[1] == oldChild)
-		children[1] = newChild;
-	newChild.setParent(this);
-	if(!children[0].isVisible() || ! children[0].isVisible())
-		getSash().dispose();
-	
-}
-/**
- * Go up from the subtree and return true if all the sash are 
- * in the direction specified by <code>isVertical</code>
- */
-public boolean sameDirection(boolean isVertical,LayoutTreeNode subTree) {
-	boolean treeVertical = getSash().isVertical();
-	if (treeVertical != isVertical)
-		return false;
-	while(subTree != null) {
-		if(this == subTree)
-			return true;
-		if(subTree.children[0].isVisible() && subTree.children[1].isVisible())
-			if(subTree.getSash().isVertical() != isVertical)
-				return false;
-		subTree = subTree.getParent();
-	}
-	return true;
-}
-/**
- * Resize the parts on this tree to fit in <code>bounds</code>.
- */
-public void setBounds(Rectangle bounds) {
-	if(!children[0].isVisible()) {
-		children[1].setBounds(bounds);
-		return;
-	}
-	if(!children[1].isVisible()) {
-		children[0].setBounds(bounds);
-		return;
-	}
-	
-	Rectangle leftBounds = new Rectangle(bounds.x,bounds.y,bounds.width,bounds.height);
-	Rectangle rightBounds = new Rectangle(bounds.x,bounds.y,bounds.width,bounds.height);
-	Rectangle sashBounds = new Rectangle(bounds.x,bounds.y,bounds.width,bounds.height);
-	if(getSash().isVertical()) {
-		//Work on x and width
-		leftBounds.width = (int)(getSash().getRatio() * bounds.width);
-		sashBounds.x = leftBounds.x + leftBounds.width;
-		sashBounds.width = SASH_WIDTH;
-		rightBounds.x = sashBounds.x + sashBounds.width;
-		rightBounds.width = bounds.width - leftBounds.width - sashBounds.width;
-		adjustWidths(bounds, leftBounds, rightBounds, sashBounds);
-	} else {
-		//Work on y and height
-		leftBounds.height = (int)(getSash().getRatio() * bounds.height);
-		sashBounds.y = leftBounds.y + leftBounds.height;
-		sashBounds.height = SASH_WIDTH;
-		rightBounds.y = sashBounds.y + sashBounds.height;
-		rightBounds.height = bounds.height - leftBounds.height - sashBounds.height;
-		adjustHeights(bounds, leftBounds, rightBounds, sashBounds);
-	}
-	getSash().setBounds(sashBounds);
-	children[0].setBounds(leftBounds);
-	children[1].setBounds(rightBounds);
-}
-
-// adjustHeights added by cagatayk@acm.org 
-private boolean adjustHeights(Rectangle node, Rectangle left, Rectangle right, Rectangle sash) {
-	int leftAdjustment = 0;
-	int rightAdjustment = 0;
-
-	leftAdjustment = adjustChildHeight(left, node, true);
-	if (leftAdjustment > 0) {
-		right.height -= leftAdjustment;
-	}
-	
-	rightAdjustment = adjustChildHeight(right, node, false);
-	if (rightAdjustment > 0) {
-		left.height -= rightAdjustment;
-	}
-	
-	boolean adjusted = leftAdjustment > 0 || rightAdjustment > 0;
-	if (adjusted) {
-		sash.y = left.y + left.height;
-		right.y = sash.y + sash.height;
-	}
-
-	return adjusted;
-}
-
-// adjustChildHeight added by cagatayk@acm.org 
-private int adjustChildHeight(Rectangle childBounds, Rectangle nodeBounds, boolean left) {
-	int adjustment = 0;
-	int minimum = 0;
-
-	minimum = left ? 
-		Math.round(getMinimumRatioFor(nodeBounds) * nodeBounds.height):
-		Math.round((1 - getMaximumRatioFor(nodeBounds)) * nodeBounds.height) - SASH_WIDTH;
-	
-	if (minimum > childBounds.height) {
-		adjustment = minimum - childBounds.height;
-		childBounds.height = minimum;
-	}
-
-	return adjustment;
-}
-
-// adjustWidths added by cagatayk@acm.org 
-private boolean adjustWidths(Rectangle node, Rectangle left, Rectangle right, Rectangle sash) {
-	int leftAdjustment = 0;
-	int rightAdjustment = 0;
-
-	leftAdjustment = adjustChildWidth(left, node, true);
-	if (leftAdjustment > 0) {
-		right.width -= leftAdjustment;
-	}
-	
-	rightAdjustment = adjustChildWidth(right, node, false);
-	if (rightAdjustment > 0) {
-		left.width -= rightAdjustment;
-	}
-	
-	boolean adjusted = leftAdjustment > 0 || rightAdjustment > 0;
-	if (adjusted) {
-		sash.x = left.x + left.width;
-		right.x = sash.x + sash.width;
-	}
-
-	return adjusted;
-}
-
-// adjustChildWidth added by cagatayk@acm.org 
-private int adjustChildWidth(Rectangle childBounds, Rectangle nodeBounds, boolean left) {
-	int adjustment = 0;
-	int minimum = 0;
-
-	minimum = left ? 
-		Math.round(getMinimumRatioFor(nodeBounds) * nodeBounds.width) :
-		Math.round((1 - getMaximumRatioFor(nodeBounds)) * nodeBounds.width) - SASH_WIDTH;
-	
-	if (minimum > childBounds.width) {
-		adjustment = minimum - childBounds.width;
-		childBounds.width = minimum;
-	}
-
-	return adjustment;
-}
-
-// getMinimumRatioFor added by cagatayk@acm.org 
-/**
- * Obtain the minimum ratio required to display the control on the "left"
- * using its minimum dimensions.
- */
-public float getMinimumRatioFor(Rectangle bounds) {
-	float part = 0, whole = 0;
-
-	if (getSash().isVertical()) {
-		part = children[0].getMinimumWidth();
-		whole = bounds.width;
-	}
-	else {
-		part = children[0].getMinimumHeight();
-		whole = bounds.height;
-	}
-	
-	return (part != 0 ) ? part / whole : IPageLayout.RATIO_MIN;
-}
-
-// getMaximumRatioFor added by cagatayk@acm.org 
-/**
- * Obtain the maximum ratio required to display the control on the "right"
- * using its minimum dimensions.
- */
-public float getMaximumRatioFor(Rectangle bounds) {
-	float part = 0, whole = 0;
-
-	if (getSash().isVertical()) {
-		whole = bounds.width;
-		part = whole - children[1].getMinimumWidth();
-	}
-	else {
-		whole = bounds.height;
-		part = whole - children[1].getMinimumHeight();
-	}
-	
-	return (part != whole) ? (part - SASH_WIDTH) / whole : IPageLayout.RATIO_MAX;
-	
-}
-
-// getMinimumHeight added by cagatayk@acm.org 
-/**
- * Obtain the minimum height required to display all controls under
- * this node.
- */
-public int getMinimumHeight() {
-	int left = children[0].getMinimumHeight();
-	int right = children[1].getMinimumHeight();
-
-	int minimum = 0;
-	if (getSash().isVertical())
-		minimum = Math.max(left, right);
-	else if (left > 0 || right > 0) {
-		minimum = left + right;
-		// only consider sash if both children are visible, fix for placeholders
-		if (children[0].isVisible() && children[1].isVisible()) {
-			minimum += SASH_WIDTH;
-		}
-	}
-	
-	return minimum;
-}
-
-// getMinimumWidth added by cagatayk@acm.org 
-/**
- * Obtain the minimum width required to display all controls under
- * this node.
- */
-public int getMinimumWidth() {
-	int left = children[0].getMinimumWidth();
-	int right = children[1].getMinimumWidth();
-
-	int minimum = 0;
-	if (!getSash().isVertical())
- 		minimum = Math.max(left, right);
-	else if (left > 0 || right > 0) {
-		minimum = left + right;
-		// only consider sash if both children are visible, fix for placeholders
-		if (children[0].isVisible() && children[1].isVisible()) {
-			minimum += SASH_WIDTH;
-		}
-	}
-	
-	return minimum;
-}
-
-
-/**
- * Sets a child in this node
- */
-void setChild(boolean left,LayoutPart part) {
-	LayoutTree child = new LayoutTree(part);
-	setChild(left,child);
-}
-/**
- * Sets a child in this node
- */
-void setChild(boolean left,LayoutTree child) {
-	int index = left?0:1;
-	children[index] = child;
-	child.setParent(this);
-}
-/**
- * Returns a string representation of this object.
- */
-public String toString() {
-	String s = "<null>\n";//$NON-NLS-1$
-	if(part.getControl() != null)
-		s = "<@" + part.getControl().hashCode() + ">\n";//$NON-NLS-2$//$NON-NLS-1$
-	String result = "["; //$NON-NLS-1$
-	if(children[0].getParent() != this)
-		result = result + "{" + children[0] + "}" + s;//$NON-NLS-2$//$NON-NLS-1$
-	else
-		result = result + children[0] + s;
-	
-	if(children[1].getParent() != this)
-		result = result + "{" + children[1] + "}]";//$NON-NLS-2$//$NON-NLS-1$
-	else
-		result = result + children[1] + "]";//$NON-NLS-1$
-	return result;
-}
-/**
- * Create the sashes if the children are visible
- * and dispose it if they are not.
- */
-public void updateSashes(Composite parent) {
-	if(parent == null) return;
-	children[0].updateSashes(parent);
-	children[1].updateSashes(parent);
-	if(children[0].isVisible() && children[1].isVisible())
-		getSash().createControl(parent);
-	else
-		getSash().dispose();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LinkedResourceDecorator.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LinkedResourceDecorator.java
deleted file mode 100644
index 0c24bbd..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LinkedResourceDecorator.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are 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
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ui.internal;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ILightweightLabelDecorator;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * A LinkedResourceDecorator decorates an element's image with a linked 
- * resource overlay. 
- * 
- * @since 2.1
- */
-public class LinkedResourceDecorator implements ILightweightLabelDecorator {
-	private static final String ICON_NAME = "link_ovr.gif";
-	private static final ImageDescriptor LINKED;
-
-	static {
-		String fileName = WorkbenchImages.ICONS_PATH + "ovr16/" + ICON_NAME;
-
-		LINKED =
-			WorkbenchImages.getImageDescriptorFromPlugin(
-				Platform.getPlugin(PlatformUI.PLUGIN_ID).getDescriptor(),
-				fileName);
-	}
-
-	/**
-	 * Creates a new <code>LinkedResourceDecorator</code>.
-	 */
-	public LinkedResourceDecorator() {
-	}
-	/**
-	 * @see IBaseLabelProvider#addListener(ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) {
-	}
-	/**
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		// no resources to dispose
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-	/**
-	 * @see IBaseLabelProvider#removeListener(ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-	}
-
-	/**
-	 * Adds the linked resource overlay if the given element is a linked
-	 * resource.
-	 * 
-	 * @param element element to decorate
-	 * @param decoration. The decoration we are adding to
-	 * @return the linked resource overlay or null if element is not a 
-	 * 	linked resource.
-	 * @see org.eclipse.jface.viewers.ILightweightLabelDecorator#getOverlay(java.lang.Object)
-	 */
-	public void decorate(Object element, IDecoration decoration) {
-
-		if (element instanceof IResource == false)
-			return;
-		IResource resource = (IResource) element;
-		if (resource.isLinked()) {
-			decoration.addOverlay(LINKED);
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LockToolBarAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LockToolBarAction.java
deleted file mode 100644
index ecfcbe8..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LockToolBarAction.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * The <code>LockToolBarAction</code> is used to lock the toolbars for the
- * workbench.  The toolbar for all perspectives is locked.
- */
-public class LockToolBarAction extends Action {
-	private WorkbenchWindow window;
-	
-	/**
-	 * Create a new instance of <code>LockToolBarAction</code>
-	 * 
-	 * @param window the workbench window this action applies to
-	 */
-	public LockToolBarAction(WorkbenchWindow window) {
-		super(WorkbenchMessages.getString("LockToolBarAction.text")); //$NON-NLS-1$
-		setToolTipText(WorkbenchMessages.getString("LockToolBarAction.toolTip")); //$NON-NLS-1$
-		setEnabled(false);
-		setChecked(false);
-		this.window = window;
-		WorkbenchHelp.setHelp(this, IHelpContextIds.LOCK_TOOLBAR_ACTION);
-		// add window listener for updating checked state of this action when
-		// workbench opened
-		window.getWorkbench().addWindowListener(new org.eclipse.ui.IWindowListener() {
-			public void windowActivated(IWorkbenchWindow window){
-			}   
-			public void windowDeactivated(IWorkbenchWindow window) {
-			}   
-			public void windowClosed(IWorkbenchWindow window) {
-			}   
-			public void windowOpened(IWorkbenchWindow window) {
-    			setChecked(((WorkbenchWindow)window).isToolBarLocked());
-			}   
-		});
-	}
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public void run() {
-		boolean locked = isChecked();
-		window.lockToolBar(locked);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/MessageLine.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/MessageLine.java
deleted file mode 100644
index 71a7c8f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/MessageLine.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-package org.eclipse.ui.internal;
-
-import org.eclipse.core.runtime.IStatus;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * A message line displaying a status.
- */
-public class MessageLine extends CLabel {
-	
-	private static final RGB ERROR_BACKGROUND_RGB = new RGB(230, 226, 221);
-	
-	private Color fNormalMsgAreaBackground;
-	private Color fErrorMsgAreaBackground;	
-
-	/**
-	 * Creates a new message line as a child of the given parent.
-	 */
-	public MessageLine(Composite parent) {
-		this(parent, SWT.LEFT);
-	}
-
-	/**
-	 * Creates a new message line as a child of the parent and with the given SWT stylebits.
-	 */
-	public MessageLine(Composite parent, int style) {
-		super(parent, style);
-		fNormalMsgAreaBackground= getBackground();
-		fErrorMsgAreaBackground= null;
-	}
-
-	
-	private Image findImage(IStatus status) {
-		if (status.isOK()) {
-			return null;
-		} else if (status.matches(IStatus.ERROR)) {
-			return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_ERROR_TSK);
-		} else if (status.matches(IStatus.WARNING)) {
-			return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_WARN_TSK);
-		} else if (status.matches(IStatus.INFO)) {
-			return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_INFO_TSK);
-		}
-		return null;
-	}
-
-	/**
-	 * Sets the message and image to the given status.
-	 * <code>null</code> is a valid argument and will set the empty text and no image
-	 */
-	public void setErrorStatus(IStatus status) {
-		if (status != null) {
-			String message= status.getMessage();
-			if (message != null && message.length() > 0) {
-				setText(message);
-				setImage(findImage(status));
-				if (fErrorMsgAreaBackground == null) {
-					fErrorMsgAreaBackground= new Color(getDisplay(), ERROR_BACKGROUND_RGB);
-				}
-				setBackground(fErrorMsgAreaBackground);
-				return;
-			}
-		}		
-		setText(""); //$NON-NLS-1$	
-		setImage(null);
-		setBackground(fNormalMsgAreaBackground);	
-	}
-	
-	/*
-	 * @see Widget#dispose()
-	 */
-	public void dispose() {
-		if (fErrorMsgAreaBackground != null) {
-			fErrorMsgAreaBackground.dispose();
-			fErrorMsgAreaBackground= null;
-		}
-		super.dispose();
-	}
-}
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/MultiEditorInnerPane.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/MultiEditorInnerPane.java
deleted file mode 100644
index 482daa8..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/MultiEditorInnerPane.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.eclipse.ui.internal;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.part.MultiEditor;
-
-/**
- * Implements a pane of each editor inside a MultiEditor.
- */
-public class MultiEditorInnerPane extends EditorPane {
-	
-	EditorPane parentPane;
-	/**
-	 * Constructor for MultiEditorInnerPane.
-	 */
-	public MultiEditorInnerPane(EditorPane pane,IEditorReference ref, WorkbenchPage page, EditorWorkbook workbook) {
-		super(ref, page, workbook);
-		parentPane = pane;
-	}
-	/**
-	 * Returns the outer editor.
-	 */
-	public EditorPane getParentPane() {
-		return parentPane;
-	}
-	/**
-	 * Update the gradient on the inner editor title bar
-	 */
-	private void updateGradient() {
-		MultiEditor multiEditor = (MultiEditor)parentPane.getPartReference().getPart(true);
-		if(multiEditor != null) {
-			IEditorPart part = (IEditorPart)this.getEditorReference().getPart(true);
-			if(part != null)
-				multiEditor.updateGradient(part);
-		}
-	}
-	/**
- 	 * Indicate focus in part.
-     */
-	public void showFocus(boolean inFocus) {
-		super.showFocus(inFocus);
-		updateGradient();
-	}
-	/* (non-Javadoc)
-	 * Method declared on PartPane.
-	 */
-	/* package */ void shellDeactivated() {
-		super.shellDeactivated();
-		updateGradient();
-	}
-	/* (non-Javadoc)
-	 * Method declared on PartPane.
-	 */
-	/* package */ void shellActivated() {
-		super.shellActivated();
-		updateGradient();
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/MultiEditorOuterPane.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/MultiEditorOuterPane.java
deleted file mode 100644
index e9e9789..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/MultiEditorOuterPane.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.ui.internal;
-
-import org.eclipse.ui.*;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-/**
- * Implements a pane for a MultiEditor.
- */
-public class MultiEditorOuterPane extends EditorPane {
-	/**
-	 * Constructor for MultiEditorOuterPane.
-	 */
-	public MultiEditorOuterPane(IEditorReference ref, WorkbenchPage page, EditorWorkbook workbook) {
-		super(ref, page, workbook);
-	}
-	/*
-	 * @see EditorPane
-	 */
-	protected void requestActivation() {
-		//Outer editor is never activated.
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NavigationHistory.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NavigationHistory.java
deleted file mode 100644
index 8a81840..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NavigationHistory.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NavigationHistoryAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NavigationHistoryAction.java
deleted file mode 100644
index b8da47e..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NavigationHistoryAction.java
+++ /dev/null
@@ -1,156 +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 v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-
-Contributors:
-    IBM Corporation - Initial implementation
-**********************************************************************/
-
-package org.eclipse.ui.internal;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.*;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.jface.viewers.ISelection;
-
-import org.eclipse.ui.*;
-
-/**
- * The <code>NavigationHistoryAction</code> moves navigation history 
- * back and forward.
- */
-public class NavigationHistoryAction extends PageEventAction implements IWorkbenchWindowPulldownDelegate2, IMenuCreator {
-	private boolean forward;
-	private Menu historyMenu;
-	private int MAX_HISTORY_LENGTH = 9;
-	
-	/**
-	 * Create a new instance of <code>NavigationHistoryAction</code>
-	 * 
-	 * @param window the workbench window this action applies to
-	 * @param forward if this action should move history forward of backward
-	 */
-	public NavigationHistoryAction(IWorkbenchWindow window,boolean forward) {
-		super("",window); //$NON-NLS-1$
-		if(forward) {
-			setText(WorkbenchMessages.getString("NavigationHistoryAction.forward.text"));
-			setToolTipText(WorkbenchMessages.getString("NavigationHistoryAction.forward.toolTip")); //$NON-NLS-1$
-		} else {
-			setText(WorkbenchMessages.getString("NavigationHistoryAction.backward.text"));
-			setToolTipText(WorkbenchMessages.getString("NavigationHistoryAction.backward.toolTip")); //$NON-NLS-1$
-		}
-		// WorkbenchHelp.setHelp(this, IHelpContextIds.CLOSE_ALL_PAGES_ACTION);
-		setEnabled(false);
-		this.forward = forward;
-		setMenuCreator(this);
-	}
-	/* (non-Javadoc)
-	 * Method declared on PageEventAction.
-	 */		
-	public void pageClosed(IWorkbenchPage page) {
-		super.pageClosed(page);
-		setEnabled(false);
-	}
-	public void dispose() {
-		if (historyMenu != null) {
-			for (int i=0; i<historyMenu.getItemCount(); i++) {
-				MenuItem menuItem = historyMenu.getItem(i);
-				menuItem.setData(null);
-			}
-			historyMenu.dispose();
-			historyMenu = null;
-		}
-	}
-	public Menu getMenu(Menu parent) {
-		return null;
-	}
-	public Menu getMenu(Control parent) {
-		dispose();
-		historyMenu = new Menu(parent);
-		final NavigationHistory history = (NavigationHistory)getWorkbenchWindow().getActivePage().getNavigationHistory();
-		NavigationHistoryEntry[] entries;
-		if (forward) entries = history.getForwardEntries();
-		else entries = history.getBackwardEntries();
-		for (int i=0; i<entries.length; i++) {
-			if (i > MAX_HISTORY_LENGTH) break;
-			String text = entries[i].getHistoryText();
-			if (text != null) {
-				MenuItem item = new MenuItem(historyMenu, SWT.NONE);
-				item.setData(entries[i]);
-				item.setText(text);
-				item.addSelectionListener(new SelectionAdapter() {
-					public void widgetSelected(SelectionEvent e) {
-						history.shiftCurrentEntry((NavigationHistoryEntry)e.widget.getData());
-					}
-				});
-			}
-		}
-		return historyMenu;
-	}
-	public void init(IWorkbenchWindow window){
-	}
-	/* (non-Javadoc)
-	 * Method declared on PageEventAction.
-	 */	
-	public void pageActivated(IWorkbenchPage page) {
-		super.pageActivated(page);
-		NavigationHistory nh = (NavigationHistory)page.getNavigationHistory();
-		if(forward)
-			nh.setForwardAction(this);
-		else
-			nh.setBackwardAction(this);
-	}
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public void run() {
-		WorkbenchPage page = (WorkbenchPage)getActivePage();
-		if (page != null) {
-			NavigationHistory nh = (NavigationHistory)page.getNavigationHistory();
-			if(forward)
-				nh.forward();
-			else
-				nh.backward();
-		}
-	}
-	public void run(IAction action) {
-	}
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-	public void update() {
-		// Set the enabled state of the action and set the tool tip text.  The tool tip
-		// text is set to reflect the item that one will move back/forward to.
-		WorkbenchPage page = (WorkbenchPage)getActivePage();
-		NavigationHistory history = (NavigationHistory)page.getNavigationHistory();
-		NavigationHistoryEntry[] entries;
-		if (forward) {
-			setEnabled(history.canForward());
-			entries = history.getForwardEntries();
-			if (entries.length > 0) {
-				NavigationHistoryEntry entry = entries[0];
-				String text = WorkbenchMessages.format("NavigationHistoryAction.forward.toolTipName", new String[] {entry.getHistoryText()});
-				setToolTipText(text);
-			} else {
-				setToolTipText(WorkbenchMessages.getString("NavigationHistoryAction.forward.toolTip")); //$NON-NLS-1$
-			}
-		}
-		else {
-			setEnabled(history.canBackward());
-			entries = history.getBackwardEntries();
-			if (entries.length > 0) {
-				NavigationHistoryEntry entry = entries[0];
-				String text = WorkbenchMessages.format("NavigationHistoryAction.backward.toolTipName", new String[] {entry.getHistoryText()});
-				setToolTipText(text);
-			} else {
-				setToolTipText(WorkbenchMessages.getString("NavigationHistoryAction.backward.toolTip")); //$NON-NLS-1$
-			}
-		}
-	}	
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NavigationHistoryEntry.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NavigationHistoryEntry.java
deleted file mode 100644
index 9395de0..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NavigationHistoryEntry.java
+++ /dev/null
@@ -1,253 +0,0 @@
-package org.eclipse.ui.internal;
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.IAdaptable;
-
-import org.eclipse.ui.*;
-/*
- * Wraps the INavigationLocation and keeps the info
- * about the editor.
- */
-public class NavigationHistoryEntry {
-
-	private IWorkbenchPage page;
-
-	/* The entry will have the pair input and id or a memento that
-	 * saves it or the entry that has one of the above.
-	 * Only one of them (input, memento, mementoEntry) will be set at a time;
-	 * the other two are null.
-	 */		
-	protected String editorID;
-	protected IEditorInput editorInput;
-	private IMemento memento;
-	protected NavigationHistoryEntry mementoEntry;
-	protected String historyText;
-	
-	/* Both may be set at the same time. */
-	protected INavigationLocation location;
-	private IMemento locationMemento;
-	
-	/**
-	 * Constructs a new HistoryEntry and intializes its editor input and editor id.
-	 */
-	public NavigationHistoryEntry(IWorkbenchPage page,IEditorPart part, INavigationLocation location) {
-		this.page = page;
-		editorID= part.getSite().getId();
-		editorInput= part.getEditorInput();
-		this.location = location;
-		if (location != null) {
-			historyText = location.getText();
-		}
-		// ensure that the historyText is initialized to something
-		if (historyText == null || historyText.equals("")) {
-			historyText = part.getTitle();
-		}
-	}
-	/**
-	 * Constructs a new HistoryEntry. <code>restoreState</code> should be called
-	 * to intialize the state of this entry.
-	 */
-	protected NavigationHistoryEntry(IWorkbenchPage page) {
-		this.page = page;
-	}
-	/**
-	 * Restores the state of the entry and the location if needed and then
-	 * restores the location.
-	 */
-	/* package */ void restoreLocation() {
-		if(editorInput == null) {
-			if(memento != null) {
-				restoreEditor(memento);
-				memento = null;
-			} else if(mementoEntry != null) {
-				if(mementoEntry.memento != null) {
-					mementoEntry.restoreEditor(mementoEntry.memento);
-					mementoEntry.memento = null;
-				}
-				editorID = mementoEntry.editorID;
-				editorInput = mementoEntry.editorInput;
-				mementoEntry = null;
-			}
-		}
-			
-		if (editorInput != null && editorID != null) {
-			try {
-				IEditorPart editor = page.openEditor(editorInput, editorID, true);
-				if (location == null) {
-					if(editor instanceof INavigationLocationProvider)
-						location = ((INavigationLocationProvider)editor).createEmptyNavigationLocation();
-				}
-					
-				if (location != null) {
-					if (locationMemento != null) {
-						location.setInput(editorInput);
-						location.restoreState(locationMemento);
-						locationMemento = null;
-					}
-					location.restoreLocation();
-				}
-			} catch (PartInitException e) {
-				// ignore for now
-			}
-		}
-	}
-	/**
-	 * Returns true if this entry can be persisted otherwise returns false;
-	 */
-	/* package */ boolean isPersistable() {
-		if(editorInput != null) {
-			IPersistableElement persistable = editorInput.getPersistable();
-			return persistable != null;
-		}
-		return memento != null || mementoEntry != null;
-	}
-	/**
-	 * Return the label to display in the history drop down list.  Use the
-	 * history entry text if the location has not been restored yet.
-	 */
-	/* package */ String getHistoryText() {
-		if (location != null) {
-			// location exists or has been restored, use its text.
-			// Also update the historyText so that this value will
-			// be saved.  Doing so handles cases where getText() value 
-			// may be dynamic. 
-			String text = location.getText();
-			if ((text == null) || text.equals("")) {
-				text = historyText;
-			} else {
-				historyText = text;
-			}
-			return text;
-		} else {		
-			return historyText;
-		}
-	}
-	/** 
-	 * Saves the state of this entry and its location.
-	 * Returns true if possible otherwise returns false.
-	 */
-	/* package */ boolean handlePartClosed() {
-		if(!isPersistable())
-			return false;
-		if(mementoEntry == null && memento == null) {	
-			IPersistableElement persistable = editorInput.getPersistable();	
-			memento = XMLMemento.createWriteRoot(IWorkbenchConstants.TAG_EDITOR);
-			memento.putString(IWorkbenchConstants.TAG_ID, editorID);
-			memento.putString(IWorkbenchConstants.TAG_FACTORY_ID, persistable.getFactoryId());
-			persistable.saveState(memento);
-		}
-		
-		if (location != null) {
-			locationMemento = XMLMemento.createWriteRoot(IWorkbenchConstants.TAG_POSITION);
-			location.saveState(locationMemento);
-			location.releaseState();
-		}
-		editorID= null;
-		editorInput= null;
-		return true;
-	}
-	/**
-	 * Saves the state of this entry and its location.
-	 */
-	/* package */ void saveState(IMemento mem, ArrayList entries) {
-		mem.putString(IWorkbenchConstants.TAG_HISTORY_LABEL, getHistoryText());
-		if(editorInput != null) {
-			int mementoEntryIndex = -1;
-			int size = entries.size();
-			for (int i = 0; i < size; i++) {
-				NavigationHistoryEntry entry = (NavigationHistoryEntry)entries.get(i);
-				if(entry == this)
-					break;
-				if(editorInput.equals(entry.editorInput) && editorID.equals(entry.editorID)) {
-					mementoEntryIndex = i;
-					break;
-				}
-			}
-			if(mementoEntryIndex >= 0) { 
-				IMemento childMem = mem.createChild(IWorkbenchConstants.TAG_INDEX);			
-				childMem.putInteger(IWorkbenchConstants.TAG_INDEX,mementoEntryIndex);
-			} else {			
-				IPersistableElement persistable = editorInput.getPersistable();
-				IMemento childMem = mem.createChild(IWorkbenchConstants.TAG_EDITOR);
-				childMem.putString(IWorkbenchConstants.TAG_ID, editorID);
-				childMem.putString(IWorkbenchConstants.TAG_FACTORY_ID, persistable.getFactoryId());
-				persistable.saveState(childMem);
-			}
-		} else if(memento != null) {
-			IMemento childMem = mem.createChild(IWorkbenchConstants.TAG_EDITOR);
-			childMem.putMemento(memento);
-		} else {
-			int mementoEntryIndex = entries.indexOf(mementoEntry);
-			IMemento childMem = mem.createChild(IWorkbenchConstants.TAG_INDEX);			
-			childMem.putInteger(IWorkbenchConstants.TAG_INDEX,mementoEntryIndex);
-		}
-		
-		if(locationMemento != null) {
-			IMemento childMem = mem.createChild(IWorkbenchConstants.TAG_POSITION);
-			childMem.putMemento(locationMemento);			
-		} else if (location != null) {
-			IMemento childMem = mem.createChild(IWorkbenchConstants.TAG_POSITION);
-			location.saveState(childMem);
-		}
-	}
-	/**
-	 * Restore the state of this entry.
-	 */
-	/* package */ void restoreState(IMemento mem,ArrayList entries) {
-		historyText = mem.getString(IWorkbenchConstants.TAG_HISTORY_LABEL);
-		memento = mem.getChild(IWorkbenchConstants.TAG_EDITOR);
-		locationMemento = mem.getChild(IWorkbenchConstants.TAG_POSITION);
-		IMemento childMem = mem.getChild(IWorkbenchConstants.TAG_INDEX);
-		if(childMem != null) {
-			Integer index = childMem.getInteger(IWorkbenchConstants.TAG_INDEX);
-			if(index.intValue() >= 0)
-				mementoEntry = (NavigationHistoryEntry)entries.get(index.intValue());
-			memento = null;
-		}
-	}
-	/*
-	 * Restores the editor input and editor id.
-	 */
-	private void restoreEditor(IMemento memento) {
-		String factoryID= memento.getString(IWorkbenchConstants.TAG_FACTORY_ID);
-		IElementFactory factory= WorkbenchPlugin.getDefault().getElementFactory(factoryID);
-		if (factory != null) {
-			IAdaptable element= factory.createElement(memento);
-			if (element instanceof IEditorInput) {
-				editorInput= (IEditorInput) element;
-				editorID= memento.getString(IWorkbenchConstants.TAG_ID);
-			}
-		}
-	}
-	/*
- 	 * (non-Javadoc)
-     * Method declared on Object.
-     */	
-	public String toString() {
-		return "Input<" + editorInput + "> Input<" + editorInput + "> Details<" + location + ">";
-	}
-	/**
-	 * Disposes this entry and its location.
-	 */
-	/* package */ void dispose() { 
-		if (location != null)
-			location.dispose();
-	}
-	/**
-	 * Merges this entry into the current entry. Returns true
-	 * if the merge was possible otherwise returns false.
-	 */
-	/* package */ boolean mergeInto(NavigationHistoryEntry currentEntry) {
-		if (editorInput != null && editorInput.equals(currentEntry.editorInput)) {
-			if (location != null) {
-				if (currentEntry.location == null) {
-					currentEntry.location= location;
-					return true;
-				} else {
-					return location.mergeInto(currentEntry.location);
-				}
-			}
-		}
-		return false; 
-	}
-};
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NewConfigurationInfo.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NewConfigurationInfo.java
deleted file mode 100644
index 9351d06..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NewConfigurationInfo.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NewWizardDropDownAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NewWizardDropDownAction.java
deleted file mode 100644
index 2d16f9b..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NewWizardDropDownAction.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.*;
-import org.eclipse.ui.actions.NewWizardAction;
-import org.eclipse.ui.actions.NewWizardMenu;
-
-/**
- * Invoke the resource creation wizard selection Wizard.
- * This action will retarget to the active view.
- */
-public class NewWizardDropDownAction extends Action implements IMenuCreator, IWorkbenchWindowPulldownDelegate2 {
-	private IWorkbench workbench;
-	private NewWizardAction newWizardAction;
-	private MenuManager dropDownMenuMgr;
-/**
- *	Create a new instance of this class
- */
-public NewWizardDropDownAction(IWorkbench aWorkbench, NewWizardAction newWizardAction) {
-	super(WorkbenchMessages.getString("NewWizardDropDown.text")); //$NON-NLS-1$
-	this.workbench = aWorkbench;
-	this.newWizardAction = newWizardAction;
-	setToolTipText(newWizardAction.getToolTipText());
-	setImageDescriptor(newWizardAction.getImageDescriptor());
-	setMenuCreator(this);
-}
-/**
- * create the menu manager for the drop down menu.
- */
-protected void createDropDownMenuMgr() {
-	if (dropDownMenuMgr == null) {
-		dropDownMenuMgr = new MenuManager();
-		dropDownMenuMgr.add(new NewWizardMenu(workbench.getActiveWorkbenchWindow()));
-	}
-}
-/**
- * dispose method comment.
- */
-public void dispose() {
-	if (dropDownMenuMgr != null) {
-		dropDownMenuMgr.dispose();
-		dropDownMenuMgr = null;
-	}
-}
-/**
- * getMenu method comment.
- */
-public Menu getMenu(Control parent) {
-	createDropDownMenuMgr();
-	return dropDownMenuMgr.createContextMenu(parent);
-}
-/**
- * Create the drop down menu as a submenu of parent.  Necessary
- * for CoolBar support.
- */
-public Menu getMenu(Menu parent) {
-	createDropDownMenuMgr();
-	Menu menu= new Menu(parent);
-	IContributionItem[] items = dropDownMenuMgr.getItems();
-	for (int i=0; i<items.length; i++) {
-		IContributionItem item = items[i];
-		IContributionItem newItem = item;
-		if (item instanceof ActionContributionItem) {
-			newItem = new ActionContributionItem(((ActionContributionItem)item).getAction());
-		}
-		newItem.fill(menu, -1);
-	}
-	return menu;
-}
-/**
- * @see IWorkbenchWindowActionDelegate#init(IWorkbenchWindow)
- */
-public void init(IWorkbenchWindow window){
-}
-public void run() {
-   newWizardAction.run();
-}
-/**
- * @see runWithEvent(IAction, Event)
- * @see IActionDelegate#run(IAction)
- */
-public void run(IAction action) {
-}
-/**
- * @see IActionDelegate#selectionChanged(IAction, ISelection)
- */
-public void selectionChanged(IAction action, ISelection selection){
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NewWizardShortcutAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NewWizardShortcutAction.java
deleted file mode 100644
index 81f1a94..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/NewWizardShortcutAction.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.eclipse.ui.internal;
-
-/**********************************************************************
-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:
-**********************************************************************/
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.dialogs.WorkbenchWizardElement;
-
-
-/**
- *	Instances can launch arbitrary resource creation wizards
- *	that have been marked as being available as workbench shortcut
- *	items
- */
-public class NewWizardShortcutAction extends Action {
-	private WorkbenchWizardElement wizardElement;
-	private IWorkbench workbench;
-/**
- *	Create an instance of this class.  Use this constructor if you do
- *	not wish to pre-specify the selection that should be provided to
- *	launched shortcut wizards.
- *
- *	@param element WorkbenchWizardElement
- */
-public NewWizardShortcutAction(IWorkbench workbench, WorkbenchWizardElement element) {
-	super(element.getLabel(element));
-	setToolTipText(element.getDescription());
-	setImageDescriptor(element.getImageDescriptor());
-	setId(IWorkbenchActionConstants.NEW);
-	wizardElement = element;
-	this.workbench = workbench;
-}
-/**
- *	This action has been invoked by the user
- *
- *	@param context Window
- */
-public void run() {
-	// create instance of target wizard
-
-	INewWizard wizard;
-	try {
-		wizard = (INewWizard)wizardElement.createExecutableExtension();
-	} catch (CoreException e) {
-		ErrorDialog.openError(
-			workbench.getActiveWorkbenchWindow().getShell(),
-			WorkbenchMessages.getString("NewWizardShortcutAction.errorTitle"), //$NON-NLS-1$
-			WorkbenchMessages.getString("NewWizardShortcutAction.errorMessage"), //$NON-NLS-1$
-			e.getStatus());
-		return;
-	}
-
-	ISelection selection = workbench.getActiveWorkbenchWindow().getSelectionService().getSelection();
-	IStructuredSelection selectionToPass = StructuredSelection.EMPTY;
-	if (selection instanceof IStructuredSelection) {
-		selectionToPass = wizardElement.adaptedSelection((IStructuredSelection) selection);
-	} else {
-		// Build the selection from the IFile of the editor
-		IWorkbenchPart part = workbench.getActiveWorkbenchWindow().getPartService().getActivePart();
-		if (part instanceof IEditorPart) {
-			IEditorInput input = ((IEditorPart)part).getEditorInput();
-			if (input instanceof IFileEditorInput) {
-				selectionToPass = new StructuredSelection(((IFileEditorInput)input).getFile());
-			}
-		}
-	}
-		
-	wizard.init(workbench, selectionToPass);
-
-	Shell parent = workbench.getActiveWorkbenchWindow().getShell();
-	WizardDialog dialog = new WizardDialog(parent, wizard);
-	dialog.create();
-	WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.NEW_WIZARD_SHORTCUT);
-	dialog.open();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectActionContributor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectActionContributor.java
deleted file mode 100644
index 688604a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectActionContributor.java
+++ /dev/null
@@ -1,218 +0,0 @@
-package org.eclipse.ui.internal;
-
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * This class describes the object contribution element within the popup menu
- * action registry.
- */
-public class ObjectActionContributor extends PluginActionBuilder implements IObjectActionContributor {
-	private static final String ATT_NAME_FILTER = "nameFilter"; //$NON-NLS-1$
-	private static final String ATT_ADAPTABLE = "adaptable"; //$NON-NLS-1$
-	private static final String P_TRUE = "true"; //$NON-NLS-1$
-
-	private IConfigurationElement config;
-	private boolean configRead = false;
-	private boolean adaptable = false;
-	
-	/**
-	 * The constructor.
-	 */
-	public ObjectActionContributor(IConfigurationElement config) {
-		this.config = config;
-		this.adaptable = P_TRUE.equalsIgnoreCase(config.getAttribute(ATT_ADAPTABLE));
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IObjectContributor.
-	 */
-	public boolean canAdapt() {
-		return adaptable;
-	}
-	
-	/**
-	 * Contributes actions applicable for the current selection.
-	 */
-	public boolean contributeObjectActions(IWorkbenchPart part, IMenuManager menu, ISelectionProvider selProv) {
-		if (!configRead)
-			readConfigElement();
-
-		// Easy case out if no actions
-		if (currentContribution.actions == null)
-			return false;
-			
-		// Get a structured selection.	
-		ISelection sel = selProv.getSelection();
-		if ((sel == null) || !(sel instanceof IStructuredSelection))
-			return false;
-		IStructuredSelection selection = (IStructuredSelection) sel;
-
-		// Generate menu.
-		for (int i = 0; i < currentContribution.actions.size(); i++) {
-			ActionDescriptor ad = (ActionDescriptor)currentContribution.actions.get(i);
-			currentContribution.contributeMenuAction(ad, menu, true);
-			// Update action for the current selection and part.
-			if (ad.getAction() instanceof ObjectPluginAction) {
-				ObjectPluginAction action = (ObjectPluginAction) ad.getAction();
-				action.setActivePart(part);
-				action.selectionChanged(selection);
-			}
-		}
-		return true;
-	}
-
-	/**
-	 * Contributes menus applicable for the current selection.
-	 */
-	public boolean contributeObjectMenus(IMenuManager menu, ISelectionProvider selProv) {
-		if (!configRead)
-			readConfigElement();
-
-		// Easy case out if no menus
-		if (currentContribution.menus == null)
-			return false;
-			
-		// Get a structured selection.	
-		ISelection sel = selProv.getSelection();
-		if ((sel == null) || !(sel instanceof IStructuredSelection))
-			return false;
-
-		// Generate menu.
-		for (int i = 0; i < currentContribution.menus.size(); i++) {
-			IConfigurationElement menuElement = (IConfigurationElement)currentContribution.menus.get(i);
-			currentContribution.contributeMenu(menuElement, menu, true);
-		}
-		return true;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on PluginActionBuilder.
-	 */
-	protected ActionDescriptor createActionDescriptor(IConfigurationElement element) {
-		return new ActionDescriptor(element, ActionDescriptor.T_POPUP);
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on PluginActionBuilder.
-	 */
-	protected BasicContribution createContribution() {
-		return new ObjectContribution();
-	}
-
-	/**
-	 * Returns true if name filter is not specified for the contribution
-	 * or the current selection matches the filter.
-	 */
-	public boolean isApplicableTo(Object object) {
-		if (!configRead)
-			readConfigElement();
-
-		if (!testName(object))
-			return false;
-
-		return ((ObjectContribution)currentContribution).isApplicableTo(object);
-	}
-	
-	/**
-	 * Reads the configuration element and all the children.
-	 * This creates an action descriptor for every action in the extension.
-	 */
-	private void readConfigElement() {
-		currentContribution = createContribution();
-		readElementChildren(config);
-		configRead = true;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on PluginActionBuilder.
-	 */
-	protected boolean readElement(IConfigurationElement element) {
-		String tag = element.getName();
-		
-		// Found visibility sub-element
-		if (tag.equals(PluginActionBuilder.TAG_VISIBILITY)) {
-			((ObjectContribution)currentContribution).setVisibilityTest(element);
-			return true;
-		} 
-		
-		// Found filter sub-element				
-		if (tag.equals(PluginActionBuilder.TAG_FILTER)) {
-			((ObjectContribution)currentContribution).addFilterTest(element);
-			return true;
-		}
-
-		return super.readElement(element);
-	}
-	
-	/**
-	 * Returns whether the current selection matches the contribution name filter.
-	 */
-	private boolean testName(Object object) {
-		String nameFilter = config.getAttribute(ATT_NAME_FILTER);
-		if (nameFilter == null)
-			return true;
-		String objectName = null;
-		if (object instanceof IAdaptable) {
-			IAdaptable element = (IAdaptable) object;
-			IWorkbenchAdapter de = (IWorkbenchAdapter) element.getAdapter(IWorkbenchAdapter.class);
-			if (de != null)
-				objectName = de.getLabel(element);
-		}
-		if (objectName == null) {
-			objectName = object.toString();
-		}
-		return SelectionEnabler.verifyNameMatch(objectName, nameFilter);
-	}
-
-
-	/**
-	 * Helper class to collect the menus and actions defined within a
-	 * contribution element.
-	 */
-	private static class ObjectContribution extends BasicContribution {
-		private ObjectFilterTest filterTest;
-		private ActionExpression visibilityTest;
-
-		public void addFilterTest(IConfigurationElement element) {
-			if (filterTest == null)
-				filterTest = new ObjectFilterTest();
-			filterTest.addFilterElement(element);
-		}
-		
-		public void setVisibilityTest(IConfigurationElement element) {
-			visibilityTest = new ActionExpression(element);
-		}
-		
-		/**
-		 * Returns true if name filter is not specified for the contribution
-		 * or the current selection matches the filter.
-		 */
-		public boolean isApplicableTo(Object object) {
-			if (visibilityTest != null)
-				return visibilityTest.isEnabledFor(object);
-
-			if (filterTest != null)
-				return filterTest.matches(object, true);
-
-			return true;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectActionContributorManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectActionContributorManager.java
deleted file mode 100644
index 1cbb2ca..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectActionContributorManager.java
+++ /dev/null
@@ -1,345 +0,0 @@
-package org.eclipse.ui.internal;
-
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * This manager is used to populate a popup menu manager with actions
- * for a given type.
- */
-public class ObjectActionContributorManager extends ObjectContributorManager {
-	private static ObjectActionContributorManager sharedInstance;
-	
-	/**
-	 * PopupMenuManager constructor.
-	 */
-	public ObjectActionContributorManager() {
-		loadContributors();
-	}
-	
-	/**
-	 * Returns the class search order starting with <code>extensibleClass</code>.
-	 * The search order is defined in this class' comment.
-	 */
-	private List computeCombinedOrder(Class inputClass) {
-		List result = new ArrayList(4);
-		Class clazz = inputClass;
-		while (clazz != null) {
-			// add the class
-			result.add(clazz);
-			// add all the interfaces it implements
-			Class[] interfaces = clazz.getInterfaces();
-			for (int i = 0; i < interfaces.length; i++) {
-				result.add(interfaces[i]);
-			}
-			// get the superclass
-			clazz = clazz.getSuperclass();
-		}
-		return result;
-	}
-	
-	/**
-	 * Contributes submenus and/or actions applicable to the selection in the
-	 * provided viewer into the provided popup menu.
-	 */
-	public boolean contributeObjectActions(IWorkbenchPart part, IMenuManager popupMenu, ISelectionProvider selProv) {
-		// Get a selection.	
-		ISelection selection = selProv.getSelection();
-		if (selection == null)
-			return false;
-
-		// Convert the selection into an element vector.
-		// According to the dictionary, a selection is "one that
-		// is selected", or "a collection of selected things".  
-		// In reflection of this, we deal with one or a collection.
-		List elements = null;
-		if (selection instanceof IStructuredSelection) {
-			elements = ((IStructuredSelection) selection).toList();
-		} else {
-			elements = new ArrayList(1);
-			elements.add(selection);
-		}
-
-		// Calculate the common class and interfaces.
-		List commonClasses = getCommonClasses(elements);
-		if (commonClasses == null || commonClasses.isEmpty())
-			return false;
-
-		// Get the resource class. It will be null if any of the
-		// elements are resources themselves or do not adapt to
-		// IResource.
-		Class resourceClass = getCommonResourceClass(elements);
-
-		// Get the contributors.	
-		// If there is a resource class add it in
-		List contributors = null;
-		if (resourceClass == null) {
-			if (commonClasses.size() == 1) {
-				contributors = getContributors((Class)commonClasses.get(0));
-			} else {
-				contributors = new ArrayList();
-				for (int i = 0; i < commonClasses.size(); i++) {
-					List results = getContributors((Class)commonClasses.get(i));
-					if (results != null)
-						contributors.addAll(results);
-				}
-			}
-		} else {
-			contributors = getContributors((Class)commonClasses.get(0), resourceClass);
-			for (int i = 1; i < commonClasses.size(); i++) {
-				List results = getContributors((Class)commonClasses.get(i));
-				if (results != null)
-					contributors.addAll(results);
-			}
-		}
-		
-		if (contributors == null || contributors.isEmpty())
-			return false;
-
-		// Do the contributions.  Add menus first, then actions
-		boolean actualContributions = false;
-		for (int i = 0; i < contributors.size(); i++) {
-			IObjectActionContributor contributor = (IObjectActionContributor) contributors.get(i);
-			if (!isApplicableTo(elements, contributor))
-				continue;
-			if (contributor.contributeObjectMenus(popupMenu, selProv))
-				actualContributions = true;
-		}
-		for (int i = 0; i < contributors.size(); i++) {
-			IObjectActionContributor contributor = (IObjectActionContributor) contributors.get(i);
-			if (!isApplicableTo(elements, contributor))
-				continue;
-			if (contributor.contributeObjectActions(part, popupMenu, selProv))
-				actualContributions = true;
-		}
-		return actualContributions;
-	}
-
-	/**
-	 * Returns the common denominator class for
-	 * two input classes.
-	 */
-	private Class getCommonClass(Class class1, Class class2) {
-		List list1 = computeCombinedOrder(class1);
-		List list2 = computeCombinedOrder(class2);
-		for (int i = 0; i < list1.size(); i++) {
-			for (int j = 0; j < list2.size(); j++) {
-				Class candidate1 = (Class) list1.get(i);
-				Class candidate2 = (Class) list2.get(j);
-				if (candidate1.equals(candidate2))
-					return candidate1;
-			}
-		}
-		// no common class
-		return null;
-	}
-	
-	/**
-	 * Returns the common denominator class for the given
-	 * collection of objects.
-	 */
-	private Class getCommonClass(List objects) {
-		if (objects == null || objects.size() == 0)
-			return null;
-		Class commonClass = objects.get(0).getClass();
-		// try easy
-		if (objects.size() == 1)
-			return commonClass;
-		// try harder
-
-		for (int i = 1; i < objects.size(); i++) {
-			Object object = objects.get(i);
-			Class newClass = object.getClass();
-			// try the short cut
-			if (newClass.equals(commonClass))
-				continue;
-			// compute common class
-			commonClass = getCommonClass(commonClass, newClass);
-			// give up
-			if (commonClass == null)
-				return null;
-		}
-		return commonClass;
-	}
-
-	/**
-	 * Returns the common denominator class and interfaces for the given
-	 * collection of objects.
-	 */
-	private List getCommonClasses(List objects) {
-		if (objects == null || objects.size() == 0)
-			return null;
-
-		// Quickly handle the easy case...
-		if (objects.size() == 1) {
-			List results = new ArrayList(1);
-			results.add(objects.get(0).getClass());
-			return results;
-		}
-
-		// Compute all the super classes for the first element
-		// and then all of the interfaces for the first element
-		// and it's super classes.
-		List classes = computeClassOrder(objects.get(0).getClass());
-		List interfaces = computeInterfaceOrder(classes);
-		boolean classesEmpty = classes.isEmpty();
-		boolean interfacesEmpty = interfaces.isEmpty();
-		
-		for (int i = 1; i < objects.size(); i++) {
-			// Compute all the super classes for the current element
-			List results = computeClassOrder(objects.get(i).getClass());
-			if (!classesEmpty) {
-				classesEmpty = true;
-				if (results.isEmpty()) {
-					// When no super classes, then it is obvious there
-					// are no common super classes with the first element
-					// so clear its list.
-					classes.clear();
-				} else {
-					// Remove any super classes of the first element that 
-					// are not in the current element's super classes list.
-					for (int j = 0; j < classes.size(); j++) {
-						if (classes.get(j) != null) {
-							classesEmpty = false;
-							if (!results.contains(classes.get(j))) {
-								classes.set(j, null);							
-							}
-						}
-					}
-				}
-			}
-			
-			if (!interfacesEmpty) {
-				// Compute all the interfaces for the current element
-				// and all of its super classes.
-				results = computeInterfaceOrder(results);
-				interfacesEmpty = true;
-				if (results.isEmpty()) {
-					// When no interfaces, the it is obvious there are
-					// no common interfaces between this current element
-					// and the first element, so clear its list.
-					interfaces.clear();
-				} else {
-					// Remove any interfaces of the first element that
-					// are not in the current element's interfaces list.
-					for (int j = 0; j < interfaces.size(); j++) {
-						if (interfaces.get(j) != null) {
-							interfacesEmpty = false;
-							if (!results.contains(interfaces.get(j))) {
-								interfaces.set(j, null);
-							}
-						}
-					}
-				}
-			}
-
-			if (interfacesEmpty && classesEmpty) {
-				// As soon as we detect nothing in common, just exit.
-				return null;
-			}
-		}
-		
-		ArrayList results = new ArrayList(4);
-		ArrayList superClasses = new ArrayList(4);
-		if (!classesEmpty) {
-			for (int j = 0; j < classes.size(); j++) {
-				if (classes.get(j) != null) {
-					superClasses.add(classes.get(j));
-				}
-			}
-			// Just keep the first super class
-			if (!superClasses.isEmpty()) {
-				results.add(superClasses.get(0));
-			}
-		}
-
-		if (!interfacesEmpty) {
-			// Do no include the interfaces belonging to the common
-			// super classes as these will be calculated again later
-			// in addContributors method.
-			List dropInterfaces = null;
-			if (!superClasses.isEmpty()) {
-				dropInterfaces = computeInterfaceOrder(superClasses);
-			}
-			
-			for (int j = 0; j < interfaces.size(); j++) {
-				if (interfaces.get(j) != null) {
-					if (dropInterfaces != null && !dropInterfaces.contains(interfaces.get(j))) {
-						results.add(interfaces.get(j));
-					}
-				}
-			}
-		}
-		
-		return results;
-	}
-
-	/**
-	 * Returns the shared instance of this manager.
-	 */
-	public static ObjectActionContributorManager getManager() {
-		if (sharedInstance == null) {
-			sharedInstance = new ObjectActionContributorManager();
-		}
-		return sharedInstance;
-	}
-	
-	/**
-	 * Loads the contributors from the workbench's registry.
-	 */
-	private void loadContributors() {
-		ObjectActionContributorReader reader = new ObjectActionContributorReader();
-		reader.readPopupContributors(this);
-	}
-	
-	/**
-	 * Returns the common denominator resource class for the given
-	 * collection of objects.
-	 * Do not return a resource class if the objects are resources
-	 * themselves so as to prevent double registration of actions.
-	 */
-	private Class getCommonResourceClass(List objects) {
-		if (objects == null || objects.size() == 0)
-			return null;
-
-		List testList = new ArrayList();
-
-		for (int i = 0; i < objects.size(); i++) {
-			Object object = objects.get(i);
-
-			if (object instanceof IAdaptable) {
-				if (object instanceof IResource)
-					continue;
-
-				IResource resource = getAdaptedResource((IAdaptable) object);
-
-				if (resource == null)
-					//Not a resource and does not adapt. No common resource class
-					return null;
-				testList.add(resource);
-			} else
-				return null;
-		}
-
-		return getCommonClass(testList);
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectActionContributorReader.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectActionContributorReader.java
deleted file mode 100644
index 119b5b2..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectActionContributorReader.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.registry.RegistryReader;
-
-/**
- * This reader loads the popup menu manager with all the
- * popup menu contributors found in the workbench registry.
- */
-public class ObjectActionContributorReader extends RegistryReader {
-
-	public final static	String TAG_OBJECT_CONTRIBUTION = "objectContribution";//$NON-NLS-1$
-	private final static	String ATT_OBJECTCLASS = "objectClass";//$NON-NLS-1$
-	private ObjectActionContributorManager manager;
-/**
- * Creates popup menu contributor from this element.
- */
-protected void processObjectContribution(IConfigurationElement element) {
-	String objectClassName = element.getAttribute(ATT_OBJECTCLASS);
-	if (objectClassName == null) {
-		logMissingAttribute(element, ATT_OBJECTCLASS);
-		return;
-	}
-	
-	IObjectContributor contributor = new ObjectActionContributor(element);
-	manager.registerContributor(contributor, objectClassName);
-}
-/**
- * Implements abstract method to handle configuration elements. 
- */
-protected boolean readElement(IConfigurationElement element) {
-	String tagName = element.getName();
-	if (tagName.equals(TAG_OBJECT_CONTRIBUTION)) {
-		processObjectContribution(element);
-		return true;
-	}
-	if (tagName.equals(ViewerActionBuilder.TAG_CONTRIBUTION_TYPE)) {
-		return true;
-	}
-
-	return false;
-}
-/**
- * Reads the registry and registers popup menu contributors
- * found there.
- */
-public void readPopupContributors(ObjectActionContributorManager mng) {
-	manager = mng;
-	IPluginRegistry registry = Platform.getPluginRegistry();
-	readRegistry(registry, PlatformUI.PLUGIN_ID, IWorkbenchConstants.PL_POPUP_MENU);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectContributorManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectContributorManager.java
deleted file mode 100644
index 0db6414..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectContributorManager.java
+++ /dev/null
@@ -1,346 +0,0 @@
-package org.eclipse.ui.internal;
-
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IContributorResourceAdapter;
-
-/**
- * This class is a default implementation of <code>IObjectContributorManager</code>.
- * It provides fast merging of contributions with the following semantics:
- * <ul>
- * <li> All of the matching contributors will be invoked per property lookup
- * <li> The search order from a class with the definition<br>
- *			<code>class X extends Y implements A, B</code><br>
- *		is as follows:
- * 		<il>
- *			<li>the target's class: X
- *			<li>X's superclasses in order to <code>Object</code>
- *			<li>a depth-first traversal of the target class's interaces in the order 
- *				returned by <code>getInterfaces()</code> (in the example, A and 
- *				its superinterfaces then B and its superinterfaces)
- *		</il>
- * </ul>
- *
- * @see IObjectContributor
- * @see IObjectContributorManager
- */
-public abstract class ObjectContributorManager {
-	// Empty list that is immutable
-	private static final List EMPTY_LIST = Arrays.asList(new Object[0]);
-
-	/** Table of contributors. */
-	protected Map contributors;
-
-	/** Cache of object class contributor search paths; <code>null</code> if none. */
-	protected Map objectLookup;
-
-	/** Cache of resource adapter class contributor search paths; <code>null</code> if none. */
-	protected Map adapterLookup;
-
-	/** 
-	 * Constructs a new contributor manager.
-	 */
-	public ObjectContributorManager() {
-		contributors = new Hashtable(5);
-		objectLookup = null;
-		adapterLookup = null;
-	}
-	/**
-	 * Adds contributors for the given types to the result list.
-	 */
-	private void addContributorsFor(List types, List result) {
-		for (Iterator classes = types.iterator(); classes.hasNext();) {
-			Class clazz = (Class) classes.next();
-			List contributorList = (List) contributors.get(clazz.getName());
-			if (contributorList != null)
-				result.addAll(contributorList);
-		}
-	}
-	/**
-	 * Returns the class search order starting with <code>extensibleClass</code>.
-	 * The search order is defined in this class' comment.
-	 */
-	protected final List computeClassOrder(Class extensibleClass) {
-		ArrayList result = new ArrayList(4);
-		Class clazz = extensibleClass;
-		while (clazz != null) {
-			result.add(clazz);
-			clazz = clazz.getSuperclass();
-		}
-		return result;
-	}
-	/**
-	 * Returns the interface search order for the class hierarchy described
-	 * by <code>classList</code>.
-	 * The search order is defined in this class' comment.
-	 */
-	protected final List computeInterfaceOrder(List classList) {
-		ArrayList result = new ArrayList(4);
-		Map seen = new HashMap(4);
-		for (Iterator list = classList.iterator(); list.hasNext();) {
-			Class[] interfaces = ((Class) list.next()).getInterfaces();
-			internalComputeInterfaceOrder(interfaces, result, seen);
-		}
-		return result;
-	}
-
-	/**
-	 * Flushes the cache of contributor search paths.  This is generally required
-	 * whenever a contributor is added or removed.  
-	 * <p>
-	 * It is likely easier to just toss the whole cache rather than trying to be
-	 * smart and remove only those entries affected.
-	 */
-	public void flushLookup() {
-		objectLookup = null;
-		adapterLookup = null;
-	}
-	/**
-	 * Cache the resource adapter class contributor search path.
-	 */
-	private void cacheAdapterLookup(Class adapterClass, List results) {
-		if (adapterLookup == null)
-			adapterLookup = new HashMap();
-		adapterLookup.put(adapterClass, results);
-	}
-	/**
-	 * Cache the object class contributor search path.
-	 */
-	private void cacheObjectLookup(Class objectClass, List results) {
-		if (objectLookup == null)
-			objectLookup = new HashMap();
-		objectLookup.put(objectClass, results);
-	}
-	/**
-	 * Returns all the contributors registered against
-	 * the given object class.
-	 */
-	protected List getContributors(Class objectClass) {
-
-		List objectList = null;
-
-		// Lookup the results in the cache first
-		if (objectLookup != null) {
-			objectList = (List) objectLookup.get(objectClass);
-		}
-
-		// If not in cache, build it
-		if (objectList == null) {
-			objectList = addContributorsFor(objectClass);
-			if (objectList.size() == 0)
-				objectList = EMPTY_LIST;
-
-			// Store the contribution list into the cache.
-			cacheObjectLookup(objectClass, objectList);
-		}
-
-		return objectList;
-	}
-
-	/**
-	 * Return the list of contributors for the supplied class.
-	 */
-	protected List addContributorsFor(Class objectClass) {
-
-		List classList = computeClassOrder(objectClass);
-		List result = new ArrayList();
-		addContributorsFor(classList, result);
-		classList = computeInterfaceOrder(classList); // interfaces
-		addContributorsFor(classList, result);
-		return result;
-	}
-
-	/**
-	 * Get the contributors for object including those it adapts
-	 * to.
-	 * 
-	 * @return The list of contributors, empty if none.
-	 */
-	protected List getContributors(Object object) {
-
-		Class objectClass = object.getClass();
-		IResource adapted = getAdaptedResource(object);
-
-		if (adapted == null)
-			return getContributors(objectClass);
-		else
-			return getContributors(objectClass, adapted.getClass());
-	}
-
-	/**
-	 * Returns true if contributors exist in the manager for
-	 * this object.
-	 */
-	public boolean hasContributorsFor(Object object) {
-
-		List contributors = getContributors(object);
-		return contributors.size() > 0;
-	}
-	/**
-	 * Add interface Class objects to the result list based
-	 * on the class hierarchy. Interfaces will be searched
-	 * based on their position in the result list.
-	 */
-	private void internalComputeInterfaceOrder(Class[] interfaces, List result, Map seen) {
-		List newInterfaces = new ArrayList(seen.size());
-		for (int i = 0; i < interfaces.length; i++) {
-			Class interfac = interfaces[i];
-			if (seen.get(interfac) == null) {
-				result.add(interfac);
-				seen.put(interfac, interfac);
-				newInterfaces.add(interfac);
-			}
-		}
-		for (Iterator newList = newInterfaces.iterator(); newList.hasNext();)
-			internalComputeInterfaceOrder(((Class) newList.next()).getInterfaces(), result, seen);
-	}
-	/**
-	 *
-	 */
-	public boolean isApplicableTo(IStructuredSelection selection, IObjectContributor contributor) {
-		Iterator elements = selection.iterator();
-		while (elements.hasNext()) {
-			if (contributor.isApplicableTo(elements.next()) == false)
-				return false;
-		}
-		return true;
-	}
-	/**
-	 *
-	 */
-	public boolean isApplicableTo(List list, IObjectContributor contributor) {
-		Iterator elements = list.iterator();
-		while (elements.hasNext()) {
-			if (contributor.isApplicableTo(elements.next()) == false)
-				return false;
-		}
-		return true;
-	}
-	/**
-	 * @see IContributorManager#registerContributor
-	 */
-	public void registerContributor(IObjectContributor contributor, String targetType) {
-		Vector contributorList = (Vector) contributors.get(targetType);
-		if (contributorList == null) {
-			contributorList = new Vector(5);
-			contributors.put(targetType, contributorList);
-		}
-		contributorList.addElement(contributor);
-		flushLookup();
-	}
-	/**
-	 * @see IContributorManager#unregisterAllContributors
-	 */
-	public void unregisterAllContributors() {
-		contributors = new Hashtable(5);
-		flushLookup();
-	}
-	/**
-	 * @see IContributorManager#unregisterContributor
-	 */
-	public void unregisterContributor(IObjectContributor contributor, String targetType) {
-		Vector contributorList = (Vector) contributors.get(targetType);
-		if (contributorList == null)
-			return;
-		contributorList.removeElement(contributor);
-		flushLookup();
-	}
-	/**
-	 * @see IContributorManager#unregisterContributors
-	 */
-	public void unregisterContributors(String targetType) {
-		contributors.remove(targetType);
-		flushLookup();
-	}
-
-	/**
-	 * Returns all the contributors registered against
-	 * the given object class and the resource class that
-	 * it has an Adaptable for.
-	 */
-	protected List getContributors(Class objectClass, Class resourceClass) {
-
-		List objectList = null;
-		List resourceList = null;
-
-		// Lookup the results in the cache first
-		if (objectLookup != null) {
-			objectList = (List) objectLookup.get(objectClass);
-		}
-		if (adapterLookup != null) {
-			resourceList = (List) adapterLookup.get(resourceClass);
-		}
-
-		if (objectList == null) {
-			objectList = addContributorsFor(objectClass);
-			if (objectList.size() == 0)
-				objectList = EMPTY_LIST;
-			cacheObjectLookup(objectClass, objectList);
-		}
-		if (resourceList == null) {
-			List contributors = addContributorsFor(resourceClass);
-			resourceList = new ArrayList(contributors.size());
-			Iterator enum = contributors.iterator();
-			while (enum.hasNext()) {
-				IObjectContributor contributor = (IObjectContributor) enum.next();
-				if (contributor.canAdapt())
-					resourceList.add(contributor);
-			}
-			if (resourceList.size() == 0)
-				resourceList = EMPTY_LIST;
-			cacheAdapterLookup(resourceClass, resourceList);
-		}
-
-		// Collect the contribution lists into one result
-		ArrayList results = new ArrayList(objectList.size() + resourceList.size());
-		results.addAll(objectList);
-		results.addAll(resourceList);
-		return results;
-	}
-
-	/**
-	 * Get the adapted resource for the supplied object. If the
-	 * object is an instance of IResource or is not an instance
-	 * of IAdaptable return null. Otherwise see if it adapts
-	 * to IResource via IContributorResourceAdapter.
-	 * @return IResource or null
-	 * @param object Object 
-	 */
-	protected IResource getAdaptedResource(Object object) {
-
-		if (object instanceof IResource)
-			return null;
-
-		if (object instanceof IAdaptable) {
-			IAdaptable adaptable = (IAdaptable) object;
-
-			Object resourceAdapter = adaptable.getAdapter(IContributorResourceAdapter.class);
-			if (resourceAdapter == null)
-				resourceAdapter = DefaultContributorResourceAdapter.getDefault();
-
-			return ((IContributorResourceAdapter) resourceAdapter).getAdaptedResource(adaptable);
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectFilterTest.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectFilterTest.java
deleted file mode 100644
index 8403061..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectFilterTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * Copyright (c) 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.*;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.IActionFilter;
-
-/**
- * An ObjectFilterTest is used to read an object filter from XML,
- * and evaluate the results for a given object.
- */
-public class ObjectFilterTest {
-	private HashMap filterElements;
-
-	/**
-	 * Create a new object filter. 
-	 */	
-	public ObjectFilterTest() {
-	}
-	
-	/**
-	 * Add a filter element to the test.  This element must contain
-	 * a name value filter pair, as defined by the 
-	 * <code>org.eclipse.ui.actionFilters</code> extension point.
-	 */
-	public boolean addFilterElement(IConfigurationElement element) {
-		String name = element.getAttribute("name");//$NON-NLS-1$
-		if (name == null)
-			return false;
-		
-		// Get positive property.
-		String value = element.getAttribute("value");//$NON-NLS-1$
-		if (value == null)
-			return false;
-		if (filterElements==null) 
-			filterElements = new HashMap();
-		filterElements.put(name, value);
-		return true;
-	}
-	
-	/**
-	 * Returns whether the object filter correctly matches a
-	 * given object.  The results will be <code>true</code> if there is
-	 * a filter match.  
-	 * <p>
-	 * If <code>adaptable is true</code>, the result will also be
-	 * <code>rue</code> if the object is a wrapper for a resource, and
-	 * the resource produces a filter match.
-	 * </p>
-	 * 
-	 * @param object the object to examine
-	 * @returns <code>true</code> if there is a filter match.  
-	 */
-	public boolean matches(Object object, boolean adaptable) {
-		// Optimize it.
-		if (filterElements == null)
-			return true;
-			
-		// Try out the object.
-		if (this.preciselyMatches(object))
-			return true;
-			
-		// If not adaptable, or the object is a resource, just return.
-		if (!adaptable)
-			return false;
-		if (object instanceof IResource)
-			return false;
-			
-		// Try out the underlying resource.
-		IResource res = null;
-		if (object instanceof IAdaptable)
-			res = (IResource)((IAdaptable)object).getAdapter(IResource.class);
-		if (res == null)
-			return false;
-		return this.preciselyMatches(res);
-	}
-
-	/**
-	 * Returns whether the object filter correctly matches a given object.
-	 */
-	private boolean preciselyMatches(Object object) {
-		// Get the action filter.
-		IActionFilter filter = null;
-		if (object instanceof IActionFilter)
-			filter = (IActionFilter)object;
-		else if (object instanceof IAdaptable)
-			filter = (IActionFilter)((IAdaptable)object).getAdapter(IActionFilter.class);
-		if (filter == null)
-			return false;
-			
-		// Run the action filter.
-		Iterator iter = filterElements.keySet().iterator();
-		while (iter.hasNext()) {
-			String name = (String)iter.next();
-			String value = (String)filterElements.get(name);
-			if (!filter.testAttribute(object, name, value))
-				return false;
-		}
-		return true;
-	}
-}
-
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectPluginAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectPluginAction.java
deleted file mode 100644
index 66d5d1d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectPluginAction.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.ui.IActionDelegate;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * An object action extension in a popup menu.
- * <p>
- * For backward compatibility, the delegate object can implement either
- * <code>IActionDelegate</code> or <code>IObjectActionDelegate</code>.
- * </p>
- */
-public class ObjectPluginAction extends PluginAction {
-	private IWorkbenchPart activePart;
-	
-	/**
-	 * Constructs a new ObjectPluginAction.
-	 */
-	public ObjectPluginAction(IConfigurationElement actionElement, String runAttribute, String definitionId, int style) {
-		super(actionElement, runAttribute, definitionId, style);
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on PluginAction.
-	 */
-	protected void initDelegate() {
-		super.initDelegate();
-		if (getDelegate() instanceof IObjectActionDelegate && activePart != null)
-			((IObjectActionDelegate)getDelegate()).setActivePart(this, activePart);
-	}
-
-	/**
-	 * Sets the active part for the delegate.
-	 * <p>
-	 * This method will be called every time the action appears in a popup menu.  The
-	 * targetPart may change with each invocation.
-	 * </p>
-	 *
-	 * @param action the action proxy that handles presentation portion of the action
-	 * @param targetPart the new part target
-	 */
-	public void setActivePart(IWorkbenchPart targetPart) {
-		activePart = targetPart;
-		IActionDelegate delegate = getDelegate();
-		if (delegate != null && delegate instanceof IObjectActionDelegate)
-			 ((IObjectActionDelegate) delegate).setActivePart(this, activePart);
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/OpenPreferencesAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/OpenPreferencesAction.java
deleted file mode 100644
index 15ae342..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/OpenPreferencesAction.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.help.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.jface.preference.*;
-import org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog;
-import org.eclipse.ui.help.*;
-
-/**
- * Open the preferences dialog
- */
-public class OpenPreferencesAction extends Action {
-	protected IWorkbenchWindow window;
-/**
- * Create a new <code>OpenPreferenceAction</code>
- * This default constructor allows the the action to be called from the welcome page.
- */
-public OpenPreferencesAction() {
-	this(((Workbench)PlatformUI.getWorkbench()).getActiveWorkbenchWindow());
-}
-/**
- * Create a new <code>OpenPreferenceAction</code> and initialize it 
- * from the given resource bundle.
- */
-public OpenPreferencesAction(IWorkbenchWindow window) {
-	super(WorkbenchMessages.getString("OpenPreferences.text")); //$NON-NLS-1$
-	this.window = window;
-	setToolTipText(WorkbenchMessages.getString("OpenPreferences.toolTip")); //$NON-NLS-1$
-	WorkbenchHelp.setHelp(this, IHelpContextIds.OPEN_PREFERENCES_ACTION);
-}
-/**
- * Perform the action: open the preference dialog.
- */
-public void run() {
-	PreferenceManager pm = WorkbenchPlugin.getDefault().getPreferenceManager();
-	
-	if (pm != null) {
-		PreferenceDialog d = new WorkbenchPreferenceDialog(window.getShell(), pm);
-		d.create();
-		WorkbenchHelp.setHelp(d.getShell(), IHelpContextIds.PREFERENCE_DIALOG);
-		d.open();	
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/OpenedPerspectivesMenu.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/OpenedPerspectivesMenu.java
deleted file mode 100644
index 45c9d23..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/OpenedPerspectivesMenu.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.IPerspectiveDescriptor;
-
-/**
- * A dynamic contribution item which shows all opened perspectives
- * in the window's active page.
- */
-public class OpenedPerspectivesMenu extends ContributionItem {
-	private WorkbenchWindow window;
-	private boolean showSeparator;
-
-	private static final int MAX_TEXT_LENGTH = 40;
-
-	/**
-	 * Create a new instance.
-	 */
-	public OpenedPerspectivesMenu(WorkbenchWindow window, boolean showSeparator) {
-		super("Opened perspectives"); //$NON-NLS-1$
-		this.window = window;
-		this.showSeparator = showSeparator;
-	}
-	
-	/**
-	 * Returns the text for a perspective. This may be truncated to fit
-	 * within the MAX_TEXT_LENGTH.
-	 */
-	private String calcText(int number, IPerspectiveDescriptor persp) {
-		StringBuffer sb = new StringBuffer();
-		if (number < 10)
-			sb.append('&');
-		sb.append(number);
-		sb.append(' ');
-		String suffix = persp.getLabel();
-		if (suffix.length() <= MAX_TEXT_LENGTH) {
-			sb.append(suffix);
-		} else {
-			sb.append(suffix.substring(0, MAX_TEXT_LENGTH / 2));
-			sb.append("..."); //$NON-NLS-1$
-			sb.append(suffix.substring(suffix.length() - MAX_TEXT_LENGTH / 2));
-		}
-		return sb.toString();
-	}
-
-	/**
-	 * Fills the given menu with menu items for all opened perspectives.
-	 */
-	public void fill(Menu menu, int index) {
-		final WorkbenchPage page = window.getActiveWorkbenchPage();
-		if (page == null)
-			return;
-
-		// Add separator.
-		if (showSeparator) {
-			new MenuItem(menu, SWT.SEPARATOR, index);
-			++index;
-		}
-
-		// Add one item for each opened perspective.
-		IPerspectiveDescriptor activePersp = page.getPerspective();
-		IPerspectiveDescriptor descriptors[] = page.getOpenedPerspectives();
-		int count = 1;
-		for (int i = 0; i < descriptors.length; i++) {
-			final IPerspectiveDescriptor desc = (IPerspectiveDescriptor)descriptors[i];
-			MenuItem mi = new MenuItem(menu, SWT.RADIO, index);
-			mi.setSelection(desc == activePersp);
-			mi.setText(calcText(count, desc));
-			// avoid hanging onto page or perspective directly in menu
-			mi.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					WorkbenchPage page = window.getActiveWorkbenchPage();
-					if (page != null) {
-						page.setPerspective(desc);
-					}
-				}
-			});
-		
-			index++;
-			count++;
-		}
-	}
-	
-	/**
-	 * Overridden to always return true and force dynamic menu building.
-	 */
-	public boolean isDynamic() {
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PageEventAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PageEventAction.java
deleted file mode 100644
index 79ac88d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PageEventAction.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.util.Assert;
-import org.eclipse.ui.*;
-import org.eclipse.ui.actions.*;
-
-/**
- * The abstract superclass for actions that listen to page activation and
- * open/close events. This implementation tracks the active page (see 
- * <code>getActivePage</code>) and provides a convenient place to monitor
- * page lifecycle events that could affect the availability of the action.
- * <p>
- * Subclasses must implement the following <code>IAction</code> method:
- * <ul>
- *   <li><code>run</code> - to do the action's work</li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may extend any of the <code>IPartListener</code> methods if the
- * action availablity needs to be recalculated:
- * <ul>
- *   <li><code>partActivated</code></li> 
- *   <li><code>partDeactivated</code></li>
- *   <li><code>partOpened</code></li>
- *   <li><code>partClosed</code></li>
- *   <li><code>partBroughtToTop</code></li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may extend any of the <code>IPageListener</code> methods if the
- * action availablity needs to be recalculated:
- * <ul>
- *   <li><code>pageActivated</code></li> 
- *   <li><code>pageClosed</code></li>
- *   <li><code>pageOpened</code></li>
- * </ul>
- * </p>
- */
-public abstract class PageEventAction extends PartEventAction
-	implements IPageListener
-{
-	/**
-	 * The active page, or <code>null</code> if none.
-	 */
-	private IWorkbenchPage activePage;
-
-	/**
-	 * The workbench window this action is registered with.
-	 */
-	 private IWorkbenchWindow workbenchWindow;
-/**
- * Creates a new action with the given text. Register this
- * action with the workbench window for page lifecycle
- * events.
- *
- * @param text the string used as the text for the action, 
- *   or <code>null</code> if there is no text
- * @param window the workbench window this action is
- *   registered with.
- */
-protected PageEventAction(String text, IWorkbenchWindow window) {
-	super(text);
-	Assert.isNotNull(window);
-	this.workbenchWindow = window;
-	this.activePage = window.getActivePage();
-	this.workbenchWindow.addPageListener(this);
-}
-/**
- * Returns the currently active page in the workbench window.
- *
- * @return currently active page in the workbench window, or <code>null</code> if none
- */
-public IWorkbenchPage getActivePage() {
-	return activePage;
-}
-/**
- * Returns the workbench window this action applies to.
- *
- * @return the workbench window
- */
-public IWorkbenchWindow getWorkbenchWindow() {
-	return workbenchWindow;
-}
-/**
- * The <code>PageEventAction</code> implementation of this 
- * <code>IPageListener</code> method records that the given page is active.
- * Subclasses may extend this method if action availability has to be
- * recalculated.
- */
-public void pageActivated(IWorkbenchPage page) {
-	this.activePage = page;
-}
-/**
- * The <code>PageEventAction</code> implementation of this 
- * <code>IPageListener</code> method clears the active page if it just closed.
- * Subclasses may extend this method if action availability has to be
- * recalculated.
- */
-public void pageClosed(IWorkbenchPage page) {
-	if (page == activePage)
-		activePage = null;
-}
-/**
- * The <code>PageEventAction</code> implementation of this 
- * <code>IPageListener</code> method does nothing. Subclasses should extend
- * this method if action availability has to be recalculated.
- */
-public void pageOpened(IWorkbenchPage page) {
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PageLayout.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PageLayout.java
deleted file mode 100644
index 7f1ebcf..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PageLayout.java
+++ /dev/null
@@ -1,505 +0,0 @@
-package org.eclipse.ui.internal;
-
-/**********************************************************************
-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:
-  Dan Rubel <dan_rubel@instantiations.com> 
-    - Fix for bug 11490 - define hidden view (placeholder for view) in plugin.xml 
-**********************************************************************/
- 
-import java.util.*;
-
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.registry.*;
-
-/**
- * This factory is used to define the initial layout of a part sash container.
- * <p>
- * Design notes: The design of <code>IPageLayout</code> is a reflection of 
- * three requirements:
- * <ol>
- *   <li>A mechanism is required to define the initial layout for a page. </li>
- *   <li>The views and editors within a page will be persisted between 
- *     sessions.</li>
- *   <li>The view and editor lifecycle for (1) and (2) should be identical.</li>
- * </ol>
- * </p>
- * <p>
- * In reflection of these requirements, the following strategy has been 
- * implemented for layout definition.
- * <ol>
- *   <li>A view extension is added to the workbench registry for the view. 
- *     This extension defines the extension id and extension class.  </li>
- *   <li>A view is added to a page by invoking one of the add methods
- *     in <code>IPageLayout</code>. The type of view is passed as an 
- *     extension id, rather than a handle. The page layout will map 
- *     the extension id to a view class, create an instance of the class, 
- *     and then add the view to the page.</li>
- * </ol>
- * </p>
- */
-public class PageLayout implements IPageLayout {
-	private static final String MISSING_REF_PART = "Referenced part does not exist yet: "; //$NON-NLS-1$
-	
-	private ViewFactory viewFactory;
-	private LayoutPart editorFolder;
-	private boolean editorVisible = true;
-	private RootLayoutContainer rootLayoutContainer;
-	private Map mapIDtoPart = new HashMap(10);
-	private Map mapIDtoFolder = new HashMap(10);
-	private Map mapFastViewToWidthRatio = new HashMap(10);
-	private ArrayList actionSets = new ArrayList(3);
-	private ArrayList newWizardActionIds = new ArrayList(3);
-	private ArrayList showViewActionIds = new ArrayList(3);
-	private ArrayList perspectiveActionIds = new ArrayList(3);
-	private ArrayList fastViews = new ArrayList(3);
-	private ArrayList showInPartIds = new ArrayList(3);
-
-/**
- * LayoutFactory constructor comment.
- */
-public PageLayout(RootLayoutContainer container, ViewFactory viewFactory, LayoutPart editorFolder) {
-	super();
-	this.viewFactory = viewFactory;
-	this.rootLayoutContainer = container;
-	this.editorFolder = editorFolder;
-	prefill();
-}
-/**
- * Adds the initial part to a layout.
- */
-private void add(String newID) {
-	try {
-		// Create the part.
-		LayoutPart newPart = createView(newID);
-		setRefPart(newID, newPart);
-
-		// Add it to the layout.
-		rootLayoutContainer.add(newPart);
-	} catch (PartInitException e) {
-		WorkbenchPlugin.log(e.getMessage());
-	}
-}
-/**
- * Adds an action set to the page.
- *
- * @param actionSetID Identifies the action set extension to use.  
- *   It must exist within the workbench registry.
- */
-public void addActionSet(String actionSetID) {
-	if (!actionSets.contains(actionSetID)) {
-		actionSets.add(actionSetID);
-	}
-}
-/**
- * @see IPageLayout
- */
-public void addFastView(String id) {
-	addFastView(id, INVALID_RATIO);
-}
-/**
- * @see IPageLayout
- */
-public void addFastView(String id, float ratio) {
-	if (checkPartInLayout(id))
-		return;
-	if (id != null) {
-		try {
-			IViewReference ref = viewFactory.createView(id);
-			fastViews.add(ref);
-			if(ratio >= IPageLayout.RATIO_MIN && ratio <= IPageLayout.RATIO_MAX)
-				mapFastViewToWidthRatio.put(id, new Float(ratio));
-		} catch(PartInitException e) {
-			WorkbenchPlugin.log(e.getMessage());	
-		}
-	}
-}
-/**
- * Adds a creation wizard to the File New menu.
- * The id must name a new wizard extension contributed to the 
- * workbench's extension point (named <code>"org.eclipse.ui.newWizards"</code>).
- *
- * @param id the wizard id
- */
-public void addNewWizardShortcut(String id) {	
-	if (!newWizardActionIds.contains(id)) {
-		newWizardActionIds.add(id);
-	}
-}
-/**
- * Add the layout part to the page's layout
- */
-private void addPart(LayoutPart newPart, String partId, int relationship, float ratio, String refId) {
-	setRefPart(partId, newPart);
-
-	// If the referenced part is inside a folder,
-	// then use the folder as the reference part.
-	LayoutPart refPart = getFolderPart(refId);
-	if (refPart == null)
-		refPart = getRefPart(refId);
-			
-	// Add it to the layout.
-	if (refPart != null) {
-		ratio = normalizeRatio(ratio);
-		rootLayoutContainer.add(newPart, getPartSashConst(relationship), ratio, refPart);
-	} else {
-		WorkbenchPlugin.log(MISSING_REF_PART + refId);//$NON-NLS-1$
-		rootLayoutContainer.add(newPart);
-	}
-}
-/**
- * Adds a perspective shortcut to the Perspective menu.
- * The id must name a perspective extension contributed to the 
- * workbench's extension point (named <code>"org.eclipse.ui.perspectives"</code>).
- *
- * @param id the perspective id
- */
-public void addPerspectiveShortcut(String id) {
-	if (!perspectiveActionIds.contains(id)) {
-		perspectiveActionIds.add(id);
-	}
-}
-/**
- * @see IPageLayout
- */
-public void addPlaceholder(String viewId, int relationship, float ratio, String refId) {
-	if (checkPartInLayout(viewId))
-		return;
-			
-	// Create the placeholder.
-	PartPlaceholder newPart = new PartPlaceholder(viewId);
-	addPart(newPart, viewId, relationship, ratio, refId);
-}
-/**
- * @see IPageLayout#addShowInPart
- */
-public void addShowInPart(String id) {	
-	if (!showInPartIds.contains(id)) {
-		showInPartIds.add(id);
-	}
-}
-/**
- * Adds a view to the Show View menu.
- * The id must name a view extension contributed to the 
- * workbench's extension point (named <code>"org.eclipse.ui.views"</code>).
- *
- * @param id the view id
- */
-public void addShowViewShortcut(String id) {	
-	if (!showViewActionIds.contains(id)) {
-		showViewActionIds.add(id);
-	}
-}
-/**
- * @see IPageLayout
- */
-public void addView(String viewId, int relationship, float ratio, String refId) {
-	if (checkPartInLayout(viewId))
-		return;
-	
-	try {
-		// Create the part.
-		LayoutPart newPart = createView(viewId);
-		addPart(newPart, viewId, relationship, ratio, refId);
-	} catch (PartInitException e) {
-		WorkbenchPlugin.log(e.getMessage());
-	}
-}
-/**
- * Verify that the part is already present in the layout
- * and cannot be added again. Log a warning message.
- */
-/*package*/ boolean checkPartInLayout(String partId) {
-	if (getRefPart(partId) != null) {
-		WorkbenchPlugin.log("Part already exists in page layout: " + partId);//$NON-NLS-1$
-		return true;
-	}
-	for(int i = 0; i<fastViews.size(); i++) {
-		if(((IViewReference)fastViews.get(i)).getId().equals(partId))
-			return true;
-	}
-	
-	return false;
-}
-
-/**
- * @see IPageLayout
- */
-public IFolderLayout createFolder(String folderId, int relationship, float ratio, String refId) {
-	if (checkPartInLayout(folderId))
-		return new FolderLayout(this, (PartTabFolder) getRefPart(folderId), viewFactory);
-
-	// Create the folder.
-	PartTabFolder folder = new PartTabFolder();
-	folder.setID(folderId);
-	addPart(folder, folderId, relationship, ratio, refId);
-	
-	// Create a wrapper.
-	return new FolderLayout(this, folder, viewFactory);
-}
-/**
- * @see IPageLayout
- */
-public IPlaceholderFolderLayout createPlaceholderFolder(String folderId, int relationship, float ratio, String refId) {
-	if (checkPartInLayout(folderId))
-		return new PlaceholderFolderLayout(this, (ContainerPlaceholder) getRefPart(folderId));
-
-	// Create the folder.
-	ContainerPlaceholder folder = new ContainerPlaceholder(null);
-	folder.setContainer(rootLayoutContainer);
-	folder.setRealContainer(new PartTabFolder());
-	folder.setID(folderId);
-	addPart(folder, folderId, relationship, ratio, refId);
-	
-	// Create a wrapper.
-	return new PlaceholderFolderLayout(this, folder);
-}
-
-/**
- * Create the given view.
- */
-private LayoutPart createView(String partID)
-	throws PartInitException
-{
-	if (partID.equals(ID_EDITOR_AREA)) {
-		return editorFolder;
-	} else {
-		WorkbenchPartReference ref = (WorkbenchPartReference)viewFactory.createView(partID);
-		ViewPane newPart = (ViewPane)ref.getPane();
-		if(newPart == null) {
-			newPart = new ViewPane((IViewReference)ref,(WorkbenchPage)ref.getPage());
-			ref.setPane(newPart);
-		}
-		return newPart;
-	}
-}
-/**
- * Returns the action set list for the page.
- * This is List of Strings.
- */
-public ArrayList getActionSets() {
-	return actionSets;
-}
-/**
- * Returns an identifier for the editor area.  The editor area is automatically added to each
- * layout before any other part.  It should be used as a reference part for other views.
- */
-public String getEditorArea() {
-	return ID_EDITOR_AREA;
-}
-/**
- * Returns the fast views.
- */
-public ArrayList getFastViews() {
-	return fastViews;
-}
-/**
- * Returns a map of fast view ids to width ratios.
- */
-/*package*/ Map getFastViewToWidthRatioMap() {
-	return mapFastViewToWidthRatio;
-}
-/**
- * Returns the new wizard actions the page.
- * This is List of Strings.
- */
-public ArrayList getNewWizardActionIds() {
-	return newWizardActionIds;
-}
-/**
- * Answer the part sash container const for a layout value.
- */
-private int getPartSashConst(int nRelationship) {
-	return nRelationship;
-}
-/**
- * Returns the perspective actions.
- * This is List of Strings.
- */
-public ArrayList getPerspectiveActionIds() {
-	return perspectiveActionIds;
-}
-/**
- * Answer the part for a given ID.
- */
-/*package*/ LayoutPart getRefPart(String partID) {
-	return (LayoutPart)mapIDtoPart.get(partID);
-}
-/**
- * Answer the folder part containing the given view ID
- * or <code>null</code> if none (i.e. part of the
- * page layout instead of a folder layout).
- */
-private PartTabFolder getFolderPart(String viewId) {
-	return (PartTabFolder)mapIDtoFolder.get(viewId);
-}
-/**
- * Answer the top level layout container
- */
-public RootLayoutContainer getRootLayoutContainer() {
-	return rootLayoutContainer;
-}
-/**
- * Returns the ids of the parts to list in the Show In... prompter.
- * This is a List of Strings.
- */
-public ArrayList getShowInPartIds() {
-	return showInPartIds;
-}
-/**
- * Returns the ids of the views to list in the Show View shortcuts.
- * This is a List of Strings.
- */
-public ArrayList getShowViewActionIds() {
-	return showViewActionIds;
-}
-/**
- * Answer the label for a view.
- */
-private String getViewLabel(String partID) {
-	IViewRegistry reg = WorkbenchPlugin.getDefault().getViewRegistry();
-	IViewDescriptor desc = reg.find(partID);
-	if (desc != null)
-		return desc.getLabel();
-	else {
-		// cannot safely open the dialog so log the problem
-		WorkbenchPlugin.log("Unable to find view label: " + partID);//$NON-NLS-1$
-		return partID;
-	}
-}
-/**
- * See IPageLayout.
- */
-public boolean isEditorAreaVisible() {
-	return editorVisible;
-}
-/**
- * Trim the ratio so that direct manipulation of parts is easy.
- */
-private float normalizeRatio(float in) {
-	if (in < RATIO_MIN)
-		in = RATIO_MIN;
-	if (in > RATIO_MAX)
-		in = RATIO_MAX;
-	return in;
-}
-/**
- * Prefill the layout with required parts.
- */
-private void prefill() {
-	// Editors are king.
-	add(ID_EDITOR_AREA);
-
-	// Add default action sets.
-	ActionSetRegistry reg = WorkbenchPlugin.getDefault().getActionSetRegistry();
-	IActionSetDescriptor [] array = reg.getActionSets();
-	int count = array.length;
-	for (int nX = 0; nX < count; nX ++) {
-		IActionSetDescriptor desc = array[nX];
-		if (desc.isInitiallyVisible())
-			addActionSet(desc.getId());
-	}
-}
-/**
- * See IPageLayout.
- */
-public void setEditorAreaVisible(boolean showEditorArea) {
-	editorVisible = showEditorArea;
-}
-/**
- * Map an ID to a part.
- */
-/*package*/ void setRefPart(String partID, LayoutPart part) {
-	mapIDtoPart.put(partID, part);
-}
-/**
- * Map the folder part containing the given view ID.
- */
-/*package*/ void setFolderPart(String viewId, PartTabFolder folder) {
-	mapIDtoFolder.put(viewId, folder);
-}
-/**
- * Map the folder part containing the given view ID.
- */
-/*package*/ void setFolderPart(String viewId, ContainerPlaceholder container) {
-	LayoutPart tabFolder = container.getRealContainer();
-	mapIDtoFolder.put(viewId, tabFolder);
-}
-// stackPart(Layoutpart, String, String) added by dan_rubel@instantiations.com
-/**
- * Stack a part on top of another.
- */
-private void stackPart(LayoutPart newPart, String viewId, String refId) {
-	setRefPart(viewId, newPart);
-
-	// If ref part is in a folder than just add the
-	// new view to that folder.
-	PartTabFolder folder = getFolderPart(refId);
-	if (folder != null) {
-		folder.add(newPart);
-		setFolderPart(viewId, folder);
-		return;
-	}
-	
-	// If the ref part is in the page layout then create
-	// a new folder and add the new view.
-	LayoutPart refPart = getRefPart(refId);
-	if (refPart != null) {
-		PartTabFolder newFolder = new PartTabFolder();
-		rootLayoutContainer.replace(refPart, newFolder);
-		newFolder.add(refPart);
-		newFolder.add(newPart);
-		setFolderPart(refId, newFolder);
-		setFolderPart(viewId, newFolder);
-		return;
-	}
-
-	// If ref part is not found then just do add.
-	WorkbenchPlugin.log(MISSING_REF_PART + refId);//$NON-NLS-1$
-	rootLayoutContainer.add(newPart);
-}
-// stackPlaceholder(String, String) added by dan_rubel@instantiations.com
-/**
- * Stack a placeholder on top of another.
- */
-public void stackPlaceholder(String viewId, String refId) {
-	if (checkPartInLayout(viewId))
-		return;
-			
-	// Create the placeholder.
-	PartPlaceholder newPart = new PartPlaceholder(viewId);
-	stackPart(newPart, viewId, refId);
-}
-// stackView(String, String) modified by dan_rubel@instantiations.com
-/**
- * Stack one view on top of another.
- */
-public void stackView(String viewId, String refId) {
-	if (checkPartInLayout(viewId))
-		return;
-	
-	// Create the new part.
-	try {
-		LayoutPart newPart = createView(viewId);
-		stackPart(newPart, viewId, refId);
-	} catch (PartInitException e) {
-		WorkbenchPlugin.log(e.getMessage());
-	}
-}
-/**
- * @see IPageLayout
- */
-public int getEditorReuseThreshold() {
-	return -1;
-}
-/**
- * @see IPageLayout
- */
-public void setEditorReuseThreshold(int openEditors) {
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PageListenerList.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PageListenerList.java
deleted file mode 100644
index f5b63a3..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PageListenerList.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.ui.IPageListener;
-import org.eclipse.ui.IWorkbenchPage;
-
-/**
- * Part listener list.
- */
-public class PageListenerList {
-	private ListenerList listeners = new ListenerList();
-/**
- * PartNotifier constructor comment.
- */
-public PageListenerList() {
-	super();
-}
-/**
- * Adds an IPartListener to the part service.
- */
-public void addPageListener(IPageListener l) {
-	listeners.add(l);
-}
-/**
- * Notifies the listener that a part has been activated.
- */
-public void firePageActivated(final IWorkbenchPage page) {
-	Object [] array = listeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final IPageListener l = (IPageListener)array[i];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.pageActivated(page);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removePageListener(l);
-			}
-		});
-	}
-}
-/**
- * Notifies the listener that a part has been closed
- */
-public void firePageClosed(final IWorkbenchPage page) {
-	Object [] array = listeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final IPageListener l = (IPageListener)array[i];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.pageClosed(page);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removePageListener(l);
-			}
-		});
-	}
-}
-/**
- * Notifies the listener that a part has been opened.
- */
-public void firePageOpened(final IWorkbenchPage page) {
-	Object [] listeners = this.listeners.getListeners();
-	for (int i = 0; i < listeners.length; i ++) {
-		final IPageListener l = (IPageListener)listeners[i];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.pageOpened(page);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removePageListener(l);
-			}
-		});
-	}
-}
-/**
- * Removes an IPartListener from the part service.
- */
-public void removePageListener(IPageListener l) {
-	listeners.remove(l);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PagePartSelectionTracker.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PagePartSelectionTracker.java
deleted file mode 100644
index 3fcb431..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PagePartSelectionTracker.java
+++ /dev/null
@@ -1,199 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.jface.viewers.*;
-import org.eclipse.ui.*;
-
-/**
- * Provides debug view selection management/notification for
- * a debug view in a specific workbench page. This selection
- * provider sheilds clients from a debug view openning and closing,
- * and still provides selection notification/information even
- * when the debug view is not the active part.
- */
-public class PagePartSelectionTracker extends AbstractPartSelectionTracker implements IPartListener, ISelectionChangedListener {
-	
-	/**
-	 * The workbench page for which this is tracking selection.
-	 */
-	private IWorkbenchPage fPage;
-	
-	/**
-	 * The part in this tracker's page, or <code>null</code> if one is not open.
-	 */
-	private IWorkbenchPart fPart;
-	
-	private ISelectionChangedListener selectionListener = new ISelectionChangedListener() {
-		public void selectionChanged(SelectionChangedEvent event) {
-			fireSelection(getPart(), event.getSelection());
-		}
-	};
-	private ISelectionChangedListener postSelectionListener = new ISelectionChangedListener() {
-		public void selectionChanged(SelectionChangedEvent event) {
-			firePostSelection(getPart(), event.getSelection());
-		}
-	};
-	public PagePartSelectionTracker(IWorkbenchPage page, String partId) {
-		super(partId);
-		setPage(page);
-		page.addPartListener(this);
-		IViewPart part = page.findView(partId);
-		if (part != null) {
-			setPart(part, false);
-		}
-	}
-	
-	/**
-	 * Disposes this selection provider - removes all listeners
-	 * currently registered.
-	 */
-	public void dispose() {
-		setPart(null, false);
-		setPage(null);
-		super.dispose();
-	}
-
-	/*
-	 * @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.getSite().getId().equals(getPartId())) {
-			setPart(null, true);
-		}	
-	}
-
-	/*
-	 * @see IPartListener#partDeactivated(IWorkbenchPart)
-	 */
-	public void partDeactivated(IWorkbenchPart part) {
-	}
-
-	/**
-	 * @see IPartListener#partOpened(IWorkbenchPart)
-	 */
-	public void partOpened(IWorkbenchPart part) {
-		if (part.getSite().getId().equals(getPartId())) {
-			setPart(part, true);
-		}
-	}
-	/**
-	 * The selection has changed in the part being tracked.
-	 * Forward it to the listeners.
-	 * 
-	 * @see ISelectionChangedListener#selectionChanged
-	 */
-	public void selectionChanged(SelectionChangedEvent event) {
-		fireSelection(getPart(), event.getSelection());
-	}
-
-
-	/**
-	 * Sets the page this selection provider works for
-	 * 
-	 * @param page workbench page
-	 */
-	private void setPage(IWorkbenchPage page) {
-		fPage = page;
-	}
-	
-	/**
-	 * Returns the page this selection provider works for
-	 * 
-	 * @return workbench page
-	 */
-	protected IWorkbenchPage getPage() {
-		return fPage;
-	}	
-	
-	/**
-	 * Returns the part this is tracking, 
-	 * or <code>null</code> if it is not open
-	 * 
-	 * @return part., or <code>null</code>
-	 */
-	protected IWorkbenchPart getPart() {
-		return fPart;
-	}	
-	
-	/*
-	 * @see AbstractPartSelectionTracker#getSelection()
-	 */
-	public ISelection getSelection() {
-		IWorkbenchPart part = getPart();
-		if (part != null) {
-			ISelectionProvider sp = part.getSite().getSelectionProvider();
-			if (sp !=  null) {
-				return sp.getSelection();
-			}
-		}
-		return null;
-	}
-
-
-	/**
-	 * @see AbstractDebugSelectionProvider#getSelectionProvider()
-	 */
-	protected ISelectionProvider getSelectionProvider() {
-		IWorkbenchPart part = getPart();
-		if (part != null) {
-			return part.getSite().getSelectionProvider();
-		} 
-		return null;
-	}	
-
-	/**
-	 * Sets the part for this selection tracker.
-	 * 
-	 * @param part the part
-	 * @param notify whether to send notification that the selection has changed.
-	 */
-	private void setPart(IWorkbenchPart part, boolean notify) {
-		if (fPart != null) {
-			// remove myself as a listener from the existing part
-			ISelectionProvider sp = fPart.getSite().getSelectionProvider();
-			if (sp != null) {
-				sp.removeSelectionChangedListener(selectionListener);
-				if(sp instanceof StructuredViewer)
-					((StructuredViewer)sp).removePostSelectionChangedListener(postSelectionListener);	
-				else
-					sp.removeSelectionChangedListener(postSelectionListener);
-			}			
-		}
-		fPart = part;
-		ISelection sel =  null; 
-		if (part != null) {
-			ISelectionProvider sp = part.getSite().getSelectionProvider();
-			if (sp != null) {
-				sp.addSelectionChangedListener(selectionListener);
-				if(sp instanceof StructuredViewer)
-					((StructuredViewer)sp).addPostSelectionChangedListener(postSelectionListener);	
-				else
-					sp.addSelectionChangedListener(postSelectionListener);
-				if (notify) {
-					// get the selection to send below
-					sel = sp.getSelection();
-				}
-			}
-		}
-		if (notify) {
-			fireSelection(part, sel);
-			firePostSelection(part, sel);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PageSelectionService.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PageSelectionService.java
deleted file mode 100644
index 821e796..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PageSelectionService.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.ui.IWorkbenchPage;
- 
-/**
- * The selection service for a page.
- */
-/* package */
-class PageSelectionService extends AbstractSelectionService {
-
-	private IWorkbenchPage page;
-
-	/**
-	 * Creates a new selection service for a specific workbench page.
-	 */
-	public PageSelectionService(IWorkbenchPage page) {
-		setPage(page);
-	}
-
-	/**
-	 * Sets the page.
-	 */
-	private void setPage(IWorkbenchPage page) {
-		this.page = page;
-	}
-	
-	/**
-	 * Returns the page.
-	 */
-	protected IWorkbenchPage getPage() {
-		return page;
-	}
-	
-	/*
-	 * @see AbstractSelectionService#createPartTracker(String)
-	 */
-	protected AbstractPartSelectionTracker createPartTracker(String partId) {
-		return new PagePartSelectionTracker(getPage(), partId);
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartDragDrop.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartDragDrop.java
deleted file mode 100644
index 9b1826a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartDragDrop.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartDropEvent.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartDropEvent.java
deleted file mode 100644
index cd475e9..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartDropEvent.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-public class PartDropEvent {
-
-	public int x;
-	public int y;
-	public int cursorX;
-	public int cursorY;
-	public int relativePosition;
-	public LayoutPart dragSource;
-	public LayoutPart dropTarget;
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartDropTarget.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartDropTarget.java
deleted file mode 100644
index a3fb318..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartDropTarget.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-class PartDropTarget {
-	LayoutPart part;
-PartDropTarget(LayoutPart part) {
-	this.part = part;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartListenerList.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartListenerList.java
deleted file mode 100644
index d777e96..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartListenerList.java
+++ /dev/null
@@ -1,140 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Part listener list.
- */
-/*
- * This class should be deleted when IPartListener and IPartListener2 
- * renamed to IPartListener.
- */
-public class PartListenerList {
-	private ListenerList listeners = new ListenerList();
-/**
- * PartNotifier constructor comment.
- */
-public PartListenerList() {
-	super();
-}
-/**
- * Adds an IPartListener to the part service.
- */
-public void addPartListener(IPartListener l) {
-	listeners.add(l);
-}
-/**
- * Notifies the listener that a part has been activated.
- */
-public void firePartActivated(final IWorkbenchPart part) {
-	Object [] array = listeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final IPartListener l = (IPartListener)array[i];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.partActivated(part);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removePartListener(l);
-			}
-		});
-	}
-}
-/**
- * Notifies the listener that a part has been brought to top.
- */
-public void firePartBroughtToTop(final IWorkbenchPart part) {
-	Object [] array = listeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final IPartListener l = (IPartListener)array[i];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.partBroughtToTop(part);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removePartListener(l);
-			}
-		});
-	}
-}
-/**
- * Notifies the listener that a part has been closed
- */
-public void firePartClosed(final IWorkbenchPart part) {
-	Object [] array = listeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final IPartListener l = (IPartListener)array[i];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.partClosed(part);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removePartListener(l);
-			}
-		});
-	}
-}
-/**
- * Notifies the listener that a part has been deactivated.
- */
-public void firePartDeactivated(final IWorkbenchPart part) {
-	Object [] array = listeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final IPartListener l = (IPartListener)array[i];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.partDeactivated(part);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removePartListener(l);
-			}
-		});
-	}
-}
-/**
- * Notifies the listener that a part has been opened.
- */
-public void firePartOpened(final IWorkbenchPart part) {
-	Object [] array = listeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final IPartListener l = (IPartListener)array[i];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.partOpened(part);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removePartListener(l);
-			}
-		});
-	}
-}
-/**
- * Removes an IPartListener from the part service.
- */
-public void removePartListener(IPartListener l) {
-	listeners.remove(l);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartListenerList2.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartListenerList2.java
deleted file mode 100644
index 353294d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartListenerList2.java
+++ /dev/null
@@ -1,211 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.ui.IPartListener2;
-import org.eclipse.ui.IWorkbenchPartReference;
-
-/**
- * Part listener list.
- */
-public class PartListenerList2 {
-	private ListenerList listeners = new ListenerList();
-/**
- * PartNotifier constructor comment.
- */
-public PartListenerList2() {
-	super();
-}
-/**
- * Adds an PartListener to the part service.
- */
-public void addPartListener(IPartListener2 l) {
-	listeners.add(l);
-}
-/**
- * Notifies the listener that a part has been activated.
- */
-public void firePartActivated(final IWorkbenchPartReference ref) {
-	Object [] array = listeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final IPartListener2 l = (IPartListener2)array[i];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.partActivated(ref);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removePartListener(l);
-			}
-		});
-	}
-}
-/**
- * Notifies the listener that a part has been brought to top.
- */
-public void firePartBroughtToTop(final IWorkbenchPartReference ref) {
-	Object [] array = listeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final IPartListener2 l = (IPartListener2)array[i];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.partBroughtToTop(ref);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removePartListener(l);
-			}
-		});
-	}
-}
-/**
- * Notifies the listener that a part has been closed
- */
-public void firePartClosed(final IWorkbenchPartReference ref) {
-	Object [] array = listeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final IPartListener2 l = (IPartListener2)array[i];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.partClosed(ref);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removePartListener(l);
-			}
-		});
-	}
-}
-/**
- * Notifies the listener that a part has been deactivated.
- */
-public void firePartDeactivated(final IWorkbenchPartReference ref) {
-	Object [] array = listeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final IPartListener2 l = (IPartListener2)array[i];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.partDeactivated(ref);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removePartListener(l);
-			}
-		});
-	}
-}
-/**
- * Notifies the listener that a part has been opened.
- */
-public void firePartOpened(final IWorkbenchPartReference ref) {
-	Object [] array = listeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final IPartListener2 l = (IPartListener2)array[i];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.partOpened(ref);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removePartListener(l);
-			}
-		});
-	}
-}
-/**
- * Notifies the listener that a part has been opened.
- */
-public void firePartHidden(final IWorkbenchPartReference ref) {
-	Object [] array = listeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final IPartListener2 l;
-		if(array[i] instanceof IPartListener2)
-			l = (IPartListener2)array[i];
-		else
-			continue;
-			
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.partHidden(ref);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removePartListener(l);
-			}
-		});
-	}
-}
-/**
- * Notifies the listener that a part has been opened.
- */
-public void firePartVisible(final IWorkbenchPartReference ref) {
-	Object [] array = listeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final IPartListener2 l;
-		if(array[i] instanceof IPartListener2)
-			l = (IPartListener2)array[i];
-		else
-			continue;
-			
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.partVisible(ref);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removePartListener(l);
-			}
-		});
-	}
-}
-/**
- * Notifies the listener that a part has been opened.
- */
-public void firePartInputChanged(final IWorkbenchPartReference ref) {
-	Object [] array = listeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final IPartListener2 l;
-		if(array[i] instanceof IPartListener2)
-			l = (IPartListener2)array[i];
-		else
-			continue;
-			
-		Platform.run(new SafeRunnable() {
-			public void run() {
-//				l.partInputChanged(ref);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removePartListener(l);
-			}
-		});
-	}
-}
-/**
- * Removes an IPartListener from the part service.
- */
-public void removePartListener(IPartListener2 l) {
-	listeners.remove(l);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartPane.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartPane.java
deleted file mode 100644
index 173dfa1..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartPane.java
+++ /dev/null
@@ -1,489 +0,0 @@
-package org.eclipse.ui.internal;
-
-/**********************************************************************
-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
-**********************************************************************/
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ViewForm;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.misc.UIStats;
-import org.eclipse.ui.part.WorkbenchPart;
-
-
-/**
- * Provides the common behavior for both views
- * and editor panes.
- */
-public abstract class PartPane extends LayoutPart
-	implements Listener
-{
-	private boolean isZoomed = false;
-	private MenuManager paneMenuManager;
-	protected IWorkbenchPartReference partReference;
-	protected WorkbenchPage page;
-	protected ViewForm control;
-	
-	public static class Sashes {
-		public Sash left;
-		public Sash right;
-		public Sash top;
-		public Sash bottom;
-	}
-	private class PaneContribution extends ContributionItem {
-		public boolean isDynamic() {
-			return true;
-		}
-		public void fill(Menu menu, int index) {
-			MenuItem item; 
-		
-			// Get various view states.
-			final boolean isFastView = (page.getActiveFastView() == partReference);
-			final boolean isZoomed = page.isZoomed();
-			boolean canZoom = (getWindow() instanceof IWorkbenchWindow);
-		
-			// add restore item
-			item = new MenuItem(menu, SWT.NONE);
-			item.setText(WorkbenchMessages.getString("PartPane.restore")); //$NON-NLS-1$
-			item.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					if (isZoomed)
-						doZoom();
-				}
-			});
-			item.setEnabled(isZoomed);
-			
-			//Add move menu
-			item = new MenuItem(menu, SWT.CASCADE);
-			item.setText(WorkbenchMessages.getString("PartPane.move")); //$NON-NLS-1$
-			Menu moveMenu = new Menu(menu);
-			item.setMenu(moveMenu);
-			addMoveItems(moveMenu);
-			
-			//Add size menu
-			item = new MenuItem(menu, SWT.CASCADE);
-			item.setText(WorkbenchMessages.getString("PartPane.size")); //$NON-NLS-1$
-			Menu sizeMenu = new Menu(menu);
-			item.setMenu(sizeMenu);
-			addSizeItems(sizeMenu);
-			
-			addFastViewMenuItem(menu,isFastView);
-		
-			// add maximize item
-			item = new MenuItem(menu, SWT.NONE);
-			item.setText(WorkbenchMessages.getString("PartPane.maximize")); //$NON-NLS-1$
-			item.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					doZoom();
-				}
-			});
-			item.setEnabled(!isZoomed && canZoom);
-		
-			addPinEditorItem(menu);
-			
-			new MenuItem(menu, SWT.SEPARATOR);
-			
-			// add close item
-			item = new MenuItem(menu, SWT.NONE);
-			item.setText(WorkbenchMessages.getString("PartPane.close")); //$NON-NLS-1$
-			item.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					doHide();
-				}
-			});			
-		}
-	}
-	
-/**
- * Construct a pane for a part.
- */
-public PartPane(IWorkbenchPartReference partReference, WorkbenchPage workbenchPage) {
-	super(partReference.getId());
-	this.partReference = partReference;
-	this.page = workbenchPage;
-	((WorkbenchPartReference)partReference).setPane(this);
-}
-/**
- * Factory method for creating the SWT Control hierarchy for this Pane's child.
- */
-protected void createChildControl() {
-	final IWorkbenchPart part[] = new IWorkbenchPart[]{partReference.getPart(false)};
-	if(part[0] == null)
-		return;
-
-	if(control == null || control.getContent() != null)
-		return;
-	
-	final Composite content = new Composite(control, SWT.NONE);
-	content.setLayout(new FillLayout());
-	
-	String error = WorkbenchMessages.format("PartPane.unableToCreate", new Object[] {partReference.getTitle()}); //$NON-NLS-1$
-	Platform.run(new SafeRunnable(error) {
-		public void run() {
-			try {
-				UIStats.start(UIStats.CREATE_PART_CONTROL,id);
-				part[0].createPartControl(content);
-			} finally {
-				UIStats.end(UIStats.CREATE_PART_CONTROL,id);
-			}
-		}
-		public void handleException(Throwable e) {
-			// Log error.
-			Workbench wb = (Workbench)WorkbenchPlugin.getDefault().getWorkbench();
-			if (!wb.isStarting())
-				super.handleException(e);
-
-			// Dispose old part.
-			Control children[] = content.getChildren();
-			for (int i = 0; i < children.length; i++){
-				children[i].dispose();
-			}
-			
-			// Create new part.
-			IWorkbenchPart newPart = createErrorPart((WorkbenchPart)part[0]);
-			part[0].getSite().setSelectionProvider(null);
-			newPart.createPartControl(content);
-			((WorkbenchPartReference)partReference).setPart(newPart);
-			part[0] = newPart;
-		}
-	});
-	control.setContent(content);
-	page.addPart(partReference);
-	page.firePartOpened(part[0]);	
-}
-/**
- * 
- */
-public void createControl(Composite parent) {
-	if (getControl() != null)
-		return;
-
-	// Create view form.	
-	control = new ViewForm(parent, getStyle());
-	control.marginWidth = 0;
-	control.marginHeight = 0;
-
-	// Create a title bar.
-	createTitleBar();
-
-	// Create content.
-	createChildControl();
-	
-	// When the pane or any child gains focus, notify the workbench.
-	control.addListener(SWT.Activate, this);
-}
-
-protected abstract WorkbenchPart createErrorPart(WorkbenchPart oldPart);
-/**
- * Create a title bar for the pane if required.
- */
-protected abstract void createTitleBar();
-/**
- * @private
- */
-public void dispose() {
-	super.dispose();
-
-	if ((control != null) && (!control.isDisposed())) {
-		control.removeListener(SWT.Activate, this);
-		control.dispose();
-		control = null;
-	}
-	if ((paneMenuManager != null)) {
-		paneMenuManager.dispose();	
-		paneMenuManager = null;
-	}
-}
-/**
- * User has requested to close the pane.
- * Take appropriate action depending on type.
- */
-abstract public void doHide();
-/**
- * Zooms in on the part contained in this pane.
- */
-protected void doZoom() {
-	if (getWindow() instanceof IWorkbenchWindow)
-		page.toggleZoom(partReference);
-}
-/**
- * Gets the presentation bounds.
- */
-public Rectangle getBounds() {
-	return getControl().getBounds();
-}
-/**
- * Get the control.
- */
-public Control getControl() {
-	return control;
-}
-
-/*
- * @see LayoutPart#getMinimumHeight()
- */
-public int getMinimumHeight() {
-	if (control == null || control.isDisposed())
-		return super.getMinimumHeight();
-	
-	// don't assume every future part will have top controls
-	boolean top = false;
-	
-	/* compute title bar height; this should be done by computeTrim 
-	 * to correctly handle seperate top center.
-	 */
-	int leftHeight = 0;
-	if (control.getTopLeft() != null && !control.getTopLeft().isDisposed()) {
-		leftHeight = control.getTopLeft().computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
-		top = true;
-	}
-	int centerHeight = 0;
-	if (control.getTopCenter() != null && !control.getTopCenter().isDisposed()) {
-		centerHeight = control.getTopCenter().computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
-		top=true;
-	}
-	int rightHeight = 0;
-	if (control.getTopRight() != null && !control.getTopRight().isDisposed()) {
-		rightHeight = control.getTopRight().computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
-		top = true;
-	}
-	
-	int topHeight = Math.max(leftHeight, Math.max(centerHeight, rightHeight));
-	
-	// account for the borders
-	topHeight = control.computeTrim(0, 0, 0, topHeight).height;
-	
-	/* add +1 for highlight line. ViewForm adds this *inside* client area
-	 * even though it's arguably an inset; see ViewForm.layout for details.
-	 */
-	if (top) {
-		topHeight += 1;
-	}
-	
-	return topHeight;
-}
-
-/**
- * Returns the top level SWT Canvas of this Pane. 
- */
-protected ViewForm getPane() {
-	return control;
-}
-/**
- * Answer the part child.
- */
-public IWorkbenchPartReference getPartReference() {
-	return partReference;
-}
-/**
- * Answer the SWT widget style.
- */
-int getStyle() {
-	if (getContainer() != null && !getContainer().allowsBorder())
-		return SWT.NONE;
-	else
-		return SWT.BORDER;
-}
-/**
- * Get the view form.
- */
-protected ViewForm getViewForm() {
-	return control;
-}
-/**
- * @see Listener
- */
-public void handleEvent(Event event) {
-	if (event.type == SWT.Activate)
-		requestActivation();
-}
-/**
- * Return whether the pane is zoomed or not
- */
-public boolean isZoomed() {
-	return isZoomed;
-}
-/**
- * Move the control over another one.
- */
-public void moveAbove(Control refControl) {
-	if (getControl() != null)
-		getControl().moveAbove(refControl);
-}
-/**
- * Notify the workbook page that the part pane has
- * been activated by the user.
- */
-protected void requestActivation() {
-	this.page.requestActivation(partReference.getPart(true));
-}
-/**
- * Sets the parent for this part.
- */
-public void setContainer(ILayoutContainer container) {
-	super.setContainer(container);
-	if (control != null && container != null)
-		control.setBorderVisible(container.allowsBorder());
-}
-/**
- * Shows the receiver if <code>visible</code> is true otherwise hide it.
- */
-public void setVisible(boolean makeVisible) {
-	super.setVisible(makeVisible);
-	if(makeVisible) //Make sure that the part is restored.
-		partReference.getPart(true);
-}
-/**
- * Sets focus to this part.
- */
-public void setFocus() {
-	requestActivation();
-	IWorkbenchPart part = partReference.getPart(true);
-	if (part != null) {
-		part.setFocus();
-	}
-}
-/**
- * Sets the workbench page of the view. 
- */
-public void setWorkbenchPage(WorkbenchPage workbenchPage) {
-	this.page = workbenchPage;
-}
-/**
- * Set whether the pane is zoomed or not
- */
-public void setZoomed(boolean isZoomed) {
-	this.isZoomed = isZoomed;
-}
-/**
- * Informs the pane that it's window shell has
- * been activated.
- */
-/* package */ abstract void shellActivated();
-/**
- * Informs the pane that it's window shell has
- * been deactivated.
- */
-/* package */ abstract void shellDeactivated();
-/**
- * Indicate focus in part.
- */
-public abstract void showFocus(boolean inFocus);
-/**
- * @see IPartDropTarget::targetPartFor
- */
-public LayoutPart targetPartFor(LayoutPart dragSource) {
-	return this;
-}
-
-/**
- * Show a title label menu for this pane.
- */
-public abstract void showPaneMenu();
-/**
- * Show the context menu for this part.
- */
-public abstract void showViewMenu();
-/**
- * Show a title label menu for this pane.
- */
-final protected void showPaneMenu(Control parent, Point point) {
-	if(paneMenuManager == null) {
-		paneMenuManager = new MenuManager();
-		paneMenuManager.add(new PaneContribution());			
-	}
-	Menu aMenu = paneMenuManager.createContextMenu(parent);
-	// open menu    
-	point = parent.toDisplay(point);
-	aMenu.setLocation(point.x, point.y);
-	aMenu.setVisible(true);
-}
-/**
- * Return the sashes around this part.
- */
-protected abstract Sashes findSashes();
-/**
- * Enable the user to resize this part using
- * the keyboard to move the specified sash
- */
-protected void moveSash(final Sash sash) {
-	final KeyListener listener = new KeyAdapter() {
-		public void keyPressed(KeyEvent e) {
-			if (e.character == SWT.ESC || e.character == '\r') {
-				IWorkbenchPart part = partReference.getPart(true);
-				if(part != null)
-					part.setFocus();
-			}
-		}
-	};
-	sash.addFocusListener(new FocusAdapter() {
-		public void focusGained(FocusEvent e) {
-			sash.setBackground(sash.getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION));
-			sash.addKeyListener(listener);
-		}
-		public void focusLost(FocusEvent e) {
-			sash.setBackground(null);
-			sash.removeKeyListener(listener);
-		}
-	});
-	sash.setFocus();
-}
-/**
- * Add a menu item to the Size Menu
- */
-protected void addSizeItem(Menu sizeMenu, String labelKey,final Sash sash) {
-	MenuItem item = new MenuItem(sizeMenu, SWT.NONE);
-	item.setText(WorkbenchMessages.getString(labelKey)); //$NON-NLS-1$
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			moveSash(sash);
-		}
-	});
-	item.setEnabled(!isZoomed() && sash != null);
-}
-/**
- * Returns the workbench page of this pane.
- */
-public WorkbenchPage getPage() {
-	return page;
-}
-/**
- * Add the Left,Right,Up,Botton menu items to the Size menu.
- */
-protected void addSizeItems(Menu sizeMenu) {
-	Sashes sashes = findSashes();
-	addSizeItem(sizeMenu,"PartPane.sizeLeft",sashes.left); //$NON-NLS-1$
-	addSizeItem(sizeMenu,"PartPane.sizeRight",sashes.right); //$NON-NLS-1$
-	addSizeItem(sizeMenu,"PartPane.sizeTop",sashes.top); //$NON-NLS-1$
-	addSizeItem(sizeMenu,"PartPane.sizeBottom",sashes.bottom); //$NON-NLS-1$
-}
-/**
- * Add the pin menu item on the editor system menu
- */
-protected void addPinEditorItem(Menu parent) {}
-/**
- * Add the move items to the Move menu.
- */
-protected void addMoveItems(Menu parent) {}
-/**
- * Add the Fast View menu item to the part title menu.
- */
-protected void addFastViewMenuItem(Menu parent,boolean isFastView) {}
-/**
- * Pin this part.
- */
-protected void doDock() {}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartPlaceholder.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartPlaceholder.java
deleted file mode 100644
index a54d9f7..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartPlaceholder.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * A PlaceHolder is a non-visible stand-in for a IVisualPart.
- */
-public class PartPlaceholder extends LayoutPart {
-	public PartPlaceholder(String id) {
-		super(id);
-	}
-/**
- * Creates the SWT control
- */
-public void createControl(Composite parent) {
-}
-/**
- * Get the part control.  This method may return null.
- */
-public Control getControl() {
-	return null;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartPluginAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartPluginAction.java
deleted file mode 100644
index 19d8ff3..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartPluginAction.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.ui.*;
-import org.eclipse.jface.viewers.*;
-
-/**
- * This class adds to the PluginAction support by
- * setting itself up for work within a WorkbenchPart.
- * The main difference is that it is capable of
- * processing local selection changes within a part.
- */
-public class PartPluginAction extends PluginAction {
-	/**
-	 * PartPluginAction constructor.
-	 *
-	 */
-	public PartPluginAction(IConfigurationElement actionElement, String runAttribute, String definitionId, int style) {
-		super(actionElement, runAttribute, definitionId, style);
-	}
-	/**
-	 * Registers this action as a listener of the workbench part.
-	 */
-	protected void registerSelectionListener(IWorkbenchPart aPart) {
-		ISelectionProvider selectionProvider = aPart.getSite().getSelectionProvider();
-		if (selectionProvider != null) {
-			selectionProvider.addSelectionChangedListener(this);
-			selectionChanged(selectionProvider.getSelection());
-		}
-	}
-	/**
-	 * Unregisters this action as a listener of the workbench part.
-	 */
-	protected void unregisterSelectionListener(IWorkbenchPart aPart) {
-		ISelectionProvider selectionProvider = aPart.getSite().getSelectionProvider();
-		if (selectionProvider != null) {
-			selectionProvider.removeSelectionChangedListener(this);
-		}
-	}
-	/**
-	 * Refresh the selection.
-	 */
-	protected void refreshSelection(IWorkbenchPart aPart) {
-		ISelectionProvider selectionProvider = aPart.getSite().getSelectionProvider();
-		if (selectionProvider != null)
-			selectionChanged(selectionProvider.getSelection());
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartSashContainer.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartSashContainer.java
deleted file mode 100644
index eb45833..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartSashContainer.java
+++ /dev/null
@@ -1,480 +0,0 @@
-package org.eclipse.ui.internal;
-
-/**********************************************************************
-Copyright (c) 2000, 2001, 2002, International Business Machines 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:
-  Cagatay Kavukcuoglu <cagatayk@acm.org> 
-    - Fix for bug 10025 - Resizing views should not use height ratios
-**********************************************************************/
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.*;
-import java.util.*;
-import org.eclipse.ui.*;
-
-/**
- * Abstract container that groups various layout
- * parts (possibly other containers) together as
- * a unit. Manages the placement and size of these
- * layout part based on the location of sashes within
- * the container.
- */
-public abstract class PartSashContainer extends LayoutPart implements ILayoutContainer {
- 
-	protected Composite parent;
-	protected ControlListener resizeListener;
-	protected LayoutTree root;
-	protected LayoutTree unzoomRoot;
-	protected Listener mouseDownListener;
-	boolean active = false;
-	
-	/* Array of LayoutPart */
-	protected ArrayList children = new ArrayList(); 
-	
-	protected static class RelationshipInfo {
-		protected LayoutPart part;
-		protected LayoutPart relative;
-		protected int relationship;
-		protected float ratio;
-	}
-	
-public PartSashContainer(String id,final WorkbenchPage page) {
-	super(id);
-	resizeListener = new ControlAdapter() {
-		public void controlResized(ControlEvent e) {
-			resizeSashes(parent.getClientArea());
-		}
-	};
-	// Mouse down listener to hide fast view when
-	// user clicks on empty editor area or sashes.
-	mouseDownListener = new Listener() {
-		public void handleEvent(Event event) {
-			if (event.type == SWT.MouseDown)
-				page.toggleFastView(null);
-		}
-	};	
-}
-/**
- * Find the sashs around the specified part.
- */
-public void findSashes(LayoutPart pane,PartPane.Sashes sashes) {
-	LayoutTree part = root.find(pane);
-	if(part == null)
-		return;
-	part.findSashes(sashes);
-}
-/**
- * Add a part.
- */
-public void add(LayoutPart child) {
-	if (isZoomed())
-		zoomOut();
-		
-	if (child == null)
-		return;
-	
-	RelationshipInfo info = new RelationshipInfo();
-	info.part = child;
-	if(root != null) {
-		findPosition(info);
-	}
-	addChild(info);
-}
-/**
- * Add on part relative to another
- */
-public void add(LayoutPart child, int relationship, float ratio, LayoutPart relative) {
-	if (isZoomed())
-		zoomOut();
-
-	if (child == null)
-		return;
-	if (relative != null && !isChild(relative))
-		return;
-	if (relationship < IPageLayout.LEFT || relationship > IPageLayout.BOTTOM)
-		relationship = IPageLayout.LEFT;
-
-	// store info about relative positions
-	RelationshipInfo info = new RelationshipInfo();
-	info.part = child;
-	info.relationship = relationship;
-	info.ratio = ratio;
-	info.relative = relative;
-	addChild(info);
-}
-private void addChild(RelationshipInfo info) {
-	LayoutPart child = info.part;
-	children.add(child);
-	
-	if(root == null) {
-		root = new LayoutTree(child);
-	} else {
-		//Add the part to the tree.
-		int vertical = (info.relationship == IPageLayout.LEFT || info.relationship == IPageLayout.RIGHT)?SWT.VERTICAL:SWT.HORIZONTAL;
-		boolean left = info.relationship == IPageLayout.LEFT || info.relationship == IPageLayout.TOP; 
-		LayoutPartSash sash = new LayoutPartSash(this,vertical);
-		sash.setRatio(info.ratio);
-		if((parent != null) && !(child instanceof PartPlaceholder))
-			sash.createControl(parent);
-		root = root.insert(child,left,sash,info.relative);
-	}
-	
-	childAdded(child);
-	
-	if (active) {
-		child.createControl(parent);
-		child.setVisible(true);
-		child.setContainer(this);
-		resizeSashes(parent.getClientArea());
-	}
-
-}
-/**
- * See ILayoutContainer#allowBorder
- */
-public boolean allowsBorder() {
-	return true;
-}
-/**
- * Notification that a child layout part has been
- * added to the container. Subclasses may override
- * this method to perform any container specific
- * work.
- */
-protected abstract void childAdded(LayoutPart child);
-/**
- * Notification that a child layout part has been
- * removed from the container. Subclasses may override
- * this method to perform any container specific
- * work.
- */
-protected abstract void childRemoved(LayoutPart child);
-/**
- * Returns an array with all the relation ship between the
- * parts.
- */
-public RelationshipInfo[] computeRelation() {
-	LayoutTree treeRoot = root;
-	if(isZoomed())
-		treeRoot = unzoomRoot;
-	ArrayList list = new ArrayList();
-	if(treeRoot == null)
-		return new RelationshipInfo[0];
-	RelationshipInfo r = new RelationshipInfo();
-	r.part = treeRoot.computeRelation(list);
-	list.add(0,r);
-	RelationshipInfo[] result = new RelationshipInfo[list.size()];
-	list.toArray(result);
-	return result;
-}
-/**
- * @see LayoutPart#getControl
- */
-public void createControl(Composite parentWidget) {
-	if (active)
-		return;
-
-	parent = createParent(parentWidget);
-	parent.addControlListener(resizeListener);
-	
-	ArrayList children = (ArrayList)this.children.clone();
-	for (int i = 0, length = children.size(); i < length; i++) {
-		LayoutPart child = (LayoutPart)children.get(i);
-		child.setContainer(this);
-		child.createControl(parent);
-	}
-
-	root.updateSashes(parent);
-	active = true;
-	resizeSashes(parent.getClientArea());
-}
-/**
- * Subclasses override this method to specify
- * the composite to use to parent all children
- * layout parts it contains.
- */
-protected abstract Composite createParent(Composite parentWidget);
-/**
- * @see LayoutPart#dispose
- */
-public void dispose() {
-	if (!active)
-		return;
-	
-	// remove all Listeners
-	if (resizeListener != null && parent != null){
-		parent.removeControlListener(resizeListener);
-	}
-	
-	resizeSashes(new Rectangle(-200, -200, 0, 0));
-
-	if (children != null) {
-		for (int i = 0, length = children.size(); i < length; i++){
-			LayoutPart child = (LayoutPart)children.get(i);
-			child.setContainer(null);
-			// In PartSashContainer dispose really means deactivate, so we
-			// only dispose PartTabFolders.
-			if (child instanceof PartTabFolder)
-				child.dispose();
-		}
-	}
-	
-	disposeParent();
-	this.parent = null;
-	
-	active = false;
-}
-/**
- * Subclasses override this method to dispose
- * of any swt resources created during createParent.
- */
-protected abstract void disposeParent();
-/**
- * Dispose all sashs used in this perspective.
- */
-public void disposeSashes() {
-	root.disposeSashes();
-}
-/**
- * Return the most bottom right part or null if none.
- */
-public LayoutPart findBottomRight() {
-	if(root == null)
-		return null;
-	return root.findBottomRight();
-}
-/**
- * Find a initial position for a new part.
- */
-private void findPosition(RelationshipInfo info) {
-
-	info.ratio = (float)0.5;
-	info.relationship = IPageLayout.RIGHT;
-	info.relative = root.findBottomRight();
-
-	// If no parent go with default.
-	if (parent == null)
-		return;
-		
-	// If the relative part is too small, place the part on the left of everything.
-	if (((float)this.getBounds().width / (float)info.relative.getBounds().width > 2) ||
-		 ((float)this.getBounds().height / (float)info.relative.getBounds().height > 4)) {
-		info.relative = null;
-		info.ratio = 0.75f;
-	}
-}
-/**
- * @see LayoutPart#getBounds
- */
-public Rectangle getBounds() {
-	return this.parent.getBounds();
-}
-
-
-// getMinimumHeight() added by cagatayk@acm.org 
-/**
- * @see LayoutPart#getMinimumHeight()
- */
-public int getMinimumHeight() {
-	return getLayoutTree().getMinimumHeight();
-}
-
-// getMinimumHeight() added by cagatayk@acm.org 
-/**
- * @see LayoutPart#getMinimumWidth()
- */
-public int getMinimumWidth() {
-	return getLayoutTree().getMinimumWidth();
-}
-
-
-/**
- * @see ILayoutContainer#getChildren
- */
-public LayoutPart[] getChildren() {
-	LayoutPart[] result = new LayoutPart[children.size()];
-	children.toArray(result);
-	return result;
-}
-
-/**
- * @see LayoutPart#getControl
- */
-public Control getControl() {
-	return this.parent;
-}
-
-public LayoutTree getLayoutTree() {
-	return root;
-}
-/**
- * Return the interested listener of mouse down events.
- */
-protected Listener getMouseDownListener() {
-	return mouseDownListener;
-}
-/**
- * Returns the composite used to parent all the
- * layout parts contained within.
- */
-public Composite getParent() {
-	return parent;
-}
-private boolean isChild(LayoutPart part) {
-	return children.indexOf(part) >= 0;
-}
-private boolean isRelationshipCompatible(int relationship,boolean isVertical) {
-	if(isVertical)
-		return (relationship == IPageLayout.RIGHT || relationship == IPageLayout.LEFT);
-	else 
-		return (relationship == IPageLayout.TOP || relationship == IPageLayout.BOTTOM);
-}
-/**
- * Returns whether this container is zoomed.
- */
-public boolean isZoomed() {
-	return (unzoomRoot != null);
-}
-/**
- * Move a part to a new position and keep the bounds when possible, ie,
- * when the new relative part has the same higth or width as the part
- * being move.
- */
-public void move(LayoutPart child, int relationship, LayoutPart relative) {
-	LayoutTree childTree = root.find(child);
-	LayoutTree relativeTree = root.find(relative);
-
-	LayoutTreeNode commonParent = relativeTree.getParent().findCommonParent(child,relative);
-	boolean isVertical = commonParent.getSash().isVertical();
-	boolean recomputeRatio = false;
-	recomputeRatio =
-		isRelationshipCompatible(relationship,isVertical) &&
-			commonParent.sameDirection(isVertical,relativeTree.getParent()) && 
-				commonParent.sameDirection(isVertical,childTree.getParent());
-
-	root = root.remove(child);
-	int vertical = (relationship == IPageLayout.LEFT || relationship == IPageLayout.RIGHT)?SWT.VERTICAL:SWT.HORIZONTAL;
-	boolean left = relationship == IPageLayout.LEFT || relationship == IPageLayout.TOP; 
-	LayoutPartSash sash = new LayoutPartSash(this,vertical);
-	sash.setRatio(0.5f);
-	if((parent != null) && !(child instanceof PartPlaceholder))
-		sash.createControl(parent);
-	root = root.insert(child,left,sash,relative);
-	root.updateSashes(parent);
-	if(recomputeRatio)
-		root.recomputeRatio();
-		
-	resizeSashes(parent.getClientArea());
-}
-/**
- * Remove a part.
- */ 
-public void remove(LayoutPart child) {
-	if (isZoomed())
-		zoomOut();
-		
-	if (!isChild(child))
-		return;
-
-	children.remove(child); 
-	root = root.remove(child);
-	if(root != null)
-		root.updateSashes(parent);
-	childRemoved(child);
-	
-	if (active){
-		child.setVisible(false);
-		child.setContainer(null);
-		resizeSashes(parent.getClientArea());
-	}
-}
-/**
- * Replace one part with another.
- */ 
-public void replace(LayoutPart oldChild, LayoutPart newChild) {
-	if (isZoomed())
-		zoomOut();
-
-	if (!isChild(oldChild))return;
-		
-	children.remove(oldChild);
-	children.add(newChild);
-
-	childAdded(newChild);
-	LayoutTree leaf = root.find(oldChild);
-	leaf.setPart(newChild);
-	root.updateSashes(parent);
-
-	childRemoved(oldChild);
-	if (active){
-		oldChild.setVisible(false);
-		oldChild.setContainer(null);
-		newChild.createControl(parent);
-		newChild.setContainer(this);
-		newChild.setVisible(true);		
-		resizeSashes(parent.getClientArea());
-	}
-}
-private void resizeSashes(Rectangle parentSize) {
-	if (!active) return;
-	root.setBounds(parentSize);
-}
-/**
- * @see LayoutPart#setBounds
- */
-public void setBounds(Rectangle r) {
-	this.parent.setBounds(r);
-}
-/**
- * Zoom in on a particular layout part.
- *
- * The implementation of zoom is quite simple.  When zoom occurs we create
- * a zoom root which only contains the zoom part.  We store the old
- * root in unzoomRoot and then active the zoom root.  When unzoom occurs
- * we restore the unzoomRoot and dispose the zoom root.
- *
- * Note: Method assumes we are active.
- */
-public void zoomIn(LayoutPart part) {
-	// Sanity check.
-	if (unzoomRoot != null)
-		return;
-
-	// Hide main root.
-	Rectangle oldBounds = root.getBounds();
-	root.setBounds(new Rectangle(0,0,0,0));
-	unzoomRoot = root;
-
-	// Show zoom root.
-	root = new LayoutTree(part);
-	root.setBounds(oldBounds);
-}
-/**
- * Zoom out.
- *
- * See zoomIn for implementation details.
- * 
- * Note: Method assumes we are active.
- */
-public void zoomOut() {
-	// Sanity check.
-	if (unzoomRoot == null)
-		return;
-
-	// Dispose zoom root.
-	Rectangle oldBounds = root.getBounds();
-	root.setBounds(new Rectangle(0,0,0,0));
-
-	// Show main root.
-	root = unzoomRoot;
-	root.setBounds(oldBounds);
-	unzoomRoot = null;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartSite.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartSite.java
deleted file mode 100644
index dd00efd..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartSite.java
+++ /dev/null
@@ -1,217 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IKeyBindingService;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.SubActionBars;
-
-/**
- * <code>PartSite</code> is the general implementation for an
- * <code>IWorkbenchPartSite</code>.  A site maintains the context for a part,
- * including the part, its pane, active contributions, selection provider, etc.
- * Together, these components make up the complete behavior for a
- * part as if it was implemented by one person.  
- *
- * The <code>PartSite</code> lifecycle is as follows ..
- *
- * <ol>
- * <li>a site is constructed </li>
- * <li>a part is constructed and stored in the part </li>
- * <li>the site calls part.init() </li>
- * <li>a pane is constructed and stored in the site </li>
- * <li>the action bars for a part are constructed and stored in the site </li>
- * <li>the pane is added to a presentation </li>
- * <li>the SWT widgets for the pane and part are created </li>
- * <li>the site is activated, causing the actions to become visible </li>
- * </ol>
- */
-public class PartSite implements IWorkbenchPartSite {
-	private IWorkbenchPart part;
-	private IWorkbenchPage page;
-	private PartPane pane;
-	private IConfigurationElement configElement;
-	private String extensionID;
-	private String pluginID;
-	private String extensionName;
-	private ISelectionProvider selectionProvider;
-	private SubActionBars actionBars;
-	private KeyBindingService keyBindingService;	
-/**
- * EditorContainer constructor comment.
- */
-public PartSite(IWorkbenchPart part, IWorkbenchPage page) 
-{
-	this.part = part;
-	this.page = page;
-	extensionID = "org.eclipse.ui.UnknownID";//$NON-NLS-1$
-	extensionName = "Unknown Name";//$NON-NLS-1$
-}
-/**
- * Dispose the contributions.
- */
-public void dispose() {
-}
-/**
- * Returns the action bars for the part.
- * If this part is a view then it has exclusive use of the action bars.
- * If this part is an editor then the action bars are shared among this editor and other editors of
- * the same type.
- */
-public IActionBars getActionBars() {
-	return actionBars;
-}
-/**
- * Returns the configuration element for a part.
- */
-public IConfigurationElement getConfigurationElement() {
-	return configElement;
-}
-
-
-/**
- * Returns the part registry extension ID.
- *
- * @return the registry extension ID
- */
-public String getId() {
-	return extensionID;
-}
-/**
- * Returns the page containing this workbench site's part.
- *
- * @return the page containing this part
- */
-public IWorkbenchPage getPage() {
-	return page;
-}
-/**
- * Gets the part pane.
- */
-public PartPane getPane() {
-	return pane;
-}
-/**
- * Returns the part.
- */
-public IWorkbenchPart getPart() {
-	return part;
-}
-/**
- * Returns the part registry plugin ID.  It cannot be <code>null</code>.
- *
- * @return the registry plugin ID
- */
-public String getPluginId() {
-	return pluginID;
-}
-/**
- * Returns the registered name for this part.
- */
-public String getRegisteredName() {
-	return extensionName;
-}
-/**
- * Returns the selection provider for a part.
- */
-public ISelectionProvider getSelectionProvider() {
-	return selectionProvider;
-}
-/**
- * Returns the shell containing this part.
- *
- * @return the shell containing this part
- */
-public Shell getShell() {
-	return page.getWorkbenchWindow().getShell();
-}
-/**
- * Returns the workbench window containing this part.
- *
- * @return the workbench window containing this part
- */
-public IWorkbenchWindow getWorkbenchWindow() {
-	return page.getWorkbenchWindow();
-}
-/**
- * Register a popup menu for extension.
- */
-public void registerContextMenu(String menuID, MenuManager menuMgr, ISelectionProvider selProvider) {
-	new PopupMenuExtender(menuID, menuMgr, selProvider, part);
-}
-/**
- * Register a popup menu with the default id for extension.
- */
-public void registerContextMenu(MenuManager menuMgr, ISelectionProvider selProvider) {
-	registerContextMenu(getId(), menuMgr, selProvider);
-}
-/**
- * Sets the action bars for the part.
- */
-public void setActionBars(SubActionBars bars) {
-	actionBars = bars;
-}
-/**
- * Sets the configuration element for a part.
- */
-public void setConfigurationElement(IConfigurationElement configElement) {
-	// Save for external use.
-	this.configElement = configElement;
-	
-	// Get extension ID.
-	extensionID = configElement.getAttribute("id");//$NON-NLS-1$
-
-	// Get plugin ID.
-	IPluginDescriptor pd = configElement.getDeclaringExtension().getDeclaringPluginDescriptor();
-	pluginID = pd.getUniqueIdentifier();
-
-	// Get extension name.
-	String name = configElement.getAttribute("name");//$NON-NLS-1$
-	if (name != null)
-		extensionName = name;
-}
-/**
- * Sets the part pane.
- */
-public void setPane(PartPane pane) {
-	this.pane = pane;
-}
-/**
- * Sets the part.
- */
-public void setPart(IWorkbenchPart newPart) {
-	part = newPart;
-}
-/**
- * Set the selection provider for a part.
- */
-public void setSelectionProvider(ISelectionProvider provider) {
-	selectionProvider = provider;
-}
-
-/* (non-Javadoc)
- * Method declared on IEditorSite.
- */
-public IKeyBindingService getKeyBindingService() {
-	if(keyBindingService == null) {
-		keyBindingService = new KeyBindingService(((WorkbenchWindow)getWorkbenchWindow()).getKeyBindingService(),this);
-		keyBindingService.setActiveAcceleratorScopeId(getInitialScopeId()); //$NON-NLS-1$
-	}	
-	return keyBindingService;
-}
-protected String getInitialScopeId() {
-	return IWorkbenchConstants.DEFAULT_ACCELERATOR_SCOPE_ID;
-}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartTabFolder.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartTabFolder.java
deleted file mode 100644
index fb9d3e8..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartTabFolder.java
+++ /dev/null
@@ -1,867 +0,0 @@
-package org.eclipse.ui.internal;
-
-/**********************************************************************
-Copyright (c) 2000, 2001, 2002, International Business Machines 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:
-  Cagatay Kavukcuoglu <cagatayk@acm.org> 
-    - Fix for bug 10025 - Resizing views should not use height ratios
-**********************************************************************/
-
-import java.util.*;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.custom.CTabItem;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.registry.IViewDescriptor;
-
-public class PartTabFolder extends LayoutPart
-	implements ILayoutContainer
-{
-	private static int tabLocation = -1;	// Initialized in constructor.
-	
-	private CTabFolder tabFolder;
-	private Map mapTabToPart = new HashMap();
-	private LayoutPart current;
-	private Map mapPartToDragMonitor = new HashMap();
-	private boolean assignFocusOnSelection = true;
-	
-	// inactiveCurrent is only used when restoring the persisted state of
-	// perspective on startup.
-	private LayoutPart inactiveCurrent;	
-	private Composite parent;
-	private boolean active = false;
-
-	// listen for mouse down on tab to set focus.
-	private MouseListener mouseListener = new MouseAdapter() {
-		public void mouseDown(MouseEvent e) {
-			// PR#1GDEZ25 - If selection will change in mouse up ignore mouse down.
-			// Else, set focus.
-			CTabItem newItem = tabFolder.getItem(new Point(e.x, e.y));
-			if (newItem != null) {
-				CTabItem oldItem = tabFolder.getSelection();
-				if (newItem != oldItem)
-					return;
-			}
-			if (PartTabFolder.this.current != null)
-				PartTabFolder.this.current.setFocus();
-		}
-	};
-
-	private class TabInfo {
-		private String tabText;
-		private LayoutPart part;
-	}
-	TabInfo[] invisibleChildren;
-/**
- * PartTabFolder constructor comment.
- */
-public PartTabFolder() {
-	super("PartTabFolder");//$NON-NLS-1$
-	setID(this.toString());	// Each folder has a unique ID so relative positioning is unambiguous.
-
-	// Get the location of the tabs from the preferences
-	if (tabLocation == -1)
-		tabLocation = getPreferenceStore().getInt(
-			IPreferenceConstants.VIEW_TAB_POSITION);
-		
-}
-/**
- * Add a part at an index.
- */
-public void add(String name, int index, LayoutPart part)
-{
-	if (active && !(part instanceof PartPlaceholder)) {
-		CTabItem tab = createPartTab(part, name, index);
-		index = tabFolder.indexOf(tab);
-		setSelection(index);
-	}
-	else {
-		TabInfo info = new TabInfo();
-		info.tabText = name;
-		info.part = part;
-		invisibleChildren = arrayAdd(invisibleChildren, info, index);
-		if (active)
-			part.setContainer(this);
-	}
-}
-/**
- * See IVisualContainer#add
- */
-public void add(LayoutPart child) {
-	int index = getItemCount();
-	String label = "";//$NON-NLS-1$
-	if (child instanceof PartPane) {
-		WorkbenchPartReference ref = (WorkbenchPartReference)((PartPane)child).getPartReference();
-		label = ref.getRegisteredName();
-	}
-	add(label, index, child);
-}
-/**
- * See ILayoutContainer::allowBorder
- *
- * There is already a border around the tab
- * folder so no need for one from the parts.
- */
-public boolean allowsBorder() {
-	return mapTabToPart.size() <= 1;
-}
-private TabInfo[] arrayAdd(TabInfo[] array, TabInfo item, int index) {
-
-	if (item == null) return array;
-	
-	TabInfo[] result = null;
-	
-	if (array == null) {
-		result = new TabInfo[1];	
-		result[0] = item;
-	} else {
-		if (index >= array.length) index = array.length;
-		result = new TabInfo[array.length + 1];
-		System.arraycopy(array, 0, result, 0, index);
-		result[index] = item;
-		System.arraycopy(array, index, result, index + 1, array.length - index);
-	}
-
-	return result;
-}
-private TabInfo[] arrayRemove(TabInfo[] array, LayoutPart item) {
-
-	if (item == null) return array;
-	
-	TabInfo[] result = null;
-	
-	int index = -1;
-	for (int i = 0, length = array.length; i < length; i++){
-		if (item == array[i].part){
-			index = i;
-			break;
-		}
-	}
-	if (index == -1) return array;
-	
-	if (array.length > 1) {
-		result = new TabInfo[array.length - 1];
-		System.arraycopy(array, 0, result, 0, index);
-		System.arraycopy(array, index+1, result, index, result.length - index);
-	}
-	return result;
-}
-/**
- * Set the default bounds of a page in a CTabFolder.
- */
-protected static Rectangle calculatePageBounds(CTabFolder folder) {
-	if (folder == null) 
-		return new Rectangle(0,0,0,0);
-	Rectangle bounds = folder.getBounds();
-	Rectangle offset = folder.getClientArea();
-	bounds.x += offset.x;
-	bounds.y += offset.y;
-	bounds.width = offset.width;
-	bounds.height = offset.height;
-	return bounds;
-}
-public void createControl(Composite parent) {
-
-	if (tabFolder != null) return;
-
-	// Create control.	
-	this.parent = parent;
-	tabFolder = new CTabFolder(parent, tabLocation | SWT.BORDER);
-
-	// listener to switch between visible tabItems
-	tabFolder.addListener(SWT.Selection, new Listener(){
-		public void handleEvent(Event e){
-			LayoutPart item = (LayoutPart)mapTabToPart.get(e.item);
-			// Item can be null when tab is just created but not map yet.
-			if (item != null) {
-				setSelection(item);
-				if (assignFocusOnSelection)
-					item.setFocus();
-			}
-		}
-	});
-
-	// listener to resize visible components
-	tabFolder.addListener(SWT.Resize, new Listener(){
-		public void handleEvent(Event e){
-			setControlSize();
-		}
-	});
-
-	// listen for mouse down on tab to set focus.
-	tabFolder.addMouseListener(this.mouseListener);
-
-	// enable for drag & drop target
-	tabFolder.setData((IPartDropTarget)this);
-	
-	// Create pages.
-	if (invisibleChildren != null) {
-		TabInfo[] stillInactive = new TabInfo[0];
-		int tabCount = 0;
-		for (int i = 0, length = invisibleChildren.length; i < length; i++){
-			if (invisibleChildren[i].part instanceof PartPlaceholder) {
-				invisibleChildren[i].part.setContainer(this);
-				TabInfo[] newStillInactive = new TabInfo[stillInactive.length + 1];
-				System.arraycopy(stillInactive, 0, newStillInactive, 0, stillInactive.length);
-				newStillInactive[stillInactive.length] = invisibleChildren[i];
-				stillInactive = newStillInactive;
-			}
-			else {
-				createPartTab(invisibleChildren[i].part, invisibleChildren[i].tabText, tabCount);
-				++ tabCount;
-			}
-		}
-		invisibleChildren = stillInactive;
-	}
-	
-	active = true;
-
-	// Set current page.
-	if (getItemCount() > 0) {
-		int newPage = 0;
-		if (current != null)
-			newPage = indexOf(current);
-		setSelection(newPage);
-	}
-}
-private CTabItem createPartTab(LayoutPart part, String tabName, int tabIndex) {
-	CTabItem tabItem;
-
-	if (tabIndex < 0)
-		tabItem = new CTabItem(this.tabFolder, SWT.NONE);
-	else
-		tabItem = new CTabItem(this.tabFolder, SWT.NONE, tabIndex);
-	tabItem.setText(tabName);
-
-	mapTabToPart.put(tabItem, part);
-
-	part.createControl(this.parent);
-	part.setContainer(this);
-
-	// Because the container's allow border api
-	// is dependent on the number of tabs it has,
-	// reset the container so the parts can update.
-	if (mapTabToPart.size() == 2) {
-		Iterator parts = mapTabToPart.values().iterator();
-		((LayoutPart)parts.next()).setContainer(this);
-		((LayoutPart)parts.next()).setContainer(this);
-	}
-	
-	return tabItem;
-}
-/**
- * Remove the ability to d&d using the tab
- *
- * See PerspectivePresentation
- */
-public void disableDrag(LayoutPart part) {
-	PartDragDrop partDragDrop = (PartDragDrop)mapPartToDragMonitor.get(part);
-	if (partDragDrop != null) {
-		partDragDrop.dispose();
-		mapPartToDragMonitor.remove(part);
-	}
-
-	// remove d&d on folder when no tabs left
-	if (mapPartToDragMonitor.size() == 1) {
-		partDragDrop = (PartDragDrop)mapPartToDragMonitor.get(this);
-		if (partDragDrop != null) {
-			partDragDrop.dispose();
-			mapPartToDragMonitor.remove(this);
-		}
-	}
-}
-/**
- * See LayoutPart#dispose
- */
-public void dispose() {
-
-	if (!active) return;
-
-	// combine active and inactive entries into one
-	TabInfo[] newInvisibleChildren = new TabInfo[mapTabToPart.size()];
-		
-	if (invisibleChildren != null){
-		// tack the inactive ones on at the end
-		newInvisibleChildren = new TabInfo[newInvisibleChildren.length + invisibleChildren.length];
-		System.arraycopy(invisibleChildren, 0, newInvisibleChildren, mapTabToPart.size(), invisibleChildren.length);
-	}
-			
-	Iterator keys = mapTabToPart.keySet().iterator();
-	while(keys.hasNext()) {
-		CTabItem item = (CTabItem)keys.next();
-		LayoutPart part = (LayoutPart)mapTabToPart.get(item);
-		TabInfo info = new TabInfo();
-		info.tabText = item.getText();
-		info.part = part;
-		newInvisibleChildren[tabFolder.indexOf(item)] = info;
-		disableDrag(part);
-	}
-
-	invisibleChildren = newInvisibleChildren;
-
-	if (invisibleChildren != null) {
-		for (int i = 0, length = invisibleChildren.length; i < length; i++){
-			invisibleChildren[i].part.setContainer(null);
-		}
-	}
-		
-	mapTabToPart.clear();
-
-	if (tabFolder != null)
-		tabFolder.dispose();
-	tabFolder = null;
-	
-	active = false;
-}
-/**
- * Enable the view pane to be d&d via its tab
- *
- * See PerspectivePresentation::enableDrag
- */
-public void enableDrag(ViewPane pane, IPartDropListener listener) {
-	// make sure its not already registered
-	if (mapPartToDragMonitor.containsKey(pane))
-		return;
-
-	CTabItem tab = getTab(pane);
-	if (tab == null)
-		return;
-
-	CTabPartDragDrop dragSource = new CTabPartDragDrop(pane, this.tabFolder, tab);
-	mapPartToDragMonitor.put(pane, dragSource);
-	dragSource.addDropListener(listener);
-
-	// register d&d on empty tab area the first time thru
-	if (mapPartToDragMonitor.size() == 1) {
-		dragSource = new CTabPartDragDrop(this, this.tabFolder, null);
-		mapPartToDragMonitor.put(this, dragSource);
-		dragSource.addDropListener(listener);
-	}
-}
-/**
- * Open the tracker to allow the user to move
- * the specified part using keyboard.
- */
-public void openTracker(LayoutPart part) {
-	CTabPartDragDrop dnd = (CTabPartDragDrop)mapPartToDragMonitor.get(part);
-	dnd.openTracker();
-}
-/**
- * Gets the presentation bounds.
- */
-public Rectangle getBounds() {
-	return tabFolder.getBounds();
-}
-
-// getMinimumHeight() added by cagatayk@acm.org 
-/**
- * @see LayoutPart#getMinimumHeight()
- */
-public int getMinimumHeight() {
-	if (current == null || tabFolder == null || tabFolder.isDisposed())
-		return super.getMinimumHeight();
-	
-	if (getItemCount() > 1) {
-		Rectangle trim = tabFolder.computeTrim(0, 0, 0, current.getMinimumHeight());
-		return trim.height;
-	}
-	else
-		return current.getMinimumHeight();
-}
-
-/**
- * See IVisualContainer#getChildren
- */
-public LayoutPart[] getChildren() {
-	LayoutPart [] children = new LayoutPart[0];
-	
-	if (invisibleChildren != null) {
-		children = new LayoutPart[invisibleChildren.length];
-		for (int i = 0, length = invisibleChildren.length; i < length; i++){
-			children[i] = invisibleChildren[i].part;
-		}
-	}
-
-	int count = mapTabToPart.size();
-	if (count > 0) {
-		int index = children.length;
-		LayoutPart [] newChildren = new LayoutPart[children.length + count];
-		System.arraycopy(children, 0, newChildren, 0, children.length);
-		children = newChildren;
-		for (int nX = 0; nX < count; nX ++) {
-			CTabItem tabItem = tabFolder.getItem(nX);
-			children[index] = (LayoutPart)mapTabToPart.get(tabItem);
-			index++;
-		}
-	}
-	
-	return children;
-}
-public Control getControl() {
-	return tabFolder;
-}
-/**
- * Answer the number of children.
- */
-public int getItemCount() {
-	if (active)
-		return tabFolder.getItemCount();
-	else if (invisibleChildren != null)
-		return invisibleChildren.length;
-	else
-		return 0;
-	
-}
-/**
- * Get the parent control.
- */
-public Composite getParent() {
-	return tabFolder.getParent();
-}
-public int getSelection() {
-	if (!active) return 0;
-	return tabFolder.getSelectionIndex();
-}
-/**
- * Returns the tab for a part.
- */
-private CTabItem getTab(LayoutPart child) {
-	Iterator tabs = mapTabToPart.keySet().iterator();
-	while (tabs.hasNext()) {
-		CTabItem tab = (CTabItem) tabs.next();
-		if (mapTabToPart.get(tab) == child)
-			return tab;
-	}
-	
-	return null;
-}
-/**
- * Returns the visible child.
- */
-public LayoutPart getVisiblePart() {
-	if(current == null)
-		return inactiveCurrent;
-	return current;
-}
-public int indexOf (LayoutPart item) {
-
-	Iterator keys = mapTabToPart.keySet().iterator();
-	while (keys.hasNext()) {
-		CTabItem tab = (CTabItem)keys.next();
-		LayoutPart part = (LayoutPart)mapTabToPart.get(tab);
-		if (part.equals(item))
-			return tabFolder.indexOf(tab);
-	}
-	
-	return 0;
-}
-/**
- * See IVisualContainer#remove
- */
-public void remove(LayoutPart child) {
-	
-	if (active && !(child instanceof PartPlaceholder)) {
-		
-		Iterator keys = mapTabToPart.keySet().iterator();
-		while (keys.hasNext()) {
-			CTabItem key = (CTabItem) keys.next();
-			if (mapTabToPart.get(key).equals(child)) {
-				removeTab(key);
-				break;
-			}
-		}
-	} else	if (invisibleChildren != null) {
-		invisibleChildren = arrayRemove(invisibleChildren, child);
-	}
-
-	if (active) {
-		child.setVisible(false);
-		child.setContainer(null);
-	}
-}
-private void removeTab(CTabItem tab) {
-	// disable any d&d based on this tab
-	LayoutPart part = (LayoutPart)mapTabToPart.get(tab);
-	if (part != null)
-		disableDrag(part);
-
-	// remove the tab now
-	// Note, that disposing of the tab causes the
-	// tab folder to select the next tab and fires
-	// a selection event. In this situation, do
-	// not assign focus.
-	assignFocusOnSelection = false;
-	mapTabToPart.remove(tab);
-	tab.dispose();
-	assignFocusOnSelection = true;
-	
-	// Because the container's allow border api
-	// is dependent on the number of tabs it has,
-	// reset the container so the parts can update.
-	if (mapTabToPart.size() == 1) {
-		Iterator parts = mapTabToPart.values().iterator();
-		((LayoutPart)parts.next()).setContainer(this);
-	}
-}
-/**
- * Reorder the tab representing the specified pane.
- * If a tab exists under the specified x,y location,
- * then move the tab before it, otherwise place it
- * as the last tab.
- */
-public void reorderTab(ViewPane pane, int x, int y) {
-	CTabItem sourceTab = getTab(pane);
-	if (sourceTab == null)
-		return;
-
-	// adjust the y coordinate to fall within the tab area
-	Point location = new Point(1, 1);
-	if ((tabFolder.getStyle() & SWT.BOTTOM) != 0)
-		location.y = tabFolder.getSize().y - 4; // account for 3 pixel border
-
-	// adjust the x coordinate to be within the tab area
-	if (x > location.x)
-		location.x = x;
-		
-	// find the tab under the adjusted location.
-	CTabItem targetTab = tabFolder.getItem(location);
-
-	// no tab under location so move view's tab to end
-	if (targetTab == null) {
-		// do nothing if already at the end
-		if (tabFolder.indexOf(sourceTab) != tabFolder.getItemCount() - 1)
-			reorderTab(pane, sourceTab, -1);
-		
-		return;
-	}
-
-	// do nothing if over view's own tab
-	if (targetTab == sourceTab)
-		return;
-
-	// do nothing if already before target tab
-	int sourceIndex = tabFolder.indexOf(sourceTab);
-	int targetIndex = tabFolder.indexOf(targetTab);
-	if (sourceIndex == targetIndex - 1)
-		return;
-
-	reorderTab(pane, sourceTab, targetIndex);
-}
-/**
- * Reorder the tab representing the specified pane.
- */
-private void reorderTab(ViewPane pane, CTabItem sourceTab, int newIndex) {
-	// remember if the source tab was the visible one
-	boolean wasVisible = (tabFolder.getSelection() == sourceTab);
-
-	// create the new tab at the specified index
-	CTabItem newTab;
-	if (newIndex < 0)
-		newTab = new CTabItem(tabFolder, SWT.NONE);
-	else
-		newTab = new CTabItem(tabFolder, SWT.NONE, newIndex);
-
-	// map it now before events start coming in...	
-	mapTabToPart.put(newTab, pane);
-
-	// update the drag & drop
-	CTabPartDragDrop partDragDrop = (CTabPartDragDrop)mapPartToDragMonitor.get(pane);
-	partDragDrop.setTab(newTab);
-
-	// dispose of the old tab and remove it
-	String sourceLabel = sourceTab.getText();
-	mapTabToPart.remove(sourceTab);
-	assignFocusOnSelection = false;
-	sourceTab.dispose();
-	assignFocusOnSelection = true;
-
-	// update the new tab's title and visibility
-	newTab.setText(sourceLabel);
-	if (wasVisible) {
-		tabFolder.setSelection(newTab);
-		setSelection(pane);
-		pane.setFocus();
-	}
-}
-/**
- * Reparent a part. Also reparent visible children...
- */
-public void reparent(Composite newParent) {
-	if (!newParent.isReparentable())
-		return;
-		
-	Control control = getControl();
-	if ((control == null) || (control.getParent() == newParent))
-		return;
-		
-	super.reparent(newParent);
-
-	// reparent also the visible children.
-	Iterator enum = mapTabToPart.values().iterator();
-	while (enum.hasNext())
-		((LayoutPart)enum.next()).reparent(newParent);
-}
-/**
- * See IVisualContainer#replace
- */
-public void replace(LayoutPart oldChild, LayoutPart newChild) {
-	
-	if ((oldChild instanceof PartPlaceholder) && !(newChild instanceof PartPlaceholder)){
-		replaceChild((PartPlaceholder)oldChild, newChild);
-		return;
-	}
-		
-	if (!(oldChild instanceof PartPlaceholder) && (newChild instanceof PartPlaceholder)){
-		replaceChild(oldChild, (PartPlaceholder)newChild);
-		return;
-	}
-
-}
-private void replaceChild(LayoutPart oldChild, PartPlaceholder newChild) {
-	
-	// remove old child from display
-	if (active) {
-		Iterator keys = mapTabToPart.keySet().iterator();
-		while (keys.hasNext()) {
-			CTabItem key = (CTabItem)keys.next();
-			LayoutPart part = (LayoutPart)mapTabToPart.get(key);
-			if (part == oldChild) {
-				boolean partIsActive = (current == oldChild);
-				TabInfo info = new TabInfo();
-				info.part = newChild;
-				info.tabText = key.getText();
-				removeTab(key);
-				int index = 0;
-				if (invisibleChildren != null)
-					index = invisibleChildren.length;
-				invisibleChildren = arrayAdd(invisibleChildren, info, index);
-				oldChild.setVisible(false);
-				oldChild.setContainer(null);
-				newChild.setContainer(this);
-				if (tabFolder.getItemCount() > 0 && !partIsActive) {
-					setControlSize();
-				}
-				break;
-			}
-		}
-	} else if (invisibleChildren != null) {
-		for (int i = 0, length = invisibleChildren.length; i < length; i++){
-			if (invisibleChildren[i].part == oldChild) {
-				invisibleChildren[i].part = newChild;
-			}
-		}
-	}
-
-}
-private void replaceChild(PartPlaceholder oldChild, LayoutPart newChild) {
-	if (invisibleChildren == null) return;
-	
-	for (int i = 0, length = invisibleChildren.length; i < length; i++) {
-		if (invisibleChildren[i].part == oldChild) {
-			if (active) {
-				TabInfo info = invisibleChildren[i];
-				invisibleChildren = arrayRemove(invisibleChildren, oldChild);
-				oldChild.setContainer(null);
-				
-				if (newChild instanceof PartPane) {
-					WorkbenchPartReference ref = (WorkbenchPartReference)((PartPane)newChild).getPartReference();
-					info.tabText = ref.getRegisteredName();
-				}
-				CTabItem item = createPartTab(newChild, info.tabText, -1);
-				int index = tabFolder.indexOf(item);
-				setSelection(index);
-			} else {
-				invisibleChildren[i].part = newChild;
-				// On restore, all views are initially represented by placeholders and then 
-				// they are replaced with the real views.  The following code is used to preserve the active 
-				// tab when a prespective is restored from its persisted state.
-				if (inactiveCurrent != null && inactiveCurrent == oldChild){
-					current = newChild;
-					inactiveCurrent = null;
-				}
-			}
-			break;
-		}
-	}
-}
-/**
- * @see IPersistable
- */
-public IStatus restoreState(IMemento memento) 
-{
-	// Read the active tab.
-	String activeTabID = memento.getString(IWorkbenchConstants.TAG_ACTIVE_PAGE_ID);
-	
-	// Read the page elements.
-	IMemento [] children = memento.getChildren(IWorkbenchConstants.TAG_PAGE);
-	if(children != null) {
-		// Loop through the page elements.
-		for (int i = 0; i < children.length; i ++) {
-			// Get the info details.
-			IMemento childMem = children[i];
-			String partID = childMem.getString(IWorkbenchConstants.TAG_CONTENT);
-			String tabText = childMem.getString(IWorkbenchConstants.TAG_LABEL);
-
-			IViewDescriptor descriptor = (IViewDescriptor)WorkbenchPlugin.getDefault().
-				getViewRegistry().find(partID);
-			if(descriptor != null)
-				tabText = descriptor.getLabel();
-
-			// Create the part.
-			LayoutPart part = new PartPlaceholder(partID);
-			add(tabText, i, part);
-			//1FUN70C: ITPUI:WIN - Shouldn't set Container when not active
-			part.setContainer(this);
-			if (partID.equals(activeTabID)) {
-				// Mark this as the active part.
-				inactiveCurrent = part;
-			}
-		}
-	}
-	return new Status(IStatus.OK,PlatformUI.PLUGIN_ID,0,"",null);
-}
-/**
- * @see IPersistable
- */
-public IStatus saveState(IMemento memento) 
-{
-	
-	// Save the active tab.
-	if (current != null)
-		memento.putString(IWorkbenchConstants.TAG_ACTIVE_PAGE_ID, current.getID());
-
-	if(mapTabToPart.size() == 0) {
-		// Loop through the invisible children.
-		if(invisibleChildren != null) {
-			for (int i = 0; i < invisibleChildren.length; i ++) {
-				// Save the info.
-				// Fields in TabInfo ..
-				//		private String tabText;
-				//		private LayoutPart part;
-				TabInfo info = invisibleChildren[i];
-				IMemento childMem = memento.createChild(IWorkbenchConstants.TAG_PAGE);
-				childMem.putString(IWorkbenchConstants.TAG_LABEL, info.tabText);
-				childMem.putString(IWorkbenchConstants.TAG_CONTENT, info.part.getID());
-			}
-		}
-	} else {
-		LayoutPart [] children = getChildren();
-		CTabItem keys[] = new CTabItem[mapTabToPart.size()];
-		mapTabToPart.keySet().toArray(keys);
-		if(children != null) {
-			for (int i = 0; i < children.length; i ++){
-				IMemento childMem = memento.createChild(IWorkbenchConstants.TAG_PAGE);
-				childMem.putString(IWorkbenchConstants.TAG_CONTENT,children[i].getID());
-				boolean found = false;
-				for (int j = 0; j < keys.length; j++){
-					if(mapTabToPart.get(keys[j]) == children[i]) {
-						childMem.putString(IWorkbenchConstants.TAG_LABEL, keys[j].getText());
-						found = true;
-						break;
-					}
-				}
-				if(!found) {
-					for (int j = 0; j < invisibleChildren.length; j++){
-						if(invisibleChildren[j].part == children[i]) {
-							childMem.putString(IWorkbenchConstants.TAG_LABEL,invisibleChildren[j].tabText);
-							found = true;
-							break;
-						}
-					}
-				}
-				if(!found) {
-					childMem.putString(IWorkbenchConstants.TAG_LABEL,"LabelNotFound");//$NON-NLS-1$
-				}
-			}
-		}
-	}
-	return new Status(IStatus.OK,PlatformUI.PLUGIN_ID,0,"",null);
-}
-/**
- * Sets the presentation bounds.
- */
-public void setBounds(Rectangle r) {
-	if (tabFolder != null)
-		tabFolder.setBounds(r);
-	setControlSize();
-}
-/**
- * Set the size of a page in the folder.
- */
-private void setControlSize() {
-	if (current == null || tabFolder == null) 
-		return;
-	Rectangle bounds;
-	if (mapTabToPart.size() > 1)
-		bounds = calculatePageBounds(tabFolder);
-	else
-		bounds = tabFolder.getBounds();
-	current.setBounds(bounds);
-	current.moveAbove(tabFolder);
-}
-
-public void setSelection(int index) {
-	if (!active) return;
-
-	if (mapTabToPart.size() == 0) {
-		setSelection(null);
-		return;
-	}
-
-	// make sure the index is in the right range
-	if (index < 0) index = 0;
-	if (index > mapTabToPart.size() - 1) index = mapTabToPart.size() - 1;
-	tabFolder.setSelection(index);
-
-	CTabItem item = tabFolder.getItem(index);
-	LayoutPart part = (LayoutPart)mapTabToPart.get(item);
-	setSelection(part);
-}
-private void setSelection(LayoutPart part) {
-
-	if (!active) return;
-	if (part instanceof PartPlaceholder) return;
-
-	// Deactivate old / Activate new.
-	if (current != null && current != part){
-		current.setVisible(false);
-	}
-	current = part;
-	if (current != null) {
-		setControlSize();
-		current.setVisible(true);
-	}
-
-	/*
-	 * Detached window no longer supported - remove when confirmed
-	 *
-	 * // set the title of the detached window to reflact the active tab
-	 * Window window = getWindow();
-	 * if (window instanceof DetachedWindow) {
-	 * 	if (current == null || !(current instanceof PartPane))
-	 * 		window.getShell().setText("");//$NON-NLS-1$
-	 * 	else
-	 * 		window.getShell().setText(((PartPane)current).getPart().getTitle());
-	 * }
-	 */
-}
-/**
- * @see IPartDropTarget::targetPartFor
- */
-public LayoutPart targetPartFor(LayoutPart dragSource) {
-	return this;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/Perspective.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/Perspective.java
deleted file mode 100644
index 1514f34..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/Perspective.java
+++ /dev/null
@@ -1,1526 +0,0 @@
-package org.eclipse.ui.internal;
-
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Sash;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveFactory;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.XMLMemento;
-import org.eclipse.ui.internal.registry.ActionSetRegistry;
-import org.eclipse.ui.internal.registry.IActionSetDescriptor;
-import org.eclipse.ui.internal.registry.IViewRegistry;
-import org.eclipse.ui.internal.registry.PerspectiveDescriptor;
-import org.eclipse.ui.internal.registry.PerspectiveExtensionReader;
-import org.eclipse.ui.internal.registry.PerspectiveRegistry;
-
-/**
- * The ViewManager is a factory for workbench views.  
- */
-public class Perspective
-{
-	private PerspectiveDescriptor descriptor;
-	protected WorkbenchPage page;
-	protected LayoutPart editorArea;
-	private PartPlaceholder editorHolder;
-	private ViewFactory viewFactory;
-	private ArrayList visibleActionSets;
-	private ArrayList alwaysOnActionSets;
-	private ArrayList alwaysOffActionSets;
-	private ArrayList newWizardActionIds;
-	private ArrayList showViewActionIds;
-	private ArrayList perspectiveActionIds;
-	private ArrayList fastViews;
-	private ArrayList showInPartIds;
-	private IViewReference activeFastView;
-	private IViewReference previousActiveFastView;
-	private IMemento memento;
-	protected PerspectivePresentation presentation;
-	final static private String VERSION_STRING = "0.016";//$NON-NLS-1$
-	
-	// fields used by fast view resizing via a sash
-	private static final int SASH_SIZE = 3;
-	private static final int FASTVIEW_HIDE_STEPS = 5;
-	private static final long FASTVIEW_HIDE_MIN_DURATION = 50;
-	private static final long FASTVIEW_HIDE_MAX_DURATION = 250;
-	private static final RGB RGB_COLOR1 = new RGB(132, 130, 132);
-	private static final RGB RGB_COLOR2 = new RGB(143, 141, 138);
-	private static final RGB RGB_COLOR3 = new RGB(171, 168, 165);
-	private Color borderColor1;
-	private Color borderColor2;
-	private Color borderColor3;
-	private Map mapFastViewToWidthRatio = new HashMap();
-	private Sash fastViewSash;
-	private CoolBarLayout toolBarLayout;
-	
-	//Number of open editors before reusing. If < 0, use the 
-	//user preference settings.
-	private int reuseEditors = -1;
-
-	// resize listener to update fast view height and width when
-	// window resized.
-	Listener resizeListener = new Listener() {
-		public void handleEvent(Event event) {
-			if (event.type == SWT.Resize && activeFastView != null) {
-				ViewPane pane = getPane(activeFastView);
-				if (pane.isZoomed() == false) {
-					Rectangle bounds = pane.getBounds();
-					bounds.height = Math.max(0, getClientComposite().getSize().y);
-					float ratio = getFastViewWidthRatio(pane.getID());
-					bounds.width = Math.max(0, (int)((float)(getClientComposite().getSize().x) * ratio));
-					pane.setBounds(bounds);
-					fastViewSash.setBounds(bounds.width - SASH_SIZE, bounds.y, SASH_SIZE, bounds.height - SASH_SIZE);
-					fastViewSash.moveAbove(null);
-				}
-			}
-		}
-	};
-
-	private PaintListener paintListener = new PaintListener() {
-		public void paintControl(PaintEvent event) {
-			if (borderColor1 == null) borderColor1 = WorkbenchColors.getColor(RGB_COLOR1);
-			if (borderColor2 == null) borderColor2 = WorkbenchColors.getColor(RGB_COLOR2);
-			if (borderColor3 == null) borderColor3 = WorkbenchColors.getColor(RGB_COLOR3);
-			
-			Point size = fastViewSash.getSize();
-			Rectangle d = new Rectangle(0, 0, size.x, size.y);
-			GC gc = event.gc;
-			
-			gc.setForeground(borderColor1);
-			gc.drawLine(d.x, d.y, d.x, d.y + d.height);
-		
-			gc.setForeground(borderColor2);
-			gc.drawLine(d.x + 1, d.y + 1, d.x + 1, d.y + d.height);
-		
-			gc.setForeground(borderColor3);
-			gc.drawLine(d.x + 2, d.y + 2, d.x + 2, d.y + d.height);
-		}
-	};
-	private SelectionAdapter selectionListener = new SelectionAdapter () {
-		public void widgetSelected(SelectionEvent e) {
-			if (e.detail == SWT.DRAG && activeFastView != null)
-				checkDragLimit(e);
-			if (e.detail != SWT.DRAG && activeFastView != null) {
-				ViewPane pane = getPane(activeFastView);
-				Rectangle bounds = pane.getBounds();
-				bounds.width = Math.max(0, e.x - bounds.x);
-				pane.setBounds(bounds);
-				Float newRatio = new Float((float)bounds.width/(float)getClientComposite().getSize().x);
-				mapFastViewToWidthRatio.put(pane.getID(), newRatio);
-				updateFastViewSashBounds(bounds);
-				fastViewSash.moveAbove(null);
-			}
-		}
-	};
-
-	private String oldPartID = null;
-	private boolean shouldHideEditorsOnActivate = false;
-
-/**
- * ViewManager constructor comment.
- */
-public Perspective(PerspectiveDescriptor desc, WorkbenchPage page)
-	throws WorkbenchException
-{
-	this(page);
-	descriptor = desc;
-	if(desc != null)
-		createPresentation(desc);
-}
-/**
- * ViewManager constructor comment.
- */
-protected Perspective(WorkbenchPage page) throws WorkbenchException {
-	this.page = page;
-	this.editorArea = page.getEditorPresentation().getLayoutPart();
-	this.viewFactory = page.getViewFactory();
-	visibleActionSets = new ArrayList(2);
-	alwaysOnActionSets = new ArrayList(2);
-	alwaysOffActionSets = new ArrayList(2);
-	fastViews = new ArrayList(2);
-}
-/**
- * Sets the fast view attribute.
- * Note: The page is expected to update action bars.
- */
-public void addFastView(IViewReference ref) {
-	ViewPane pane = (ViewPane)((WorkbenchPartReference)ref).getPane();
-	if (!isFastView(ref)) {
-		// Only remove the part from the presentation if it
-		// is actually in the presentation.
-		if (presentation.hasPlaceholder(pane.getID()) ||
-			pane.getContainer() != null)
-				presentation.removePart(pane);
-		// We are drag-enabling the pane because it has been disabled
-		// when it was removed from the perspective presentation.
-		presentation.enableDrag(pane);
-		fastViews.add(ref);
-		pane.setFast(true);
-		Control ctrl = pane.getControl();
-		if (ctrl != null)
-			ctrl.setEnabled(false); // Remove focus support.
-	}
-}
-/**
- * Moves a part forward in the Z order of a perspective so it is visible.
- *
- * @param part the part to bring to move forward
- * @return true if the part was brought to top, false if not.
- */
-public boolean bringToTop(IViewReference ref) {
-	if (isFastView(ref)) {
-		setActiveFastView(ref);
-		return true;
-	} else {
-		return presentation.bringPartToTop(getPane(ref));
-	}
-}
-/**
- * Returns true if a view can close.
- */
-public boolean canCloseView(IViewPart view) {
-	return true;
-}
-
-/**
- * Prevents the user from making a fast view too narrow or too wide.
- */
-private void checkDragLimit(SelectionEvent event) {
-	if (event.x < ((float)getClientComposite().getSize().x * IPageLayout.RATIO_MIN))
-		event.x = (int)((float)getClientComposite().getSize().x * IPageLayout.RATIO_MIN);
-	if (event.x > ((float)getClientComposite().getSize().x * IPageLayout.RATIO_MAX))
-		event.x = (int)((float)getClientComposite().getSize().x * IPageLayout.RATIO_MAX);
-}
-
-/**
- * Returns whether a view exists within the perspective.
- */
-public boolean containsView(IViewPart view) {
-	String id = view.getSite().getId();
-	IViewReference ref = findView(id);
-	if(ref == null)
-		return false;
-	return (view == ref.getPart(false));
-}
-/**
- * Create the initial list of action sets.
- */
-private void createInitialActionSets(List stringList) {
-	ActionSetRegistry reg = WorkbenchPlugin.getDefault().getActionSetRegistry();
-	Iterator iter = stringList.iterator();
-	while (iter.hasNext()) {
-		String id = (String)iter.next();
-		IActionSetDescriptor desc = reg.findActionSet(id);
-		if (desc != null)
-			visibleActionSets.add(desc);
-		else
-			WorkbenchPlugin.log("Unable to find Action Set: " + id);//$NON-NLS-1$
-	}
-}
-/**
- * Create a presentation for a perspective.
- */
-private void createPresentation(PerspectiveDescriptor persp)
-	throws WorkbenchException
-{
-	if (persp.hasCustomDefinition()) {
-		loadCustomPersp(persp);
-	} else {
-		loadPredefinedPersp(persp);
-	}
-}
-/**
- * Dispose the perspective and all views contained within.
- */
-public void dispose() {
-	// Get rid of presentation.
-	if(presentation == null)
-		return;
-		
-	presentation.deactivate();
-	presentation.disposeSashes();
-	
-
-	// Release each view.
-	IViewReference refs[] = getViewReferences();
-	for (int i = 0,length = refs.length; i < length; i ++) {
-		getViewFactory().releaseView(refs[i].getId());
-	}
-
-	// Dispose of the sash too...
-	if (fastViewSash != null) {
-		fastViewSash.dispose();
-		fastViewSash = null;
-	}
-
-	mapFastViewToWidthRatio.clear();
-}
-/**
- * See IWorkbenchPage@findView.
- */
-public IViewReference findView(String id) {
-	IViewReference refs[] = getViewReferences();
-	for (int i = 0; i < refs.length; i ++) {
-		IViewReference ref = refs[i];
-		if (id.equals(ref.getId()))
-			return ref;
-	}
-	return null;
-}
-/**
- * Returns an array of the visible action sets. 
- */
-public IActionSetDescriptor[] getActionSets() {
-	int size = visibleActionSets.size();
-	IActionSetDescriptor [] array = new IActionSetDescriptor[size];
-	for (int i = 0; i < size; i ++) {
-		array[i] = (IActionSetDescriptor)visibleActionSets.get(i);
-	}
-	return array;
-}
-/**
- * Returns the window's client composite widget
- * which views and editor area will be parented.
- */
-private Composite getClientComposite() {
-	return page.getClientComposite();
-}
-/**
- * Returns the perspective.
- */
-public IPerspectiveDescriptor getDesc() {
-	return descriptor;
-}
-/**
- * Returns the bounds of the given fast view.
- */
-/*package*/ Rectangle getFastViewBounds(IViewReference ref) {
-	// Copy the bounds of the page composite
-	Rectangle bounds = page.getClientComposite().getBounds();
-	// get the width ratio of the fast view
-	float ratio = getFastViewWidthRatio(ref.getId());
-	// Compute the actual width of the fast view.
-	bounds.width = (int)(ratio*(float)getClientComposite().getSize().x);
-	return bounds;
-}
-/**
- * Returns the docked views.
- */
-public IViewReference [] getFastViews() {
-	IViewReference array[] = new IViewReference[fastViews.size()];
-	fastViews.toArray(array);
-	return array;
-}
-/**
- * Returns the new wizard actions the page.
- * This is List of Strings.
- */
-public ArrayList getNewWizardActionIds() {
-	return newWizardActionIds;
-}
-/**
- * Returns the pane for a view reference.
- */
-private ViewPane getPane(IViewReference ref) {
-	return (ViewPane)((WorkbenchPartReference)ref).getPane();
-}
-/**
- * Returns the perspective actions for this page.
- * This is List of Strings.
- */
-public ArrayList getPerspectiveActionIds() {
-	return perspectiveActionIds;
-}
-/**
- * Returns the presentation.
- */
-public PerspectivePresentation getPresentation() {
-	return presentation;
-}
-/**
- * Retrieves the ratio for the fast view with the given ID. If
- * the ratio is not known, the default ratio for the view is returned.
- */
-private float getFastViewWidthRatio(String id) {
-	Float f = (Float)mapFastViewToWidthRatio.get(id);
-	if (f != null) {
-		return f.floatValue();
-	} else {
-		IViewRegistry reg = WorkbenchPlugin.getDefault().getViewRegistry();	
-		float ratio = reg.find(id).getFastViewWidthRatio();
-		mapFastViewToWidthRatio.put(id, new Float(ratio));
-		return ratio;
-	}
-}
-/**
- * Returns the ids of the parts to list in the Show In... dialog.
- * This is a List of Strings.
- */
-public ArrayList getShowInPartIds() {
-	return showInPartIds;
-}
-/**
- * Returns the ids of the views to list in the Show View shortcuts.
- * This is a List of Strings.
- */
-public ArrayList getShowViewActionIds() {
-	return showViewActionIds;
-}
-/**
- * Returns the toolbar layout for this perspective.
- */
-public CoolBarLayout getToolBarLayout() {
-	return toolBarLayout;
-}
-/**
- * Returns the last active fast view.
- */
-/*package*/ IViewReference getPreviousActiveFastView() {
-	return previousActiveFastView;	
-}
-/**
- * Returns the view factory.
- */
-private ViewFactory getViewFactory() {
-	return viewFactory;
-}
-/**
- * Open the tracker to allow the user to move
- * the specified part using keyboard.
- */
-public void openTracker(ViewPane pane) {
-	presentation.openTracker(pane);
-}
-/**
- * See IWorkbenchPage.
- */
-public IViewReference [] getViewReferences() {
-	// Get normal views.
-	if(presentation == null)
-		return new IViewReference[0];
-	
-	List panes = new ArrayList(5);
-	presentation.collectViewPanes(panes);
-	
-	IViewReference [] resultArray = new IViewReference[panes.size() + fastViews.size()];
-
-	// Copy fast views.
-	int nView = 0;
-	for (int i = 0; i < fastViews.size(); i++) {
-		resultArray[nView] = (IViewReference)fastViews.get(i);
-		++ nView;
-	}
-	
-	// Copy normal views.
-	for (int i = 0; i < panes.size(); i ++) {
-		ViewPane pane = (ViewPane)panes.get(i);
-		resultArray[nView] = pane.getViewReference();
-		++ nView;
-	}
-	
-	return resultArray;
-}
-/**
- * @see IWorkbenchPage
- * Note: The page is expected to update action bars.
- */
-public void hideActionSet(String id) {
-	ActionSetRegistry reg = WorkbenchPlugin.getDefault().getActionSetRegistry();
-	IActionSetDescriptor desc = reg.findActionSet(id);
-	if (alwaysOnActionSets.contains(desc))
-		return;
-	if (desc != null)
-		visibleActionSets.remove(desc);
-}
-/**
- * Hide the editor area if visible
- */
-protected void hideEditorArea() {
-	if (!isEditorAreaVisible())
-		return;
-
-	// Replace the editor area with a placeholder so we
-	// know where to put it back on show editor area request.
-	editorHolder = new PartPlaceholder(editorArea.getID());
-	presentation.getLayout().replace(editorArea, editorHolder);
-
-	// Disable the entire editor area so if an editor had
-	// keyboard focus it will let it go.
-	if (editorArea.getControl() != null)
-		editorArea.getControl().setEnabled(false);
-		
-	setEditorAreaVisible(false);	
-}
-/**
- * Hides a fast view. The view shrinks equally <code>steps</code> times
- * before disappearing completely.
- */
-private void hideFastView(IViewReference ref, int steps) {
-	setFastViewIconSelection(ref, false);
-
-	// Get pane.
-	ViewPane pane = getPane(ref);
-	// Hide the right side sash first
-	if (fastViewSash != null)
-		fastViewSash.setBounds(0, 0, 0, 0);
-	Control ctrl = pane.getControl();
-	
-	if(steps != 0) {
-		// Slide it off screen.
-		Rectangle bounds = pane.getBounds();
-		int increment = bounds.width / steps;
-		
-		// Record the longest we can go before cancelling the animation, 
-		// and the minimum time we will allow each step to take.
-		// Note: We always do at least one step of the animation.
-		long endTime = System.currentTimeMillis() + FASTVIEW_HIDE_MAX_DURATION;
-		long minStepTime = FASTVIEW_HIDE_MIN_DURATION / steps;
-
-		for (int i = 0; i <= bounds.width - 2; i += increment) {
-			long time = System.currentTimeMillis();
-			ctrl.setLocation(-i, bounds.y);
-			ctrl.getParent().update();
-			long afterTime = System.currentTimeMillis();
-			if (afterTime >= endTime) {
-				// Took too long. Just exit the loop.
-				break;
-			}
-			long stepDuration = afterTime - time;
-			if (stepDuration < minStepTime) {
-				// Note: This doesn't take into account the overhead of doing
-				// the loop and these calculations, so the total delay is
-				// always slightly more than "minStepTime".
-				try {
-					Thread.sleep (minStepTime - stepDuration);
-				} catch (InterruptedException ex) {
-					// Do nothing.
-				}
-			}
-		}
-	}
-	// Hide it completely.
-	pane.setVisible(false);
-	pane.setFastViewSash(null);
-	ctrl.setEnabled(false); // Remove focus support.
-}
-/**
- * Hides the fast view sash for zooming in a fast view.
- */
-void hideFastViewSash() {
-	if (fastViewSash != null)
-		fastViewSash.setBounds(0, 0, 0, 0);
-}
-public boolean hideView(IViewReference ref) {
-	// If the view is locked just return.
-	ViewPane pane = getPane(ref);
-	
-	// Remove the view from the current presentation.
-	if (isFastView(ref)) {
-		fastViews.remove(ref);
-		pane.setFast(false);		//force an update of the toolbar
-		if (activeFastView == ref)
-			setActiveFastView(null);
-		pane.getControl().setEnabled(true);
-	} else { 
-		presentation.removePart(pane);
-	}
-	
-	// Dispose view if ref count == 0.
-	getViewFactory().releaseView(ref.getId());
-	return true;
-}
-/*
- * Return whether the editor area is visible or not.
- */
-protected boolean isEditorAreaVisible() {
-	return editorHolder == null;
-}
-/**
- * Returns true if a view is fast.
- */
-public boolean isFastView(IViewReference ref) {
-	return fastViews.contains(ref);
-}
-/**
- * Creates a new presentation from a persistence file.
- * Note: This method should not modify the current state of the perspective.
- */
-private void loadCustomPersp(PerspectiveDescriptor persp)
-{
-	//get the layout from the registry	
-	PerspectiveRegistry perspRegistry = (PerspectiveRegistry) WorkbenchPlugin.getDefault().getPerspectiveRegistry();
-	try {
-		IMemento memento = perspRegistry.getCustomPersp(persp.getId());
-		// Restore the layout state.
-		MultiStatus status = new MultiStatus(
-			PlatformUI.PLUGIN_ID,IStatus.OK,
-			WorkbenchMessages.format("Perspective.unableToRestorePerspective",new String[]{persp.getLabel()}),
-			null);
-		status.merge(restoreState(memento));
-		status.merge(restoreState());
-		if(status.getSeverity() != IStatus.OK) {
-			unableToOpenPerspective(persp,status);
-		}
-	} catch (IOException e) {
-		unableToOpenPerspective(persp,null);
-	} catch (WorkbenchException e) {
-		unableToOpenPerspective(persp,e.getStatus());
-	}
-}
-private void unableToOpenPerspective(PerspectiveDescriptor persp,IStatus status) {
-	PerspectiveRegistry perspRegistry = (PerspectiveRegistry) WorkbenchPlugin.getDefault().getPerspectiveRegistry();
-	perspRegistry.deletePerspective(persp);
-	String title = WorkbenchMessages.getString("Perspective.problemRestoringTitle");  //$NON-NLS-1$
-	String msg = WorkbenchMessages.getString("Perspective.errorReadingState"); //$NON-NLS-1$
-	if(status == null) {
-		MessageDialog.openError((Shell)null,title,msg); 
-	} else {
-		ErrorDialog.openError((Shell)null,title,msg,status); 
-	}
-}
-
-/**
- * Create a presentation for a perspective.
- * Note: This method should not modify the current state of the perspective.
- */
-private void loadPredefinedPersp(
-	PerspectiveDescriptor persp)
-	throws WorkbenchException
-{
-	// Create layout engine.
-	IPerspectiveFactory factory = null;
-	try {
-		factory = persp.createFactory();
-	} catch (CoreException e) {
-		throw new WorkbenchException(WorkbenchMessages.format("Perspective.unableToLoad", new Object[] {persp.getId()})); //$NON-NLS-1$
-	}
-
-	// Create layout factory.
-	RootLayoutContainer container = new RootLayoutContainer(page);
-	PageLayout layout = new PageLayout(container, getViewFactory(), editorArea);
-
-	// Run layout engine.
-	factory.createInitialLayout(layout);
-	PerspectiveExtensionReader extender = new PerspectiveExtensionReader();
-	extender.extendLayout(descriptor.getId(), layout);
-
-	// Retrieve fast view width ratios stored in the page layout.
-	mapFastViewToWidthRatio.putAll(layout.getFastViewToWidthRatioMap());
-
-	// Create action sets.
-	createInitialActionSets(layout.getActionSets());
-	alwaysOnActionSets.addAll(visibleActionSets);
-	newWizardActionIds = layout.getNewWizardActionIds();
-	showViewActionIds = layout.getShowViewActionIds();
-	perspectiveActionIds = layout.getPerspectiveActionIds();
-	showInPartIds = layout.getShowInPartIds();
-	
-	// Create fast views
-	fastViews = layout.getFastViews();
-		
-	// Create presentation.	
-	presentation = new PerspectivePresentation(page, container);
-
-	// Hide editor area if requested by factory
-	if (!layout.isEditorAreaVisible())
-		hideEditorArea();
-		
-}
-/**
- * activate.
- */
-protected void onActivate() {
-	// Update editor area state.
-	if (editorArea.getControl() != null) {
-		if (isEditorAreaVisible()) {
-			// Enable the editor area now that it will be made
-			// visible and can accept keyboard focus again.
-			editorArea.getControl().setEnabled(true);
-			setEditorAreaVisible(true);
-		} else {
-			// Disable the entire editor area so if an editor had
-			// keyboard focus it will let it go.
-			editorArea.getControl().setEnabled(false);
-			setEditorAreaVisible(false);
-		}
-	}
-
-	// Update fast views.
-	// Make sure the control for the fastviews are create so they can
-	// be activated.
-	for (int i = 0; i < fastViews.size(); i++){
-		ViewPane pane = getPane((IViewReference)fastViews.get(i));
-		if(pane != null) {
-			Control ctrl = pane.getControl();
-			if (ctrl == null) {
-				pane.createControl(getClientComposite());
-				ctrl = pane.getControl();
-			}
-			presentation.enableDrag(pane);		
-			ctrl.setEnabled(false); // Remove focus support.
-		}
-	}
-	
-	setAllPinsVisible(true);
-	presentation.activate(getClientComposite());
-	getClientComposite().addListener(SWT.Resize, resizeListener);
-	
-	if (shouldHideEditorsOnActivate) {
-		// We do this here to ensure that createPartControl is called on the top editor
-		// before it is hidden. See bug 20166.
-		hideEditorArea();
-		shouldHideEditorsOnActivate = false;
-	}
-}
-/**
- * deactivate.
- */
-protected void onDeactivate() {
-	getClientComposite().removeListener(SWT.Resize, resizeListener);
-	presentation.deactivate();
-	setActiveFastView(null);
-	setAllPinsVisible(false);
-
-	// Update fast views.
-	for (int i = 0; i < fastViews.size(); i++){
-		ViewPane pane = getPane((IViewReference)fastViews.get(i));
-		if(pane != null) {
-			presentation.disableDrag(pane);
-			Control ctrl = pane.getControl();
-			if (ctrl != null)
-				ctrl.setEnabled(true); // Add focus support.
-		}
-	}
-}
-/**
- * Notifies that a part has been activated.
- */
-public void partActivated(IWorkbenchPart activePart) {
-	// If a fastview is open close it.
-	if (activeFastView != null && activeFastView.getPart(false) != activePart)
-		setActiveFastView(null);
-}
-
-/**
- * The user successfully performed a Show In... action on the specified part.
- * Update the list of Show In items accordingly.
- */
-public void performedShowIn(String partId) {
-	// move it to the front of the list;
-	// check to ensure we're just reordering, not adding
-	if (showInPartIds.remove(partId)) {
-		showInPartIds.add(0, partId);
-	}
-}
-
-/**
- * Sets the fast view attribute.
- * Note: The page is expected to update action bars.
- */
-public void removeFastView(IViewReference ref) {
-	ViewPane pane = getPane(ref);
-	if (isFastView(ref)) {
-		if (activeFastView == ref)
-			setActiveFastView(null);
-		fastViews.remove(ref);
-		pane.setFast(false);
-		Control ctrl = pane.getControl();
-		if (ctrl != null)
-			ctrl.setEnabled(true); // Modify focus support.
-		// We are disabling the pane because it will be enabled when it
-		// is added to the presentation. When a pane is enabled a drop
-		// listener is added to it, and we do not want to have multiple
-		// listeners for a pane
-		presentation.disableDrag(pane);	
-		presentation.addPart(pane);
-	}
-}
-/**
- * Fills a presentation with layout data.
- * Note: This method should not modify the current state of the perspective.
- */
-public IStatus restoreState(IMemento memento) {
-	MultiStatus result = new MultiStatus(
-		PlatformUI.PLUGIN_ID,IStatus.OK,
-		WorkbenchMessages.getString("Perspective.problemsRestoringPerspective"),null);
-
-	// Create persp descriptor.
-	descriptor = new PerspectiveDescriptor(null,null,null);
-	result.add(descriptor.restoreState(memento));
-	PerspectiveDescriptor desc = (PerspectiveDescriptor)WorkbenchPlugin
-		.getDefault().getPerspectiveRegistry().findPerspectiveWithId(descriptor.getId());
-	if (desc != null)
-		descriptor = desc;
-		
-	// Create the toolbar layout.
-	IMemento layoutMem = memento.getChild(IWorkbenchConstants.TAG_TOOLBAR_LAYOUT);
-	if (layoutMem != null) {
-		toolBarLayout = new CoolBarLayout();
-		boolean success = toolBarLayout.restoreState(layoutMem);
-		if (!success) toolBarLayout = null;
-	}	
-	this.memento = memento;
-	// Add the visible views.
-	IMemento views[] = memento.getChildren(IWorkbenchConstants.TAG_VIEW);
-	result.merge(createReferences(views));
-	
-	memento = memento.getChild(IWorkbenchConstants.TAG_FAST_VIEWS);
-	if(memento != null) {
-		views = memento.getChildren(IWorkbenchConstants.TAG_VIEW);
-		result.merge(createReferences(views));	
-	}
-	return result;
-}
-private IStatus createReferences(IMemento views[]) {
-	MultiStatus result = new MultiStatus(
-		PlatformUI.PLUGIN_ID,IStatus.OK,
-		WorkbenchMessages.getString("Perspective.problemsRestoringViews"),null);
-	
-	for (int x = 0; x < views.length; x ++) {
-		// Get the view details.
-		IMemento childMem = views[x];
-		String viewID = childMem.getString(IWorkbenchConstants.TAG_ID);
-		// Create and open the view.
-		try {
-			if(!"true".equals(childMem.getString(IWorkbenchConstants.TAG_REMOVED)))
-				viewFactory.createView(viewID);
-		} catch (PartInitException e) {
-			childMem.putString(IWorkbenchConstants.TAG_REMOVED,"true");
-			result.add(new Status(IStatus.ERROR,PlatformUI.PLUGIN_ID,0,e.getMessage(),e));
-		}
-	}
-	return result;
-}
-
-/**
- * Fills a presentation with layout data.
- * Note: This method should not modify the current state of the perspective.
- */
-public IStatus restoreState() {
-	if(this.memento == null)
-		return new Status(IStatus.OK,PlatformUI.PLUGIN_ID,0,"",null);
-
-	MultiStatus result = new MultiStatus(
-		PlatformUI.PLUGIN_ID,IStatus.OK,
-		WorkbenchMessages.getString("Perspective.problemsRestoringPerspective"),null);
-				
-	IMemento memento = this.memento;
-	this.memento = null;
-	
-	IMemento boundsMem = memento.getChild(IWorkbenchConstants.TAG_WINDOW);
-	if(boundsMem != null) {
-		Rectangle r = new Rectangle(0,0,0,0);
-		r.x = boundsMem.getInteger(IWorkbenchConstants.TAG_X).intValue();
-		r.y = boundsMem.getInteger(IWorkbenchConstants.TAG_Y).intValue();
-		r.height = boundsMem.getInteger(IWorkbenchConstants.TAG_HEIGHT).intValue();
-		r.width = boundsMem.getInteger(IWorkbenchConstants.TAG_WIDTH).intValue();
-		if(page.getWorkbenchWindow().getPages().length == 0) {
-			page.getWorkbenchWindow().getShell().setBounds(r);
-		}
-	}
-	
-	// Create an empty presentation..
-	RootLayoutContainer mainLayout = new RootLayoutContainer(page);
-	PerspectivePresentation pres = new PerspectivePresentation(page, mainLayout);
-
-	// Read the layout.
-	result.merge(pres.restoreState(memento.getChild(IWorkbenchConstants.TAG_LAYOUT)));
-
-	// Add the editor workbook. Do not hide it now.
-	pres.replacePlaceholderWithPart(editorArea);
-
-	// Add the visible views.
-	IMemento [] views = memento.getChildren(IWorkbenchConstants.TAG_VIEW);
-
-	for (int x = 0; x < views.length; x ++) {
-		// Get the view details.
-		IMemento childMem = views[x];
-		String viewID = childMem.getString(IWorkbenchConstants.TAG_ID);
-
-		// Create and open the view.
-		WorkbenchPartReference ref = (WorkbenchPartReference)viewFactory.getView(viewID);
-		if(ref == null) {
-			WorkbenchPlugin.log("Could not create view: '" + viewID + "'."); //$NON-NLS-1$
-			result.add(new Status(
-				Status.ERROR,PlatformUI.PLUGIN_ID,0,
-				WorkbenchMessages.format("Perspective.couldNotFind", new String[]{viewID}), //$NON-NLS-1$
-				null));
-			continue;
-		}
-		if(ref.getPane() == null) {
-			ref.setPane(new ViewPane((IViewReference)ref,page));
-		}
-		page.addPart(ref);
-		if(pres.willPartBeVisible(ref.getId())) {
-			IStatus restoreStatus = viewFactory.restoreView((IViewReference)ref);
-			result.add(restoreStatus);
-			if(restoreStatus.getSeverity() == IStatus.OK) {
-				IViewPart view = (IViewPart)ref.getPart(true);
-				if(view != null) {
-					ViewSite site = (ViewSite)view.getSite();
-					ViewPane pane = (ViewPane)site.getPane();			
-					pres.replacePlaceholderWithPart(pane);
-				}
-			} else {
-				page.removePart(ref);
-			}
-		} else {
-			pres.replacePlaceholderWithPart(ref.getPane());			
-		}
-	}
-
-	// Load the fast views
-	IMemento fastViewsMem = memento.getChild(IWorkbenchConstants.TAG_FAST_VIEWS);
-	if(fastViewsMem != null) {
-		views = fastViewsMem.getChildren(IWorkbenchConstants.TAG_VIEW);
-		for (int x = 0; x < views.length; x ++) {
-			// Get the view details.
-			IMemento childMem = views[x];
-			String viewID = childMem.getString(IWorkbenchConstants.TAG_ID);
-			Float ratio = childMem.getFloat(IWorkbenchConstants.TAG_RATIO);
-			if (ratio == null) {
-				Integer viewWidth = childMem.getInteger(IWorkbenchConstants.TAG_WIDTH);
-				if (viewWidth == null)
-					ratio = new Float(IPageLayout.DEFAULT_FASTVIEW_RATIO);
-				else
-					ratio = new Float((float)viewWidth.intValue() / (float)getClientComposite().getSize().x);
-			}
-			mapFastViewToWidthRatio.put(viewID, ratio);
-				
-			IViewReference ref = viewFactory.getView(viewID);
-			if(ref == null) {
-				WorkbenchPlugin.log("Could not create view: '" + viewID + "'."); //$NON-NLS-1$
-				result.add(new Status(
-					Status.ERROR,PlatformUI.PLUGIN_ID,0,
-					WorkbenchMessages.format("Perspective.couldNotFind", new String[]{viewID}), //$NON-NLS-1$
-					null));
-				continue;
-			}		
-			page.addPart(ref);
-			fastViews.add(ref);
-		}
-	}
-		
-	// Load the action sets.
-	IMemento [] actions = memento.getChildren(IWorkbenchConstants.TAG_ACTION_SET);
-	ArrayList actionsArray = new ArrayList(actions.length);
-	for (int x = 0; x < actions.length; x ++) {
-		String actionSetID = actions[x].getString(IWorkbenchConstants.TAG_ID);
-		actionsArray.add(actionSetID);
-	}
-	createInitialActionSets(actionsArray);
-
-	// Load the always on action sets.
-	actions = memento.getChildren(IWorkbenchConstants.TAG_ALWAYS_ON_ACTION_SET);
-	for (int x = 0; x < actions.length; x ++) {
-		String actionSetID = actions[x].getString(IWorkbenchConstants.TAG_ID);
-		IActionSetDescriptor d = 
-			WorkbenchPlugin.getDefault().getActionSetRegistry().findActionSet(actionSetID);
-		if (d != null) 
-			alwaysOnActionSets.add(d);	
-	}
-
-	// Load the always off action sets.
-	actions = memento.getChildren(IWorkbenchConstants.TAG_ALWAYS_OFF_ACTION_SET);
-	for (int x = 0; x < actions.length; x ++) {
-		String actionSetID = actions[x].getString(IWorkbenchConstants.TAG_ID);
-		IActionSetDescriptor d = 
-			WorkbenchPlugin.getDefault().getActionSetRegistry().findActionSet(actionSetID);
-		if (d != null) 
-			alwaysOffActionSets.add(d);	
-	}
-
-	// Load "show view actions".
-	actions = memento.getChildren(IWorkbenchConstants.TAG_SHOW_VIEW_ACTION);
-	showViewActionIds = new ArrayList(actions.length);
-	for (int x = 0; x < actions.length; x ++) {
-		String id = actions[x].getString(IWorkbenchConstants.TAG_ID);
-		showViewActionIds.add(id);
-	}
-	
-	// Load "show in parts".
-	actions = memento.getChildren(IWorkbenchConstants.TAG_SHOW_IN_PART);
-	showInPartIds = new ArrayList(actions.length);
-	for (int x = 0; x < actions.length; x ++) {
-		String id = actions[x].getString(IWorkbenchConstants.TAG_ID);
-		if (id != null) {
-			showInPartIds.add(id);
-		}
-	}
-	
-	// Load "new wizard actions".
-	actions = memento.getChildren(IWorkbenchConstants.TAG_NEW_WIZARD_ACTION);
-	newWizardActionIds = new ArrayList(actions.length);
-	for (int x = 0; x < actions.length; x ++) {
-		String id = actions[x].getString(IWorkbenchConstants.TAG_ID);
-		newWizardActionIds.add(id);
-	}
-	
-	// Load "perspective actions".
-	actions = memento.getChildren(IWorkbenchConstants.TAG_PERSPECTIVE_ACTION);
-	perspectiveActionIds = new ArrayList(actions.length);
-	for (int x = 0; x < actions.length; x ++) {
-		String id = actions[x].getString(IWorkbenchConstants.TAG_ID);
-		perspectiveActionIds.add(id);
-	}
-	
-	// Save presentation.	
-	presentation = pres;
-
-	// Hide the editor area if needed. Need to wait for the
-	// presentation to be fully setup first.
-	Integer areaVisible = memento.getInteger(IWorkbenchConstants.TAG_AREA_VISIBLE);
-	// Rather than hiding the editors now we must wait until after their controls
-	// are created. This ensures that if an editor is instantiated, createPartControl
-	// is also called. See bug 20166.
-	shouldHideEditorsOnActivate = (areaVisible != null && areaVisible.intValue() == 0);
-	return result;
-}
-/**
- * Save the layout.
- */
-public void saveDesc() {
-	saveDescAs(descriptor);
-}
-/**
- * Save the layout.
- */
-public void saveDescAs(IPerspectiveDescriptor desc) {		
-	PerspectiveDescriptor realDesc = (PerspectiveDescriptor)desc;
-	//get the layout from the registry	
-	PerspectiveRegistry perspRegistry = (PerspectiveRegistry) WorkbenchPlugin.getDefault().getPerspectiveRegistry();
-	// Capture the layout state.	
-	XMLMemento memento = XMLMemento.createWriteRoot("perspective");//$NON-NLS-1$
-	IStatus status = saveState(memento, realDesc, false);
-	if(status.getSeverity() == IStatus.ERROR) {
-		ErrorDialog.openError((Shell)null, 
-			WorkbenchMessages.getString("Perspective.problemSavingTitle"),  //$NON-NLS-1$
-			WorkbenchMessages.getString("Perspective.problemSavingMessage"), //$NON-NLS-1$
-			status);
-		return;
-	}
-	//save it to the preference store
-	try {
-		perspRegistry.saveCustomPersp(realDesc, memento);
-		descriptor = realDesc;
-	} catch (IOException e) {
-		perspRegistry.deletePerspective(realDesc);
-		MessageDialog.openError((Shell)null, 
-			WorkbenchMessages.getString("Perspective.problemSavingTitle"),  //$NON-NLS-1$
-			WorkbenchMessages.getString("Perspective.problemSavingMessage")); //$NON-NLS-1$
-	}
-}
-/**
- * Save the layout.
- */
-public IStatus saveState(IMemento memento) {
-	MultiStatus result = new MultiStatus(
-		PlatformUI.PLUGIN_ID,IStatus.OK,
-		WorkbenchMessages.getString("Perspective.problemsSavingPerspective"),null);
-		
-	result.merge(saveState(memento, descriptor, true));
-
-	return result;
-}
-/**
- * Save the layout.
- */
-private IStatus saveState(IMemento memento, PerspectiveDescriptor p,
-	boolean saveInnerViewState)
-{
-	MultiStatus result = new MultiStatus(
-		PlatformUI.PLUGIN_ID,IStatus.OK,
-		WorkbenchMessages.getString("Perspective.problemsSavingPerspective"),null);
-
-	if(this.memento != null) {
-		memento.putMemento(this.memento);
-		return result;
-	}
-			
-	// Save the version number.
-	memento.putString(IWorkbenchConstants.TAG_VERSION, VERSION_STRING);
-	result.add(p.saveState(memento));
-	if(!saveInnerViewState) {
-		Rectangle bounds = page.getWorkbenchWindow().getShell().getBounds();
-		IMemento boundsMem = memento.createChild(IWorkbenchConstants.TAG_WINDOW);
-		boundsMem.putInteger(IWorkbenchConstants.TAG_X,bounds.x);
-		boundsMem.putInteger(IWorkbenchConstants.TAG_Y,bounds.y);
-		boundsMem.putInteger(IWorkbenchConstants.TAG_HEIGHT,bounds.height);
-		boundsMem.putInteger(IWorkbenchConstants.TAG_WIDTH,bounds.width);
-	}
-	
-	// Save the visible action sets.
-	Iterator enum = visibleActionSets.iterator();
-	while (enum.hasNext()) {
-		IActionSetDescriptor desc = (IActionSetDescriptor)enum.next();
-		IMemento child = memento.createChild(IWorkbenchConstants.TAG_ACTION_SET);
-		child.putString(IWorkbenchConstants.TAG_ID, desc.getId());
-	}
-
-	// Save the "always on" action sets.
-	enum = alwaysOnActionSets.iterator();
-	while (enum.hasNext()) {
-		IActionSetDescriptor desc = (IActionSetDescriptor)enum.next();
-		IMemento child = memento.createChild(IWorkbenchConstants.TAG_ALWAYS_ON_ACTION_SET);
-		child.putString(IWorkbenchConstants.TAG_ID, desc.getId());
-	}
-
-	// Save the "always off" action sets.
-	enum = alwaysOffActionSets.iterator();
-	while (enum.hasNext()) {
-		IActionSetDescriptor desc = (IActionSetDescriptor)enum.next();
-		IMemento child = memento.createChild(IWorkbenchConstants.TAG_ALWAYS_OFF_ACTION_SET);
-		child.putString(IWorkbenchConstants.TAG_ID, desc.getId());
-	}
-
-	// Save "show view actions"
-	enum = showViewActionIds.iterator();
-	while (enum.hasNext()) {
-		String str = (String)enum.next();
-		IMemento child = memento.createChild(IWorkbenchConstants.TAG_SHOW_VIEW_ACTION);
-		child.putString(IWorkbenchConstants.TAG_ID, str);
-	}
-
-	// Save "show in parts"
-	enum = showInPartIds.iterator();
-	while (enum.hasNext()) {
-		String str = (String)enum.next();
-		IMemento child = memento.createChild(IWorkbenchConstants.TAG_SHOW_IN_PART);
-		child.putString(IWorkbenchConstants.TAG_ID, str);
-	}
-
-	// Save "new wizard actions".
-	enum = newWizardActionIds.iterator();
-	while (enum.hasNext()) {
-		String str = (String)enum.next();
-		IMemento child = memento.createChild(IWorkbenchConstants.TAG_NEW_WIZARD_ACTION);
-		child.putString(IWorkbenchConstants.TAG_ID, str);
-	}
-	
-	// Save "perspective actions".
-	enum = perspectiveActionIds.iterator();
-	while (enum.hasNext()) {
-		String str = (String)enum.next();
-		IMemento child = memento.createChild(IWorkbenchConstants.TAG_PERSPECTIVE_ACTION);
-		child.putString(IWorkbenchConstants.TAG_ID, str);
-	}
-	
-	// Get visible views.
-	List viewPanes = new ArrayList(5);
-	presentation.collectViewPanes(viewPanes);
-
-	// Save the views.
-	enum = viewPanes.iterator();
-	int errors = 0;
-	while (enum.hasNext()) {
-		ViewPane pane = (ViewPane)enum.next();
-		IViewReference ref = pane.getViewReference();
-		IMemento viewMemento = memento.createChild(IWorkbenchConstants.TAG_VIEW);
-		viewMemento.putString(IWorkbenchConstants.TAG_ID, ref.getId());
-	}
-
-	if(fastViews.size() > 0) {
-		IMemento childMem = memento.createChild(IWorkbenchConstants.TAG_FAST_VIEWS);
-		enum = fastViews.iterator();
-		while (enum.hasNext()) {
-			IViewReference ref = (IViewReference)enum.next();
-			IMemento viewMemento = childMem.createChild(IWorkbenchConstants.TAG_VIEW);
-			String id = ref.getId();
-			viewMemento.putString(IWorkbenchConstants.TAG_ID, id);
-			float ratio = getFastViewWidthRatio(id);
-			viewMemento.putFloat(IWorkbenchConstants.TAG_RATIO, ratio);
-		}
-	}
-	if(errors > 0) {
-		String message = WorkbenchMessages.getString("Perspective.multipleErrors"); //$NON-NLS-1$
-		if(errors == 1)
-			message = WorkbenchMessages.getString("Perspective.oneError"); //$NON-NLS-1$
-		MessageDialog.openError(null, WorkbenchMessages.getString("Error"), message); //$NON-NLS-1$
-	}
-	
-	// Save the layout.
-	IMemento childMem = memento.createChild(IWorkbenchConstants.TAG_LAYOUT);
-	result.add(presentation.saveState(childMem));
-
-	// Save the toolbar layout.
-	if (toolBarLayout != null) {
-		childMem = memento.createChild(IWorkbenchConstants.TAG_TOOLBAR_LAYOUT);
-		result.add(toolBarLayout.saveState(childMem));
-	}
-
-	// Save the editor visibility state
-	if (isEditorAreaVisible())
-		memento.putInteger(IWorkbenchConstants.TAG_AREA_VISIBLE, 1);
-	else
-		memento.putInteger(IWorkbenchConstants.TAG_AREA_VISIBLE, 0);
-	return result;
-}
-/**
- * Sets the visible action sets. 
- * Note: The page is expected to update action bars.
- */
-public void setActionSets(IActionSetDescriptor[] newArray) {
-	// We assume that changes to action set visibilty should be remembered
-	// and not reversed as parts are activated.
-	ArrayList turnedOff = (ArrayList)visibleActionSets.clone();
-	for (int i = 0; i < newArray.length; i++) {
-		IActionSetDescriptor desc = newArray[i];
-		turnedOff.remove(desc);
-		if (!visibleActionSets.contains(desc)) {
-			// make sure this always stays visible
-			alwaysOnActionSets.add(desc);
-			alwaysOffActionSets.remove(desc);
-		}
-	}
-	for (int i = 0; i < turnedOff.size(); i++) {
-		IActionSetDescriptor desc = (IActionSetDescriptor)turnedOff.get(i);
-		// make sure this always stays hidden
-		alwaysOnActionSets.remove(desc);
-		alwaysOffActionSets.add(desc);
-	}
-	
-	visibleActionSets.clear();
-	int newSize = newArray.length;
-	for (int i = 0; i < newSize; i ++) {
-		visibleActionSets.add(newArray[i]);
-	}
-}
-/**
- * Return the active fast view or null if there are no
- * fast views or if there are all minimized.
- */
-public IViewReference getActiveFastView() {
-	return activeFastView;
-}
-/**
- * Sets the active fast view. If a different fast view is already open,
- * it shrinks equally <code>steps</code> times before disappearing
- * completely. Then, <code>view</code> becomes active and is shown.
- */
-/*package*/ void setActiveFastView(IViewReference ref, int steps) {
-	if (activeFastView == ref)
-		return;
-		
-	if (activeFastView != null)
-		previousActiveFastView = activeFastView;
-		
-	if (activeFastView != null) {
-		ViewPane pane = getPane(activeFastView);
-		if (pane.isZoomed()) {
-			presentation.zoomOut();
-		}
-		hideFastView(activeFastView, steps);
-	}
-	activeFastView = ref;
-	if (activeFastView != null) {
-		showFastView(activeFastView);
-	}
-}
-/**
- * Sets the active fast view.
- */
-/*package*/ void setActiveFastView(IViewReference ref) {
-	setActiveFastView(ref, FASTVIEW_HIDE_STEPS);
-}
-/**
- * Sets the visibility of all fast view pins.
- */
-private void setAllPinsVisible(boolean visible) {
-	Iterator iter = fastViews.iterator();
-	while (iter.hasNext()) {
-		ViewPane pane = getPane((IViewReference)iter.next());
-		if(pane != null)
-			pane.setFast(visible);
-	}
-}
-/**
- * Sets the selection for the shortcut bar icon representing the givevn fast view.
- */
-private void setFastViewIconSelection(IViewReference ref, boolean selected) {
-	WorkbenchWindow window = (WorkbenchWindow)page.getWorkbenchWindow();
-	ToolBar bar = window.getShortcutBar().getControl();
-	ToolItem[] items = bar.getItems();
-	for(int i=0; i<items.length; i++) {
-		if (items[i].getData(ShowFastViewContribution.FAST_VIEW) == ref) {
-			items[i].setSelection(selected);
-		}
-	}	
-}
-/**
- * Sets the new wizard actions for the page.
- * This is List of Strings.
- */
-public void setNewWizardActionIds(ArrayList newList ) {
-	newWizardActionIds = newList;
-}
-/**
- * Sets the perspective actions for this page.
- * This is List of Strings.
- */
-public void setPerspectiveActionIds(ArrayList list) {
-	perspectiveActionIds = list;
-}
-/**
- * Sets the ids of the parts to list in the Show In... prompter.
- * This is a List of Strings.
- */
-public void setShowInPartIds(ArrayList list) {
-	showInPartIds = list;
-}
-/**
- * Sets the ids of the views to list in the Show View shortcuts.
- * This is a List of Strings.
- */
-public void setShowViewActionIds(ArrayList list) {
-	showViewActionIds = list;
-}
-/**
- * Sets the toolbar layout for this perspective.
- */
-public void setToolBarLayout(CoolBarLayout layout) {
-	toolBarLayout = layout;
-}
-/**
- * @see IWorkbenchPage
- * Note: The page is expected to update action bars.
- */
-public void showActionSet(String id) {
-	ActionSetRegistry reg = WorkbenchPlugin.getDefault().getActionSetRegistry();
-	IActionSetDescriptor desc = reg.findActionSet(id);
-	if (alwaysOffActionSets.contains(desc))
-		return;
-	if (desc != null && !visibleActionSets.contains(desc))
-		visibleActionSets.add(desc);
-}
-/**
- * Show the editor area if not visible
- */
-protected void showEditorArea() {
-	if (isEditorAreaVisible())
-		return;
-
-	// Enable the editor area now that it will be made
-	// visible and can accept keyboard focus again.
-	if (editorArea.getControl() != null)
-		editorArea.getControl().setEnabled(true);
-
-	setEditorAreaVisible(true);
-
-	// Replace the part holder with the editor area.
-	presentation.getLayout().replace(editorHolder, editorArea);
-	editorHolder = null;
-}
-
-private void setEditorAreaVisible(boolean visible) {
-	ArrayList workbooks = ((EditorArea)editorArea).getEditorWorkbooks();
-	for (Iterator iter = workbooks.iterator(); iter.hasNext();) {
-		EditorWorkbook workbook = (EditorWorkbook) iter.next();
-		workbook.setVisible(visible);
-		EditorPane pane = workbook.getVisibleEditor();
-		if(pane != null)
-			pane.setVisible(visible);
-	}
-	editorArea.setVisible(visible);
-}
-/**
- * Shows a fast view.
- */
-void showFastView(IViewReference ref) {
-	// Make sure the part is restored.
-	if(ref.getPart(true) == null)
-		return;
-	
-	ViewPane pane = getPane(ref);
-
-	// Create the control first
-	Control ctrl = pane.getControl();
-	if(ctrl == null) {
-		pane.createControl(getClientComposite());
-		ctrl = pane.getControl();
-	}
-		
-	// Show pane fast.
-	ctrl.setEnabled(true); // Add focus support.
-	Composite parent = ctrl.getParent();
-	Rectangle bounds = getFastViewBounds(ref);
-
-	pane.setVisible(true);
-	pane.setBounds(bounds);
-	pane.moveAbove(null);
-	pane.setFocus();
-
-	// Show the Sash to enable right side resize
-	if (fastViewSash == null) {
-		fastViewSash = new Sash(parent, SWT.VERTICAL);
-		fastViewSash.addPaintListener(paintListener);
-		fastViewSash.addFocusListener(new FocusListener() {
-			public void focusGained(FocusEvent e) {
-				fastViewSash.removePaintListener(paintListener);
-			}
-			public void focusLost(FocusEvent e) {
-				fastViewSash.addPaintListener(paintListener);
-			}
-		});
-		fastViewSash.addSelectionListener(selectionListener);
-	}
-	pane.setFastViewSash(fastViewSash);
-	updateFastViewSashBounds(bounds);
-	fastViewSash.moveAbove(null);
-	
-	setFastViewIconSelection(ref, true);
-}
-
-public void updateFastViewSashBounds(Rectangle partBounds) {
-	fastViewSash.setBounds(partBounds.x + partBounds.width - 1, partBounds.y + 1, SASH_SIZE, partBounds.height - 2);
-}
-/**
- * See IWorkbenchPage.
- */
-public IViewPart showView(String viewID) 
-	throws PartInitException 
-{
-	ViewFactory factory = getViewFactory();
-	IViewReference ref = factory.createView(viewID);
-	IViewPart part = (IViewPart)ref.getPart(false);
-	if(part == null) {
-		IStatus status = factory.restoreView(ref);
-		if(status.getSeverity() == IStatus.ERROR) {
-			if(status.getException() instanceof PartInitException)
-				throw (PartInitException)status.getException();
-			else
-				throw new PartInitException(status);
-		} else { //No error so the part has been created
-			part = (IViewPart)ref.getPart(false);
-		}
-	}
-	ViewSite site = (ViewSite)part.getSite();
-	ViewPane pane = (ViewPane)site.getPane();
-	
-	IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-	int openViewMode = store.getInt(IPreferenceConstants.OPEN_VIEW_MODE);
-	if (presentation.hasPlaceholder(viewID)) {
-		presentation.addPart(pane);
-	} else if (openViewMode == IPreferenceConstants.OVM_EMBED) {
-		presentation.addPart(pane);
-	/*
-	 * Detached window no longer supported - remove when confirmed
-	 *
-	 * } else if (openViewMode == IPreferenceConstants.OVM_FLOAT && presentation.canDetach()) {
-	 * 	   presentation.addDetachedPart(pane);
-	 */
-	} else {
-		showFastView(ref);
-		addFastView(ref);
-		//Refresh the part as there might have been an error when showing
-	}
-	return part;
-}
-/**
- * Toggles the visibility of a fast view.  If the view is active it
- * is deactivated.  Otherwise, it is activated.
- */
-public void toggleFastView(IViewReference ref) {
-	if (ref == activeFastView) {
-		setActiveFastView(null);
-	} else {
-		setActiveFastView(ref);
-	}
-}
-/**
- * Returns the oldPartID.
- * @return String
- */
-public String getOldPartID() {
-	return oldPartID;
-}
-
-/**
- * Sets the oldPartID.
- * @param oldPartID The oldPartID to set
- */
-public void setOldPartID(String oldPartID) {
-	this.oldPartID = oldPartID;
-}
-/**
- * Method moveFastView.  Moves draggedView to the position above
- * destinationView.  If placeAtEnd is true, add view to the end. Otherwise,
- * either place above destination view, or at the beginning if the
- * destinationView is null
- * @param draggedView
- * @param destinationView
- * @param useDestination
- */
-
-/*package*/ void moveFastView(IViewReference draggedView, IViewReference destinationView, boolean placeAtEnd) {
-	//PR 6988
-	
-	//do nothing if views are the same
-	if (draggedView == destinationView)
-		return;
-		
-	//move the view
-	fastViews.remove(draggedView);
-	//determine where to place the view
-	if (placeAtEnd) {//add it to the end
-		fastViews.add(draggedView);
-	} else { 
-		if (destinationView == null) //add it to the beginning
-			fastViews.add(0, draggedView);
-		else
-			fastViews.add(fastViews.indexOf(destinationView), draggedView);
-	}
-}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveContributionItem.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveContributionItem.java
deleted file mode 100644
index 77528a8..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveContributionItem.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.eclipse.ui.internal;
-
-/**********************************************************************
-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:
-**********************************************************************/
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.ui.IWorkbenchWindow;
-
-/**
- * This contribution item creates a menu to open perspectives within
- * a workbench window.
- */
-public class PerspectiveContributionItem extends ContributionItem {
-	private static final Image image = WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_NEW_PAGE).createImage();
-	private static final Image hotImage = WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_NEW_PAGE_HOVER).createImage();
-
-	private ToolItem widget = null;
-	private ToolBar parentWidget = null;
-	private MenuManager menuMgr = null;
-
-	/**
-	 * Creates a new contribution item from the given action.
-	 * The id of the action is used as the id of the item.
-	 */
-	public PerspectiveContributionItem(IWorkbenchWindow window) {
-		super();
-		menuMgr = new MenuManager();
-		menuMgr.add(new ChangeToPerspectiveMenu(window));
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IContributionItem.
-	 */
-	public void fill(ToolBar parent, int index) {
-		if (widget == null && parent != null) {
-			parentWidget = parent;
-			if (index >= 0)
-				widget = new ToolItem(parent, SWT.PUSH, index);
-			else
-				widget = new ToolItem(parent, SWT.PUSH);
-			widget.setToolTipText(WorkbenchMessages.getString("PerspectiveContributionItem.toolTip")); //$NON-NLS-1$
-			widget.setImage(image);
-			widget.setHotImage(hotImage);
-			widget.setData(this);
-			widget.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent event) {
-					menuMgr.update(true);
-					popUpMenu(event, menuMgr.createContextMenu(parentWidget));
-				}
-			});
-		}
-	}
-	
-	/**
-	 * Pop up the supplied menu at the point where the event occured.
-	 */
-	private void popUpMenu(SelectionEvent event, Menu menu) {
-		Point pt = new Point(event.x, event.y);
-		pt = parentWidget.toDisplay(pt);
-		menu.setLocation(pt.x, pt.y);
-		menu.setVisible(true);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveHistory.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveHistory.java
deleted file mode 100644
index b773f5a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveHistory.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.ui.*;
-
-/**
- * This is used to store the most recently used (MRU) list
- * of perspectives for the entire workbench.
- */
-public class PerspectiveHistory {
-	
-	private static final int DEFAULT_DEPTH = 50;
-	
-	private ArrayList shortcuts;
-	private IPerspectiveRegistry reg; 
-	private ListenerList listeners = new ListenerList();
-
-	public PerspectiveHistory(IPerspectiveRegistry reg) {
-		this.shortcuts = new ArrayList(DEFAULT_DEPTH);
-		this.reg = reg;
-	}
-
-	public void addListener(IPropertyListener l) {
-		listeners.add(l);
-	}	
-	
-	public void removeListener(IPropertyListener l) {
-		listeners.remove(l);
-	}	
-	
-	private void fireChange() {
-		Object[] array = listeners.getListeners();
-		for (int i = 0; i < array.length; i++) {
-			IPropertyListener element = (IPropertyListener)array[i];
-			element.propertyChanged(this, 0);
-		}
-	}
-	
-	public IStatus restoreState(IMemento memento) {
-		IMemento [] children = memento.getChildren("desc"); //$NON-NLS-1$
-		for (int i = 0; i < children.length && i < DEFAULT_DEPTH; i++) {
-			IPerspectiveDescriptor desc =
-				reg.findPerspectiveWithId(children[i].getID());
-			if (desc != null) 
-				shortcuts.add(desc);
-		}
-		return new Status(IStatus.OK,PlatformUI.PLUGIN_ID,0,"",null);
-	}
-	
-	public IStatus saveState(IMemento memento) {
-		Iterator iter = shortcuts.iterator();
-		while (iter.hasNext()) {
-			IPerspectiveDescriptor desc = (IPerspectiveDescriptor)iter.next();
-			memento.createChild("desc", desc.getId()); //$NON-NLS-1$
-		}
-		return new Status(IStatus.OK,PlatformUI.PLUGIN_ID,0,"",null);
-	}
-
-	public void add(String id) {
-		IPerspectiveDescriptor desc = reg.findPerspectiveWithId(id);
-		if (desc != null) 
-			add(desc);
-	}
-	
-	public void add(IPerspectiveDescriptor desc) {
-		// Avoid duplicates
-		if (shortcuts.contains(desc))
-			return;
-
-		// If the shortcut list will be too long, remove oldest ones			
-		int size = shortcuts.size();
-		int preferredSize = DEFAULT_DEPTH;
-		while (size >= preferredSize) {
-			size--;
-			shortcuts.remove(size);
-		}
-		
-		// Insert at top as most recent
-		shortcuts.add(0, desc);
-		fireChange();
-	}
-	
-	public void refreshFromRegistry() {
-		boolean change = false;
-		
-		Iterator iter = shortcuts.iterator();
-		while (iter.hasNext()) {
-			IPerspectiveDescriptor desc = (IPerspectiveDescriptor)iter.next();
-			if (reg.findPerspectiveWithId(desc.getId()) == null) {
-				iter.remove();
-				change = true;
-			}
-		}
-		
-		if (change)
-			fireChange();
-	}
-
-	/**
-	 * Copy the requested number of items from the history into
-	 * the destination list at the given index.
-	 * 
-	 * @param dest destination list to contain the items
-	 * @param destStart index in destination list to start copying items at
-	 * @param count number of items to copy from history
-	 * @return the number of items actually copied
-	 */
-	public int copyItems(List dest, int destStart, int count) {
-		int itemCount = count;
-		if (itemCount > shortcuts.size())
-			itemCount = shortcuts.size();
-			
-		for (int i = 0; i < itemCount; i++)
-			dest.add(destStart + i, shortcuts.get(i));
-			
-		return itemCount;
-	} 
-}
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveListenerList.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveListenerList.java
deleted file mode 100644
index 28b361f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveListenerList.java
+++ /dev/null
@@ -1,116 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IWorkbenchPage;
-
-/**
- * Perspective listener list.
- */
-public class PerspectiveListenerList {
-	private ListenerList listeners = new ListenerList();
-/**
- * PerspectiveListenerList constructor comment.
- */
-public PerspectiveListenerList() {
-	super();
-}
-/**
- * Adds an IInternalPerspectiveListener to the perspective service.
- */
-public void addPerspectiveListener(IInternalPerspectiveListener l) {
-	listeners.add(l);
-}
-/**
- * Notifies the listener that a perspective has been activated.
- */
-public void firePerspectiveActivated(final IWorkbenchPage page, final IPerspectiveDescriptor perspective) {
-	Object [] array = listeners.getListeners();
-	for (int nX = 0; nX < array.length; nX ++) {
-		final IInternalPerspectiveListener l = (IInternalPerspectiveListener)array[nX];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.perspectiveActivated(page, perspective);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removePerspectiveListener(l);
-			}
-		});
-	}
-}
-/**
- * Notifies the listener that a perspective has been changed.
- */
-public void firePerspectiveChanged(final IWorkbenchPage page, final IPerspectiveDescriptor perspective, final String changeId) {
-	Object [] array = listeners.getListeners();
-	for (int nX = 0; nX < array.length; nX ++) {
-		final IInternalPerspectiveListener l = (IInternalPerspectiveListener)array[nX];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.perspectiveChanged(page, perspective, changeId);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removePerspectiveListener(l);
-			}
-		});
-	}
-}
-/**
- * Notifies the listener that a perspective has been closed.
- */
-public void firePerspectiveClosed(final IWorkbenchPage page, final IPerspectiveDescriptor perspective) {
-	Object [] array = listeners.getListeners();
-	for (int nX = 0; nX < array.length; nX ++) {
-		final IInternalPerspectiveListener l = (IInternalPerspectiveListener)array[nX];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.perspectiveClosed(page, perspective);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removePerspectiveListener(l);
-			}
-		});
-	}
-}
-/**
- * Notifies the listener that a perspective has been opened.
- */
-public void firePerspectiveOpened(final IWorkbenchPage page, final IPerspectiveDescriptor perspective) {
-	Object [] array = listeners.getListeners();
-	for (int nX = 0; nX < array.length; nX ++) {
-		final IInternalPerspectiveListener l = (IInternalPerspectiveListener)array[nX];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.perspectiveOpened(page, perspective);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removePerspectiveListener(l);
-			}
-		});
-	}
-}
-/**
- * Removes an IInternalPerspectiveListener from the perspective service.
- */
-public void removePerspectiveListener(IInternalPerspectiveListener l) {
-	listeners.remove(l);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveListenerListOld.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveListenerListOld.java
deleted file mode 100644
index 96ecd28..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveListenerListOld.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.ui.*;
-
-/**
- * Perspective listener list.
- */
-public class PerspectiveListenerListOld {
-	private ListenerList listeners = new ListenerList();
-/**
- * PerspectiveListenerList constructor comment.
- */
-public PerspectiveListenerListOld() {
-	super();
-}
-/**
- * Adds an IPerspectiveListener to the perspective service.
- */
-public void addPerspectiveListener(IPerspectiveListener l) {
-	listeners.add(l);
-}
-/**
- * Notifies the listener that a perspective has been activated.
- */
-public void firePerspectiveActivated(final IWorkbenchPage page, final IPerspectiveDescriptor perspective) {
-	Object [] array = listeners.getListeners();
-	for (int nX = 0; nX < array.length; nX ++) {
-		final IPerspectiveListener l = (IPerspectiveListener)array[nX];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.perspectiveActivated(page, perspective);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removePerspectiveListener(l);
-			}
-		});
-	}
-}
-/**
- * Notifies the listener that a perspective has been changed.
- */
-public void firePerspectiveChanged(final IWorkbenchPage page, final IPerspectiveDescriptor perspective, final String changeId) {
-	Object [] array = listeners.getListeners();
-	for (int nX = 0; nX < array.length; nX ++) {
-		final IPerspectiveListener l = (IPerspectiveListener)array[nX];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.perspectiveChanged(page, perspective, changeId);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removePerspectiveListener(l);
-			}
-		});
-	}
-}
-/**
- * Removes an IPerspectiveListener from the perspective service.
- */
-public void removePerspectiveListener(IPerspectiveListener l) {
-	listeners.remove(l);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectivePresentation.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectivePresentation.java
deleted file mode 100644
index 84e6b87..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectivePresentation.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PinEditorAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PinEditorAction.java
deleted file mode 100644
index d2098ca..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PinEditorAction.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * Copyright (c) 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.ui.*;
-
-public class PinEditorAction extends ActiveEditorAction {
-
-	private IWorkbenchWindow window;
-	private boolean visible = false;
-
-/**
- * Creates a PinEditorAction.
- */
-protected PinEditorAction(IWorkbenchWindow window) {
-	super(WorkbenchMessages.getString("PinEditorAction.text"), window); //$NON-NLS-1$
-	setToolTipText(WorkbenchMessages.getString("PinEditorAction.toolTip")); //$NON-NLS-1$
-	setId("org.eclipse.ui.internal.PinEditorAction"); //$NON-NLS-1$
-	this.window = window;
-//	WorkbenchHelp.setHelp(this, new Object[] {IHelpContextIds.SAVE_ACTION});
-}
-/**
- * Returns true if the action should be visible in the toolbar or menu.
- */
-public boolean getVisible() {
-	return visible;
-}
-/**
- * Sets if the action should be visible or not.
- */
-public void setVisible(boolean visible) {
-	this.visible = visible;
-}
-/**
- * @see Action#run()
- */
-public void run() {
-	IEditorPart editor = getActiveEditor();
-	((EditorSite)editor.getEditorSite()).setReuseEditor(!isChecked());
-}
-/**
- * @see ActiveEdirorAction#updateState()
- */
-protected void updateState() {
-	if(window == null) {
-		setChecked(false);
-		setEnabled(false);
-		return;
-	}
-	IWorkbenchPage page = window.getActivePage();
-	if(page == null) {
-		setChecked(false);
-		setEnabled(false);
-		return;
-	}
-	IEditorPart editor = getActiveEditor();
-	boolean enabled = editor != null;
-	setEnabled(enabled);
-	if(enabled) {
-		EditorSite site = (EditorSite)editor.getEditorSite();
-		EditorPane pane = (EditorPane)site.getPane();
-		pane.setPinEditorAction(this);
-		setChecked(!(site).getReuseEditor());
-	} else {
-		setChecked(false);
-	}
-}
-}
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PlaceholderFolderLayout.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PlaceholderFolderLayout.java
deleted file mode 100644
index 2839acb..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PlaceholderFolderLayout.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.ui.internal;
-
-/**********************************************************************
-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:
-**********************************************************************/
-
-import org.eclipse.ui.IPlaceholderFolderLayout;
-import org.eclipse.ui.internal.registry.*;
-
-/**
- * This layout is used to define the initial set of placeholders
- * in a placeholder.
- * <p>
- * Views are added to the placeholder by ID. This id is used to identify 
- * a view descriptor in the view registry, and this descriptor is used to 
- * instantiate the IViewPart.
- * </p>
- */
-public class PlaceholderFolderLayout implements IPlaceholderFolderLayout{
-	private PageLayout pageLayout;
-	private ContainerPlaceholder placeholder;
-
-	public PlaceholderFolderLayout(PageLayout pageLayout, ContainerPlaceholder folder) {
-		super();
-		this.placeholder = folder;
-		this.pageLayout = pageLayout;
-	}
-	/**
-	 * @see IPlaceholderFolderLayout
-	 */
-	public void addPlaceholder(String viewId) {
-		if (pageLayout.checkPartInLayout(viewId))
-			return;
-
-		// Get the view's label.
-		IViewRegistry reg = WorkbenchPlugin.getDefault().getViewRegistry();
-		IViewDescriptor desc = reg.find(viewId);
-		if (desc == null) {
-			// cannot safely open the dialog so log the problem
-			WorkbenchPlugin.log("Unable to find view label: " + viewId);//$NON-NLS-1$
-			return;
-		}
-
-		// Create the placeholder.
-		LayoutPart newPart = new PartPlaceholder(viewId);
-		
-		linkPartToPageLayout(viewId, newPart);
-	
-		// Add it to the placeholder layout.
-		placeholder.add(newPart);		
-	}
-	/**
-	 * Inform the page layout of the new part created
-	 * and the placeholder the part belongs to.
-	 */
-	private void linkPartToPageLayout(String viewId, LayoutPart newPart) {
-		pageLayout.setRefPart(viewId, newPart);
-		pageLayout.setFolderPart(viewId, placeholder);
-		newPart.setContainer(placeholder);
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PlatformUIPreferenceListener.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PlatformUIPreferenceListener.java
deleted file mode 100644
index a813d46..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PlatformUIPreferenceListener.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * Copyright (c) 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.HashSet;
-import java.util.Set;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferenceConstants;
-import org.eclipse.ui.internal.fonts.FontDefinition;
-
-/**
- * The PlatformUIPreferenceListener is a class that listens to 
- * changes in the preference store and propogates the change
- * for any special cases that require updating of other
- * values within the workbench.
- */
-public class PlatformUIPreferenceListener implements IPropertyChangeListener {
-
-	//The values that we need to check default fonts for
-	private Set defaultCheckNames;
-	//The names of all of the fonts that will require updating
-	private Set fontNames;
-	/**
-	 * @see org.eclipse.core.runtime.Preferences.IPropertyChangeListener#propertyChange(PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-
-		String propertyName = event.getProperty();
-		if (IPreferenceConstants.ENABLED_DECORATORS.equals(propertyName))
-			WorkbenchPlugin
-				.getDefault()
-				.getDecoratorManager()
-				.restoreListeners();
-
-		if (IWorkbenchPreferenceConstants
-			.DEFAULT_PERSPECTIVE_ID
-			.equals(propertyName)) {
-			IWorkbench workbench = WorkbenchPlugin.getDefault().getWorkbench();
-			
-			workbench.getPerspectiveRegistry().setDefaultPerspective((String) event.getNewValue());
-		}
-
-		//Collect the names if required
-		if (defaultCheckNames == null) {
-			initializeFontNames();
-		}
-
-		if (defaultCheckNames.contains(propertyName)) {
-			processDefaultsTo(propertyName);
-		}
-		if (fontNames.contains(propertyName)) {
-			FontData[] newSetting;
-			Object newValue = event.getNewValue();
-			
-			//The preference change can come as as a String or a FontData[]
-			//so make sure we have the right type
-			if(newValue instanceof String)
-				newSetting = 
-					PreferenceConverter.readFontData((String) newValue);
-			else
-				newSetting = (FontData[]) newValue;
-				
-			JFaceResources.getFontRegistry().put(propertyName, newSetting);
-		}
-	}
-
-	/**
-	 * There has been an update to a font that other fonts
-	 * default to. Propogate if required.
-	 * @param propertyName
-	 */
-	private void processDefaultsTo(String propertyName) {
-
-		FontDefinition[] definitions = FontDefinition.getDefinitions();
-		IPreferenceStore store =
-			WorkbenchPlugin.getDefault().getPreferenceStore();
-		for (int i = 0; i < definitions.length; i++) {
-			String defaultsTo = definitions[i].getDefaultsTo();
-			if (defaultsTo != null
-				&& defaultsTo.equals(propertyName)
-				&& store.isDefault(definitions[i].getId())) {
-
-				FontData[] data =
-					PreferenceConverter.getFontDataArray(store, defaultsTo);
-				JFaceResources.getFontRegistry().put(
-					definitions[i].getId(),
-					data);
-			}
-		}
-
-	}
-
-	/**
-	 * Initialixe the fontNames and the list of fonts that have a 
-	 * defaultsTo tag.
-	 */
-	private void initializeFontNames() {
-		defaultCheckNames = new HashSet();
-		fontNames = new HashSet();
-		FontDefinition[] definitions = FontDefinition.getDefinitions();
-		for (int i = 0; i < definitions.length; i++) {
-			fontNames.add(definitions[i].getId());
-			String defaultsTo = definitions[i].getDefaultsTo();
-			if (defaultsTo != null)
-				defaultCheckNames.add(defaultsTo);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginAction.java
deleted file mode 100644
index e39b9bb..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginAction.java
+++ /dev/null
@@ -1,316 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.internal.plugins.ConfigurationElement;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.IActionDelegate;
-import org.eclipse.ui.IActionDelegate2;
-import org.eclipse.ui.IActionDelegateWithEvent;
-import org.eclipse.ui.INullSelectionListener;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.WorkbenchException;
-
-/**
- * A PluginAction is a proxy for an action extension.
- *
- * At startup we read the registry and create a PluginAction for each action extension.
- * This plugin action looks like the real action ( label, icon, etc ) and acts as
- * a proxy for the action until invoked.  At that point the proxy will instantiate 
- * the real action and delegate the run method to the real action.
- * This makes it possible to load the action extension lazily.
- *
- * Occasionally the class will ask if it is OK to 
- * load the delegate (on selection changes).  If the plugin containing
- * the action extension has been loaded then the action extension itself
- * will be instantiated.
- */
-
-public abstract class PluginAction extends Action 
-	implements ISelectionListener, ISelectionChangedListener, INullSelectionListener 
-{
-	private IActionDelegate delegate;
-	private SelectionEnabler enabler;
-	private ISelection selection;
-	private IConfigurationElement configElement;
-	private String runAttribute;
-	private static int actionCount = 0;
-
-	//a boolean that returns whether or not this action
-	//is Adaptable - i.e. is defined on a resource type
-	boolean isAdaptableAction = false;
-	boolean adaptableNotChecked = true;
-
-	/**
-	 * PluginAction constructor.
-	 */
-	public PluginAction(IConfigurationElement actionElement, String runAttribute, String definitionId, int style) {
-		super(null, style);
-
-		// Create unique action id.
-		setId("PluginAction." + Integer.toString(actionCount)); //$NON-NLS-1$
-		++actionCount;
-		setActionDefinitionId(definitionId);
-				
-		this.configElement = actionElement;
-		this.runAttribute = runAttribute;
-		
-		// Read enablement declaration.
-		if (configElement.getAttribute(PluginActionBuilder.ATT_ENABLES_FOR) != null) {
-			enabler = new SelectionEnabler(configElement);
-		} else {
-			IConfigurationElement[] kids = configElement.getChildren(PluginActionBuilder.TAG_ENABLEMENT);
-			if (kids.length > 0)
-				enabler = new SelectionEnabler(configElement);
-		}
-
-		// Give enabler or delegate a chance to adjust enable state
-		selectionChanged(new StructuredSelection());
-	}
-
-	/**
-	 * Creates the delegate and refreshes its enablement.
-	 */
-	protected final void createDelegate() {
-		if (delegate == null) {
-			try {
-				Object obj = WorkbenchPlugin.createExtension(configElement, runAttribute);
-				delegate = validateDelegate(obj);
-				initDelegate();
-				refreshEnablement();
-			} catch (CoreException e) {
-				WorkbenchPlugin.log("Could not create action delegate.", e.getStatus()); //$NON-NLS-1$
-				return;
-			}
-		}
-	}
-
-	/**
-	 * Validates the object is a delegate of the expected type. Subclasses can
-	 * override to check for specific delegate types.
-	 * <p>
-	 * <b>Note:</b> Calls to the object are not allowed during this method.
-	 * </p>
-	 *
-	 * @param obj a possible action delegate implementation
-	 * @return the <code>IActionDelegate</code> implementation for the object
-	 * @throws a <code>WorkbenchException</code> if not expect delegate type
-	 */
-	protected IActionDelegate validateDelegate(Object obj) throws WorkbenchException {
-		if (obj instanceof IActionDelegate)
-			return (IActionDelegate)obj;
-		else
-			throw new WorkbenchException("Action must implement IActionDelegate"); //$NON-NLS-1$
-	}
-
-	/** 
-	 * Initialize the action delegate by calling its lifecycle method.
-	 * Subclasses may override but must call this implementation first.
-	 */
-	protected void initDelegate() {
-		if (delegate instanceof IActionDelegate2)
-			((IActionDelegate2)delegate).init(this);
-	}
-	
-	/**
-	 * Return the delegate action or null if not created yet
-	 */
-	protected IActionDelegate getDelegate() {
-		return delegate;
-	}
-
-	/**
-	 * Returns true if the declaring plugin has been loaded
-	 * and there is no need to delay creating the delegate
-	 * any more.
-	 */
-	protected boolean isOkToCreateDelegate() {
-		// test if the plugin has loaded
-		IPluginDescriptor plugin =
-			configElement.getDeclaringExtension().getDeclaringPluginDescriptor();
-		return plugin.isPluginActivated();
-	}
-
-	/**
-	 * Return whether or not this action could have been registered
-	 * due to an adaptable - i.e. it is a resource type.
-	 */
-	private boolean hasAdaptableType() {
-		if (adaptableNotChecked) {
-			Object parentConfig = ((ConfigurationElement) configElement).getParent();
-			String typeName = null;
-			if(parentConfig != null && parentConfig instanceof IConfigurationElement) 
-				typeName = ((IConfigurationElement) parentConfig).getAttribute("objectClass"); //$NON-NLS-1$
-			
-			//See if this is typed at all first
-			if(typeName == null){
-				adaptableNotChecked = false;
-				return false;
-			}
-			Class resourceClass = IResource.class;
-
-			if (typeName.equals(resourceClass.getName())) {
-				isAdaptableAction = true;
-				adaptableNotChecked = false;
-				return isAdaptableAction;
-			}
-			Class[] children = resourceClass.getDeclaredClasses();
-			for (int i = 0; i < children.length; i++) {
-				if (children[i].getName().equals(typeName)) {
-					isAdaptableAction = true;
-					adaptableNotChecked = false;
-					return isAdaptableAction;
-				}				
-			}
-			adaptableNotChecked = false;
-		}
-		return isAdaptableAction;
-	}
-
-	/**
-	 * Refresh the action enablement.
-	 */
-	protected void refreshEnablement() {
-		if (enabler != null) {
-			setEnabled(enabler.isEnabledForSelection(selection));
-		}
-		if (delegate != null) {
-			delegate.selectionChanged(this, selection);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public void run() {
-		runWithEvent(null);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IAction.
-	 */
-	public void runWithEvent(Event event) {
-		// this message dialog is problematic.
-		if (delegate == null) {
-			createDelegate();
-			if (delegate == null) {
-				MessageDialog.openInformation(
-					Display.getDefault().getActiveShell(),
-					WorkbenchMessages.getString("Information"), //$NON-NLS-1$
-					WorkbenchMessages.getString("PluginAction.operationNotAvailableMessage")); //$NON-NLS-1$
-				return;
-			}
-			if (!isEnabled()) {
-				MessageDialog.openInformation(
-					Display.getDefault().getActiveShell(),
-					WorkbenchMessages.getString("Information"), //$NON-NLS-1$
-					WorkbenchMessages.getString("PluginAction.disabledMessage")); //$NON-NLS-1$
-				return;
-			}
-		}
-
-		if (event != null) {
-			if (delegate instanceof IActionDelegate2) {
-				((IActionDelegate2)delegate).runWithEvent(this, event);
-				return;
-			}
-			// Keep for backward compatibility with R2.0
-			if (delegate instanceof IActionDelegateWithEvent) {
-				((IActionDelegateWithEvent) delegate).runWithEvent(this, event);
-				return;
-			}
-		}
-
-		delegate.run(this);
-	}
-	
-	/**
-	 * Handles selection change. If rule-based enabled is
-	 * defined, it will be first to call it. If the delegate
-	 * is loaded, it will also be given a chance.
-	 */
-	public void selectionChanged(ISelection newSelection) {
-		// Update selection.
-		selection = newSelection;
-		if (selection == null)
-			selection = StructuredSelection.EMPTY;
-		if (hasAdaptableType())
-			selection = getResourceAdapters(selection);
-			
-		// If the delegate can be loaded, do so.
-		// Otherwise, just update the enablement.
-		if (delegate == null && isOkToCreateDelegate())
-			createDelegate();
-		else 
-			refreshEnablement();
-	}
-	
-	/**
-	 * The <code>SelectionChangedEventAction</code> implementation of this 
-	 * <code>ISelectionChangedListener</code> method calls 
-	 * <code>selectionChanged(IStructuredSelection)</code> when the selection is
-	 * a structured one.
-	 */
-	public void selectionChanged(SelectionChangedEvent event) {
-		ISelection sel = event.getSelection();
-		selectionChanged(sel);
-	}
-
-	/**
-	 * The <code>SelectionChangedEventAction</code> implementation of this 
-	 * <code>ISelectionListener</code> method calls 
-	 * <code>selectionChanged(IStructuredSelection)</code> when the selection is
-	 * a structured one. Subclasses may extend this method to react to the change.
-	 */
-	public void selectionChanged(IWorkbenchPart part, ISelection sel) {
-		selectionChanged(sel);
-	}
-	
-	/**
-	 * Get a new selection with the resource adaptable version 
-	 * of this selection
-	 */
-	private ISelection getResourceAdapters(ISelection sel) {
-		if (sel instanceof IStructuredSelection) {
-			List adaptables = new ArrayList();
-			Object[] elements = ((IStructuredSelection)sel).toArray();
-			for (int i = 0; i < elements.length; i++) {
-				Object originalValue = elements[i];
-				if (originalValue instanceof IAdaptable) {
-					Object adaptedValue = ((IAdaptable)originalValue).getAdapter(IResource.class);
-					if (adaptedValue != null)
-						adaptables.add(adaptedValue);
-				}
-			}
-			return new StructuredSelection(adaptables);
-		} else {
-			return sel;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionBuilder.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionBuilder.java
deleted file mode 100644
index 003b203..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionBuilder.java
+++ /dev/null
@@ -1,419 +0,0 @@
-package org.eclipse.ui.internal;
-
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.AbstractGroupMarker;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IContributionManager;
-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.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.registry.RegistryReader;
-
-/**
- * This class contains shared functionality for reading action contributions
- * from plugins into workbench parts (both editors and views).
- */
-public abstract class PluginActionBuilder extends RegistryReader {
-	public static final String TAG_MENU = "menu"; //$NON-NLS-1$
-	public static final String TAG_ACTION = "action"; //$NON-NLS-1$
-	public static final String TAG_SEPARATOR = "separator"; //$NON-NLS-1$
-	public static final String TAG_GROUP_MARKER = "groupMarker"; //$NON-NLS-1$
-	public static final String TAG_FILTER = "filter"; //$NON-NLS-1$
-	public static final String TAG_VISIBILITY = "visibility"; //$NON-NLS-1$
-	public static final String TAG_ENABLEMENT = "enablement"; //$NON-NLS-1$
-	public static final String TAG_SELECTION = "selection"; //$NON-NLS-1$
-
-	public static final String ATT_TARGET_ID = "targetID"; //$NON-NLS-1$
-	public static final String ATT_ID = "id"; //$NON-NLS-1$
-	public static final String ATT_LABEL = "label"; //$NON-NLS-1$
-	public static final String ATT_ENABLES_FOR = "enablesFor"; //$NON-NLS-1$
-	public static final String ATT_NAME = "name"; //$NON-NLS-1$
-	public static final String ATT_PATH = "path"; //$NON-NLS-1$
-
-	protected String targetID;
-	protected String targetContributionTag;
-	protected BasicContribution currentContribution;
-	protected ArrayList cache;
-
-	/**
-	 * The default constructor.
-	 */
-	public PluginActionBuilder() {
-	}
-
-	/**
-	 * Contributes submenus and/or actions into the provided menu and tool bar
-	 * managers.
-	 */
-	public final void contribute(IMenuManager menu, IToolBarManager toolbar, boolean appendIfMissing) {
-		if (cache == null)
-			return;
-
-		for (int i = 0; i < cache.size(); i++) {
-			BasicContribution contribution = (BasicContribution)cache.get(i);
-			contribution.contribute(menu, appendIfMissing, toolbar, appendIfMissing);
-		}
-	}
-	
-	/**
-	 * This factory method returns a new ActionDescriptor for the
-	 * configuration element.  It should be implemented by subclasses.
-	 */
-	protected abstract ActionDescriptor createActionDescriptor(IConfigurationElement element);
-	
-	/**
-	 * Factory method to create the helper contribution class that will hold
-	 * onto the menus and actions contributed.
-	 */
-	protected BasicContribution createContribution() {
-		return new BasicContribution();
-	}
-	
-	/**
-	 * Returns the name of the part ID attribute that is expected
-	 * in the target extension.
-	 */
-	protected String getTargetID(IConfigurationElement element) {
-		String value = element.getAttribute(ATT_TARGET_ID);
-		return value != null ? value : "???"; //$NON-NLS-1$
-	}
-	
-	/**
-	 * Reads the contributions from the registry for the provided workbench
-	 * part and the provided extension point ID.
-	 */
-	protected void readContributions(String id, String tag, String extensionPoint) {
-		cache = null;
-		currentContribution = null;
-		targetID = id;
-		targetContributionTag = tag;
-		readRegistry(Platform.getPluginRegistry(), PlatformUI.PLUGIN_ID, extensionPoint);
-	}
-	
-	/**
-	 * Implements abstract method to handle the provided XML element
-	 * in the registry.
-	 */
-	protected boolean readElement(IConfigurationElement element) {
-		String tag = element.getName();
-
-		// Ignore all object contributions element as these
-		// are handled by the ObjectActionContributorReader.
-		if (tag.equals(ObjectActionContributorReader.TAG_OBJECT_CONTRIBUTION)) {
-			return true;
-		}
-
-		// Found top level contribution element		
-		if (tag.equals(targetContributionTag)) {
-			if (targetID != null) {
-				// Ignore contributions not matching target id
-				String id = getTargetID(element);
-				if (id == null || !id.equals(targetID))
-					return true;
-			}
-			
-			// Read it's sub-elements
-			currentContribution = createContribution();
-			readElementChildren(element);
-			if (cache == null)
-				cache = new ArrayList(4);
-			cache.add(currentContribution);
-			currentContribution = null;
-			return true;
-		}
-		
-
-		// Found menu contribution sub-element		
-		if (tag.equals(TAG_MENU)) {
-			currentContribution.addMenu(element);
-			return true;
-		}
-		
-		// Found action contribution sub-element
-		if (tag.equals(TAG_ACTION)) {
-			currentContribution.addAction(createActionDescriptor(element));
-			return true;
-		}
-		
-		return false;
-	}
-
-	
-	/**
-	 * Helper class to collect the menus and actions defined within a
-	 * contribution element.
-	 */
-	protected static class BasicContribution {
-		protected ArrayList menus;
-		protected ArrayList actions;
-		
-		public void addMenu(IConfigurationElement element) {
-			if (menus == null)
-				menus = new ArrayList(1);
-			menus.add(element);
-		}
-		
-		public void addAction(ActionDescriptor desc) {
-			if (actions == null)
-				actions = new ArrayList(3);
-			actions.add(desc);
-		}
-
-		/**
-		 * Contributes submenus and/or actions into the provided menu and tool bar
-		 * managers.
-		 */
-		public void contribute(IMenuManager menu, boolean menuAppendIfMissing, IToolBarManager toolbar, boolean toolAppendIfMissing) {
-			if (menus != null && menu != null) {
-				for (int i = 0; i < menus.size(); i++) {
-					IConfigurationElement menuElement = (IConfigurationElement) menus.get(i);
-					contributeMenu(menuElement, menu, menuAppendIfMissing);
-				}
-			}
-			
-			if (actions != null) {
-				for (int i = 0; i < actions.size(); i++) {
-					ActionDescriptor ad = (ActionDescriptor) actions.get(i);
-					if (menu != null)
-						contributeMenuAction(ad, menu, menuAppendIfMissing);
-					if (toolbar != null)
-						contributeToolbarAction(ad, toolbar, toolAppendIfMissing);
-				}
-			}
-		}
-	
-		/**
-		 * Creates a menu from the information in the menu configuration element and
-		 * adds it into the provided menu manager. If 'appendIfMissing' is true, and
-		 * menu path slot is not found, it will be created and menu will be added
-		 * into it. Otherwise, add operation will fail.
-		 */
-		protected void contributeMenu(IConfigurationElement menuElement, IMenuManager mng, boolean appendIfMissing) {
-			// Get config data.
-			String id = menuElement.getAttribute(ATT_ID);
-			String label = menuElement.getAttribute(ATT_LABEL);
-			String path = menuElement.getAttribute(ATT_PATH);
-			if (label == null) {
-				WorkbenchPlugin.log("Invalid Menu Extension (label == null): " + id); //$NON-NLS-1$
-				return;
-			}
-
-			// Calculate menu path and group.
-			String group = null;
-			if (path != null) {
-				int loc = path.lastIndexOf('/');
-				if (loc != -1) {
-					group = path.substring(loc + 1);
-					path = path.substring(0, loc);
-				} else {
-					// assume that path represents a slot
-					// so actual path portion should be null
-					group = path;
-					path = null;
-				}
-			}
-
-			// Find parent menu.
-			IMenuManager parent = mng;
-			if (path != null) {
-				parent = mng.findMenuUsingPath(path);
-				if (parent == null) {
-					WorkbenchPlugin.log("Invalid Menu Extension (Path is invalid): " + id); //$NON-NLS-1$
-					return;
-				}
-			}
-
-			// Find reference group.
-			if (group == null)
-				group = IWorkbenchActionConstants.MB_ADDITIONS;
-			IContributionItem sep = parent.find(group);
-			if (sep == null) {
-				if (appendIfMissing)
-					addGroup(parent, group);
-				else {
-					WorkbenchPlugin.log("Invalid Menu Extension (Group is invalid): " + id); //$NON-NLS-1$
-					return;
-				}
-			}
-
-			// If the menu does not exist create it.
-			IMenuManager newMenu = parent.findMenuUsingPath(id);
-			if (newMenu == null)
-				newMenu = new MenuManager(label, id);
-
-			// Add the menu
-			try {
-				insertAfter(parent, group, newMenu);
-			} catch (IllegalArgumentException e) {
-				WorkbenchPlugin.log("Invalid Menu Extension (Group is missing): " + id); //$NON-NLS-1$
-			}
-
-			// Get the menu again as it may be wrapped, otherwise adding
-			// the separators and group markers below will not be wrapped
-			// properly if the menu was just created.
-			newMenu = parent.findMenuUsingPath(id);
-			if (newMenu == null)
-				WorkbenchPlugin.log("Could not find new menu: " + id); //$NON-NLS-1$
-
-			// Create separators.
-			IConfigurationElement[] children = menuElement.getChildren();
-			for (int i = 0; i < children.length; i++) {
-				String childName = children[i].getName();
-				if (childName.equals(TAG_SEPARATOR)) {
-					contributeSeparator(newMenu, children[i]);
-				} else if (childName.equals(TAG_GROUP_MARKER)) {
-					contributeGroupMarker(newMenu, children[i]);
-				}
-			}
-		}
-	
-		/**
-		 * Contributes action from action descriptor into the provided menu manager.
-		 */
-		protected void contributeMenuAction(ActionDescriptor ad, IMenuManager menu, boolean appendIfMissing) {
-			// Get config data.
-			String mpath = ad.getMenuPath();
-			String mgroup = ad.getMenuGroup();
-			if (mpath == null && mgroup == null)
-				return;
-
-			// Find parent menu.
-			IMenuManager parent = menu;
-			if (mpath != null) {
-				parent = parent.findMenuUsingPath(mpath);
-				if (parent == null) {
-					WorkbenchPlugin.log("Invalid Menu Extension (Path is invalid): " + ad.getId()); //$NON-NLS-1$
-					return;
-				}
-			}
-
-			// Find reference group.
-			if (mgroup == null)
-				mgroup = IWorkbenchActionConstants.MB_ADDITIONS;
-			IContributionItem sep = parent.find(mgroup);
-			if (sep == null) {
-				if (appendIfMissing)
-					addGroup(parent, mgroup);
-				else {
-					WorkbenchPlugin.log("Invalid Menu Extension (Group is invalid): " + ad.getId()); //$NON-NLS-1$
-					return;
-				}
-			}
-
-			// Add action.
-			try {
-				insertAfter(parent, mgroup, ad.getAction());
-			} catch (IllegalArgumentException e) {
-				WorkbenchPlugin.log("Invalid Menu Extension (Group is missing): " + ad.getId()); //$NON-NLS-1$
-			}
-		}
-	
-		/**
-		 * Creates a named menu separator from the information in the configuration element.
-		 * If the separator already exists do not create a second.
-		 */
-		protected void contributeSeparator(IMenuManager menu, IConfigurationElement element) {
-			String id = element.getAttribute(ATT_NAME);
-			if (id == null || id.length() <= 0)
-				return;
-			IContributionItem sep = menu.find(id);
-			if (sep != null)
-				return;
-			insertMenuGroup(menu, new Separator(id));
-		}
-	
-		/**
-		 * Creates a named menu group marker from the information in the configuration element.
-		 * If the marker already exists do not create a second.
-		 */
-		protected void contributeGroupMarker(IMenuManager menu, IConfigurationElement element) {
-			String id = element.getAttribute(ATT_NAME);
-			if (id == null || id.length() <= 0)
-				return;
-			IContributionItem marker = menu.find(id);
-			if (marker != null)
-				return;
-			insertMenuGroup(menu, new GroupMarker(id));
-		}
-	
-		/**
-		 * Contributes action from the action descriptor into the provided tool bar manager.
-		 */
-		protected void contributeToolbarAction(ActionDescriptor ad, IToolBarManager toolbar, boolean appendIfMissing) {
-			// Get config data.
-			String tpath = ad.getToolbarPath();
-			String tgroup = ad.getToolbarGroup();
-			if (tpath == null && tgroup == null)
-				return;
-
-			// Find reference group.
-			if (tgroup == null)
-				tgroup = IWorkbenchActionConstants.MB_ADDITIONS;
-			IContributionItem sep = null;
-			sep = toolbar.find(tgroup);
-			if (sep == null) {
-				if (appendIfMissing) {
-					addGroup(toolbar, tgroup);
-				} else {
-					WorkbenchPlugin.log("Invalid Toolbar Extension (Group is invalid): " + ad.getId()); //$NON-NLS-1$
-					return;
-				}
-			}
-			// Add action to tool bar.
-			try {
-				insertAfter(toolbar, tgroup, ad.getAction());
-			} catch (IllegalArgumentException e) {
-				WorkbenchPlugin.log("Invalid Toolbar Extension (Group is missing): " + ad.getId()); //$NON-NLS-1$
-			}
-		}
-	
-		/**
-		 * Inserts the separator or group marker into the menu. Subclasses may override.
-		 */
-		protected void insertMenuGroup(IMenuManager menu, AbstractGroupMarker marker) {
-			menu.add(marker);
-		}
-	
-		/**
-		 * Inserts an action after another named contribution item.
-		 * Subclasses may override.
-		 */
-		protected void insertAfter(IContributionManager mgr, String refId, PluginAction action) {
-			insertAfter(mgr, refId, new PluginActionContributionItem(action));
-		}
-	
-		/**
-		 * Inserts a contribution item after another named contribution item.
-		 * Subclasses may override.
-		 */
-		protected void insertAfter(IContributionManager mgr, String refId, IContributionItem item) {
-			mgr.insertAfter(refId, item);
-		}
-	
-		/**
-		 * Adds a group to a contribution manager.
-		 * Subclasses may override.
-		 */
-		protected void addGroup(IContributionManager mgr, String name) {
-			mgr.add(new Separator(name));
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionContributionItem.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionContributionItem.java
deleted file mode 100644
index ddb826e..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionContributionItem.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal;
-
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.ui.IActionDelegate2;
-
-/**
- * Contribution item for actions provided by plugins via workbench
- * action extension points.
- */
-public class PluginActionContributionItem extends ActionContributionItem {
-
-	/**
-	 * Creates a new contribution item from the given action.
-	 * The id of the action is used as the id of the item.
-	 *
-	 * @param action the action
-	 */
-	public PluginActionContributionItem(PluginAction action) {
-		super(action);
-	}
-
-	/**
-	 * The default implementation of this <code>IContributionItem</code>
-	 * method notifies the delegate if loaded and implements the
-	 * <code>IActionDelegate2</code> interface.
-	 */
-	public void dispose() {
-		PluginAction proxy = (PluginAction)getAction();
-		if (proxy != null) {
-			if (proxy.getDelegate() instanceof IActionDelegate2) {
-				((IActionDelegate2)proxy.getDelegate()).dispose();
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionSet.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionSet.java
deleted file mode 100644
index 095ab72..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionSet.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.internal.registry.*;
-import java.util.*;
-
-/**
- * A PluginActionSet is a proxy for an action set defined in XML.
- * It creates a PluginAction for each action and does the required
- * cleanup on dispose.
- */
-public class PluginActionSet implements IActionSet {
-	private ActionSetDescriptor desc;
-	private ArrayList pluginActions = new ArrayList(4);
-/**
- * PluginActionSet constructor comment.
- */
-public PluginActionSet(ActionSetDescriptor desc) {
-	super();
-	this.desc = desc;
-}
-/**
- * Adds one plugin action ref to the list.
- */
-public void addPluginAction(WWinPluginAction action) {
-	pluginActions.add(action);
-}
-/**
- * Returns the list of plugin actions for the set.
- */
-public IAction[] getPluginActions() {
-	IAction result[] = new IAction[pluginActions.size()];
-	pluginActions.toArray(result);
-	return result;
-}
-/**
- * Disposes of this action set.
- */
-public void dispose() {
-	Iterator iter = pluginActions.iterator();
-	while (iter.hasNext()) {
-		WWinPluginAction action = (WWinPluginAction)iter.next();
-		action.dispose();
-	}
-}
-/**
- * Returns the config element.
- */
-public IConfigurationElement getConfigElement() {
-	return desc.getConfigElement();
-}
-/**
- * Returns the underlying descriptor.
- */
-public ActionSetDescriptor getDesc() {
-	return desc;
-}
-/**
- * Initializes this action set, which is expected to add it actions as required
- * to the given workbench window and action bars.
- *
- * @param window the workbench window
- * @param bars the action bars
- */
-public void init(IWorkbenchWindow window, IActionBars bars) {
-	PluginActionSetBuilder builder = new PluginActionSetBuilder();
-	builder.readActionExtensions(this, window, bars);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionSetBuilder.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionSetBuilder.java
deleted file mode 100644
index 078d283..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionSetBuilder.java
+++ /dev/null
@@ -1,287 +0,0 @@
-package org.eclipse.ui.internal;
-
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jface.action.AbstractGroupMarker;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IContributionManager;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchWindow;
-
-/**
- * This builder reads the actions for an action set from the registry.
- */
-public class PluginActionSetBuilder extends PluginActionBuilder {
-	public static final String TAG_ACTION_SET = "actionSet"; //$NON-NLS-1$
-	// As of 2.1, the "pulldown" attribute is deprecated, use "style" attribute instead.
-	public static final String ATT_PULLDOWN = "pulldown"; //$NON-NLS-1$
-
-	private PluginActionSet actionSet;
-	private IWorkbenchWindow window;
-	
-	/**
-	 * Constructs a new builder.
-	 */
-	public PluginActionSetBuilder() {
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on PluginActionBuilder.
-	 */
-	protected ActionDescriptor createActionDescriptor(IConfigurationElement element) {
-		// As of 2.1, the "pulldown" attribute was deprecated and replaced by
-		// the attribute "style". See doc for more details.
-		boolean pullDownStyle = false;
-		String style = element.getAttribute(ActionDescriptor.ATT_STYLE);
-		if (style != null) {
-			pullDownStyle = style.equals(ActionDescriptor.STYLE_PULLDOWN);
-		} else {
-			String pulldown = element.getAttribute(ATT_PULLDOWN);
-			pullDownStyle = pulldown != null && pulldown.equals("true"); //$NON-NLS-1$
-		}
-
-		ActionDescriptor desc = null;
-		if (pullDownStyle)
-			desc = new ActionDescriptor(element, ActionDescriptor.T_WORKBENCH_PULLDOWN, window);
-		else
-			desc = new ActionDescriptor(element, ActionDescriptor.T_WORKBENCH, window);
-		WWinPluginAction action = (WWinPluginAction) desc.getAction();
-		action.setActionSetId(actionSet.getDesc().getId());
-		actionSet.addPluginAction(action);
-		return desc;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on PluginActionBuilder.
-	 */
-	protected BasicContribution createContribution() {
-		return new ActionSetContribution(actionSet.getDesc().getId());
-	}
-
-	/**
-	 * Returns the insertion point for a new contribution item.  Clients should
-	 * use this item as a reference point for insertAfter.
-	 *
-	 * @param startId the reference id for insertion
-	 * @param sortId the sorting id for the insertion.  If null then the item
-	 *		will be inserted at the end of all action sets.
-	 * @param mgr the target menu manager.
-	 * @param startVsEnd if <code>true</code> the items are added at the start of
-	 *		action with the same id; else they are added to the end
-	 * @return the insertion point, or null if not found.
-	 */
-	public static IContributionItem findInsertionPoint(String startId, String sortId, IContributionManager mgr, boolean startVsEnd) {
-		// Get items.
-		IContributionItem[] items = mgr.getItems();
-
-		// Find the reference item.
-		int insertIndex = 0;
-		while (insertIndex < items.length) {
-			if (startId.equals(items[insertIndex].getId()))
-				break;
-			++insertIndex;
-		}
-		if (insertIndex >= items.length)
-			return null;
-
-		// Calculate startVsEnd comparison value.
-		int compareMetric = 0;
-		if (startVsEnd)
-			compareMetric = 1;
-
-		// Find the insertion point for the new item.
-		// We do this by iterating through all of the previous
-		// action set contributions define within the current group.
-		for (int nX = insertIndex + 1; nX < items.length; nX++) {
-			IContributionItem item = items[nX];
-			if (item.isSeparator() || item.isGroupMarker()) {
-				// Fix for bug report 18357
-				break;
-			}
-			if (item instanceof IActionSetContributionItem) {
-				if (sortId != null) {
-					String testId = ((IActionSetContributionItem) item).getActionSetId();
-					if (sortId.compareTo(testId) < compareMetric)
-						break;
-				}
-				insertIndex = nX;
-			} else {
-				break;
-			}
-		}
-		// Return item.
-		return items[insertIndex];
-	}
-	
-	public static IContributionItem findSubInsertionPoint(String startId, String sortId, CoolBarManager mgr, boolean startVsEnd) {
-		// Get items.
-		IContributionItem[] items = mgr.getItems();
-
-		// Find the reference item.
-		int insertIndex = 0;
-		while (insertIndex < items.length) {
-			if (startId.equals(items[insertIndex].getId()))
-				break;
-			++insertIndex;
-		}
-		// look at each the items in each of the CoolBarContribution items
-		if (insertIndex >= items.length) {
-			insertIndex = 0;
-			while (insertIndex < items.length) {
-				CoolBarContributionItem item = (CoolBarContributionItem) items[insertIndex];
-				IContributionItem foundItem = item.getToolBarManager().find(startId);
-				if (foundItem != null)
-					break;
-				++insertIndex;
-			}
-		}
-		if (insertIndex >= items.length)
-			return null;
-
-		// Calculate startVsEnd comparison value.
-		int compareMetric = 0;
-		if (startVsEnd)
-			compareMetric = 1;
-
-		// Find the insertion point for the new item.  We do this by iterating 
-		// through all of the previous action set contributions.  This code 
-		// assumes action set contributions are done in alphabetical order.
-		for (int nX = insertIndex + 1; nX < items.length; nX++) {
-			CoolBarContributionItem item = (CoolBarContributionItem) items[nX];
-			if (item.getItems().length == 0)
-				break;
-			IContributionItem subItem = item.getItems()[0];
-			if (subItem instanceof IActionSetContributionItem) {
-				if (sortId != null) {
-					String testId = ((IActionSetContributionItem) subItem).getActionSetId();
-					if (sortId.compareTo(testId) < compareMetric)
-						break;
-				}
-				insertIndex = nX;
-			} else {
-				break;
-			}
-		}
-		// Return item.
-		return items[insertIndex];
-	}
-	
-	/**
-	 * Read the actions within a config element.
-	 */
-	public void readActionExtensions(PluginActionSet set, IWorkbenchWindow window, IActionBars bars) {
-		this.actionSet = set;
-		this.window = window;
-		cache = null;
-		currentContribution = null;
-		targetID = null;
-		targetContributionTag = TAG_ACTION_SET;
-		
-		readElements(new IConfigurationElement[] {set.getConfigElement()});
-		
-		if (cache != null) {
-			contribute(bars.getMenuManager(), bars.getToolBarManager(), true);
-		} else {
-			WorkbenchPlugin.log("Action Set is empty: " + set.getDesc().getId()); //$NON-NLS-1$
-		}
-	}
-	
-
-	/**
-	 * Helper class to collect the menus and actions defined within a
-	 * contribution element.
-	 */
-	private static class ActionSetContribution extends BasicContribution {
-		private String actionSetId;
-		
-		public ActionSetContribution(String id) {
-			super();
-			actionSetId = id;
-		}
-		
-		/**
-		 * This implementation inserts the group into the action set additions group.  
-		 */
-		protected void addGroup(IContributionManager mgr, String name) {
-			// Find the insertion point for this group.
-			if (mgr instanceof CoolItemToolBarManager) {
-				// In the coolbar case we need to create a CoolBarContributionItem
-				// for the group if one does not already exist.
-				CoolItemToolBarManager tBarMgr = (CoolItemToolBarManager) mgr;
-				CoolBarManager cBarMgr = tBarMgr.getParentManager();
-				IContributionItem cbItem = cBarMgr.find(actionSetId);
-				if (cbItem == null) {
-					IContributionItem refItem = findSubInsertionPoint(IWorkbenchActionConstants.MB_ADDITIONS, actionSetId, cBarMgr, true);
-					// Add the CoolBarContributionItem to the CoolBarManager for this group.
-					if (refItem == null) {
-						cBarMgr.add(tBarMgr.getCoolBarItem());
-					} else {
-						cBarMgr.insertAfter(refItem.getId(), tBarMgr.getCoolBarItem());
-					}
-				}
-				// Insert the group marker into the group, not the CoolBarmanager.
-				ActionSetSeparator group = new ActionSetSeparator(name, actionSetId);
-				tBarMgr.add(group);
-			} else {
-				IContributionItem refItem = findInsertionPoint(IWorkbenchActionConstants.MB_ADDITIONS, actionSetId, mgr, true);
-				// Insert the new group marker.
-				ActionSetSeparator group = new ActionSetSeparator(name, actionSetId);
-				if (refItem == null) {
-					mgr.add(group);
-				} else {
-					mgr.insertAfter(refItem.getId(), group);
-				}
-			}
-		}
-	
-		/* (non-Javadoc)
-		 * Method declared on Basic Contribution.
-		 */
-		protected void insertMenuGroup(IMenuManager menu, AbstractGroupMarker marker) {
-			if (actionSetId != null) {
-				IContributionItem[] items = menu.getItems();
-				// Loop thru all the current groups looking for the first
-				// group whose id > than the current action set id. Insert
-				// current marker just before this item then.
-				for (int i = 0; i < items.length; i++) {
-					IContributionItem item = items[i];
-					if (item.isSeparator() || item.isGroupMarker()) {
-						if (item instanceof IActionSetContributionItem) {
-							String testId = ((IActionSetContributionItem) item).getActionSetId();
-							if (actionSetId.compareTo(testId) < 0) {
-								menu.insertBefore(items[i].getId(), marker);
-								return;
-							}
-						}
-					}
-				}
-			}
-
-			menu.add(marker);
-		}
-
-		/* (non-Javadoc)
-		 * Method declared on Basic Contribution.
-		 */
-		protected void insertAfter(IContributionManager mgr, String refId, IContributionItem item) {
-			IContributionItem refItem = findInsertionPoint(refId, actionSetId, mgr, true);
-			if (refItem != null) {
-				mgr.insertAfter(refItem.getId(), item);
-			} else {
-				WorkbenchPlugin.log("Reference item " + refId + " not found for action " + item.getId()); //$NON-NLS-1$
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionSetReader.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionSetReader.java
deleted file mode 100644
index eeb5e2c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionSetReader.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.internal.decorators.*;
-import org.eclipse.ui.internal.registry.*;
-import java.util.*;
-
-/**
- * Read the actions for an plugin action set.
- *
- * [Issue: There is some overlap with the class
- *		PluginActionSetBuilder which should be reviewed
- *		at a later time and maybe merged together]
- */
-public class PluginActionSetReader extends RegistryReader {
-	private List cache = new ArrayList();
-/**
- * PluginActionSetReader constructor comment.
- */
-public PluginActionSetReader() {
-	super();
-}
-/**
- * This factory method returns a new ActionDescriptor for the
- * configuration element.  
- */
-protected LightweightActionDescriptor createActionDescriptor(IConfigurationElement element) {
-	return new LightweightActionDescriptor(element);
-}
-/**
- * Return all the action descriptor within the set.
- */
-public LightweightActionDescriptor[] readActionDescriptors(ActionSetDescriptor actionSet) {
-	readElements(new IConfigurationElement[] {actionSet.getConfigElement()});
-	LightweightActionDescriptor[] actions = new LightweightActionDescriptor[cache.size()];
-	cache.toArray(actions);
-	return actions;
-}
-/**
- * @see RegistryReader
- */
-protected boolean readElement(IConfigurationElement element) {
-	String tag = element.getName();
-	if (tag.equals(PluginActionSetBuilder.TAG_ACTION_SET)) {
-		readElementChildren(element);
-		return true;
-	}
-	if (tag.equals(ObjectActionContributorReader.TAG_OBJECT_CONTRIBUTION)) {
-		// This builder is sometimes used to read the popup menu
-		// extension point.  Ignore all object contributions.
-		return true;
-	}
-	if (tag.equals(PluginActionSetBuilder.TAG_MENU)) {
-		return true; // just cache the element - don't go into it
-	}
-	if (tag.equals(PluginActionSetBuilder.TAG_ACTION)) {
-		cache.add(createActionDescriptor(element));
-		return true; // just cache the action - don't go into
-	}
-	
-	return false;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PopupMenuExtender.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PopupMenuExtender.java
deleted file mode 100644
index 9b1ce47..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PopupMenuExtender.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.List;
-
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * This class extends a single popup menu
- */
-public class PopupMenuExtender implements IMenuListener
-{
-	private String menuID;
-	private MenuManager menu;
-	private SubMenuManager menuWrapper;
-	private ISelectionProvider selProvider;
-	private IWorkbenchPart part;
-	private List staticItems;
-	private ViewerActionBuilder staticActionBuilder;
-/**
- * Construct a new menu extender.
- */
-public PopupMenuExtender(String id, MenuManager menu, ISelectionProvider prov, IWorkbenchPart part) {
-	this.menuID = id;
-	this.menu = menu;
-	this.selProvider = prov;
-	this.part = part;
-	menu.addMenuListener(this);
-	if (!menu.getRemoveAllWhenShown()) {
-		menuWrapper = new SubMenuManager(menu);
-		menuWrapper.setVisible(true);
-	}
-	readStaticActions();
-}
-/**
- * Contributes items registered for the object type(s) in
- * the current selection.
- */
-private void addObjectActions(IMenuManager mgr) {
-	if (selProvider != null) {
-		if (ObjectActionContributorManager.getManager()
-			.contributeObjectActions(part, mgr, selProvider))
-			mgr.add(new Separator());
-	}
-}
-/**
- * Adds static items to the context menu.
- */
-private void addStaticActions(IMenuManager mgr) {
-	if (staticActionBuilder != null)
-		staticActionBuilder.contribute(mgr, null, true);
-}
-/**
- * Notifies the listener that the menu is about to be shown.
- */
-public void menuAboutToShow(IMenuManager mgr) {
-	testForAdditions();
-	if (menuWrapper != null) {
-		mgr = menuWrapper;
-		menuWrapper.removeAll();
-	}
-	addObjectActions(mgr);
-	addStaticActions(mgr);
-}
-/**
- * Read static items for the context menu.
- */
-private void readStaticActions() {
-	staticActionBuilder = new ViewerActionBuilder();
-	if (!staticActionBuilder.readViewerContributions(menuID, selProvider, part))
-		staticActionBuilder = null;
-}
-/**
- * Checks for the existance of an MB_ADDITIONS group.
- */
-private void testForAdditions() {
-	IContributionItem item = menu.find(IWorkbenchActionConstants.MB_ADDITIONS);
-	if (item == null) {
-		WorkbenchPlugin.log("Context menu does not contain standard group for "//$NON-NLS-1$
-			+ "additions ("//$NON-NLS-1$
-			+ IWorkbenchActionConstants.MB_ADDITIONS 
-			+ ")");//$NON-NLS-1$
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ProblemImageProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ProblemImageProvider.java
deleted file mode 100644
index b7aa955..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ProblemImageProvider.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-/**
- * Implementation of IMarkerImageProvider to provide the image
- * path names for problem markers.
- */
-public class ProblemImageProvider implements IMarkerImageProvider {
-/**
- * TaskImageProvider constructor comment.
- */
-public ProblemImageProvider() {
-	super();
-}
-/**
- * Returns the relative path for the image
- * to be used for displaying an marker in the workbench.
- * This path is relative to the plugin location
- *
- * Returns <code>null</code> if there is no appropriate image.
- *
- * @param marker The marker to get an image path for.
- *
- * @see org.eclipse.jface.resource.FileImageDescriptor
- */
-public String getImagePath(IMarker marker) {
-	String iconPath = "icons/full/";//$NON-NLS-1$		
-	if (isMarkerType(marker, IMarker.PROBLEM)) {
-		switch (marker.getAttribute(IMarker.SEVERITY, IMarker.SEVERITY_WARNING)) {
-			case IMarker.SEVERITY_ERROR:
-				return iconPath + "obj16/error_tsk.gif";//$NON-NLS-1$
-			case IMarker.SEVERITY_WARNING:
-				return iconPath + "obj16/warn_tsk.gif";//$NON-NLS-1$
-			case IMarker.SEVERITY_INFO:
-				return iconPath + "obj16/info_tsk.gif";//$NON-NLS-1$
-		}
-	}
-	return null;
-}
-/**
- * Returns whether the given marker is of the given type (either directly or indirectly).
- */
-private boolean isMarkerType(IMarker marker, String type) {
-	try {
-		return marker.isSubtypeOf(type);
-	} catch (CoreException e) {
-		return false;
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/QuickStartAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/QuickStartAction.java
deleted file mode 100644
index e3004d6..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/QuickStartAction.java
+++ /dev/null
@@ -1,164 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import java.text.Collator;
-import java.util.*;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.*;
-import org.eclipse.ui.actions.PartEventAction;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.dialogs.WelcomeEditorInput;
-
-/**
- * Launch the quick start action.
- */
-public class QuickStartAction extends PartEventAction {
-	private static final String EDITOR_ID = "org.eclipse.ui.internal.dialogs.WelcomeEditor";  //$NON-NLS-1$
-	
-	private IWorkbench workbench;
-	
-/**
- *	Create an instance of this class.
- *  <p>
- * 	This consructor added to support calling the action from the welcome page
- *  </p>
- */
-public QuickStartAction() {
-	this(PlatformUI.getWorkbench());
-}
-/**
- *	Create an instance of this class
- */
-public QuickStartAction(IWorkbench aWorkbench) {
-	super(WorkbenchMessages.getString("QuickStart.text")); //$NON-NLS-1$
-	setToolTipText(WorkbenchMessages.getString("QuickStart.toolTip")); //$NON-NLS-1$
-	WorkbenchHelp.setHelp(this, IHelpContextIds.QUICK_START_ACTION);
-	this.workbench = aWorkbench;
-}
-/**
- *	The user has invoked this action
- */
-public void run() {
-	// Ask the user to select a feature
-	AboutInfo[] features = ((Workbench)workbench).getConfigurationInfo().getFeaturesInfo();
-	ArrayList welcomeFeatures = new ArrayList();
-	for (int i = 0; i < features.length; i++) {
-		if (features[i].getWelcomePageURL() != null) 
-			welcomeFeatures.add(features[i]);
-	}
-	
-	IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
-	if (window == null)
-		return;
-	
-	Shell shell = window.getShell();
-	
-	if (welcomeFeatures.size() == 0) {
-		MessageDialog.openInformation(
-			shell, 
-			WorkbenchMessages.getString("QuickStartMessageDialog.title"),
-			WorkbenchMessages.getString("QuickStartMessageDialog.message"));
-		return;
-	}			
-	
-	features = new AboutInfo[welcomeFeatures.size()];
-	welcomeFeatures.toArray(features);
-	
-	// Sort ascending
-	Arrays.sort(features, new Comparator() {
-		Collator coll = Collator.getInstance(Locale.getDefault());
-			public int compare(Object a, Object b) {
-				AboutInfo i1, i2;
-				String name1, name2;
-				i1 = (AboutInfo)a;
-				name1 = i1.getFeatureLabel();
-				i2 = (AboutInfo)b;
-				name2 = i2.getFeatureLabel();
-				if (name1 == null)
-					name1 = "";
-				if (name2 == null)
-					name2 = "";
-				return coll.compare(name1, name2);
-			}
-		});
-
-	// Find primary feature
-	AboutInfo primaryFeature = ((Workbench)workbench).getConfigurationInfo().getAboutInfo();
-	int index = -1;
-	if (primaryFeature != null) {
-		for (int i = 0; i < features.length; i++) {
-			if (features[i].getFeatureId().equals(primaryFeature.getFeatureId())) {
-				index = i;
-				break;
-			}
-		}
-	}	
-
-	WelcomePageSelectionDialog d = 
-		new WelcomePageSelectionDialog(
-			shell,
-			features,
-			index);
-	if(d.open() != Dialog.OK || d.getResult().length != 1)
-		return;
-		
-	AboutInfo feature = (AboutInfo)d.getResult()[0];
-	
-	IWorkbenchPage page = null;
-
-	// See if the feature wants a specific perspective
-	String perspectiveId = feature.getWelcomePerspective();
-
-	if (perspectiveId == null) {
-		// Just use the current perspective unless one is not open 
-		// in which case use the default
-		page = window.getActivePage();
-	
-		if (page == null || page.getPerspective() == null) {
-			perspectiveId = WorkbenchPlugin.getDefault().getPerspectiveRegistry().getDefaultPerspective();		
-		}
-	}
-
-	if (perspectiveId != null) { 			
-		try {
-			page =
-				(WorkbenchPage) workbench.showPerspective(
-					perspectiveId,
-					window);
-		} catch (WorkbenchException e) {
-			return;
-		}
-	} 		
-	
-	page.setEditorAreaVisible(true);
-
-	// create input
-	WelcomeEditorInput input = new WelcomeEditorInput(feature);
-
-	// see if we already have a welcome editor
-	IEditorPart editor = page.findEditor(input);
-	if(editor != null) {
-		page.activate(editor);
-		return;
-	}
-
-	try {
-		page.openEditor(input, EDITOR_ID);
-	} catch (PartInitException e) {
-		IStatus status = new Status(IStatus.ERROR, WorkbenchPlugin.PI_WORKBENCH, 1, WorkbenchMessages.getString("QuickStartAction.openEditorException"), e); //$NON-NLS-1$
-		ErrorDialog.openError(
-			workbench.getActiveWorkbenchWindow().getShell(),
-			WorkbenchMessages.getString("QuickStartAction.errorDialogTitle"),  //$NON-NLS-1$
-			WorkbenchMessages.getString("QuickStartAction.errorDialogMessage"),  //$NON-NLS-1$
-			status);
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/QuitAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/QuitAction.java
deleted file mode 100644
index b777df6..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/QuitAction.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.*;
-import org.eclipse.jface.action.*;
-
-/**
- * Try to quit the application.
- */
-public class QuitAction extends Action {
-	private IWorkbench workbench;
-/**
- * Creates a new <code>QuitAction</code>. The action is
- * initialized from the <code>JFaceResources</code> bundle.
- */
-public QuitAction(IWorkbench workbench) {
-	setText(WorkbenchMessages.getString("Exit.text")); //$NON-NLS-1$
-	setToolTipText(WorkbenchMessages.getString("Exit.toolTip")); //$NON-NLS-1$
-	setId(IWorkbenchActionConstants.QUIT);
-	WorkbenchHelp.setHelp(this, IHelpContextIds.QUIT_ACTION);
-	this.workbench = workbench;
-}
-/**
- * Perform the action: quit the application.
- */
-public void run() {
-	workbench.close();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ReferenceCounter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ReferenceCounter.java
deleted file mode 100644
index 5589318..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ReferenceCounter.java
+++ /dev/null
@@ -1,134 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.*;
-
-/**
- * A ReferenceCounter is used to reference counting objects.
- * Each object is identified by a unique ID.  Together they form
- * an ID - value pair. An object is added to the counter by calling
- * #put(id, object).  From this point on additional refs can be made
- * by calling #addRef(id) or #removeRef(id).
- */
-public class ReferenceCounter
-{
-	private Map mapIdToRec = new HashMap(11);
-
-	/**
-	 * Capture the information about an object.
-	 */
-	public class RefRec {
-		public RefRec(Object id, Object value) {
-			this.id = id;
-			this.value = value;
-			addRef();
-		}
-		public Object getId() { 
-			return id;
-		}
-		public Object getValue() { 
-			return value;
-		}
-		public int addRef() { 
-			++ refCount;
-			return refCount;
-		}
-		public int removeRef() { 
-			-- refCount;
-			return refCount;
-		}
-		public int getRef() {
-			return refCount;
-		}
-		public boolean isNotReferenced() { 
-			return (refCount <= 0); 
-		}
-		public Object id;
-		public Object value;
-		private int refCount; 
-	}
-/**
- * Creates a new counter.
- */
-public ReferenceCounter() {
-	super();
-}
-/**
- * Adds one reference to an object in the counter.
- *
- * @param id is a unique ID for the object.
- * @return the new ref count
- */
-public int addRef(Object id) {
-	RefRec rec = (RefRec)mapIdToRec.get(id);
-	if (rec == null)
-		return 0;
-	return rec.addRef();
-}
-/**
- * Returns the object defined by an ID.  If the ID is not
- * found <code>null</code> is returned.
- *
- * @return the object or <code>null</code>
- */
-public Object get(Object id) {
-	RefRec rec = (RefRec)mapIdToRec.get(id);
-	if (rec == null)
-		return null;
-	return rec.getValue();
-}
-/**
- * Returns a complete list of the keys in the counter.
- *
- * @return a Set containing the ID for each.
- */
-public Set keySet() {
-	return mapIdToRec.keySet();
-}
-/**
- * Adds an object to the counter for counting and gives
- * it an initial ref count of 1.
- *
- * @param id is a unique ID for the object.
- * @param value is the object itself.
- */
-public void put(Object id, Object value) {
-	RefRec rec = new RefRec(id, value);
-	mapIdToRec.put(id, rec);
-}
-/**
- * Removes one reference from an object in the counter.
- * If the ref count drops to 0 the object is removed from
- * the counter completely.
- *
- * @param id is a unique ID for the object.
- * @return the new ref count
- */
-public int removeRef(Object id) {
-	RefRec rec = (RefRec)mapIdToRec.get(id);
-	if (rec == null)
-		return 0;
-	int newCount = rec.removeRef();
-	if (newCount <= 0)
-		mapIdToRec.remove(id);
-	return newCount;
-}
-/**
- * Returns a complete list of the values in the counter.
- *
- * @return a Collection containing the values.
- */
-public List values() {
-	int size = mapIdToRec.size();
-	ArrayList list = new ArrayList(size);
-	Iterator iter = mapIdToRec.values().iterator();
-	while (iter.hasNext()) {
-		RefRec rec = (RefRec)iter.next();
-		list.add(rec.getValue());
-	}
-	return list;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ReopenEditorMenu.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ReopenEditorMenu.java
deleted file mode 100644
index 4e307e7..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ReopenEditorMenu.java
+++ /dev/null
@@ -1,249 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-
-/**
- * A dynamic menu item which supports to switch to other Windows.
- */
-public class ReopenEditorMenu extends ContributionItem {
-	private WorkbenchWindow fWindow;
-	private EditorHistory history;
-	private boolean showSeparator;
-	private boolean dirty = true;
-	private IMenuListener menuListener = new IMenuListener() {
-		public void menuAboutToShow(IMenuManager manager) {
-			manager.markDirty();
-			dirty = true;
-		}
-	};
-
-	// the maximum length for a file name; must be >= 4
-	private static final int MAX_TEXT_LENGTH = 40;
-	// only assign mnemonic to the first nine items 
-	private static final int MAX_MNEMONIC_SIZE = 9;
-	/**
-	 * Create a new instance.
-	 */
-	public ReopenEditorMenu(WorkbenchWindow window, EditorHistory history, boolean showSeparator) {
-		super("Reopen Editor"); //$NON-NLS-1$
-		fWindow = window;
-		this.history = history;
-		this.showSeparator = showSeparator;
-	}
-	/**
-	 * Returns the text for a history item.  This may be truncated to fit
-	 * within the MAX_TEXT_LENGTH.
-	 */
-	private String calcText(int index, EditorHistoryItem item) {
-		StringBuffer sb = new StringBuffer();
-
-		int mnemonic = index + 1;
-		sb.append(mnemonic);
-		if (mnemonic <= MAX_MNEMONIC_SIZE) {
-			sb.insert(sb.length() - (mnemonic + "").length(), '&'); //$NON-NLS-1$
-		}
-		sb.append(" "); //$NON-NLS-1$
-
-		// IMPORTANT: avoid accessing the item's input since
-		// this can require activating plugins.
-		// Instead, ask the item for the info, which can
-		// consult its memento if it is not restored yet.
-		String fileName = item.getName();
-		String pathName = item.getToolTipText();
-		if (pathName.equals(fileName)) {
-			// tool tip text isn't necessarily a path;
-			// sometimes it's the same as name, so it shouldn't be treated as a path then
-			pathName = "";
-		}
-		IPath path = new Path(pathName);
-		// if last segment in path is the fileName, remove it 
-		if (path.segmentCount() > 1 && path.segment(path.segmentCount() - 1).equals(fileName)) {
-			path = path.removeLastSegments(1);
-			pathName = path.toString();
-		}
-		
-		if ((fileName.length() + pathName.length()) <= (MAX_TEXT_LENGTH - 4)) {
-			// entire item name fits within maximum length
-			sb.append(fileName);
-			if (pathName.length() > 0) {
-				sb.append("  ["); //$NON-NLS-1$
-				sb.append(pathName);
-				sb.append("]"); //$NON-NLS-1$
-			}
-		} else {
-			// need to shorten the item name
-			int length = fileName.length();
-			if (length > MAX_TEXT_LENGTH) {
-				// file name does not fit within length, truncate it
-				sb.append(fileName.substring(0, MAX_TEXT_LENGTH - 3));
-				sb.append("..."); //$NON-NLS-1$
-			} else if (length > MAX_TEXT_LENGTH - 7) {
-				sb.append(fileName);
-			} else {
-				sb.append(fileName);
-				int segmentCount = path.segmentCount();
-				if (segmentCount > 0) {
-					length += 7;  // 7 chars are taken for "  [...]"
-
-					sb.append("  ["); //$NON-NLS-1$
-
-					// Add first n segments that fit
-					int i = 0;
-					while (i < segmentCount && length < MAX_TEXT_LENGTH) {
-						String segment = path.segment(i);
-						if (length + segment.length() < MAX_TEXT_LENGTH) {
-							sb.append(segment);
-							sb.append(IPath.SEPARATOR);
-							length += segment.length() + 1;
-							i++;
-						} else if (i == 0) {
-							// append at least part of the first segment
-							sb.append(segment.substring(0, MAX_TEXT_LENGTH - length));
-							length = MAX_TEXT_LENGTH;
-							break;
-						} else {
-							break;
-						}
-					}
-
-					sb.append("...");	 //$NON-NLS-1$
-
-					i = segmentCount - 1;
-					// Add last n segments that fit
-					while (i > 0 && length < MAX_TEXT_LENGTH) {			
-						String segment = path.segment(i);
-						if (length + segment.length() < MAX_TEXT_LENGTH) {
-							sb.append(IPath.SEPARATOR);
-							sb.append(segment);
-							length += segment.length() + 1;
-							i--;
-						} else {
-							break;
-						}
-					}
-
-					sb.append("]"); //$NON-NLS-1$
-				}
-			}
-		}
-		return sb.toString();
-	}
-	/**
-	 * Fills the given menu with
-	 * menu items for all windows.
-	 */
-	public void fill(final Menu menu, int index) {
-		if (fWindow.getActivePage() == null
-			|| fWindow.getActivePage().getPerspective() == null)
-			return;
-
-		if(getParent() instanceof MenuManager)
-			((MenuManager)getParent()).addMenuListener(menuListener);
-				
-		if(!dirty)
-			return;
-			
-		// Get items.
-		EditorHistoryItem[] array = history.getItems();
-
-		// If no items return.
-		if (array.length <= 0) {
-			return;
-		}
-
-		// Add separator.
-		if (showSeparator) {
-			new MenuItem(menu, SWT.SEPARATOR, index);
-			++index;
-		}
-
-		final int menuIndex[] = new int[]{index};
-		// Add one item for each item.
-		for (int i = 0; i < array.length; i++) {
-			final EditorHistoryItem item = array[i];
-			final int historyIndex = i;
-			Platform.run(new SafeRunnable() {
-				public void run() throws Exception {
-					String text = calcText(historyIndex, item);
-					MenuItem mi = new MenuItem(menu, SWT.PUSH, menuIndex[0]);
-					++menuIndex[0];
-					mi.setText(text);
-					mi.addSelectionListener(new SelectionAdapter() {
-						public void widgetSelected(SelectionEvent e) {
-							open(item);
-						}
-					});
-				}
-				public void handleException(Throwable e) {
-					// just skip the item if there's an error,
-					// e.g. in the calculation of the shortened name
-					WorkbenchPlugin.log("Error in ReopenEditorMenu.fill: " + e);  // $NON-NLS-1
-				}
-			});
-		}
-		dirty = false;
-	}
-	/**
-	 * Overridden to always return true and force dynamic menu building.
-	 */
-	public boolean isDirty() {
-		return dirty;
-	}	
-	/**
-	 * Overridden to always return true and force dynamic menu building.
-	 */
-	public boolean isDynamic() {
-		return true;
-	}
-	/**
-	 * Reopens the editor for the given history item.
-	 */
-	void open(EditorHistoryItem item) {
-		IWorkbenchPage page = fWindow.getActivePage();
-		if (page != null) {
-			try {
-				// Fix for 1GF6HQ1: ITPUI:WIN2000 - NullPointerException: opening a .ppt file
-				// Descriptor is null if opened on OLE editor.
-				if (!item.isRestored()) {
-					item.restoreState();
-				}
-				IEditorInput input = item.getInput();
-				IEditorDescriptor desc = item.getDescriptor();
-				if (input == null) {
-					String title = WorkbenchMessages.getString("OpenRecent.errorTitle"); //$NON-NLS-1$
-					MessageDialog.openWarning(fWindow.getShell(), title, "");
-					history.remove(item);
-				}
-				else {
-					if (desc == null) {
-						// There's no openEditor(IEditorInput) call, and openEditor(IEditorInput, String)
-						// doesn't allow null id.
-						// However, if id is null, the editor input must be an IFileEditorInput,
-						// so we can use openEditor(IFile).  
-						// Do nothing if for some reason input was not an IFileEditorInput.
-						if (input instanceof IFileEditorInput) {
-							page.openEditor(((IFileEditorInput) input).getFile());
-						}
-					} else {
-						page.openEditor(input, desc.getId());
-					}
-				}
-			} catch (PartInitException e2) {
-				String title = WorkbenchMessages.getString("OpenRecent.errorTitle"); //$NON-NLS-1$
-				MessageDialog.openWarning(fWindow.getShell(), title, e2.getMessage());
-				history.remove(item);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ResetPerspectiveAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ResetPerspectiveAction.java
deleted file mode 100644
index be4b57a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ResetPerspectiveAction.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.*;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.*;
-
-/**
- * Reset the layout within the active perspective.
- */
-public class ResetPerspectiveAction extends Action {
-	private IWorkbenchWindow window;	
-/**
- * This default constructor allows the the action to be called from the welcome page.
- */
-public ResetPerspectiveAction() {
-	this(((Workbench)PlatformUI.getWorkbench()).getActiveWorkbenchWindow());
-}
-/**
- *	Create an instance of this class
- */
-public ResetPerspectiveAction(IWorkbenchWindow window) {
-	super(WorkbenchMessages.getString("ResetPerspective.text")); //$NON-NLS-1$
-	setToolTipText(WorkbenchMessages.getString("ResetPerspective.toolTip")); //$NON-NLS-1$
-	setEnabled(false);
-	WorkbenchHelp.setHelp(this, IHelpContextIds.RESET_PERSPECTIVE_ACTION);
-	this.window = window;
-}
-/**
- *	The user has invoked this action
- */
-public void run() {
-	IWorkbenchPage page = this.window.getActivePage();
-	if (page != null && page.getPerspective() != null) {
-		String message = WorkbenchMessages.format("ResetPerspective.message", new Object[] { page.getPerspective().getLabel() }); //$NON-NLS-1$
-		String [] buttons= new String[] { 
-			IDialogConstants.OK_LABEL,
-			IDialogConstants.CANCEL_LABEL
-		};
-		MessageDialog d= new MessageDialog(
-			this.window.getShell(),
-			WorkbenchMessages.getString("ResetPerspective.title"), //$NON-NLS-1$
-			null,
-			message,
-			MessageDialog.QUESTION,
-			buttons,
-			0
-		);
-		if (d.open() == 0)
-			page.resetPerspective();
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ResourcePerspective.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ResourcePerspective.java
deleted file mode 100644
index 1d09a46..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ResourcePerspective.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-
-/**
- */
-public class ResourcePerspective implements IPerspectiveFactory {
-/**
- * Constructs a new Default layout engine.
- */
-public ResourcePerspective() {
-	super();
-}
-/**
- * Defines the initial layout for a perspective.  
- *
- * Implementors of this method may add additional views to a
- * perspective.  The perspective already contains an editor folder
- * with <code>ID = ILayoutFactory.ID_EDITORS</code>.  Add additional views
- * to the perspective in reference to the editor folder.
- *
- * This method is only called when a new perspective is created.  If
- * an old perspective is restored from a persistence file then
- * this method is not called.
- *
- * @param factory the factory used to add views to the perspective
- */
-public void createInitialLayout(IPageLayout layout) {
-	defineActions(layout);
-	defineLayout(layout);
-}
-/**
- * Defines the initial actions for a page.  
- */
-public void defineActions(IPageLayout layout) {
-	// Add "new wizards".
-	layout.addNewWizardShortcut("org.eclipse.ui.wizards.new.folder");//$NON-NLS-1$
-	layout.addNewWizardShortcut("org.eclipse.ui.wizards.new.file");//$NON-NLS-1$
-
-	// Add "show views".
-	layout.addShowViewShortcut(IPageLayout.ID_RES_NAV);
-	layout.addShowViewShortcut(IPageLayout.ID_BOOKMARKS);
-	layout.addShowViewShortcut(IPageLayout.ID_OUTLINE);
-	layout.addShowViewShortcut(IPageLayout.ID_PROP_SHEET);
-	layout.addShowViewShortcut(IPageLayout.ID_TASK_LIST);
-	
-	layout.addActionSet(IPageLayout.ID_NAVIGATE_ACTION_SET);
-	
-	layout.addShowInPart(IPageLayout.ID_RES_NAV);	
-}
-/**
- * Defines the initial layout for a page.  
- */
-public void defineLayout(IPageLayout layout) {
-	// Editors are placed for free.
-	String editorArea = layout.getEditorArea();
-
-	// Top left.
-	IFolderLayout topLeft = layout.createFolder("topLeft", IPageLayout.LEFT, (float)0.26, editorArea);//$NON-NLS-1$
-	topLeft.addView(IPageLayout.ID_RES_NAV);
-	topLeft.addPlaceholder(IPageLayout.ID_BOOKMARKS);
-
-	// Bottom left.
-	IFolderLayout bottomLeft = layout.createFolder("bottomLeft", IPageLayout.BOTTOM, (float)0.50,//$NON-NLS-1$
-		"topLeft");//$NON-NLS-1$
-	bottomLeft.addView(IPageLayout.ID_OUTLINE);
-
-	// Bottom right.
-	layout.addView(IPageLayout.ID_TASK_LIST, IPageLayout.BOTTOM, (float)0.66, editorArea);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/RootLayoutContainer.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/RootLayoutContainer.java
deleted file mode 100644
index 008ca20..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/RootLayoutContainer.java
+++ /dev/null
@@ -1,170 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import java.util.*;
-
-/**
- * Represents the top level container.
- */
-public class RootLayoutContainer extends PartSashContainer {
-public RootLayoutContainer(WorkbenchPage page) {
-	super("root layout container",page);//$NON-NLS-1$
-}
-/**
- * Notification that a child layout part has been
- * added to the container. Subclasses may override
- * this method to perform any container specific
- * work.
- */
-protected void childAdded(LayoutPart child) {
-	// do nothing
-}
-/**
- * Gets root container for this part.
- */
-public RootLayoutContainer getRootContainer() {
-	return this;
-}
-/**
- * Notification that a child layout part has been
- * removed from the container. Subclasses may override
- * this method to perform any container specific
- * work.
- */
-protected void childRemoved(LayoutPart child) {
-	// do nothing
-}
-/**
- * Subclasses override this method to specify
- * the composite to use to parent all children
- * layout parts it contains.
- */
-protected Composite createParent(Composite parentWidget) {
-	return parentWidget;
-}
-/**
- * Subclasses override this method to dispose
- * of any swt resources created during createParent.
- */
-protected void disposeParent() {
-	// do nothing
-}
-/**
- * Get the part control.  This method may return null.
- */
-public Control getControl() {
-	return this.parent;
-}
-/**
- * @see IPersistablePart
- */
-public IStatus restoreState(IMemento memento) 
-{
-	MultiStatus result = new MultiStatus(
-		PlatformUI.PLUGIN_ID,IStatus.OK,
-		WorkbenchMessages.getString("RootLayoutContainer.problemsRestoringPerspective"),null);
-	
-	// Read the info elements.
-	IMemento [] children = memento.getChildren(IWorkbenchConstants.TAG_INFO);
-
-	// Create a part ID to part hashtable.
-	Map mapIDtoPart = new HashMap(children.length);
-
-	// Loop through the info elements.
-	for (int i = 0; i < children.length; i ++) 
-	{
-		// Get the info details.
-		IMemento childMem = children[i];
-		String partID = childMem.getString(IWorkbenchConstants.TAG_PART);
-		String relativeID = childMem.getString(IWorkbenchConstants.TAG_RELATIVE);
-		int relationship = 0;
-		float ratio = 0.0f;
-		if (relativeID != null) {
-			relationship = childMem.getInteger(IWorkbenchConstants.TAG_RELATIONSHIP).intValue();
-			ratio = childMem.getFloat(IWorkbenchConstants.TAG_RATIO).floatValue();
-		}
-		String strFolder = childMem.getString(IWorkbenchConstants.TAG_FOLDER);
-
-		// Create the part.
-		LayoutPart part = null;
-		if (strFolder == null)
-			part = new PartPlaceholder(partID);
-		else {
-			PartTabFolder folder = new PartTabFolder();
-			folder.setID(partID);
-			result.add(folder.restoreState(childMem.getChild(IWorkbenchConstants.TAG_FOLDER)));
-			ContainerPlaceholder placeholder = new ContainerPlaceholder(partID);
-			placeholder.setRealContainer(folder);
-			part = placeholder;
-		}
-		// 1FUN70C: ITPUI:WIN - Shouldn't set Container when not active
-		part.setContainer(this);
-		
-		// Add the part to the layout
-		if (relativeID == null) {
-			add(part);
-		} else {
-			LayoutPart refPart = (LayoutPart)mapIDtoPart.get(relativeID);
-			if (refPart != null) {
-				add(part, relationship, ratio, refPart);	
-			} else {
-				WorkbenchPlugin.log("Unable to find part for ID: " + relativeID);//$NON-NLS-1$
-			}
-		}
-		mapIDtoPart.put(partID, part);
-	}
-	return result;
-}
-/**
- * @see IPersistablePart
- */
-public IStatus saveState(IMemento memento) {
-	RelationshipInfo[] relationships = computeRelation();
-
-	MultiStatus result = new MultiStatus(
-		PlatformUI.PLUGIN_ID,IStatus.OK,
-		WorkbenchMessages.getString("RootLayoutContainer.problemsSavingPerspective"),null);
-	
-	// Loop through the relationship array.
-	for (int i = 0; i < relationships.length; i ++) {
-		// Save the relationship info ..
-		//		private LayoutPart part;
-		// 		private int relationship;
-		// 		private float ratio;
-		// 		private LayoutPart relative;
-		RelationshipInfo info = relationships[i];
-		IMemento childMem = memento.createChild(IWorkbenchConstants.TAG_INFO);
-		childMem.putString(IWorkbenchConstants.TAG_PART, info.part.getID());
-		if (info.relative != null) {
-			childMem.putString(IWorkbenchConstants.TAG_RELATIVE, info.relative.getID());
-			childMem.putInteger(IWorkbenchConstants.TAG_RELATIONSHIP, info.relationship);
-			childMem.putFloat(IWorkbenchConstants.TAG_RATIO, info.ratio);
-		}
-
-		// Is this part a folder or a placeholder for one?
-		PartTabFolder folder = null;
-		if (info.part instanceof PartTabFolder) {
-			folder = (PartTabFolder)info.part;
-		} else if (info.part instanceof ContainerPlaceholder) {
-			LayoutPart part = ((ContainerPlaceholder)info.part).getRealContainer();
-			if (part instanceof PartTabFolder)
-				folder = (PartTabFolder)part;
-		}
-
-		// If this is a folder save the contents.
-		if (folder != null) {
-			childMem.putString(IWorkbenchConstants.TAG_FOLDER, "true");//$NON-NLS-1$
-			IMemento folderMem = childMem.createChild(IWorkbenchConstants.TAG_FOLDER);
-			result.add(folder.saveState(folderMem));
-		}
-	}
-	return result;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SaveAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SaveAction.java
deleted file mode 100644
index 23dc550..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SaveAction.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- */
-public class SaveAction extends BaseSaveAction {
-/**
- *	Create an instance of this class
- */
-public SaveAction(IWorkbenchWindow window) {
-	super(WorkbenchMessages.getString("SaveAction.text"), window); //$NON-NLS-1$
-	setToolTipText(WorkbenchMessages.getString("SaveAction.toolTip")); //$NON-NLS-1$
-	setId(IWorkbenchActionConstants.SAVE);
-	WorkbenchHelp.setHelp(this, IHelpContextIds.SAVE_ACTION);
-}
-/**
- * Performs the save.
- */
-public void run() {
-	IEditorPart part = getActiveEditor();
-	IWorkbenchPage page = part.getSite().getPage();
-	page.saveEditor(part, false);
-}
-/* (non-Javadoc)
- * Method declared on ActiveEditorAction.
- */
-protected void updateState() {
-	IEditorPart editor = getActiveEditor();
-	if (editor != null) {
-		String title = editor.getTitle();
-		String label = WorkbenchMessages.format("SaveAction.textOneArg", new Object[] {title}); //$NON-NLS-1$
-		setText(label);
-		setEnabled(editor.isDirty());
-	} else {
-		setText(WorkbenchMessages.getString("SaveAction.text")); //$NON-NLS-1$
-		setEnabled(false);
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SaveAllAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SaveAllAction.java
deleted file mode 100644
index c96c912..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SaveAllAction.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-import org.eclipse.ui.actions.PartEventAction;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Global action that saves all targets in the
- * workbench that implement ISaveTarget interface.
- * The action keeps track of opened save targets
- * and their 'save' state. If none of the currently
- * opened targets needs saving, it will disable.
- * This action is somewhat different from all
- * other global actions in that it works on
- * multiple targets at the same time i.e. it
- * does not disconnect from the target when it
- * becomes deactivated.
- */
-public class SaveAllAction extends PartEventAction
-	implements IPageListener, IPropertyListener
-{
-	private WorkbenchWindow window;
-/**
- * The default constructor.
- */
-public SaveAllAction(WorkbenchWindow window) {
-	super(WorkbenchMessages.getString("SaveAll.text"));//$NON-NLS-1$
-	setToolTipText(WorkbenchMessages.getString("SaveAll.toolTip")); //$NON-NLS-1$
-	setId(IWorkbenchActionConstants.SAVE_ALL);
-	setEnabled(false);
-	this.window = window;
-	window.addPageListener(this);
-	WorkbenchHelp.setHelp(this, IHelpContextIds.SAVE_ALL_ACTION);
-}
-/**
- * Notifies the listener that a page has been activated.
- */
-public void pageActivated(IWorkbenchPage page) {
-	updateState();
-}
-/**
- * Notifies the listener that a page has been closed
- */
-public void pageClosed(IWorkbenchPage page) {
-	updateState();
-}
-/**
- * Notifies the listener that a page has been opened.
- */
-public void pageOpened(IWorkbenchPage page) {
-}
-/**
- * Implements part listener.
- */
-public void partClosed(IWorkbenchPart part) {
-	if (part instanceof IEditorPart) {
-		part.removePropertyListener(this);
-		updateState();	
-	}
-}
-/**
- * Implements part listener.
- */
-public void partOpened(IWorkbenchPart part) {
-	if (part instanceof IEditorPart) {
-		part.addPropertyListener(this);
-		updateState();	
-	}
-}
-/**
- * Indicates that a property has changed.
- *
- * @param source the object whose property has changed
- * @param propID the property which has changed.  In most cases this property ID
- * should be defined as a constant on the source class.
- */
-public void propertyChanged(Object source, int propID) {
-	if (source instanceof IEditorPart) {
-		if (propID == IEditorPart.PROP_DIRTY) {
-			updateState();
-		}
-	}
-}
-/**
- * Cycles through the list of active save targets
- * and saves those that need it.
- */
-public void run() {
-	IWorkbenchPage page = window.getActivePage();
-	if (page != null)
-		page.saveAllEditors(false);
-}
-/**
- * Updates availability depending on number of
- * targets that need saving.
- */
-protected void updateState() {
-	IWorkbenchPage page = window.getActivePage();
-	setEnabled(page != null && page.getDirtyEditors().length > 0);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SaveAsAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SaveAsAction.java
deleted file mode 100644
index f042d33..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SaveAsAction.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-
-/**
- *	Workbench common Save As dialog
- */
-public class SaveAsAction extends BaseSaveAction {
-/**
- *	Create an instance of this class
- */
-public SaveAsAction(IWorkbenchWindow window) {
-	super(WorkbenchMessages.getString("SaveAs.text"), window); //$NON-NLS-1$
-	setToolTipText(WorkbenchMessages.getString("SaveAs.toolTip")); //$NON-NLS-1$
-	setId(IWorkbenchActionConstants.SAVE_AS);
-	WorkbenchHelp.setHelp(this, IHelpContextIds.SAVE_AS_ACTION);
-}
-/**
- * Performs a save as action.
- */
-public void run() {
-	getActiveEditor().doSaveAs();
-}
-/* (non-Javadoc)
- * Method declared on ActiveEditorAction.
- */
-protected void updateState() {
-	IEditorPart editor = getActiveEditor();
-	if (editor != null) {
-		String title = editor.getTitle();
-		String label = WorkbenchMessages.format("SaveAs.textOneArg", new Object[] {title}); //$NON-NLS-1$
-		setText(label);
-		setEnabled(editor.isSaveAsAllowed());
-	} else {
-		setText(WorkbenchMessages.getString("SaveAs.text")); //$NON-NLS-1$
-		setEnabled(false);
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SavePerspectiveAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SavePerspectiveAction.java
deleted file mode 100644
index 1fecdb9..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SavePerspectiveAction.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.dialogs.SavePerspectiveDialog;
-import org.eclipse.ui.internal.registry.PerspectiveDescriptor;
-import org.eclipse.ui.internal.registry.PerspectiveRegistry;
-
-/**
- * Reset the layout within the active perspective.
- */
-public class SavePerspectiveAction extends Action {
-	private IWorkbenchWindow window;	
-/**
- *	Create an instance of this class
- */
-public SavePerspectiveAction(IWorkbenchWindow window) {
-	super(WorkbenchMessages.getString("SavePerspective.text")); //$NON-NLS-1$
-	setToolTipText(WorkbenchMessages.getString("SavePerspective.toolTip")); //$NON-NLS-1$
-	setEnabled(false);
-	this.window = window;
-	WorkbenchHelp.setHelp(this, IHelpContextIds.SAVE_PERSPECTIVE_ACTION);
-}
-/**
- *	The user has invoked this action
- */
-public void run() {
-	IWorkbenchPage page = window.getActivePage();
-	if (page == null)
-		return;
-	PerspectiveDescriptor desc = (PerspectiveDescriptor)page.getPerspective();
-	if (desc != null) {
-		if (desc.isSingleton())
-			saveSingleton();
-		else
-			saveNonSingleton();
-	}
-}
-/** 
- * Save a singleton over itself.
- */
-public void saveSingleton() {
-	String [] buttons= new String[] { 
-		IDialogConstants.OK_LABEL,
-		IDialogConstants.CANCEL_LABEL
-	};
-	MessageDialog d= new MessageDialog(
-		window.getShell(),
-		WorkbenchMessages.getString("SavePerspective.overwriteTitle"), //$NON-NLS-1$
-		null,
-		WorkbenchMessages.getString("SavePerspective.singletonQuestion"),  //$NON-NLS-1$
-		MessageDialog.QUESTION,
-		buttons,
-		0
-	);
-	if (d.open() == 0)
-		window.getActivePage().savePerspective();
-}
-
-/**
- * Save a singleton over the user selection.
- */
-public void saveNonSingleton() {
-	// Get reg.
-	PerspectiveRegistry reg = (PerspectiveRegistry)WorkbenchPlugin.getDefault()
-		.getPerspectiveRegistry();
-
-	// Get persp name.
-	SavePerspectiveDialog dlg = new SavePerspectiveDialog(window.getShell(), reg);
-	IPerspectiveDescriptor description = reg.findPerspectiveWithId(window.getActivePage().getPerspective().getId());
-	dlg.setInitialSelection(description);
-	if (dlg.open() != IDialogConstants.OK_ID)
-		return;
-
-	// Create descriptor.
-	PerspectiveDescriptor desc = (PerspectiveDescriptor)dlg.getPersp();
-	if (desc == null) {
-		String name = dlg.getPerspName();
-		desc = reg.createPerspective(name,(PerspectiveDescriptor)description);
-		if (desc == null) {
-			MessageDialog.openError(dlg.getShell(), WorkbenchMessages.getString("SavePerspective.errorTitle"), //$NON-NLS-1$
-				WorkbenchMessages.getString("SavePerspective.errorMessage")); //$NON-NLS-1$
-			return;
-		}
-	}
-
-	// Save state.
-	IWorkbenchPage page = window.getActivePage();
-	if (page != null) {
-		page.savePerspectiveAs(desc);
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SelectionEnabler.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SelectionEnabler.java
deleted file mode 100644
index 069e59d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SelectionEnabler.java
+++ /dev/null
@@ -1,284 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.*;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.ui.actions.SimpleWildcardTester;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * This is a helper class that works with PluginAction
- * to quickly test if the action should be enabled
- * without loading the contributing plugin. An object
- * of this class is created in PluginAction if attribute
- * "enablesFor" is seen in the configuration.
- * 
- */
-public class SelectionEnabler {
-	public static final int ONE_OR_MORE = -1;
-	private static final String ATT_NAME = "name";//$NON-NLS-1$
-	private static final String ATT_CLASS = "class";//$NON-NLS-1$
-	public static final int UNKNOWN = 0;
-	public static final int MULTIPLE = -5;
-	public static final int ANY_NUMBER =  -2;
-	public static final int NONE_OR_ONE = -3;
-	public static final int NONE        = -4;
-	private List classes = new ArrayList();;
-	private ActionExpression enablementExpression;
-	private int mode=UNKNOWN;
-
-	public static class SelectionClass {
-		public String className;
-		public boolean recursive;
-		public String nameFilter;
-	}
-/**
- * ActionEnabler constructor.
- */
-public SelectionEnabler(IConfigurationElement configElement) {
-	parseClasses(configElement);
-	
-}
-/**
- * Returns true if given selection matches the
- * conditions specified in the registry for
- * this action.
- */
-public boolean isEnabledForSelection(ISelection selection) {
-	// Optimize it.
-	if (mode == UNKNOWN) return false;
-
-	// Handle undefined selections.	
-	if (selection == null) 
-		selection = StructuredSelection.EMPTY;
-		
-	// According to the dictionary, a selection is "one that
-	// is selected", or "a collection of selected things".  
-	// In reflection of this, we deal with one or a collection.
-	if (selection instanceof IStructuredSelection)
-		return isEnabledFor((IStructuredSelection)selection);
-	else if (selection instanceof ITextSelection)
-		return isEnabledFor((ITextSelection)selection);
-	else
-		return isEnabledFor(selection);
-}
-/**
- * Compare selection count with requirements.
- */
-private boolean verifySelectionCount(int count) {
-	if (count > 0 && mode == NONE) return false;
-	if (count == 0 && mode == ONE_OR_MORE) return false;
-	if (count > 1 && mode == NONE_OR_ONE) return false;
-	if (count < 2 && mode == MULTIPLE) return false;
-	if (mode > 0 && count != mode) return false;
-	return true;
-}
-	
-/**
- * Returns true if given structured selection matches the
- * conditions specified in the registry for
- * this action.
- */
-private boolean isEnabledFor(ISelection sel) {
-	Object obj = sel;
-	int count = sel.isEmpty() ? 0: 1;
-	
-	if(verifySelectionCount(count) == false)
-		return false;
-
-	// Compare selection to enablement expression.
-	if (enablementExpression != null)
-		return enablementExpression.isEnabledFor(obj);
-
-	// Compare selection to class requirements.
-	if (classes.isEmpty()) return true;
-	if (obj instanceof IAdaptable) {
-		IAdaptable element = (IAdaptable)obj;
-		if (verifyElement(element)==false) return false;
-	} else {
-		return false;
-	}
-	
-	return true;
-}
-/**
- * Returns true if given text selection matches the
- * conditions specified in the registry for this action.
- */
-private boolean isEnabledFor(ITextSelection sel) {
-	int count = sel.getLength();
-	
-	if(verifySelectionCount(count) == false)
-		return false;
-
-	// Compare selection to enablement expression.
-	if (enablementExpression != null)
-		return enablementExpression.isEnabledFor(sel);
-
-	// Compare selection to class requirements.
-	return verifyElement(sel);
-}
-
-/**
- * Returns true if given structured selection matches the
- * conditions specified in the registry for
- * this action.
- */
-private boolean isEnabledFor(IStructuredSelection ssel) {
-	int count = ssel.size();
-	
-	if(verifySelectionCount(count) == false)
-		return false;
-
-	// Compare selection to enablement expression.
-	if (enablementExpression != null)
-		return enablementExpression.isEnabledFor(ssel);
-
-	// Compare selection to class requirements.
-	if (classes.isEmpty()) return true;
-	for (Iterator elements=ssel.iterator(); elements.hasNext();) {
-		Object obj = elements.next();
-		if (obj instanceof IAdaptable) {
-			IAdaptable element = (IAdaptable)obj;
-			if (verifyElement(element)==false) return false;
-		} else {
-			return false;
-		}
-	}
-	
-	return true;
-}
-/**
- * Parses registry element to extract mode
- * and selection elements that will be used
- * for verification.
- */
-private void parseClasses(IConfigurationElement config) {
-	// Get enables for.
-	String enablesFor = config.getAttribute(PluginActionBuilder.ATT_ENABLES_FOR);
-	if (enablesFor == null)
-		enablesFor = "*"; //$NON-NLS-1$
-	if (enablesFor.equals("*")) //$NON-NLS-1$
-		mode = ANY_NUMBER;
-	else if (enablesFor.equals("?")) //$NON-NLS-1$
-		mode = NONE_OR_ONE;
-	else if (enablesFor.equals("!")) //$NON-NLS-1$
-		mode = NONE;
-	else if (enablesFor.equals("+")) //$NON-NLS-1$
-		mode = ONE_OR_MORE;
-	else if (
-		enablesFor.equals("multiple")	//$NON-NLS-1$
-			|| enablesFor.equals("2+")) //$NON-NLS-1$
-		mode = MULTIPLE;
-	else {
-		try {
-			mode = Integer.parseInt(enablesFor);
-		} catch (NumberFormatException e) {
-			mode = UNKNOWN;
-		}
-	}
-	
-	// Get enablement block.					
-	IConfigurationElement[] children = config.getChildren(PluginActionBuilder.TAG_ENABLEMENT);
-	if (children.length > 0) {
-		enablementExpression = new ActionExpression(children[0]);
-		return;
-	}
-	
-	// Get selection block.
-	children = config.getChildren(PluginActionBuilder.TAG_SELECTION);
-	if (children.length > 0) {
-		classes = new ArrayList();
-		for (int i = 0; i < children.length; i++) {
-			IConfigurationElement sel = children[i];
-			String cname = sel.getAttribute(ATT_CLASS);
-			String name = sel.getAttribute(ATT_NAME);
-			SelectionClass sclass = new SelectionClass();
-			sclass.className = cname;
-			sclass.nameFilter = name;
-			classes.add(sclass);
-		}
-	}
-}
-/**
- * Verifies if the element is an instance of a class
- * with a given class name. If direct match fails,
- * implementing interfaces will be tested,
- * then recursively all superclasses and their
- * interfaces.
- */
-private boolean verifyClass(Object element, String className) {
-	Class eclass = element.getClass();
-	Class clazz = eclass;
-	boolean match = false;
-	while (clazz != null) {
-		// test the class itself
-		if (clazz.getName().equals(className)) {
-			match = true;
-			break;
-		}
-		// test all the interfaces it implements
-		Class[] interfaces = clazz.getInterfaces();
-		for (int i = 0; i < interfaces.length; i++) {
-			if (interfaces[i].getName().equals(className)) {
-				match = true;
-				break;
-			}
-		}
-		if (match == true)
-			break;
-		// get the superclass
-		clazz = clazz.getSuperclass();
-	}
-	return match;
-}
-/**
- * Verifies if the given element matches one of the
- * selection requirements. Element must at pass the 
- * type test. Filters are ignored in case of 
- * ITextSelection.
- */
-private boolean verifyElement(ITextSelection element) {
-	if (classes.isEmpty()) return true;
-	for (int i = 0; i < classes.size(); i++) {
-		SelectionClass sc = (SelectionClass) classes.get(i);
-		if (verifyClass(element, sc.className))
-			return true;
-	}
-	return false;
-}
-/**
- * Verifies if the given element matches one of the
- * selection requirements. Element must at least pass
- * the type test, and optionally wildcard name match.
- */
-private boolean verifyElement(IAdaptable element) {
-	if (classes.isEmpty()) return true;
-	for (int i = 0; i < classes.size(); i++) {
-		SelectionClass sc = (SelectionClass) classes.get(i);
-		if (verifyClass(element, sc.className) == false)
-			continue;
-		if (sc.nameFilter == null)
-			return true;
-		IWorkbenchAdapter de = (IWorkbenchAdapter)element.getAdapter(IWorkbenchAdapter.class);
-		if ((de != null) && verifyNameMatch(de.getLabel(element), 
-			sc.nameFilter))
-			return true;
-	}
-	return false;
-}
-/**
- * Verifies that the given name matches the given
- * wildcard filter. Returns true if it does.
- */
-public static boolean verifyNameMatch(String name, String filter) {
-	return SimpleWildcardTester.testWildcardIgnoreCase(filter, name);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/Semaphore.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/Semaphore.java
deleted file mode 100644
index a0121e1..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/Semaphore.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-public class Semaphore {
-	protected long notifications;
-	protected Runnable runnable;
-	protected Thread operation;
-public Semaphore(Runnable runnable) {
-	this.runnable = runnable;
-	notifications = 0;
-	operation = null;
-}
-public synchronized void acquire() throws InterruptedException {
-	if (Thread.interrupted())
-		throw new InterruptedException();
-	while (notifications <= 0)
-		wait();
-	notifications--;
-}
-public boolean equals(Object obj) {
-	return (runnable == ((Semaphore) obj).runnable);
-}
-public Runnable getRunnable() {
-	return runnable;
-}
-public int hashCode() {
-	return runnable.hashCode();
-}
-public synchronized void release() {
-	notifications++;
-	notifyAll();
-}
-// for debug only
-public String toString() {
-	return runnable.toString();
-}
-public void setOperationThread(Thread operation) {
-	this.operation = operation;
-}
-public Thread getOperationThread() {
-	return operation;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SetPagePerspectiveAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SetPagePerspectiveAction.java
deleted file mode 100644
index e026e77..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SetPagePerspectiveAction.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.*;
-
-/**
- * Sets the current perspective of the workbench
- * page.
- */
-public class SetPagePerspectiveAction extends Action {
-	private WorkbenchPage page;
-	private IPerspectiveDescriptor persp;
-	
-	/**
-	 *	Create an instance of this class
-	 */
-	public SetPagePerspectiveAction(IPerspectiveDescriptor perspective, WorkbenchPage workbenchPage) {
-		super(WorkbenchMessages.getString("SetPagePerspectiveAction.text")); //$NON-NLS-1$
-		setChecked(false);
-		persp = perspective;
-		page = workbenchPage;
-		update(persp);
-		WorkbenchHelp.setHelp(this, IHelpContextIds.SWITCH_TO_PERSPECTIVE_ACTION);
-	}
-
-	/**
-	 * Returns the page this action applies to
-	 */
-	/* package */ WorkbenchPage getPage() {
-		return page;
-	}
-	
-	/**
-	 * Returns the perspective this action applies to
-	 */
-	/* package */ IPerspectiveDescriptor getPerspective() {
-		return persp;
-	}
-	
-	/**
-	 * Returns whether this action handles the specified
-	 * workbench page and perspective.
-	 */
-	public boolean handles(IPerspectiveDescriptor perspective, WorkbenchPage workbenchPage) {
-		return persp == perspective && page == workbenchPage;
-	}
-	
-	/**
-	 * Replaces the perspective used
-	 */
-	public void setPerspective(IPerspectiveDescriptor newPerspective) {
-		persp = newPerspective;
-	}
-	
-	/**
-	 * The user has invoked this action
-	 */
-	public void run() {
-		page.setPerspective(persp);
-		// Force the button into proper checked state
-		setChecked(page.getPerspective() == persp);
-	}
-	
-	/**
-	 *	Update the action.
-	 */
-	public void update(IPerspectiveDescriptor newDesc) {
-		persp = newDesc;
-		setToolTipText(WorkbenchMessages.format("SetPagePerspectiveAction.toolTip", new Object[] {persp.getLabel()}));
-		ImageDescriptor image = persp.getImageDescriptor();
-		if (image != null) {
-			setImageDescriptor(image);
-			setHoverImageDescriptor(null);
-		} else {
-			setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_DEF_PERSPECTIVE));
-			setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_DEF_PERSPECTIVE_HOVER));
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SharedImages.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SharedImages.java
deleted file mode 100644
index d863f3c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SharedImages.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Common images used by the workbench which may be useful to other plug-ins.
- */
-public class SharedImages implements ISharedImages {
-/**
- * Retrieves the specified image from the workbench plugin's image registry.
- *
- * @see ISharedImages
- */
-public Image getImage(String symbolicName) {
-	Image image = WorkbenchImages.getImage(symbolicName);
-	if (image != null) return image;
-
-	//if there is a descriptor for it, add the image to the registry.
-	ImageDescriptor desc = WorkbenchImages.getImageDescriptor(symbolicName);
-	if (desc != null) {
-		WorkbenchImages.getImageRegistry().put(symbolicName, desc);
-		return WorkbenchImages.getImageRegistry().get(symbolicName);
-	}
-	return null;
-}
-/**
- * Retrieves the specified image descriptor from the workbench plugin's image registry.
- *
- * @see ISharedImages
- */
-public ImageDescriptor getImageDescriptor(String symbolicName) {
-	return WorkbenchImages.getImageDescriptor(symbolicName);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShortcutBarPart.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShortcutBarPart.java
deleted file mode 100644
index de49ecc..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShortcutBarPart.java
+++ /dev/null
@@ -1,190 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * A ShortcutBarPart acts as a target for drag and drop events in
- * a PerspectivePresentation.  It is not intended to act as a real part.
- */
-public class ShortcutBarPart extends LayoutPart {
-	private ToolBarManager tbm;
-	private ToolBar toolbar;
-
-	/**
-	 * Implements drop behavior for drag and drop operations on the
-	 * fast view buttons of the shortcut bar.
-	 */
-	class ShortcutBarDropAdapter extends DropTargetAdapter {
-		private static final long hoverThreshold = 250;
-
-		private ToolBar toolBar;
-		private ToolItem currentDropTarget;
-		private int lastValidOperation;
-		private IViewPart lastFastView = null;
-		private IWorkbenchPart deactivatedPart = null;
-		private long hoverStart;
-
-		/**
-		 * Creates a new instance of the receiver using the given drop
-		 * target.
-		 * @param dropTarget drop target the receiver gets drag&drop 
-		 * 	events from
-		 */
-		public ShortcutBarDropAdapter(ToolBar dropTarget) {
-			toolBar = dropTarget;
-		}
-		/**
-		 * Returns the <code>ToolItem</code> at the given position.
-		 * @param position x,y position of the desired <code>ToolItem</code> 
-		 * @return <code>ToolItem</code> at the given position.or null
-		 * 	if there is no item at the position.
-		 */
-		private ToolItem getDropTarget(Point position) {
-			return toolBar.getItem(toolBar.toControl(position));
-		}
-		/**
-		 * Check whether the drop operation can be accepted and set the
-		 * drop event feedback accordingly.
-		 * @param event drop event
-		 */
-		private void doDropValidation(DropTargetEvent event) {
-			if (event.detail != DND.DROP_NONE) {
-				lastValidOperation = event.detail;
-			}
-			if (validateTarget()) {
-				event.detail = lastValidOperation;
-			} else {
-				event.detail = DND.DROP_NONE;
-			}
-		}
-		/**
-		 * The mouse entered the drop target. Perform drop validation
-		 * to give drag and drop feedback to the user.
-		 * @param event drop event
-		 */
-		public void dragEnter(DropTargetEvent event) {
-			currentDropTarget = getDropTarget(new Point(event.x, event.y));
-			doDropValidation(event);
-		}
-		/**
-		 * The mouse is hovering over the drop target.
-		 * If it has been hovering over a fast view button for the 
-		 * defined hover time, open the fast view. If a fast view has 
-		 * been previously opened by a hovering mouse and the mouse has 
-		 * not been on any fast view button within the defined hover 
-		 * time, close the fast view.
-		 * @param event drop event
-		 */
-		public void dragOver(DropTargetEvent event) {
-			Object oldTarget = currentDropTarget;
-
-			currentDropTarget = getDropTarget(new Point(event.x, event.y));
-			if (currentDropTarget == null) {
-				event.detail = DND.DROP_NONE;
-				if (oldTarget != null) {
-					// mouse moved from contribution item to somewhere else
-					hoverStart = System.currentTimeMillis();
-				} else if (lastFastView != null && (System.currentTimeMillis() - hoverStart) > hoverThreshold) {
-					hideView();
-				}
-			} else {
-				long currentTime = System.currentTimeMillis();
-				doDropValidation(event);
-				if (oldTarget != currentDropTarget) {
-					hoverStart = currentTime;
-				} else if (validateTarget() && (currentTime - hoverStart) > hoverThreshold) {
-					showView();
-				}
-			}
-		}
-		/**
-		 * Shows the fast view that the mouse has been hovering on.
-		 */
-		private void showView() {
-			Object itemData = currentDropTarget.getData(ShowFastViewContribution.FAST_VIEW);
-
-			if (itemData != null) {
-				IViewReference ref = (IViewReference) itemData;
-				WorkbenchPage page = (WorkbenchPage) getWorkbenchWindow().getActivePage();
-
-				if (deactivatedPart == null) {
-					deactivatedPart = page.getActivePart();
-				}
-				lastFastView = (IViewPart)ref.getPart(true);
-				page.activate(lastFastView);
-			}
-		}
-		/**
-		 * Hides the fast view by activating the view that was active before
-		 * the fast view.
-		 */
-		private void hideView() {
-			if (deactivatedPart != null) {
-				WorkbenchPage activePage = (WorkbenchPage) getWorkbenchWindow().getActivePage();
-				WorkbenchPage partPage = (WorkbenchPage) deactivatedPart.getSite().getPage();
-
-				// activate the part that was active prior to the fast view.
-				// hides the fast view.
-				if (activePage == partPage) {
-					partPage.activate(deactivatedPart);
-				}
-				deactivatedPart = null;
-			}
-			lastFastView = null;
-		}
-		/**
-		 * Returns whether the current drop target is valid.
-		 * @return true=the current target is a valid drop target, 
-		 * 	false otherwise
-		 */
-		private boolean validateTarget() {
-			return (currentDropTarget != null && currentDropTarget.getData() instanceof ShowFastViewContribution);
-		}
-	}
-	/**
-	 * ShortcutBarPart constructor comment.
-	 * @param id java.lang.String
-	 */
-	public ShortcutBarPart(ToolBarManager tbm) {
-		super("ShortcutBarPart"); //$NON-NLS-1$
-		this.tbm = tbm;
-		this.toolbar = tbm.getControl();
-		toolbar.setData((IPartDropTarget) this);
-		initDragAndDrop();
-	}
-	/**
-	 * Creates the SWT control
-	 */
-	final public void createControl(Composite parent) {
-		// Nothing to do.
-	}
-	/**
-	 * Get the part control.  This method may return null.
-	 */
-	final public Control getControl() {
-		return toolbar;
-	}
-	/**
-	 * Adds drag and drop support to the shortcut bar.
-	 */
-	private void initDragAndDrop() {
-		DropTarget dropTarget = new DropTarget(toolbar, DND.DROP_COPY | DND.DROP_MOVE);
-		dropTarget.addDropListener(new ShortcutBarDropAdapter(toolbar));
-	}
-	/**
-	 * @see IPartDropTarget::targetPartFor
-	 */
-	public LayoutPart targetPartFor(LayoutPart dragSource) {
-		return this;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShortcutBarPartDragDrop.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShortcutBarPartDragDrop.java
deleted file mode 100644
index 4e8a5f7..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShortcutBarPartDragDrop.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowFastViewContribution.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowFastViewContribution.java
deleted file mode 100644
index de437b5..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowFastViewContribution.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.IWorkbenchWindow;
-
-/**
- * A dynamic contribution item which supports to switch to other Contexts.
- */
-public class ShowFastViewContribution extends ContributionItem {
-	public static final String FAST_VIEW = "FastView"; //$NON-NLS-1$
-	private IWorkbenchWindow window;
-	/**
-	 * Create a new menu item.
-	 */
-	public ShowFastViewContribution(IWorkbenchWindow window) {
-		super("showFastViewContr"); //$NON-NLS-1$
-		this.window = window;
-	}
-	/**
-	 * The default implementation of this <code>IContributionItem</code>
-	 * method does nothing. Subclasses may override.
-	 */
-	public void fill(ToolBar parent, int index) {
-		// Get page.
-		WorkbenchPage page = (WorkbenchPage) window.getActivePage();
-		if (page == null)
-			return;
-
-		// Get views.
-		IViewReference[] refs = page.getFastViews();
-
-		// Create tool item for each view.
-		int size = refs.length;
-		for (int nX = 0; nX < size; nX++) {
-			final IViewReference ref = refs[nX];
-			final ToolItem item = new ToolItem(parent, SWT.CHECK, index);
-			item.setImage(ref.getTitleImage());
-			item.setToolTipText(ref.getTitle());
-			item.setData(FAST_VIEW, ref);
-			
-			// Select the active fast view's icon.
-			if (ref == ((WorkbenchPage)window.getActivePage()).getActiveFastView()) {
-				item.setSelection(true);
-			} else {
-				item.setSelection(false);
-			}
-			
-			item.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					showView(ref);
-				}
-			});
-			index++;
-		}
-	}
-	/**
-	 * Returns whether the contribution is dynamic.
-	 */
-	public boolean isDynamic() {
-		return true;
-	}
-	/**
-	 * Open a view.
-	 */
-	private void showView(IViewReference ref) {
-		WorkbenchPage page = (WorkbenchPage)ref.getPage();
-		page.toggleFastView(ref);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowPartPaneMenuAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowPartPaneMenuAction.java
deleted file mode 100644
index 1b88481..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowPartPaneMenuAction.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package org.eclipse.ui.internal;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.actions.PartEventAction;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Show the menu on top of the icon in the
- * view or editor label.
- */
-public class ShowPartPaneMenuAction extends PartEventAction {
-
-	private int accelerator;
-
-/**
- * Constructor for ShowPartPaneMenuAction.
- * @param text
- */
-public ShowPartPaneMenuAction(WorkbenchWindow window) {
-	super(""); //$NON-NLS-1$
-	initText();
-	window.getPartService().addPartListener(this);
-	WorkbenchHelp.setHelp(this, IHelpContextIds.SHOW_PART_PANE_MENU_ACTION);
-}
-/**
- * Initialize the menu text and tooltip.
- */
-protected void initText() {
-	setText(WorkbenchMessages.getString("ShowPartPaneMenuAction.text")); //$NON-NLS-1$
-	setToolTipText(WorkbenchMessages.getString("ShowPartPaneMenuAction.toolTip")); //$NON-NLS-1$
-}
-/**
- * Show the pane title menu.
- */
-protected void showMenu(PartPane pane) {
-	pane.showPaneMenu();
-}
-/**
- * Updates the enabled state.
- */
-protected void updateState() {
-	setEnabled(getActivePart() != null);
-}
-/**
- * See Action
- */
-public void runWithEvent(Event e) {
-	accelerator = e.detail;
-	IWorkbenchPart part = getActivePart();
-	if(part != null)
-		showMenu(((PartSite)part.getSite()).getPane());
-}
-/**
- * See IPartListener
- */
-public void partOpened(IWorkbenchPart part) {
-	super.partOpened(part);
-	updateState();
-}
-/**
- * See IPartListener
- */
-public void partClosed(IWorkbenchPart part) {
-	super.partClosed(part);
-	updateState();
-}
-/**
- * See IPartListener
- */
-public void partActivated(IWorkbenchPart part) {
-	super.partActivated(part);
-	updateState();
-}
-/**
- * See IPartListener
- */
-public void partDeactivated(IWorkbenchPart part) {
-	super.partDeactivated(part);
-	updateState();
-}
-
-public int getAccelerator() {
-	int accelerator = this.accelerator;
-	accelerator = accelerator & ~ SWT.CTRL;
-	accelerator = accelerator & ~ SWT.SHIFT;
-	accelerator = accelerator & ~ SWT.ALT;
-	return accelerator;
-}
-}
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowViewAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowViewAction.java
deleted file mode 100644
index 20bfc5b..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowViewAction.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.registry.IViewDescriptor;
-
-/**
- * Show a View.
- */
-public class ShowViewAction extends Action {
-	private IWorkbenchWindow window;
-	private IViewDescriptor desc;
-/**
- * ShowViewAction constructor comment.
- */
-protected ShowViewAction(IWorkbenchWindow window, IViewDescriptor desc) {
-	super(""); //$NON-NLS-1$
-	String accel = desc.getAccelerator();
-	String label = desc.getLabel();
-	setText(accel == null ? label : label + "@" + accel); //$NON-NLS-1$
-	setImageDescriptor(desc.getImageDescriptor());
-	setToolTipText(label);
-	WorkbenchHelp.setHelp(this, IHelpContextIds.SHOW_VIEW_ACTION);
-	this.window = window;
-	this.desc = desc;
-}
-/**
- * Implementation of method defined on <code>IAction</code>.
- */
-public void run() {
-	IWorkbenchPage page = window.getActivePage();
-	if (page != null) {
-		try {
-			page.showView(desc.getID());
-		} catch (PartInitException e) {
-			ErrorDialog.openError(window.getShell(), WorkbenchMessages.getString("ShowView.errorTitle"), //$NON-NLS-1$
-				e.getMessage(),e.getStatus());
-		}
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowViewMenu.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowViewMenu.java
deleted file mode 100644
index 5f4b8f9..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowViewMenu.java
+++ /dev/null
@@ -1,218 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.text.Collator;
-import java.util.*;
-
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.dialogs.ShowViewDialog;
-import org.eclipse.ui.internal.registry.*;
-
-/**
- * A <code>ShowViewMenu</code> is used to populate a menu manager with
- * Show View actions.  The visible views are determined by user preference
- * from the Perspective Customize dialog. 
- */
-public class ShowViewMenu extends ContributionItem {
-	
-	private IWorkbenchWindow window;
-	private IMenuManager innerMgr;	
-	
-	private Comparator actionComparator = new Comparator() {
-		public int compare(Object o1, Object o2) {
-			if(collator == null)
-		 		collator = Collator.getInstance();		
-			IAction a1 = (IAction) o1;
-			IAction a2 = (IAction) o2;
-			return collator.compare(a1.getText(), a2.getText());
-		}
-	};
-
-	private Action showDlgAction =
-		new Action(WorkbenchMessages.getString("ShowView.title")) {//$NON-NLS-1$
-			public void run() {
-				showOther();
-			}
-		};
-
-	private Map actions = new HashMap(21);
-
-	//Maps pages to a list of opened views
-	private Map openedViews = new HashMap();
-	
-	private boolean dirty = true;
-	private IMenuListener menuListener = new IMenuListener() {
-		public void menuAboutToShow(IMenuManager manager) {
-			manager.markDirty();
-			dirty = true;
-		}
-	};
-	
-	private static Collator collator;	
-
-	/**
-	 * Create a show view menu.
-	 * <p>
-	 * If the menu will appear on a semi-permanent basis, for instance within
-	 * a toolbar or menubar, the value passed for <code>register</code> should be true.
-	 * If set, the menu will listen to perspective activation and update itself
-	 * to suit.  In this case clients are expected to call <code>deregister</code> 
-	 * when the menu is no longer needed.  This will unhook any perspective
-	 * listeners.
-	 * </p>
-	 *
-	 * @param innerMgr the location for the shortcut menu contents
-	 * @param window the window containing the menu
-	 * @param register if <code>true</code> the menu listens to perspective changes in
-	 * 		the window
-	 */
-	public ShowViewMenu(IWorkbenchWindow window) {
-		this.window = window;
-	}
-	
-	/**
-	 * Overridden to always return true and force dynamic menu building.
-	 */
-	public boolean isDirty() {
-		return dirty;
-	}	
-	/**
-	 * Overridden to always return true and force dynamic menu building.
-	 */
-	public boolean isDynamic() {
-		return true;
-	}
-	
-	/* (non-Javadoc)
-	 * Fills the menu with views.
-	 */
-	private void fillMenu(IMenuManager innerMgr) {
-		// Remove all.
-		innerMgr.removeAll();
-
-		// If no page disable all.
-		IWorkbenchPage page = window.getActivePage();
-		if (page == null)
-			return;
-
-		// If no active perspective disable all
-		if (page.getPerspective() == null)
-			return;
-
-		// Get visible actions.
-		List viewIds = ((WorkbenchPage) page).getShowViewActionIds();
-		viewIds = addOpenedViews(page, viewIds);
-		List actions = new ArrayList(viewIds.size());
-		for (Iterator i = viewIds.iterator(); i.hasNext();) {
-			String id = (String) i.next();
-			IAction action = getAction(id);
-			if (action != null) {
-				actions.add(action);
-			}
-		}
-		Collections.sort(actions, actionComparator);
-		for (Iterator i = actions.iterator(); i.hasNext();) {
-			innerMgr.add((IAction) i.next());
-		}
-
-		// Add Other ..
-		innerMgr.add(new Separator());
-		innerMgr.add(showDlgAction);
-	}
-
-	private List addOpenedViews(IWorkbenchPage page, List actions) {
-		ArrayList views = getParts(page);
-		ArrayList result = new ArrayList(views.size() + actions.size());
-
-		for (int i = 0; i < actions.size(); i++) {
-			Object element = actions.get(i);
-			if (result.indexOf(element) < 0)
-				result.add(element);
-		}
-		for (int i = 0; i < views.size(); i++) {
-			Object element = views.get(i);
-			if (result.indexOf(element) < 0)
-				result.add(element);
-		}
-		return result;
-	}
-	/**
-	 * Returns the action for the given view id, or null if not found.
-	 */
-	private IAction getAction(String id) {
-		// Keep a cache, rather than creating a new action each time,
-		// so that image caching in ActionContributionItem works.
-		IAction action = (IAction) actions.get(id);
-		if (action == null) {
-			IViewRegistry reg = WorkbenchPlugin.getDefault().getViewRegistry();
-			IViewDescriptor desc = reg.find(id);
-			if (desc != null) {
-				action = new ShowViewAction(window, desc);
-				actions.put(id, action);
-			}
-		}
-		return action;
-	}
-	
-	/**
-	 * Opens the view selection dialog.
-	 */
-	private void showOther() {
-		IWorkbenchPage page = window.getActivePage();
-		if (page == null)
-			return;
-		ShowViewDialog dlg =
-			new ShowViewDialog(
-				window.getShell(),
-				WorkbenchPlugin.getDefault().getViewRegistry());
-		dlg.open();
-		if (dlg.getReturnCode() == Window.CANCEL)
-			return;
-		IViewDescriptor[] descs = dlg.getSelection();
-		for (int i = 0; i < descs.length; ++i) {
-			try {
-				page.showView(descs[i].getID());
-			} catch (PartInitException e) {
-				ErrorDialog
-					.openError(
-						window.getShell(),
-						WorkbenchMessages.getString("ShowView.errorTitle"), //$NON-NLS-1$
-						e.getMessage(),
-						e.getStatus());
-			}
-		}
-	}
-
-	private ArrayList getParts(IWorkbenchPage page) {
-		ArrayList parts = (ArrayList) openedViews.get(page);
-		if (parts == null) {
-			parts = new ArrayList();
-			openedViews.put(page, parts);
-		}
-		return parts;
-	}
-	
-public void fill(Menu menu, int index) {
-	if(getParent() instanceof MenuManager)
-		((MenuManager)getParent()).addMenuListener(menuListener);
-
-	if(!dirty)
-		return;
-
-	MenuManager manager = new MenuManager();
-	fillMenu(manager);
-	IContributionItem items[] = manager.getItems();
-	for (int i = 0; i < items.length; i++) {
-		items[i].fill(menu,index++);
-	}
-	dirty = false;
-}
-	
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowViewMenuAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowViewMenuAction.java
deleted file mode 100644
index 94b83fc..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowViewMenuAction.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.ui.internal;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. 
-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:
-**********************************************************************/
-import org.eclipse.ui.help.WorkbenchHelp;
-
-public class ShowViewMenuAction extends ShowPartPaneMenuAction {
-
-/**
- * Constructor for ShowViewMenuAction.
- * @param window
- */
-public ShowViewMenuAction(WorkbenchWindow window) {
-	super(window);
-	WorkbenchHelp.setHelp(this, IHelpContextIds.SHOW_VIEW_MENU_ACTION);
-}
-
-/**
- * Initialize the menu text and tooltip.
- */
-protected void initText() {
-	setText(WorkbenchMessages.getString("ShowViewMenuAction.text")); //$NON-NLS-1$
-	setToolTipText(WorkbenchMessages.getString("ShowViewMenuAction.toolTip")); //$NON-NLS-1$
-}
-/**
- * Show the pane title menu.
- */
-protected void showMenu(PartPane pane) {
-	pane.showViewMenu();
-}
-
-/**
- * Updates the enabled state.
- */
-protected void updateState() {
-	super.updateState();
-
-	//All of the conditions in the super class passed
-	//now check for the menu.
-	if (isEnabled()) {
-		PartPane pane = (((PartSite) getActivePart().getSite()).getPane());
-		setEnabled(
-			(pane instanceof ViewPane)
-			&& ((ViewPane) pane).hasViewMenu());
-	}
-}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SwitchToWindowMenu.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SwitchToWindowMenu.java
deleted file mode 100644
index 4274e29..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SwitchToWindowMenu.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-
-/**
- * A dynamic menu item to switch to other opened workbench windows.
- */
-public class SwitchToWindowMenu extends ContributionItem {
-	private static final int MAX_TEXT_LENGTH = 40;
-	
-	private WorkbenchWindow workbenchWindow;
-	private boolean showSeparator;
-	private boolean dirty = true;
-	private IMenuListener menuListener = new IMenuListener() {
-		public void menuAboutToShow(IMenuManager manager) {
-			manager.markDirty();
-			dirty = true;
-		}
-	};
-	
-	/**
-	 * Creates a new instance of this class.
-	 * 
-	 * @param window the workbench window this action applies to
-	 * @param showSeparator whether to add a separator in the menu
-	 */
-	public SwitchToWindowMenu(WorkbenchWindow window, boolean showSeparator) {
-		super("Switch To Window"); //$NON-NLS-1$
-		this.workbenchWindow = window;
-		this.showSeparator = showSeparator;
-	}
-	
-	/**
-	 * Returns the text for a window. This may be truncated to fit
-	 * within the MAX_TEXT_LENGTH.
-	 */
-	private String calcText(int number, IWorkbenchWindow window) {
-		String suffix = window.getShell().getText();
-		if (suffix == null)
-			return null;
-			
-		StringBuffer sb = new StringBuffer();
-		if (number < 10)
-			sb.append('&');
-		sb.append(number);
-		sb.append(' ');
-		if (suffix.length() <= MAX_TEXT_LENGTH) {
-			sb.append(suffix);
-		} else {
-			sb.append(suffix.substring(0, MAX_TEXT_LENGTH));
-			sb.append("..."); //$NON-NLS-1$
-		}
-		return sb.toString();
-	}
-	
-	/**
-	 * Fills the given menu with menu items for all
-	 * opened workbench windows.
-	 */
-	public void fill(Menu menu, int index) {
-		
-		// Get workbench windows.
-		IWorkbench workbench = workbenchWindow.getWorkbench();
-		IWorkbenchWindow[] array = workbench.getWorkbenchWindows();
-		// avoid showing the separator and list for 0 or 1 items
-		if (array.length < 2)
-			return;
-
-		if(getParent() instanceof MenuManager)
-			((MenuManager)getParent()).addMenuListener(menuListener);
-		
-		if(!dirty)
-			return;
-						
-		// Add separator.
-		if (showSeparator) {
-			new MenuItem(menu, SWT.SEPARATOR, index);
-			++index;
-		}
-
-		// Add one item for each window.
-		int count = 1;
-		for (int i = 0; i < array.length; i++) {
-			final IWorkbenchWindow window = array[i];
-			// can encounter disposed shells if this update is in response to a shell closing
-			if (!window.getShell().isDisposed()) {
-				String name = calcText(count, window);
-				if (name != null) {
-					MenuItem mi = new MenuItem(menu, SWT.RADIO, index);
-					index++;
-					count++;
-					mi.setText(name);
-					mi.addSelectionListener(new SelectionAdapter() {
-						public void widgetSelected(SelectionEvent e) {
-							Shell windowShell = window.getShell();
-							if (windowShell.getMinimized())
-								windowShell.setMinimized(false);
-							windowShell.forceFocus();
-							windowShell.moveAbove(null);
-						}
-					});
-					mi.setSelection(window == workbenchWindow);
-				}
-			}
-		}
-		dirty = false;
-	}
-	/**
-	 * Overridden to always return true and force dynamic menu building.
-	 */
-	public boolean isDirty() {
-		return dirty;
-	}	
-	/**
-	 * Overridden to always return true and force dynamic menu building.
-	 */
-	public boolean isDynamic() {
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SystemSummaryEditorInput.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SystemSummaryEditorInput.java
deleted file mode 100644
index 083ccbd..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SystemSummaryEditorInput.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SystemSummaryEditorInputFactory.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SystemSummaryEditorInputFactory.java
deleted file mode 100644
index f65c054..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SystemSummaryEditorInputFactory.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- 
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.ui.IElementFactory;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * The <code>SystemSummaryEditorInputFactory</code> creates
- * <code>SystemSummaryEditorInput</code> objects.
- */
-public class SystemSummaryEditorInputFactory implements IElementFactory {
-	/*
-	 * The ID of the factory that creates this input.
-	 */
-	static final String FACTORY_ID = PlatformUI.PLUGIN_ID + ".SystemSummaryEditorInputFactory"; //$NON-NLS-1$
-
-	/**
-	 * Creates the factory, should not be called
-	 */
-	public SystemSummaryEditorInputFactory() {
-		super();
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IElementFactory#createElement(IMemento)
-	 */
-	public IAdaptable createElement(IMemento memento) {
-		return new SystemSummaryEditorInput();
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ToggleEditorsVisibilityAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ToggleEditorsVisibilityAction.java
deleted file mode 100644
index 29a8f97..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ToggleEditorsVisibilityAction.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.help.*;
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.*;
-
-/**
- * Hides or shows the editor area within the current
- * perspective of the workbench page.
- */
-public class ToggleEditorsVisibilityAction extends Action {
-	private IWorkbenchWindow workbenchWindow;
-/**
- * Creates a new <code>ToggleEditorsVisibilityAction</code>
- */
-public ToggleEditorsVisibilityAction(IWorkbenchWindow window) {
-	super(WorkbenchMessages.getString("ToggleEditor.hideEditors")); //$NON-NLS-1$
-	setToolTipText(WorkbenchMessages.getString("ToggleEditor.toolTip")); //$NON-NLS-1$
-	WorkbenchHelp.setHelp(this, IHelpContextIds.TOGGLE_EDITORS_VISIBILITY_ACTION);
-	setEnabled(false);
-	this.workbenchWindow = window;
-
-	// Once the API on IWorkbenchPage to hide/show
-	// the editor area is removed, then switch
-	// to using the internal perspective service
-	window.addPerspectiveListener(new org.eclipse.ui.IPerspectiveListener() {
-		public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
-			if (page.isEditorAreaVisible())
-				setText(WorkbenchMessages.getString("ToggleEditor.hideEditors")); //$NON-NLS-1$
-			else
-				setText(WorkbenchMessages.getString("ToggleEditor.showEditors")); //$NON-NLS-1$
-		}			
-		public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) {
-			if (changeId == IWorkbenchPage.CHANGE_RESET || changeId == IWorkbenchPage.CHANGE_EDITOR_AREA_HIDE || changeId == IWorkbenchPage.CHANGE_EDITOR_AREA_SHOW) {
-				if (page.isEditorAreaVisible())
-					setText(WorkbenchMessages.getString("ToggleEditor.hideEditors")); //$NON-NLS-1$
-				else
-					setText(WorkbenchMessages.getString("ToggleEditor.showEditors")); //$NON-NLS-1$
-			}
-		}			
-	});
-}
-/**
- * Implementation of method defined on <code>IAction</code>.
- */
-public void run() {
-	boolean visible = workbenchWindow.getActivePage().isEditorAreaVisible();
-	if (visible) {
-		workbenchWindow.getActivePage().setEditorAreaVisible(false);
-		setText(WorkbenchMessages.getString("ToggleEditor.showEditors")); //$NON-NLS-1$
-	}
-	else {
-		workbenchWindow.getActivePage().setEditorAreaVisible(true);
-		setText(WorkbenchMessages.getString("ToggleEditor.hideEditors")); //$NON-NLS-1$
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/UISynchronizer.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/UISynchronizer.java
deleted file mode 100644
index 06c1062..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/UISynchronizer.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Synchronizer;
-
-public class UISynchronizer extends Synchronizer {
-	protected UIWorkspaceLock uiLock;
-public UISynchronizer(Display display, UIWorkspaceLock lock) {
-	super(display);
-	this.uiLock = lock;
-}
-public void syncExec(Runnable runnable) {
-	if ((runnable == null) || uiLock.isUI() || !uiLock.isCurrentOperation()) {
-		super.syncExec(runnable);
-		return;
-	}
-	Runnable runOnce = new Runnable() {
-		public void run() {
-			uiLock.doPendingWork();
-		}
-	};
-	Semaphore work = new Semaphore(runnable);
-	work.setOperationThread(Thread.currentThread());
-	uiLock.addPendingWork(work);
-	if (!uiLock.isUIWaiting())
-		asyncExec(runOnce);
-	else
-		uiLock.interruptUI();
-	try {
-		work.acquire();
-	} catch (InterruptedException e) {
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/UIWorkspaceLock.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/UIWorkspaceLock.java
deleted file mode 100644
index b8ce9f4..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/UIWorkspaceLock.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.WorkspaceLock;
-import org.eclipse.swt.widgets.Display;
-
-public class UIWorkspaceLock extends WorkspaceLock {
-	protected Display display;
-	protected Thread ui;
-	protected Semaphore pendingWork;
-	protected boolean pendingWorkStarted;
-public UIWorkspaceLock(IWorkspace workspace, Display display) throws CoreException {
-	super(workspace);
-	this.display = display;
-	pendingWorkStarted = false;
-}
-public boolean acquire() throws InterruptedException {
-	if (isUI()) {
-		Thread currentOperation = getCurrentOperationThread();
-		if (currentOperation != null) {
-			if (display.getSyncThread() == currentOperation && isTreeLocked())
-				throw new RuntimeException(WorkbenchMessages.getString("UIWorkspaceLock.errorModDuringNotification")); //$NON-NLS-1$
-			// If a syncExec was executed from the current operation, it
-			// has already acquired the lock. So, just return true.
-			if (pendingWork != null && pendingWorkStarted && pendingWork.getOperationThread() == currentOperation) {
-				if (isTreeLocked())
-					throw new RuntimeException(WorkbenchMessages.getString("UIWorkspaceLock.errorModDuringNotification")); //$NON-NLS-1$
-				else
-					return true; // we are a nested operation
-			}
-		}
-		ui = Thread.currentThread();
-		doPendingWork();
-	}
-	return super.acquire();
-}
-void addPendingWork(Semaphore work) {
-	pendingWork = work;
-}
-/**
- * Should always be called from the UI thread.
- */
-void doPendingWork() {
-	if (pendingWork == null)
-		return;
-	try {
-		pendingWorkStarted = true;
-		pendingWork.getRunnable().run();
-	} finally {
-		// only null it after running
-		Semaphore temp = pendingWork;
-		// the following lines have to be done in
-		// that order to avoid concurrency problems
-		pendingWork = null;
-		pendingWorkStarted = false;
-		temp.release();
-	}
-}
-void interruptUI() {
-	display.getThread().interrupt();
-}
-boolean isCurrentOperation() {
-	return getCurrentOperationThread() == Thread.currentThread();
-}
-boolean isUI() {
-	return (!display.isDisposed()) && (display.getThread() == Thread.currentThread());
-}
-boolean isUIWaiting() {
-	return (ui != null) && (Thread.currentThread() != ui);
-}
-public void release() {
-	if (isUI())
-		ui = null;
-	super.release();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewActionBars.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewActionBars.java
deleted file mode 100644
index b68ef78..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewActionBars.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.ui.internal;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. and others. 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

-Contributors:
-**********************************************************************/
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.SubActionBars;
-
-/**
- * An editor container manages the services for an editor.
- */
-public class ViewActionBars extends SubActionBars {
-	private ViewPane pane;
-	/**
-	 * ViewActionBars constructor comment.
-	 */
-	public ViewActionBars(IActionBars parent, ViewPane pane) {
-		super(parent);
-		this.pane = pane;
-	}
-	/**
-	 * Returns the menu manager.  If items are added or
-	 * removed from the manager be sure to call <code>updateActionBars</code>.
-	 *
-	 * @return the menu manager
-	 */
-	public IMenuManager getMenuManager() {
-		return pane.getMenuManager();
-	}
-	/**
-	 * Returns the tool bar manager.  If items are added or
-	 * removed from the manager be sure to call <code>updateActionBars</code>.
-	 *
-	 * @return the tool bar manager
-	 */
-	public IToolBarManager getToolBarManager() {
-		return pane.getToolBarManager();
-	}
-	/**
-	 * Commits all UI changes.  This should be called
-	 * after additions or subtractions have been made to a 
-	 * menu, status line, or toolbar.
-	 */
-	public void updateActionBars() {
-		pane.updateActionBars();
-		getStatusLineManager().update(false);
-		fireActionHandlersChanged();
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewActionBuilder.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewActionBuilder.java
deleted file mode 100644
index 6807a3d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewActionBuilder.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.eclipse.ui.internal;
-
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-import java.util.ArrayList;
-
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IViewPart;
-
-/**
- * This class reads the registry for extensions that plug into
- * 'viewActions' extension point.
- */
-public class ViewActionBuilder extends PluginActionBuilder {
-	public static final String TAG_CONTRIBUTION_TYPE = "viewContribution"; //$NON-NLS-1$
-
-	private IViewPart targetPart;
-
-	/**
-	 * Basic constructor
-	 */
-	public ViewActionBuilder() {
-	}
-	
-	/**
-	 * Contribute the external menus and actions applicable for this view part.
-	 */
-	private void contributeToPart(IViewPart part) {
-		IActionBars bars = part.getViewSite().getActionBars();
-		contribute(bars.getMenuManager(), bars.getToolBarManager(), true);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on PluginActionBuilder.
-	 */
-	protected ActionDescriptor createActionDescriptor(org.eclipse.core.runtime.IConfigurationElement element) {
-		return new ActionDescriptor(element, ActionDescriptor.T_VIEW, targetPart);
-	}
-	
-	/**
-	 * Return all extended actions.
-	 */
-	public ActionDescriptor[] getExtendedActions() {
-		if (cache == null)
-			return new ActionDescriptor[0];
-
-		ArrayList results = new ArrayList();
-		for (int i = 0; i < cache.size(); i++) {
-			BasicContribution bc = (BasicContribution)cache.get(i);
-			if (bc.actions != null)
-				results.addAll(bc.actions);
-		}
-		return (ActionDescriptor[]) results.toArray(new ActionDescriptor[results.size()]);
-	}
-	
-	/**
-	 * Reads and apply all external contributions for this view's ID registered
-	 * in 'viewActions' extension point.
-	 */
-	public void readActionExtensions(IViewPart viewPart) {
-		targetPart = viewPart;
-		readContributions(viewPart.getSite().getId(), TAG_CONTRIBUTION_TYPE, IWorkbenchConstants.PL_VIEW_ACTIONS);
-		contributeToPart(targetPart);
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewFactory.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewFactory.java
deleted file mode 100644
index 793ff84..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewFactory.java
+++ /dev/null
@@ -1,349 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.HashMap;
-import java.util.List;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.misc.UIStats;
-import org.eclipse.ui.internal.registry.*;
-
-/**
- * The ViewFactory is used to control the creation and disposal of views.  
- * It implements a reference counting strategy so that one view can be shared
- * by more than one client.
- */
-public class ViewFactory {
-	private WorkbenchPage page;
-	private IViewRegistry viewReg;
-	private ReferenceCounter counter;
-	private HashMap mementoTable = new HashMap();
-
-/**
- * ViewManager constructor comment.
- */
-public ViewFactory(WorkbenchPage page, IViewRegistry reg) {
-	super();
-	this.page = page;
-	this.viewReg = reg;
-	counter = new ReferenceCounter();
-}
-/**
- * Creates an instance of a view defined by id.
- * 
- * This factory implements reference counting.  The first call to this
- * method will return a new view.  Subsequent calls will return the
- * first view with an additional reference count.  The view is
- * disposed when releaseView is called an equal number of times
- * to getView.
- */
-public IViewReference createView(final String id) throws PartInitException {
-	IViewDescriptor desc = viewReg.find(id);
-	if(desc == null)
-		throw new PartInitException(WorkbenchMessages.format("ViewFactory.couldNotCreate", new Object[] {id})); //$NON-NLS-1$
-	IViewReference ref = (IViewReference)counter.get(desc);
-	if (ref == null) {
-		ref = new ViewReference(id);
-		counter.put(desc,ref);
-	} else {
-		counter.addRef(desc);
-	}
-	return ref;
-}
-/**
- * Creates an instance of a view defined by id.
- * 
- * This factory implements reference counting.  The first call to this
- * method will return a new view.  Subsequent calls will return the
- * first view with an additional reference count.  The view is
- * disposed when releaseView is called an equal number of times
- * to getView.
- */
-public IStatus restoreView(final IViewReference ref) {
-	final IStatus result[] = new IStatus[1];
-	BusyIndicator.showWhile(
-		page.getWorkbenchWindow().getShell().getDisplay(),
-		new Runnable() {
-			public void run() {
-				result[0] = busyRestoreView(ref);
-			}
-		}
-	);
-	return result[0];
-}
-public IStatus busyRestoreView(final IViewReference ref) {
-	if(ref.getPart(false) != null)
-		return new Status(IStatus.OK,PlatformUI.PLUGIN_ID,0,"",null);
-		
-	final String viewID = ref.getId();
-	final IMemento stateMem = (IMemento)mementoTable.get(viewID);
-	mementoTable.remove(viewID);
-	
-	final boolean resetPart[] = {true};
-	final IStatus result[] = new IStatus[]{new Status(IStatus.OK,PlatformUI.PLUGIN_ID,0,"",null)};
-	Platform.run(new SafeRunnable() {
-		public void run() {
-			IViewDescriptor desc = viewReg.find(viewID);
-			if(desc == null) {
-				result[0] = new Status(
-					IStatus.ERROR,PlatformUI.PLUGIN_ID,0,
-					WorkbenchMessages.format("ViewFactory.couldNotCreate", new Object[] {viewID}), //$NON-NLS-1$
-					null);
-				return;
-			}
-		
-			// Create the view.
-			IViewPart view = null;
-			String label = desc.getLabel();
-			try {
-				try {
-					UIStats.start(UIStats.CREATE_PART,label);
-					view = desc.createView();
-				} finally {
-					UIStats.end(UIStats.CREATE_PART,label);
-				}
-				((ViewReference)ref).setPart(view);
-			} catch (CoreException e) {
-				PartPane pane = ((ViewReference)ref).getPane();
-				if(pane != null) {
-					page.getPerspectivePresentation().removePart(pane);
-					pane.dispose();
-				}
-				result[0] = new Status(
-					IStatus.ERROR,PlatformUI.PLUGIN_ID,0,
-					WorkbenchMessages.format("ViewFactory.initException", new Object[] {desc.getID()}), //$NON-NLS-1$
-					e);
-				return;
-			}
-			
-			// Create site
-			ViewSite site = new ViewSite(view, page, desc);
-			try {
-				try {
-					UIStats.start(UIStats.INIT_PART,label);
-					view.init(site,stateMem);
-				} finally {
-					UIStats.end(UIStats.INIT_PART,label);
-				}
-			} catch (PartInitException e) {
-				releaseView(viewID);
-				result[0] = new Status(
-					IStatus.ERROR,PlatformUI.PLUGIN_ID,0,
-					WorkbenchMessages.format("Perspective.exceptionRestoringView",new String[]{viewID}), //$NON-NLS-1$
-					e);
-				return;
-			}				
-			if (view.getSite() != site)  {
-				releaseView(viewID);
-				result[0] = new Status(
-					IStatus.ERROR,PlatformUI.PLUGIN_ID,0,
-					WorkbenchMessages.format("ViewFactory.siteException", new Object[] {desc.getID()}), //$NON-NLS-1$
-					null);
-				return;
-			}
-		
-			PartPane pane = ((ViewReference)ref).getPane();
-			if(pane == null) {
-				pane = new ViewPane(ref,page);
-				((ViewReference)ref).setPane(pane);
-			}
-			site.setPane(pane);
-			site.setActionBars(new ViewActionBars(page.getActionBars(), (ViewPane)pane));
-			resetPart[0] = false;
-			site.getPane().createChildControl();
-			result[0] =  new Status(IStatus.OK,PlatformUI.PLUGIN_ID,0,"",null);
-		}
-		public void handleException(Throwable e) {
-			if(resetPart[0]) {
-				((ViewReference)ref).setPart(null);
-				page.hideView(ref);
-			}
-			//Execption is already logged.
-			result[0] = new Status(
-				IStatus.ERROR,PlatformUI.PLUGIN_ID,0,
-				WorkbenchMessages.format("Perspective.exceptionRestoringView",new String[]{viewID}), //$NON-NLS-1$
-				e);
-
-		}
-	});
-	return result[0];
-}
-
-public IStatus saveState(IMemento memento) {
-	final MultiStatus result = new MultiStatus(
-		PlatformUI.PLUGIN_ID,IStatus.OK,
-		WorkbenchMessages.getString("ViewFactory.problemsSavingViews"),null);
-	
-	final IViewReference refs[] = getViews();
-	for (int i = 0; i < refs.length; i++) {
-		final IMemento viewMemento = memento.createChild(IWorkbenchConstants.TAG_VIEW);
-		viewMemento.putString(IWorkbenchConstants.TAG_ID, refs[i].getId());
-		final IViewPart view = (IViewPart)refs[i].getPart(false);
-		if(view != null) {
-			final int index = i;
-			Platform.run(new SafeRunnable() {
-				public void run() {
-					view.saveState(viewMemento.createChild(IWorkbenchConstants.TAG_VIEW_STATE));
-				}
-				public void handleException(Throwable e) {
-					result.add(new Status(
-						IStatus.ERROR,PlatformUI.PLUGIN_ID,0,
-						WorkbenchMessages.format("ViewFactory.couldNotSave",new String[]{refs[index].getTitle()}),
-						e));
-				}
-			});
-		} else {
-			IMemento mem = (IMemento)mementoTable.get(refs[i].getId());
-			if(mem != null) {
-				IMemento child = viewMemento.createChild(IWorkbenchConstants.TAG_VIEW_STATE);
-				child.putMemento(mem);
-			}
-		}
-	}
-	return result;
-}
-public IStatus restoreState(IMemento memento) {
-	IMemento mem[] = memento.getChildren(IWorkbenchConstants.TAG_VIEW);
-	for (int i = 0; i < mem.length; i++) {
-		String id = mem[i].getString(IWorkbenchConstants.TAG_ID);
-		mementoTable.put(id,mem[i].getChild(IWorkbenchConstants.TAG_VIEW_STATE));
-	}
-	return new Status(IStatus.OK,PlatformUI.PLUGIN_ID,0,"",null);
-}
-/**
- * Remove a view rec from the manager.
- *
- * The IViewPart.dispose method must be called at a higher level.
- */
-private void destroyView(IViewDescriptor desc, IViewPart view) 
-{
-	// Free action bars, pane, etc.
-	PartSite site = (PartSite)view.getSite();
-	ViewActionBars actionBars = (ViewActionBars)site.getActionBars();
-	actionBars.dispose();
-	PartPane pane = site.getPane();
-	pane.dispose();
-
-	// Free the site.
-	site.dispose();
-}
-/**
- * Returns the view with the given id, or <code>null</code> if not found.
- */
-public IViewReference getView(String id) {
-	IViewDescriptor desc = viewReg.find(id);
-	return (IViewReference) counter.get(desc);
-}
-/**
- * Returns a list of views which are open.
- */
-public IViewReference[] getViews() {
-	List list = counter.values();
-	IViewReference [] array = new IViewReference[list.size()];
-	for (int i = 0; i < array.length; i++) {
-		array[i] = (IViewReference)list.get(i);
-	}
-	return array;
-}
-/**
- * Returns whether a view with the given id exists.
- */
-public boolean hasView(String id) {
-	IViewDescriptor desc = viewReg.find(id);
-	Object view = counter.get(desc);
-	return (view != null);
-}
-/**
- * Releases an instance of a view defined by id.
- *
- * This factory does reference counting.  For more info see
- * getView.
- */
-public void releaseView(String id) {
-	IViewDescriptor desc = viewReg.find(id);
-	IViewReference ref = (IViewReference)counter.get(desc);
-	if (ref == null)
-		return;
-	int count = counter.removeRef(desc);
-	if (count <= 0) {
-		IViewPart view = (IViewPart)ref.getPart(false);
-		if(view != null)
-			destroyView(desc, view);
-	}
-}
-
-private class ViewReference extends WorkbenchPartReference implements IViewReference {
-	
-	boolean failedToCreate = false;
-
-	public ViewReference(String id) {
-		ViewDescriptor desc = (ViewDescriptor)viewReg.find(id);
-		ImageDescriptor iDesc = null;
-		String title = null;
-		if(desc != null) {
-			iDesc = desc.getImageDescriptor();
-			title = desc.getLabel();
-		}
-		init(id,title,null,iDesc);
-	}
-
-	/**
-	 * @see IViewReference#isFastView()
-	 */
-	public boolean isFastView() {
-		return page.isFastView(this);
-	}
-	public IViewPart getView(boolean restore) {
-		return (IViewPart)getPart(restore);
-	}
-	public String getRegisteredName() {
-		if(part != null)
-			return part.getSite().getRegisteredName();
-			
-		IViewRegistry reg = WorkbenchPlugin.getDefault().getViewRegistry();
-		IViewDescriptor desc = reg.find(getId());
-		if(desc != null)
-			return desc.getLabel();	
-		return getTitle();
-	}
-	/**
-	 * @see IWorkbenchPartReference#getPart(boolean)
-	 */
-	public IWorkbenchPart getPart(boolean restore) {
-		if(part != null)
-			return part;
-		if(failedToCreate)
-			return null;
-		if(restore) {
-			IStatus status = restoreView(this);
-			if(status.getSeverity() == IStatus.ERROR) {
-				failedToCreate = true;
-				Workbench workbench = (Workbench)PlatformUI.getWorkbench();
-				if(!workbench.isStarting()) {
-					ErrorDialog.openError(
-						page.getWorkbenchWindow().getShell(),
-						WorkbenchMessages.getString("ViewFactory.unableToRestoreViewTitle"), //$NON-NLS-1$
-						WorkbenchMessages.format("ViewFactory.unableToRestoreViewMessage",new String[]{getTitle()}), //$NON-NLS-1$
-						status,
-						IStatus.WARNING | IStatus.ERROR);
-				} 
-			} else {
-				releaseReferences();
-			}			
-		}
-		return part;
-	}
-	public IWorkbenchPage getPage() {
-		return page;
-	}
-}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewPane.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewPane.java
deleted file mode 100644
index 76e60d5..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewPane.java
+++ /dev/null
@@ -1,674 +0,0 @@
-package org.eclipse.ui.internal;
-
-/**********************************************************************
-Copyright (c) 2000, 2001, 2002, International Business Machines 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:
-  Cagatay Kavukcuoglu <cagatayk@acm.org> 
-    - Fix for bug 10025 - Resizing views should not use height ratios
-**********************************************************************/
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.resource.JFaceColors;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.part.WorkbenchPart;
-
-
-/**
- * Provides support for a title bar where the
- * title and icon of the view can be displayed.
- * Along with an X icon to close the view, and
- * a pin icon to attach the view back to the
- * main layout.
- *
- * Also provides support to add tool icons and menu
- * icon on the system bar if required by the view
- * part.
- */
-public class ViewPane extends PartPane
-	implements IPropertyListener
-{
-	private CLabel titleLabel;
-		
-	private boolean fast = false;
-	private boolean showFocus = false;
-	private ToolBar viewToolBar;
-	private ToolBarManager viewToolBarMgr;
-	private ToolBar isvToolBar;
-	private ToolBarManager isvToolBarMgr;
-	private MenuManager isvMenuMgr;
-	private ToolItem pullDownButton;
-	
-	/**
-	 * Indicates whether a toolbar button is shown for the view local menu.
-	 */
-	private boolean showMenuButton = false;
-	
-	//Created in o.e.ui.Perspective, disposed there.
-	private Sash fastViewSash;
-	
-
-	/**
-	 * Toolbar manager for the ISV toolbar.
-	 */
-	class PaneToolBarManager extends ToolBarManager {
-		public PaneToolBarManager(ToolBar paneToolBar) {
-			super(paneToolBar);
-		}
-		
-		protected void relayout(ToolBar toolBar, int oldCount, int newCount) {
-			toolBar.layout();
-			Composite parent = toolBar.getParent();
-			parent.layout();
-			if (parent.getParent() != null)
-				parent.getParent().layout();
-		}
-	}
-
-	/**
-	 * Menu manager for view local menu.
-	 */
-	class PaneMenuManager extends MenuManager {
-		public PaneMenuManager() {
-			super("View Local Menu");//$NON-NLS-1$
-		}
-		protected void update(boolean force, boolean recursive) {
-			// Changes to the menu can affect whether the toolbar has a menu button.
-			// Update it if necessary.
-			if (showMenuButton != !isEmpty()) {
-				viewToolBarMgr.update(true);
-			}
-			super.update(force, recursive);
-		}
-	}
-
-	/**
-	 * Contributes system actions to toolbar.
-	 */
-	class SystemContribution extends ContributionItem {
-		public boolean isDynamic() {
-			return true;
-		}
-		
-		public void fill(ToolBar toolbar, int index) {
-			showMenuButton = (isvMenuMgr != null && !isvMenuMgr.isEmpty());
-			if (showMenuButton) {
-				pullDownButton = new ToolItem(toolbar, SWT.PUSH, index++);
-				Image img = WorkbenchImages.getImage(IWorkbenchGraphicConstants.IMG_LCL_VIEW_MENU);
-				pullDownButton.setDisabledImage(img); // PR#1GE56QT - Avoid creation of unnecessary image.
-				pullDownButton.setImage(img);
-				pullDownButton.setToolTipText(WorkbenchMessages.getString("Menu")); //$NON-NLS-1$
-				pullDownButton.addSelectionListener(new SelectionAdapter() {
-					public void widgetSelected(SelectionEvent e) {
-						showViewMenu();
-					}
-				});
-			}
-			else {
-				// clear out the button if we don't need it anymore
-				pullDownButton = null;
-			}
-		
-			// check the current internal fast view state
-			if (fast) {
-				ToolItem dockButton = new ToolItem(toolbar, SWT.CHECK, index++);
-				dockButton.setSelection(true);
-				Image img = WorkbenchImages.getImage(IWorkbenchGraphicConstants.IMG_LCL_PIN_VIEW);
-				dockButton.setDisabledImage(img); // PR#1GE56QT - Avoid creation of unnecessary image.
-				dockButton.setImage(img);
-				dockButton.setToolTipText(WorkbenchMessages.getString("ViewPane.pin")); //$NON-NLS-1$
-				dockButton.addSelectionListener(new SelectionAdapter() {
-					public void widgetSelected(SelectionEvent e) {
-						doDock();
-					}
-				});
-		
-				ToolItem minimizeButton = new ToolItem(toolbar, SWT.PUSH, index++);
-				img = WorkbenchImages.getImage(IWorkbenchGraphicConstants.IMG_LCL_MIN_VIEW);
-				minimizeButton.setDisabledImage(img); // PR#1GE56QT - Avoid creation of unnecessary image.
-				minimizeButton.setImage(img);
-				minimizeButton.setToolTipText(WorkbenchMessages.getString("ViewPane.minimize")); //$NON-NLS-1$
-				minimizeButton.addSelectionListener(new SelectionAdapter() {
-					public void widgetSelected(SelectionEvent e) {
-						doMinimize();
-					}
-				});
-			}
-			
-			ToolItem closeButton= new ToolItem(toolbar, SWT.PUSH, index++);
-			Image img = WorkbenchImages.getImage(IWorkbenchGraphicConstants.IMG_LCL_CLOSE_VIEW);
-			closeButton.setDisabledImage(img); // PR#1GE56QT - Avoid creation of unnecessary image.
-			closeButton.setImage(img);
-			closeButton.setToolTipText(WorkbenchMessages.getString("Close")); //$NON-NLS-1$
-			closeButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					doHide();
-				}
-			});
-		}
-	}
-	
-	private SystemContribution systemContribution = new SystemContribution();
-	
-/**
- * Constructs a view pane for a view part.
- */
-public ViewPane(IViewReference ref, WorkbenchPage page) {
-	super(ref, page);
-	fast = ref.isFastView();
-}
-/**
- * Create control. Add the title bar.
- */
-public void createControl(Composite parent) {
-	// Only do this once.
-	if (getControl() != null && !getControl().isDisposed())
-		return;
-		
-	super.createControl(parent);
-	
-	// Only include the ISV toolbar and the content in the tab list.
-	// All actions on the System toolbar should be accessible on the pane menu.
-	if (control.getContent() == null) {
-		// content can be null if view creation failed
-		control.setTabList(new Control[] { isvToolBar, viewToolBar });
-	}
-	else {
-		control.setTabList(new Control[] { isvToolBar, viewToolBar, control.getContent() });
-	}
-}
-
-protected void createChildControl() {
-	final IWorkbenchPart part[] = new IWorkbenchPart[]{partReference.getPart(false)};
-	if(part[0] == null)
-		return;
-
-	if(control == null || control.getContent() != null)
-		return;
-		
-	super.createChildControl();
-	
-	Platform.run(new SafeRunnable() {
-		public void run() { 
-			// Install the part's tools and menu
-			ViewActionBuilder builder = new ViewActionBuilder();
-			IViewPart part = (IViewPart)getViewReference().getPart(true);
-			if(part != null) {
-				builder.readActionExtensions(part);
-				ActionDescriptor[] extendedActions = builder.getExtendedActions();
-				KeyBindingService keyBindingService = (KeyBindingService)part.getSite().getKeyBindingService();
-				keyBindingService.registerExtendedActions(extendedActions);
-			}
-			updateActionBars();
-		}
-		public void handleException(Throwable e) {
-			//Just have it logged.
-		}
-	});
-}
-protected WorkbenchPart createErrorPart(WorkbenchPart oldPart) {
-	class ErrorViewPart extends ViewPart {
-		private Text text;
-		public void createPartControl(Composite parent) {
-			text = new Text(parent,SWT.MULTI|SWT.READ_ONLY|SWT.WRAP);
-			text.setForeground(JFaceColors.getErrorText(text.getDisplay()));
-			text.setBackground(text.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
-			text.setText(WorkbenchMessages.getString("ViewPane.errorMessage")); //$NON-NLS-1$
-		}
-		public void setFocus() {
-			if (text != null) text.setFocus();
-		}
-		public void setSite(IWorkbenchPartSite site) {
-			super.setSite(site);
-		}
-		public void setTitle(String title) {
-			super.setTitle(title);
-		}
-	}   
-	ErrorViewPart newPart = new ErrorViewPart();
-	PartSite site = (PartSite)oldPart.getSite();
-	newPart.setSite(site);
-	newPart.setTitle(site.getRegisteredName());
-	site.setPart(newPart);
-	return newPart;
-}
-
-/**
- * See LayoutPart
- */
-public boolean isDragAllowed(Point p) {
-	// See also similar restrictions in addMoveItems method
-	// No need to worry about fast views as they do not
-	// register for D&D operations
-	return !overImage(p.x) && !isZoomed();
-}
-/*
- * Return true if <code>x</code> is over the label image.
- */
-private boolean overImage(int x) {
-	return x < titleLabel.getImage().getBounds().width;
-}
-/**
- * Create a title bar for the pane.
- * 	- the view icon and title to the far left
- *	- the view toolbar appears in the middle.
- * 	- the view pulldown menu, pin button, and close button to the far right.
- */
-protected void createTitleBar() {
-	// Only do this once.
-	if (titleLabel != null)
-		return;
-
-	// Title.   
-	titleLabel = new CLabel(control, SWT.SHADOW_NONE);
-	titleLabel.setAlignment(SWT.LEFT);
-	titleLabel.setBackground(null, null);
-	titleLabel.addMouseListener(new MouseAdapter() {
-		public void mouseDown(MouseEvent e) {
-			if (e.button == 3)
-				showPaneMenu(titleLabel,new Point(e.x, e.y));
-			else if ((e.button == 1) && overImage(e.x))
-				showPaneMenu();
-		}
-		public void mouseDoubleClick(MouseEvent event){
-			doZoom();
-		}
-	});
-	updateTitles();
-	control.setTopLeft(titleLabel);
-
-	// Listen to title changes.
-	getPartReference().addPropertyListener(this);
-	
-	// View toolbar
-	viewToolBar = new ToolBar(control, SWT.FLAT | SWT.WRAP);
-	control.setTopRight(viewToolBar);
-	viewToolBar.addMouseListener(new MouseAdapter(){
-		public void mouseDoubleClick(MouseEvent event) {
-			// 1GD0ISU: ITPUI:ALL - Dbl click on view tool cause zoom
-			if (viewToolBar.getItem(new Point(event.x, event.y)) == null)
-				doZoom();
-		}
-	});
-	viewToolBarMgr = new PaneToolBarManager(viewToolBar);
-	viewToolBarMgr.add(systemContribution);
-	
-	// ISV toolbar.
-	isvToolBar = new ToolBar(control, SWT.FLAT | SWT.WRAP);
-	control.setTopCenter(isvToolBar);
-	isvToolBar.addMouseListener(new MouseAdapter(){
-		public void mouseDoubleClick(MouseEvent event) {
-			// 1GD0ISU: ITPUI:ALL - Dbl click on view tool cause zoom
-			if (isvToolBar.getItem(new Point(event.x, event.y)) == null)
-				doZoom();
-		}
-	});
-	isvToolBarMgr = new PaneToolBarManager(isvToolBar);
-}
-public void dispose() {
-	super.dispose();
-	if (isvMenuMgr != null)
-		isvMenuMgr.dispose();
-	if (isvToolBarMgr != null)
-		isvToolBarMgr.dispose();
-	if (viewToolBarMgr != null)
-		viewToolBarMgr.dispose();
-}
-/**
- * @see PartPane#doHide
- */
-public void doHide() {
-	getPage().hideView(getViewReference());
-}
-/**
- * Make this view pane a fast view
- */
-protected void doMakeFast() {
-	getPage().addFastView(getViewReference());
-}
-/**
- * Hide the fast view
- */
-protected void doMinimize() {
-	getPage().toggleFastView(getViewReference());
-}
-/**
- * Pin the view.
- */
-protected void doDock() {
-	getPage().removeFastView(getViewReference());
-}
-
-/**
- * Draws the applicable gradient on the view's title area
- */
-/* package */ void drawGradient() {
-	if (titleLabel == null || viewToolBar == null || isvToolBar == null)
-		return;
-	if (showFocus) {
-		if (getShellActivated()) {
-			titleLabel.setBackground(WorkbenchColors.getActiveViewGradient(), WorkbenchColors.getActiveViewGradientPercents());
-			titleLabel.setForeground(WorkbenchColors.getSystemColor(SWT.COLOR_TITLE_FOREGROUND));
-			titleLabel.update();
-			viewToolBar.setBackground(WorkbenchColors.getActiveViewGradientEnd());
-			isvToolBar.setBackground(WorkbenchColors.getActiveViewGradientEnd());
-		}
-		else {
-			titleLabel.setBackground(WorkbenchColors.getDeactivatedViewGradient(), WorkbenchColors.getDeactivatedViewGradientPercents());
-			titleLabel.setForeground(WorkbenchColors.getSystemColor(SWT.COLOR_TITLE_INACTIVE_FOREGROUND));
-			titleLabel.update();
-			viewToolBar.setBackground(WorkbenchColors.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
-			isvToolBar.setBackground(WorkbenchColors.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
-		}
-	}
-	else {
-		titleLabel.setBackground(null, null);
-		titleLabel.setForeground(null);
-		titleLabel.update();
-		viewToolBar.setBackground(WorkbenchColors.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
-		isvToolBar.setBackground(WorkbenchColors.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
-	}
-}
-
-/**
- * Returns the drag control.
- */
-public Control getDragHandle() {
-	return titleLabel;
-}
-/**
- * @see ViewActionBars
- */
-public MenuManager getMenuManager() {
-	if (isvMenuMgr == null)
-		isvMenuMgr = new PaneMenuManager();
-	return isvMenuMgr;
-}
-
-/**
- * Returns the tab list to use when this part is active.
- * Includes the view and its tab (if applicable), in the appropriate order.
- */
-public Control[] getTabList() {
-	Control c = getControl();
-	if (getContainer() instanceof PartTabFolder) {
-		PartTabFolder tf = (PartTabFolder) getContainer();
-		CTabFolder f = (CTabFolder) tf.getControl();
-		if (f.getItemCount() > 1) {
-			if ((f.getStyle() & SWT.TOP) != 0) {
-				return new Control[] { f, c };
-			}
-			else {
-				return new Control[] { c, f };
-			}
-		}
-	}
-	return new Control[] { c };
-}
-
-/**
- * @see ViewActionBars
- */
-public ToolBarManager getToolBarManager() {
-	return isvToolBarMgr;
-}
-/**
- * Answer the view part child.
- */
-public IViewReference getViewReference() {
-	return (IViewReference)getPartReference();
-}
-/**
- * Indicates that a property has changed.
- *
- * @param source the object whose property has changed
- * @param propId the id of the property which has changed; property ids
- *   are generally defined as constants on the source class
- */
-public void propertyChanged(Object source, int propId) {
-	if (propId == IWorkbenchPart.PROP_TITLE)
-		updateTitles();
-}
-/**
- * Sets the fast view state.  If this view is a fast view then
- * various controls like pin and minimize are added to the
- * system bar.
- */
-public void setFast(boolean b) {
-	fast = b;
-	if (viewToolBarMgr != null) {
-		viewToolBarMgr.update(true);
-	}
-}
-public void setFastViewSash(Sash s) {
-	fastViewSash = s;
-}
-
-/* (non-Javadoc)
- * Method declared on PartPane.
- */
-/* package */ void shellActivated() {
-	drawGradient();
-}
-
-/* (non-Javadoc)
- * Method declared on PartPane.
- */
-/* package */ void shellDeactivated() {
-	drawGradient();
-}
-
-/**
- * Indicate focus in part.
- */
-public void showFocus(boolean inFocus) {
-	if (titleLabel == null)
-		return;
-
-	showFocus = inFocus;
-	drawGradient();
-}
-
-/**
- * Shows the pane menu (system menu) for this pane.
- */
-public void showPaneMenu() {
-	// If this is a fast view, it may have been minimized. Do nothing in this case.
-	if(isFastView() && (page.getActiveFastView() != getViewReference()))
-		return;
-	Rectangle bounds = titleLabel.getBounds();
-	showPaneMenu(titleLabel,new Point(0,bounds.height));
-}
-/**
- * Return true if this view is a fast view.
- */
-private boolean isFastView() {
-	return page.isFastView(getViewReference());
-}
-/**
- * Finds and return the sashes around this part.
- */
-protected Sashes findSashes() {
-	Sashes result = new Sashes();
-	if(isFastView()) {
-		result.right = fastViewSash;		
-		return result;
-	}
-	RootLayoutContainer	container = getRootContainer();
-	if(container == null)
-		return result;
-		
-	if (this.getContainer() instanceof PartTabFolder)
-		container.findSashes((PartTabFolder)this.getContainer(),result);
-	else
-		container.findSashes(this,result);
-	return result;
-}
-/**
- * Add the Fast View menu item to the view title menu.
- */
-protected void addFastViewMenuItem(Menu parent,boolean isFastView) {
-	// add fast view item
-	MenuItem item = new MenuItem(parent, SWT.CHECK);
-	item.setText(WorkbenchMessages.getString("ViewPane.fastView")); //$NON-NLS-1$
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			if (isFastView())
-				doDock();
-			else
-				doMakeFast();
-		}
-	});
-	item.setSelection(isFastView);
-	
-	if(isFastView) {
-		item = new MenuItem(parent, SWT.NONE);
-		item.setText(WorkbenchMessages.getString("ViewPane.minimizeView")); //$NON-NLS-1$
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				doMinimize();
-			}
-		});
-		item.setEnabled(true);
-	}
-}
-/**
- * Add the View and Tab Group items to the Move menu.
- */
-protected void addMoveItems(Menu moveMenu) {
-	// See also similar restrictions in isDragAllowed method.
-	// No need to worry about mouse cursor over image, just
-	// fast views.
-	boolean moveAllowed = !isZoomed() && !isFastView();
-	
-	// Add move view only menu item
-	MenuItem item = new MenuItem(moveMenu, SWT.NONE);
-	item.setText(WorkbenchMessages.getString("ViewPane.moveView")); //$NON-NLS-1$
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			page.openTracker(ViewPane.this);
-		}
-	});
-	item.setEnabled(moveAllowed);
-	
-	// Add move view's tab folder menu item
-	item = new MenuItem(moveMenu, SWT.NONE);
-	item.setText(WorkbenchMessages.getString("ViewPane.moveFolder")); //$NON-NLS-1$
-	item.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			ILayoutContainer container = getContainer();
-			if (container instanceof PartTabFolder)
-				((PartTabFolder)container).openTracker((PartTabFolder)container);
-		}
-	});
-	item.setEnabled(moveAllowed && (getContainer() instanceof PartTabFolder));
-}
-
-/**
- * Return if there should be a view menu at all.
- * There is no view menu if there is no menu manager,
- * no pull down button or if the receiver is an
- * inactive fast view.
- */
-public boolean hasViewMenu(){
-	if (isvMenuMgr == null)
-		return false;
-		
-	//If there is no pull down button there is no associated menu
-	if(pullDownButton == null || pullDownButton.isDisposed())
-		return false;
-		
-	return true;
-}
-
-/**
- * Show the view menu for this window.
- */
-public void showViewMenu() {
-	
-	if(!hasViewMenu())
-		return;
-		
-	// If this is a fast view, it may have been minimized. Do nothing in this case.
-	if(isFastView() && (page.getActiveFastView() != getViewReference()))
-		return;
-				
-	Menu aMenu = isvMenuMgr.createContextMenu(getControl());
-	Rectangle bounds = pullDownButton.getBounds();
-	Point topLeft = new Point(bounds.x, bounds.y + bounds.height);
-	topLeft = viewToolBar.toDisplay(topLeft);
-	aMenu.setLocation(topLeft.x, topLeft.y);
-	aMenu.setVisible(true);
-}
-/**
- * @see IPartDropTarget::targetPartFor
- */
-public LayoutPart targetPartFor(LayoutPart dragSource) {
-	// When zoomed, its like we are not part of the
-	// tab folder so return the view.
-	if (isZoomed())
-		return this;
-
-	// Make use of the container if a tab folder
-	ILayoutContainer container = getContainer();
-	if (container instanceof PartTabFolder)
-		return (PartTabFolder) container;
-	else
-		return this;
-}
-public String toString() {
-	String label = "disposed";//$NON-NLS-1$
-	if((titleLabel != null) && (!titleLabel.isDisposed()))
-		label = titleLabel.getText();
-	
-	return getClass().getName() + "@" + Integer.toHexString(hashCode()) + //$NON-NLS-1$
-	"(" + label + ")";//$NON-NLS-2$//$NON-NLS-1$
-}
-/**
- * @see ViewActionBars
- */
-public void updateActionBars() {
-	if (isvMenuMgr != null)
-		isvMenuMgr.updateAll(false);
-	if (viewToolBarMgr != null)
-		viewToolBarMgr.update(false);
-	if (isvToolBarMgr != null)
-		isvToolBarMgr.update(false);
-}
-/**
- * Update the title attributes.
- */
-public void updateTitles() {
-	IViewReference ref = getViewReference();
-	String text = ref.getTitle();
-	if (text == null)
-		text = "";//$NON-NLS-1$
-	Image image = ref.getTitleImage();
-	// only update and relayout if text or image has changed
-	if (!text.equals(titleLabel.getText()) || image != titleLabel.getImage()) {
-		titleLabel.setText(text);
-		titleLabel.setImage(image);
-		((Composite) getControl()).layout();
-	}
-	titleLabel.setToolTipText(ref.getTitleToolTip());
-	// XXX: Workaround for 1GCGA89: SWT:ALL - CLabel tool tip does not always update properly
-	titleLabel.update();
-
-	// notify the page that this view's title has changed
-	// in case it needs to update its fast view button
-	page.updateTitle(ref);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewPluginAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewPluginAction.java
deleted file mode 100644
index 50a58a8..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewPluginAction.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.ui.*;
-
-/**
- * This class extends regular plugin action with the
- * additional requirement that the delegate has
- * to implement interface IViewActionDeelgate.
- * This interface has one additional method (init)
- * whose purpose is to initialize the delegate with
- * the view part in which the action is intended to run.
- */
-public final class ViewPluginAction extends PartPluginAction {
-	private IViewPart viewPart;
-
-	/**
-	 * This class adds the requirement that action delegates
-	 * loaded on demand implement IViewActionDelegate
-	 */
-	public ViewPluginAction(IConfigurationElement actionElement, String runAttribute, IViewPart viewPart, String definitionId, int style) {
-		super(actionElement, runAttribute, definitionId, style);
-		this.viewPart = viewPart;
-		registerSelectionListener(viewPart);
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on PluginAction.
-	 */
-	protected IActionDelegate validateDelegate(Object obj) throws WorkbenchException {
-		if (obj instanceof IViewActionDelegate)
-			return (IViewActionDelegate)obj;
-		else
-			throw new WorkbenchException("Action must implement IViewActionDelegate"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on PluginAction.
-	 */
-	protected void initDelegate() {
-		super.initDelegate();
-		((IViewActionDelegate)getDelegate()).init(viewPart);
-	}
-
-	/**
-	 * Returns true if the view has been set
-	 * The view may be null after the constructor is called and
-	 * before the view is stored.  We cannot create the delegate
-	 * at that time.
-	 */
-	public boolean isOkToCreateDelegate() {
-		return super.isOkToCreateDelegate() && viewPart != null;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewSite.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewSite.java
deleted file mode 100644
index 6668d6e..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewSite.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.internal.registry.IViewDescriptor;
-
-/**
- * A view container manages the services for a view.
- */
-public class ViewSite extends PartSite
-	implements IViewSite
-{
-/**
- * Creates a new ViewSite.
- */
-public ViewSite(IViewPart view, WorkbenchPage page, IViewDescriptor desc) {
-	super(view, page);
-	setConfigurationElement(desc.getConfigurationElement());
-}
-/**
- * Returns the view.
- */
-public IViewPart getViewPart() {
-	return (IViewPart)getPart();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewerActionBuilder.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewerActionBuilder.java
deleted file mode 100644
index 64f6c3e..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ViewerActionBuilder.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package org.eclipse.ui.internal;
-
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * This class reads the registry for extensions that plug into
- * 'popupMenus' extension point and deals only with the 'viewerContribution'
- * elements.
- */
-public class ViewerActionBuilder extends PluginActionBuilder {
-	public static final String TAG_CONTRIBUTION_TYPE = "viewerContribution"; //$NON-NLS-1$
-
-	private ISelectionProvider provider;
-	private IWorkbenchPart part;
-
-	/**
-	 * Basic contstructor
-	 */
-	public ViewerActionBuilder() {
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on PluginActionBuilder.
-	 */
-	protected ActionDescriptor createActionDescriptor(IConfigurationElement element) {
-		ActionDescriptor desc = null;
-		if (part instanceof IViewPart)
-			desc = new ActionDescriptor(element, ActionDescriptor.T_VIEW, part);
-		else
-			desc = new ActionDescriptor(element, ActionDescriptor.T_EDITOR, part);
-		if (provider != null) {
-			PluginAction action = desc.getAction();
-			provider.addSelectionChangedListener(action);
-		}
-		return desc;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on PluginActionBuilder.
-	 */
-	protected BasicContribution createContribution() {
-		return new ViewerContribution(provider);
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on PluginActionBuilder.
-	 */
-	protected boolean readElement(IConfigurationElement element) {
-		String tag = element.getName();
-		
-		// Found visibility sub-element
-		if (tag.equals(PluginActionBuilder.TAG_VISIBILITY)) {
-			((ViewerContribution)currentContribution).setVisibilityTest(element);
-			return true;
-		} 
-		
-		return super.readElement(element);
-	}
-	
-	/**
-	 * Reads the contributions for a viewer menu.
-	 * This method is typically used in conjunction with <code>contribute</code> to read
-	 * and then insert actions for a particular viewer menu.
-	 *
-	 * @param id the menu id
-	 * @param prov the selection provider for the control containing the menu
-	 * @param part the part containing the menu.
-	 * @return <code>true</code> if 1 or more items were read.  
-	 */
-	public boolean readViewerContributions(String id, ISelectionProvider prov, IWorkbenchPart part) {
-		provider = prov;
-		this.part = part;
-		readContributions(id, TAG_CONTRIBUTION_TYPE, IWorkbenchConstants.PL_POPUP_MENU);
-		return (cache != null);
-	}
-
-
-	/**
-	 * Helper class to collect the menus and actions defined within a
-	 * contribution element.
-	 */
-	private static class ViewerContribution extends BasicContribution {
-		private ISelectionProvider selProvider;
-		private ActionExpression visibilityTest;
-
-		public ViewerContribution(ISelectionProvider selProvider) {
-			super();
-			this.selProvider = selProvider;
-		}
-		
-		public void setVisibilityTest(IConfigurationElement element) {
-			visibilityTest = new ActionExpression(element);
-		}
-		
-		/* (non-Javadoc)
-		 * Method declared on BasicContribution.
-		 */
-		public void contribute(IMenuManager menu, boolean menuAppendIfMissing, IToolBarManager toolbar, boolean toolAppendIfMissing) {
-			boolean visible = true;
-			
-			if (visibilityTest != null) {
-				ISelection selection = selProvider.getSelection();
-				if (selection instanceof IStructuredSelection) {
-					visible = visibilityTest.isEnabledFor((IStructuredSelection) selection);
-				} else {
-					visible = visibilityTest.isEnabledFor(selection);
-				}
-			}
-			
-			if (visible)
-				super.contribute(menu, menuAppendIfMissing, toolbar, toolAppendIfMissing);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WWinActionBars.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WWinActionBars.java
deleted file mode 100644
index 8b0216e..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WWinActionBars.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- 
-import org.eclipse.jface.action.*;
-import org.eclipse.ui.IActionBars;
-
-public class WWinActionBars implements IActionBars {
-	private WorkbenchWindow window;
-/**
- * PerspActionBars constructor comment.
- */
-public WWinActionBars(WorkbenchWindow window) {
-	super();
-	this.window = window;
-}
-/**
- * Clears the global action handler list.
- */
-public void clearGlobalActionHandlers() {
-}
-/**
- * Get the handler for a window action.
- *
- * @param actionID an action ID declared in the registry
- * @return an action handler which implements the action ID, or
- *		<code>null</code> if none is registered.
- */
-public IAction getGlobalActionHandler(String actionID) {
-	return null;
-}
-/**
- * Returns the menu manager.  If items are added or
- * removed from the manager be sure to call <code>updateActionBars</code>.
- *
- * @return the menu manager
- */
-public IMenuManager getMenuManager() {
-	return window.getMenuManager();
-}
-/**
- * Returns the status line manager.  If items are added or
- * removed from the manager be sure to call <code>updateActionBars</code>.
- *
- * @return the status line manager
- */
-public IStatusLineManager getStatusLineManager() {
-	return window.getStatusLineManager();
-}
-/**
- * Returns the tool bar manager.  If items are added or
- * removed from the manager be sure to call <code>updateActionBars</code>.
- *
- * @return the tool bar manager
- */
-public IToolBarManager getToolBarManager() {
-	return window.getCoolBarManager();
-}
-/**
- * Add a handler for a window action.
- *
- * The standard action ID's for the workbench are defined in
- * <code>IWorkbenchActions</code>.
- *
- * @see IWorkbenchActions
- *
- * @param actionID an action ID declared in the registry
- * @param handler an action which implements the action ID.  
- *		<code>null</code> may be passed to deregister a handler.
- */
-public void setGlobalActionHandler(String actionID, IAction handler) {
-}
-/**
- * Commits all UI changes.  This should be called
- * after additions or subtractions have been made to a 
- * menu, status line, or toolbar.
- */
-public void updateActionBars() {
-	window.updateActionBars();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WWinKeyBindingService.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WWinKeyBindingService.java
deleted file mode 100644
index b76b315..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WWinKeyBindingService.java
+++ /dev/null
@@ -1,374 +0,0 @@
-package org.eclipse.ui.internal;
-/*
- * (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 java.util.Map;
-import java.util.SortedSet;
-import java.util.TreeSet;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.VerifyEvent;
-import org.eclipse.swt.events.VerifyListener;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.IPageListener;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.internal.commands.keys.KeyMachine;
-import org.eclipse.ui.internal.commands.keys.KeyManager;
-import org.eclipse.ui.internal.commands.keys.KeySequence;
-import org.eclipse.ui.internal.commands.keys.KeyStroke;
-import org.eclipse.ui.internal.commands.keys.Match;
-import org.eclipse.ui.internal.commands.Util;
-import org.eclipse.ui.internal.registry.IActionSet;
-
-/**
- * @version 	2.0
- * @author
- */
-public class WWinKeyBindingService {
-
-	/* Maps all global actions definition ids to the action */
-	private HashMap globalActionDefIdToAction = new HashMap();
-	/* Maps all action sets definition ids to the action */
-	private HashMap actionSetDefIdToAction = new HashMap();
-	/* A listener to property changes so the mappings can
-	 * be updated whenever the active configuration changes.
-	 */
-	private IPropertyChangeListener propertyListener;
-	/* The current KeyBindindService */
-	private KeyBindingService activeService;
-	/* The window this service is managing the accelerators for.*/
-	private WorkbenchWindow window;
-
-	private AcceleratorMenu accMenu;
-
-	private VerifyListener verifyListener = new VerifyListener() {
-		public void verifyText(VerifyEvent event) {
-			event.doit = false;
-			clear();
-		}
-	};
-
-	private void setStatusLineMessage(KeySequence keySequence) {
-		StringBuffer stringBuffer = new StringBuffer();
-		
-		if (keySequence != null) {
-			Iterator iterator = keySequence.getKeyStrokes().iterator();
-			int i = 0;
-			
-			while (iterator.hasNext()) {					
-				if (i != 0)
-					stringBuffer.append(' ');
-	
-				KeyStroke keyStroke = (KeyStroke) iterator.next();
-				int accelerator = keyStroke.getAccelerator();
-				stringBuffer.append(
-					org.eclipse.jface.action.Action.convertAccelerator(
-					accelerator));					
-				i++;
-			}		
-		}
-	
-		window.getActionBars().getStatusLineManager().setMessage(stringBuffer.toString());
-	}
-
-	public void clear() {		
-		KeyManager keyManager = KeyManager.getInstance();
-		KeyMachine keyMachine = keyManager.getKeyMachine();
-		
-		/*if (*/keyMachine.setMode(KeySequence.create());//) {
-			setStatusLineMessage(null);	
-			updateAccelerators();
-		//}
-	}
-	
-	public void pressed(KeyStroke keyStroke, Event event) { 
-		//System.out.println("pressed(" + keyStroke.getAccelerator() + ")");
-		KeyManager keyManager = KeyManager.getInstance();
-		KeyMachine keyMachine = keyManager.getKeyMachine();
-		Map keySequenceMapForMode = keyMachine.getKeySequenceMapForMode();
-		KeySequence mode = keyMachine.getMode();
-		List keyStrokes = new ArrayList(mode.getKeyStrokes());
-		keyStrokes.add(keyStroke);
-		KeySequence keySequence = KeySequence.create(keyStrokes);
-		SortedSet matchSet = (SortedSet) keySequenceMapForMode.get(keySequence);
-		
-		if (matchSet != null && matchSet.size() == 1) {
-			clear();
-			Match match = (Match) matchSet.iterator().next();				
-			invoke(match.getBinding().getAction(), event);					
-		} else {
-			keyMachine.setMode(keySequence);
-			setStatusLineMessage(keySequence);
-			keySequenceMapForMode = keyMachine.getKeySequenceMapForMode();
-			
-			if (keySequenceMapForMode.isEmpty())
-				clear();	
-			else
-				updateAccelerators();
-		}
-	}
-
-	public void invoke(String action, Event event) {		
-		//System.out.println("invoke(" + action + ")");
-		if (activeService != null) {
-			IAction a = activeService.getAction(action);
-			
-			if (a != null && a.isEnabled())
-				a.runWithEvent(event);
-		}
-	}
-
-	/**
-	 * Create an instance of WWinKeyBindingService and initializes it.
-	 */			
-	public WWinKeyBindingService(final WorkbenchWindow window) {
-		this.window = window;
-		IWorkbenchPage[] pages = window.getPages();
-		final IPartListener partListener = new IPartListener() {
-			public void partActivated(IWorkbenchPart part) {
-				update(part,false);
-			}
-			public void partBroughtToTop(IWorkbenchPart part) {}
-			public void partClosed(IWorkbenchPart part) {}
-			public void partDeactivated(IWorkbenchPart part) {
-				clear();
-			}
-			public void partOpened(IWorkbenchPart part) {}
-		};
-		final ShellListener shellListener = new ShellAdapter() {
-			public void shellDeactivated(ShellEvent e) {
-				clear();
-			}
-		};		
-		for(int i=0; i<pages.length;i++) {
-			pages[i].addPartListener(partListener);
-		}
-		window.addPageListener(new IPageListener() {
-			public void pageActivated(IWorkbenchPage page){}
-			public void pageClosed(IWorkbenchPage page){}
-			public void pageOpened(IWorkbenchPage page){
-				page.addPartListener(partListener);
-				partListener.partActivated(page.getActivePart());
-				window.getShell().removeShellListener(shellListener);				
-				window.getShell().addShellListener(shellListener);				
-			}
-		});
-		propertyListener = new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (event.getProperty().equals(IWorkbenchConstants.ACCELERATOR_CONFIGURATION_ID)) {
-					IWorkbenchPage page = window.getActivePage();
-					if(page != null) {
-						IWorkbenchPart part = page.getActivePart();
-						if(part != null) {
-							update(part,true);
-							return;
-						}
-					}
-					MenuManager menuManager = window.getMenuManager();
-					menuManager.updateAll(true);
-				}
-			}
-		};
-		IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-		store.addPropertyChangeListener(propertyListener);
-	}
-	/** 
-	 * Remove the propety change listener when the windows is disposed.
-	 */
-	public void dispose() {
-		IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-		store.removePropertyChangeListener(propertyListener);
-	}
-	/**
-	 * Register a global action in this service
-	 */	
-	public void registerGlobalAction(IAction action) {
-		globalActionDefIdToAction.put(action.getActionDefinitionId(),action);
-	}
-	/**
-	 * Register all action from the specifed action set.
-	 */	
-	public void registerActionSets(IActionSet sets[]) {
-		actionSetDefIdToAction.clear();
-		
-		for (int i=0; i<sets.length; i++) {
-			if (sets[i] instanceof PluginActionSet) {
-				PluginActionSet set = (PluginActionSet)sets[i];
-				IAction actions[] = set.getPluginActions();
-				
-				for (int j = 0; j < actions.length; j++) {
-					Action action = (Action)actions[j];
-					String defId = action.getActionDefinitionId();
-					
-					if (defId != null) {
-						actionSetDefIdToAction.put(action.getActionDefinitionId(),action);
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Returns a Map with all action registered in this service.
-	 */
-	public HashMap getMapping() {
-		// TBD: this could be a performance problem.
-		HashMap result = (HashMap) globalActionDefIdToAction.clone();
-		result.putAll(actionSetDefIdToAction);
-		return result;
-	}
-	/**
-	 * Returns the workbench window.
-	 */
-	public IWorkbenchWindow getWindow() {
-		return window;	
-	}
-	/**
-	 * Remove or restore the accelerators in the menus.
-	 */
-   	public void update(IWorkbenchPart part, boolean force) {
-   		if (part == null)
-   			return;
-   		
-		String[] oldScopeIds = new String[0];
-   		
-   		if (activeService != null)
-   			oldScopeIds = activeService.getScopeIds();
-   			
-    	activeService = (KeyBindingService) part.getSite().getKeyBindingService();
-		clear();
-
-   		String[] newScopeIds = new String[0];
-  		
-   		if (activeService != null)
-   			newScopeIds = activeService.getScopeIds();
-
-    	if (force || Util.compare(oldScopeIds, newScopeIds) != 0) {
-			KeyManager keyManager = KeyManager.getInstance();
-			KeyMachine keyMachine = keyManager.getKeyMachine();
-	    	
-	    	// TBD: remove this later
-	    	if (newScopeIds == null || newScopeIds.length == 0)
-	    		newScopeIds = new String[] { "org.eclipse.ui.globalScope" };
-	    	
-	    	try {
-	    		keyMachine.setScopes(newScopeIds);
-	    	} catch (IllegalArgumentException eIllegalArgument) {
-	    		System.err.println(eIllegalArgument);
-	    	}
-	    			    	   	
-	    	WorkbenchWindow w = (WorkbenchWindow) getWindow();
-   	 		MenuManager menuManager = w.getMenuManager();
- 			menuManager.update(IAction.TEXT);
-    	}
-    }
-    /**
-     * Returns the definition id for <code>accelerator</code>
-     */
-    public String getDefinitionId(int accelerator) {
-    	if (activeService == null) 
-    		return null;
-
-		KeyManager keyManager = KeyManager.getInstance();
-		KeyMachine keyMachine = keyManager.getKeyMachine();        
-		KeySequence mode = keyMachine.getMode();
-		List keyStrokes = new ArrayList(mode.getKeyStrokes());
-		keyStrokes.add(KeyStroke.create(accelerator));
-    	KeySequence keySequence = KeySequence.create(keyStrokes);    		
-		Map keySequenceMapForMode = keyMachine.getKeySequenceMapForMode();
-		SortedSet matchSet = (SortedSet) keySequenceMapForMode.get(keySequence);
-
-		if (matchSet != null && matchSet.size() == 1) {
-			Match match = (Match) matchSet.iterator().next();				
-			return match.getBinding().getAction();
-		}
-		
-		return null;
-    }
-
-	/**
-	 * Update the KeyBindingMenu with the current set of accelerators.
-	 */
-	public void updateAccelerators() {
-		KeyManager keyManager = KeyManager.getInstance();
-		KeyMachine keyMachine = keyManager.getKeyMachine();      		
-		KeySequence mode = keyMachine.getMode();
-		List keyStrokes = mode.getKeyStrokes();
-		int size = keyStrokes.size();
-		
-		Map keySequenceMapForMode = keyMachine.getKeySequenceMapForMode();
-		SortedSet keyStrokeSetForMode = new TreeSet();
-		Iterator iterator = keySequenceMapForMode.keySet().iterator();
-
-		while (iterator.hasNext()) {
-			KeySequence keySequence = (KeySequence) iterator.next();
-			
-			if (keySequence.isChildOf(mode, false))
-				keyStrokeSetForMode.add(keySequence.getKeyStrokes().get(size));	
-		}
-
-	   	iterator = keyStrokeSetForMode.iterator();
-	   	int[] accelerators = new int[keyStrokeSetForMode.size()];
-		int i = 0;
-			   	
-	   	while (iterator.hasNext()) {
-	   		KeyStroke keyStroke = (KeyStroke) iterator.next();
-	   		accelerators[i++] = keyStroke.getAccelerator();	   		
-	   	}
-
-		if (accMenu == null || accMenu.isDisposed()) {		
-			Menu parent = window.getShell().getMenuBar();
-			if (parent == null || parent.getItemCount() < 1)
-				return;
-			MenuItem parentItem = parent.getItem(parent.getItemCount() - 1);
-			parent = parentItem.getMenu();
-			accMenu = new AcceleratorMenu(parent);
-		}
-		
-		if (accMenu == null)
-			return;
-		
-		accMenu.setAccelerators(accelerators);		
-		accMenu.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent selectionEvent) {
-				Event event = new Event();
-				event.item = selectionEvent.item;
-				event.detail = selectionEvent.detail;
-				event.x = selectionEvent.x;
-				event.y = selectionEvent.y;
-				event.width = selectionEvent.width;
-				event.height = selectionEvent.height;
-				event.stateMask = selectionEvent.stateMask;
-				event.doit = selectionEvent.doit;
-				event.data = selectionEvent.data;
-				event.display = selectionEvent.display;
-				event.time = selectionEvent.time;
-				event.widget = selectionEvent.widget;
-				pressed(KeyStroke.create(selectionEvent.detail), event);
-			}
-		});
-
-		if (mode.getKeyStrokes().size() == 0)
-			accMenu.removeVerifyListener(verifyListener);
-		else
-			accMenu.addVerifyListener(verifyListener);
-	}    
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WWinPartService.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WWinPartService.java
deleted file mode 100644
index 5933495..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WWinPartService.java
+++ /dev/null
@@ -1,178 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001, 2002.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-
-/**
- * A part service for a workbench window.
- */
-public class WWinPartService implements IPartService {
-	private IWorkbenchWindow window;
-	private PartListenerList listeners = new PartListenerList();
-	private PartListenerList2 listeners2 = new PartListenerList2();
-	private WindowSelectionService selectionService;
-	private IWorkbenchPage activePage;
-	private IPartListener2 partListner = new IPartListener2() {
-		public void partActivated(IWorkbenchPartReference ref) {
-			IWorkbenchPart part = ref.getPart(false);
-			if(part != null) {
-				listeners.firePartActivated(part);
-				selectionService.partActivated(part);
-			}
-			listeners2.firePartActivated(ref);	
-		}
-		public void partBroughtToTop(IWorkbenchPartReference ref) {
-			IWorkbenchPart part = ref.getPart(false);
-			if(part != null) {
-				listeners.firePartBroughtToTop(part);
-				selectionService.partBroughtToTop(part);
-			}
-			listeners2.firePartBroughtToTop(ref);	
-		}
-		public void partClosed(IWorkbenchPartReference ref) {
-			IWorkbenchPart part = ref.getPart(false);
-			if(part != null) {
-				listeners.firePartClosed(part);
-				selectionService.partClosed(part);
-			}
-			listeners2.firePartClosed(ref);	
-		}
-		public void partDeactivated(IWorkbenchPartReference ref) {
-			IWorkbenchPart part = ref.getPart(false);
-			if(part != null) {
-				listeners.firePartDeactivated(part);
-				selectionService.partDeactivated(part);
-			}
-			listeners2.firePartDeactivated(ref);	
-		}
-		public void partOpened(IWorkbenchPartReference ref) {
-			IWorkbenchPart part = ref.getPart(false);
-			if(part != null) {
-				listeners.firePartOpened(part);
-				selectionService.partOpened(part);
-			}
-			listeners2.firePartOpened(ref);	
-		}
-		public void partHidden(IWorkbenchPartReference ref) {
-			listeners2.firePartHidden(ref);	
-		}
-		public void partVisible(IWorkbenchPartReference ref) {
-			listeners2.firePartVisible(ref);	
-		}
-		public void partInputChanged(IWorkbenchPartReference ref) {
-			listeners2.firePartInputChanged(ref);	
-		}
-	};
-	
-/**
- * Creates a new part service for a workbench window.
- */
-public WWinPartService(IWorkbenchWindow window) {
-	this.window = window;
-	selectionService = new WindowSelectionService(window);
-}
-/*
- * (non-Javadoc)
- * Method declared on IPartService
- */
-public void addPartListener(IPartListener l) {
-	listeners.addPartListener(l);
-}
-/*
- * (non-Javadoc)
- * Method declared on IPartService
- */
-public void addPartListener(IPartListener2 l) {
-	listeners2.addPartListener(l);
-}
-/*
- * (non-Javadoc)
- * Method declared on IPartService
- */
-public void removePartListener(IPartListener l) {
-	listeners.removePartListener(l);
-}
-/*
- * (non-Javadoc)
- * Method declared on IPartService
- */
-public void removePartListener(IPartListener2 l) {
-	listeners2.removePartListener(l);
-}
-/*
- * (non-Javadoc)
- * Method declared on IPartService
- */
-public IWorkbenchPart getActivePart() {
-	if (activePage != null)
-		return activePage.getActivePart();
-	else
-		return null;
-}
-/*
- * (non-Javadoc)
- * Method declared on IPartService
- */
-public IWorkbenchPartReference getActivePartReference() {
-	if (activePage != null)
-		return activePage.getActivePartReference();
-	else
-		return null;
-}
-/*
- * Returns the selection service.
- */
-ISelectionService getSelectionService() {
-	return selectionService;
-}
-/*
- * Notifies that a page has been activated.
- */
-void pageActivated(IWorkbenchPage newPage) {
-	// Optimize.
-	if (newPage == activePage)
-		return;
-		
-	// Unhook listener from the old page.
-	reset();
-
-	// Update active page.
-	activePage = newPage;
-
-	// Hook listener on the new page.
-	if (activePage != null) {
-		activePage.addPartListener(partListner);
-		if (getActivePart() != null)
-			partListner.partActivated(getActivePartReference());
-	}
-}
-/*
- * Notifies that a page has been closed
- */
-void pageClosed(IWorkbenchPage page) {
-	// Unhook listener from the old page.
-	if (page == activePage) {
-		reset();
-	}
-}
-/*
- * Notifies that a page has been opened.
- */
-void pageOpened(IWorkbenchPage page) {
-	pageActivated(page);
-}
-/*
- * Resets the part service.  The active page, part and selection are
- * dereferenced.
- */
-private void reset() {
-	if (activePage != null) {
-		activePage.removePartListener(partListner);
-		activePage = null;
-	}
-	selectionService.reset();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WWinPerspectiveService.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WWinPerspectiveService.java
deleted file mode 100644
index cfd7f213..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WWinPerspectiveService.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-
-/**
- * A perspective service for the workbench window.
- */
-public class WWinPerspectiveService implements IPerspectiveService {
-	private WorkbenchWindow workbenchWindow;
-	private PerspectiveListenerList perspectiveListeners = new PerspectiveListenerList();
-/**
- * WWinPerspectiveService constructor comment.
- */
-public WWinPerspectiveService(WorkbenchWindow window) {
-	super();
-	this.workbenchWindow = window;
-}
-/**
- * Adds the given listener for a page's perspective lifecycle events.
- * Has no effect if an identical listener is already registered.
- *
- * @param listener a perspective listener
- */
-public void addPerspectiveListener(IInternalPerspectiveListener listener) {
-	perspectiveListeners.addPerspectiveListener(listener);
-}
-/**
- * Fires perspective activated
- */
-protected void firePerspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
-	perspectiveListeners.firePerspectiveActivated(page, perspective);
-}
-/**
- * Fires perspective changed
- */
-protected void firePerspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) {
-	perspectiveListeners.firePerspectiveChanged(page, perspective, changeId);
-}
-/**
- * Fires perspective reset
- */
-protected void firePerspectiveClosed(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
-	perspectiveListeners.firePerspectiveClosed(page, perspective);
-}
-/**
- * Fires perspective reset
- */
-protected void firePerspectiveOpened(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
-	perspectiveListeners.firePerspectiveOpened(page, perspective);
-}
-/**
- * Returns the active perspective descriptor in the active workbench page.
- *
- * @return the active perspective descriptor, or <code>null</code> if no perspective is currently active
- */
-public IPerspectiveDescriptor getActivePerspective() {
-	IWorkbenchPage page = workbenchWindow.getActivePage();
-	if (page == null)
-		return null;
-	else
-		return page.getPerspective();
-}
-/**
- * Removes the given page's perspective listener.
- * Has no affect if an identical listener is not registered.
- *
- * @param listener a perspective listener
- */
-public void removePerspectiveListener(IInternalPerspectiveListener listener) {
-	perspectiveListeners.removePerspectiveListener(listener);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WWinPluginAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WWinPluginAction.java
deleted file mode 100644
index c8f0559..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WWinPluginAction.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.events.HelpEvent;
-import org.eclipse.swt.events.HelpListener;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.IActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.actions.LabelRetargetAction;
-import org.eclipse.ui.actions.RetargetAction;
-
-/**
- * This class extends regular plugin action with the
- * additional requirement that the delegate has
- * to implement interface IWorkbenchWindowActionDeelgate.
- * This interface has one additional method (init)
- * whose purpose is to initialize the delegate with
- * the window in which the action is intended to run.
- */
-public class WWinPluginAction extends PluginAction implements IActionSetContributionItem {
-	/**
-	 * The help listener assigned to this action, or <code>null</code> if none.
-	 */
-	private HelpListener localHelpListener;
-
-	private IWorkbenchWindow window;
-	private String actionSetId;
-	private RetargetAction retargetAction;
-	private static String TRUE_VALUE = "true"; //$NON-NLS-1$
-
-	private static ArrayList staticActionList = new ArrayList(50);
-
-	/**
-	 * Constructs a new WWinPluginAction object..
-	 */
-	public WWinPluginAction(IConfigurationElement actionElement, String runAttribute, IWorkbenchWindow window, String definitionId, int style) {
-		super(actionElement, runAttribute, definitionId, style);
-		this.window = window;
-
-		// If config specifies a retarget action, create it now
-		String retarget = actionElement.getAttribute(ActionDescriptor.ATT_RETARGET);
-		if (retarget != null && retarget.equals(TRUE_VALUE)) {
-			// create a retarget action
-			String allowLabelUpdate = actionElement.getAttribute(ActionDescriptor.ATT_ALLOW_LABEL_UPDATE);
-			String id = actionElement.getAttribute(ActionDescriptor.ATT_ID);
-			String label = actionElement.getAttribute(ActionDescriptor.ATT_LABEL);
-
-			if (allowLabelUpdate != null && allowLabelUpdate.equals(TRUE_VALUE))
-				retargetAction = new LabelRetargetAction(id, label);
-			else
-				retargetAction = new RetargetAction(id, label);
-			retargetAction.addPropertyChangeListener(new IPropertyChangeListener() {
-				public void propertyChange(PropertyChangeEvent event) {
-					if (event.getProperty().equals(Action.ENABLED)) {
-						Object val = event.getNewValue();
-						if (val instanceof Boolean) {
-							setEnabled(((Boolean) val).booleanValue());
-						}
-					} else if (event.getProperty().equals(Action.TEXT)) {
-						Object val = event.getNewValue();
-						if (val instanceof String) {
-							setText((String) val);
-						}
-					} else if (event.getProperty().equals(Action.TOOL_TIP_TEXT)) {
-						Object val = event.getNewValue();
-						if (val instanceof String) {
-							setToolTipText((String) val);
-						}
-					}
-				}
-			});
-			retargetAction.setEnabled(false);
-			setEnabled(false);
-			window.getPartService().addPartListener(retargetAction);
-			IWorkbenchPart activePart = window.getPartService().getActivePart();
-			if (activePart != null)
-				retargetAction.partActivated(activePart);
-		} else {
-			// if we retarget the handler will look after selection changes
-			window.getSelectionService().addSelectionListener(this);
-			refreshSelection();
-		}
-		addToActionList(this);
-
-		super.setHelpListener(new HelpListener() {
-			public void helpRequested(HelpEvent e) {
-				HelpListener listener = null;
-				if (retargetAction != null)
-					listener = retargetAction.getHelpListener();
-				if (listener == null)
-					// use our own help listener
-					listener = localHelpListener;
-				if (listener != null)
-					// pass on the event
-					listener.helpRequested(e);
-			}
-		});
-	}
-
-	/**
-	 * Adds an item to the action list.
-	 */
-	private static void addToActionList(WWinPluginAction action) {
-		staticActionList.add(action);
-	}
-
-	/**
-	 * Removes an item from the action list.
-	 */
-	private static void removeFromActionList(WWinPluginAction action) {
-		staticActionList.remove(action);
-	}
-
-	/**
-	 * Creates any actions which belong to an activated plugin.
-	 */
-	public static void refreshActionList() {
-		Iterator iter = staticActionList.iterator();
-		while (iter.hasNext()) {
-			WWinPluginAction action = (WWinPluginAction) iter.next();
-			if ((action.getDelegate() == null) && action.isOkToCreateDelegate()) {
-				action.createDelegate();
-				// creating the delegate also refreshes its enablement
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on PluginAction.
-	 */
-	protected IActionDelegate validateDelegate(Object obj) throws WorkbenchException {
-		if (obj instanceof IWorkbenchWindowActionDelegate)
-			return (IWorkbenchWindowActionDelegate)obj;
-		else
-			throw new WorkbenchException("Action must implement IWorkbenchWindowActionDelegate"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on PluginAction.
-	 */
-	protected void initDelegate() {
-		super.initDelegate();
-		((IWorkbenchWindowActionDelegate)getDelegate()).init(window);
-	}
-
-	/**
-	 * Disposes of the action and any resources held.
-	 */
-	public void dispose() {
-		removeFromActionList(this);
-		if (retargetAction != null) {
-			window.getPartService().removePartListener(retargetAction);
-			retargetAction.dispose();
-			retargetAction = null;
-		}
-		window.getSelectionService().removeSelectionListener(this);
-		if (getDelegate() != null)
-			((IWorkbenchWindowActionDelegate)getDelegate()).dispose();
-	}
-	/**
-	 * Returns the action set id.
-	 */
-	public String getActionSetId() {
-		return actionSetId;
-	}
-	/**
-	 * Returns true if the window has been set.  
-	 * The window may be null after the constructor is called and
-	 * before the window is stored.  We cannot create the delegate
-	 * at that time.
-	 */
-	public boolean isOkToCreateDelegate() {
-		return super.isOkToCreateDelegate() && window != null && retargetAction == null;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IActionDelegate2.
-	 */
-	public void runWithEvent(Event event) {
-		if (retargetAction == null) {
-			super.runWithEvent(event);
-			return;
-		}
-
-		if (event != null)
-			retargetAction.runWithEvent(event);
-		else
-			retargetAction.run();
-	}
-
-	/**
-	 * Sets the action set id.
-	 */
-	public void setActionSetId(String newActionSetId) {
-		actionSetId = newActionSetId;
-	}
-
-	/** 
-	 * The <code>WWinPluginAction</code> implementation of this method
-	 * declared on <code>IAction</code> stores the help listener in
-	 * a local field. The supplied listener is only used if there is
-	 * no retarget action.
-	 */
-	public void setHelpListener(HelpListener listener) {
-		localHelpListener = listener;
-	}
-
-	/**
-	 * Refresh the selection for the action.
-	 */
-	protected void refreshSelection() {
-		ISelection selection = window.getSelectionService().getSelection();
-		selectionChanged(selection);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WWinPluginPulldown.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WWinPluginPulldown.java
deleted file mode 100644
index b743b38..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WWinPluginPulldown.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.*;
-
-/**
- * A workbench window pulldown action.  
- */
-public class WWinPluginPulldown extends WWinPluginAction {
-	private IMenuCreator menuProxy;
-	private class MenuProxy implements IMenuCreator {
-		private Menu menu;
-		public Menu getMenu(Control parent) {
-			IWorkbenchWindowPulldownDelegate delegate = getPulldownDelegate();
-			if (delegate != null) {
-				return delegate.getMenu(parent);
-			} else {
-				return null;
-			}
-		}
-		public Menu getMenu(Menu parent) {
-			IWorkbenchWindowPulldownDelegate delegate = getPulldownDelegate();
-			if (delegate instanceof IWorkbenchWindowPulldownDelegate2) {
-				IWorkbenchWindowPulldownDelegate2 delegate2 = (IWorkbenchWindowPulldownDelegate2) delegate;
-				return delegate2.getMenu(parent);
-			}
-			return null;
-		}
-		public void dispose() {
-		}
-	};
-	
-	/**
-	 * WWinPluginPulldown constructor comment.
-	 * @param actionElement org.eclipse.core.runtime.IConfigurationElement
-	 * @param runAttribute java.lang.String
-	 * @param window org.eclipse.ui.IWorkbenchWindow
-	 */
-	public WWinPluginPulldown(IConfigurationElement actionElement, String runAttribute, IWorkbenchWindow window, String definitionId, int style) {
-		super(actionElement, runAttribute, window, definitionId, style);
-		menuProxy = new MenuProxy();
-		setMenuCreator(menuProxy);
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on PluginAction.
-	 */
-	protected IActionDelegate validateDelegate(Object obj) throws WorkbenchException {
-		if (obj instanceof IWorkbenchWindowPulldownDelegate)
-			return (IWorkbenchWindowPulldownDelegate)obj;
-		else
-			throw new WorkbenchException("Action must implement IWorkbenchWindowPulldownDelegate"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the pulldown delegate.  If it does not exist it is created.
-	 */
-	protected IWorkbenchWindowPulldownDelegate getPulldownDelegate() {
-		IActionDelegate delegate = getDelegate();
-		if (delegate == null) {
-			createDelegate();
-			delegate = getDelegate();
-		}
-		return (IWorkbenchWindowPulldownDelegate) delegate;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WelcomePageSelectionDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WelcomePageSelectionDialog.java
deleted file mode 100644
index 9e715c4..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WelcomePageSelectionDialog.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.dialogs.SelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.dialogs.SimpleListContentProvider;
-import org.eclipse.ui.internal.misc.Assert;
-
-/**
- * Dialog to allow the user to select a feature from a list.
- */
-public class WelcomePageSelectionDialog extends SelectionDialog {
-	/**
-	 * List width in characters.
-	 */
-	private final static int LIST_WIDTH = 60;
-	/**
-	 * List height in characters.
-	 */
-	private final static int LIST_HEIGHT = 10;
-	/**
-	 * The feature about infos.
-	 */
-	private AboutInfo[] features;
-	/**
-	 * List to display the resolutions.
-	 */
-	private ListViewer listViewer;
-
-	/**
-	 * Creates an instance of this dialog to display
-	 * the given features.
-	 * <p>
-	 * There must be at least one feature.
-	 * </p>
-	 * 
-	 * @param shell the parent shell
-	 * @param markerResolutions the resolutions to display
-	 * @param initialSelection the index of the initial selection
-	 */
-	public WelcomePageSelectionDialog(Shell shell, AboutInfo[] features, int initialSelection) {
-		super(shell);
-		Assert.isTrue(features != null && features.length > 0);
-		this.features = features;
-		setTitle(WorkbenchMessages.getString("WelcomePageSelectionDialog.title"));	//$NON-NLS-1$
-		setMessage(WorkbenchMessages.getString("WelcomePageSelectionDialog.message")); //$NON-NLS-1$
-		if (initialSelection >= 0 && initialSelection < features.length)
-			setInitialSelections(new Object[]{features[initialSelection]});
-		else 
-			setInitialSelections(new Object[0]);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on Window.
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		WorkbenchHelp.setHelp(newShell, IHelpContextIds.WELCOME_PAGE_SELECTION_DIALOG);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = (Composite)super.createDialogArea(parent);
-		
-		// Create label
-		createMessageArea(composite);
-		// Create list viewer	
-		listViewer = new ListViewer(composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.heightHint = convertHeightInCharsToPixels(LIST_HEIGHT);
-		data.widthHint = convertWidthInCharsToPixels(LIST_WIDTH);
-		listViewer.getList().setLayoutData(data);
-		listViewer.getList().setFont(parent.getFont());
-		// Set the label provider		
-		listViewer.setLabelProvider(new LabelProvider() {
-			public String getText(Object element) {
-			 	// Return the features's label.
-				return element == null ? "" : ((AboutInfo)element).getFeatureLabel(); //$NON-NLS-1$
-			}
-		});
-	
-		// Set the content provider
-		SimpleListContentProvider cp = new SimpleListContentProvider();
-		cp.setElements(features);
-		listViewer.setContentProvider(cp);
-		listViewer.setInput(new Object()); // it is ignored but must be non-null
-		
-		// Set the initial selection
-		listViewer.setSelection(new StructuredSelection(getInitialElementSelections()), true);	
-		
-		// Add a selection change listener
-		listViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				// Update OK button enablement
-				getOkButton().setEnabled(!event.getSelection().isEmpty());
-			}
-		});
-		
-		// Add double-click listener
-		listViewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				okPressed();
-			}
-		});
-		return composite;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void okPressed() {
-		IStructuredSelection selection = (IStructuredSelection)listViewer.getSelection(); 
-		setResult(selection.toList());
-		super.okPressed();
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WindowPartSelectionTracker.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WindowPartSelectionTracker.java
deleted file mode 100644
index 641f3f2..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WindowPartSelectionTracker.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * 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.jface.viewers.ISelection;
-import org.eclipse.ui.IPageListener;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
- 
-/**
- * Provides part selection tracking for a part with a specific id in all pages of a specific workbench
- * window. This tracker shields clients from a part opening and closing, and still provides selection
- * notification/information even when the part is not active..
- */ 
-public class WindowPartSelectionTracker extends AbstractPartSelectionTracker implements IPageListener, ISelectionListener {
-	
-	/**
-	 * The window this selection tracker is working in
-	 */
-	private IWorkbenchWindow fWindow;
-			
-	/**
-	 * Constructs a new selection tracker for the given window and part id.
-	 * 
-	 * @param window workbench window
-	 * @param partId part identifier
-	 */
-	public WindowPartSelectionTracker(IWorkbenchWindow window, String partId) {
-		super(partId);
-		setWindow(window);
-		window.addPageListener(this);
-		IWorkbenchPage[] pages = window.getPages();
-		for (int i = 0; i < pages.length; i++) {
-			pageOpened(pages[i]);
-		}
-	}
-
-	/*
-	 * @see IPageListener#pageActivated(IWorkbenchPage)
-	 */
-	public void pageActivated(IWorkbenchPage page) {
-	}
-
-	/*
-	 * @see IPageListener#pageClosed(IWorkbenchPage)
-	 */
-	public void pageClosed(IWorkbenchPage page) {
-	}
-	
-	/*
-	 * @see IPageListener#pageOpened(IWorkbenchPage)
-	 */
-	public void pageOpened(IWorkbenchPage page) {
-		page.addSelectionListener(getPartId(), new ISelectionListener() {
-			public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-				fireSelection(part, selection);
-			}
-		});
-		page.addPostSelectionListener(getPartId(), new ISelectionListener() {
-			public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-				firePostSelection(part, selection);
-			}
-		});				
-	}
-	
-	/**
-	 * Sets the window this tracker is working in.
-	 * 
-	 * @param window workbench window
-	 */
-	private void setWindow(IWorkbenchWindow window) {
-		fWindow = window;
-	}
-	
-	/**
-	 * Returns the window this tracker is working in.
-	 * 
-	 * @return workbench window
-	 */
-	protected IWorkbenchWindow getWindow() {
-		return fWindow;
-	}	
-	
-	/**
-	 * @see AbstractPartSelectionTracker#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		fWindow = null;
-	}
-	
-	/*
-	 * @see AbstractPartSelectionTracker#getSelection()
-	 */
-	public ISelection getSelection() {
-		IWorkbenchPage page = getWindow().getActivePage();
-		if (page != null) {
-			return page.getSelection(getPartId());
-		}
-		return null;
-	}
-
-	/*
-	 * @see ISelectionListener#selectionChanged(IWorkbenchPart, ISelection)
-	 */
-	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-		fireSelection(part, selection);
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WindowSelectionService.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WindowSelectionService.java
deleted file mode 100644
index 7f0ab91..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WindowSelectionService.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.ui.IWorkbenchWindow;
-
-/**
- * The selection service for a window.
- */
-/* package */
-class WindowSelectionService extends AbstractSelectionService {
-
-	/**
-	 * The window.
-	 */
-	private IWorkbenchWindow window;
-	
-	/**
-	 * Creates a new selection service for the given window.
-	 */
-	public WindowSelectionService(IWorkbenchWindow window) {
-		setWindow(window);
-	}
-	
-	/**
-	 * Sets the window.
-	 */
-	private void setWindow(IWorkbenchWindow window) {
-		this.window = window;
-	}
-	
-	/**
-	 * Returns the window.
-	 */
-	protected IWorkbenchWindow getWindow() {
-		return window;
-	}
-
-	/*
-	 * @see AbstractSelectionService#createPartTracker(String)
-	 */
-	protected AbstractPartSelectionTracker createPartTracker(String partId) {
-		return new WindowPartSelectionTracker(getWindow(), partId);
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/Workbench.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/Workbench.java
deleted file mode 100644
index 26d5559..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/Workbench.java
+++ /dev/null
@@ -1,1537 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Iterator;
-  
-import org.eclipse.core.boot.IPlatformRunnable;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IMarkerDelta;
-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.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExecutableExtension;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin; 
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants; 
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.operation.ModalContext;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.resource.FontRegistry;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.JFaceColors;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.OpenStrategy;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.window.WindowManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.graphics.DeviceData;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IDecoratorManager;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.IMarkerHelpRegistry;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveRegistry;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IStartup;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWindowListener;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.XMLMemento;
-import org.eclipse.ui.internal.commands.Item;
-import org.eclipse.ui.internal.dialogs.WelcomeEditorInput;
-import org.eclipse.ui.internal.fonts.FontDefinition;
-import org.eclipse.ui.internal.commands.keys.KeyManager;
-import org.eclipse.ui.internal.misc.Assert;
-import org.eclipse.ui.internal.misc.Policy;
-import org.eclipse.ui.internal.misc.UIStats;
-import org.eclipse.ui.internal.model.WorkbenchAdapterBuilder;
-import org.eclipse.update.core.SiteManager;
-
-/**
- * The workbench class represents the top of the ITP user interface.  Its primary
- * responsability is the management of workbench windows and other ISV windows.
- */
-public class Workbench implements IWorkbench, IPlatformRunnable, IExecutableExtension {
-
-	private WindowManager windowManager;
-	private EditorHistory editorHistory;
-	private PerspectiveHistory perspHistory;
-	private boolean runEventLoop;
-	private boolean isStarting = false;
-	private boolean isClosing = false;
-	private Item acceleratorConfiguration;
-	private Object returnCode;
-	private WorkbenchConfigurationInfo configurationInfo;
-	private ListenerList windowListeners = new ListenerList();
-	private String[] commandLineArgs;
-
-	private static final String VERSION_STRING[] = { "0.046", "2.0" }; //$NON-NLS-1$ //$NON-NLS-2$
-	private static final String P_PRODUCT_INFO = "productInfo"; //$NON-NLS-1$
-	private static final String DEFAULT_PRODUCT_INFO_FILENAME = "product.ini"; //$NON-NLS-1$
-	private static final String DEFAULT_WORKBENCH_STATE_FILENAME = "workbench.xml"; //$NON-NLS-1$
-	private static final int RESTORE_CODE_OK = 0;
-	private static final int RESTORE_CODE_RESET = 1;
-	private static final int RESTORE_CODE_EXIT = 2;
-	protected static final String WELCOME_EDITOR_ID = "org.eclipse.ui.internal.dialogs.WelcomeEditor"; //$NON-NLS-1$
-
-	/**
-	 * Workbench constructor comment.
-	 */
-	public Workbench() {
-		super();
-		WorkbenchPlugin.getDefault().setWorkbench(this);
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(
-			getShowTasksChangeListener(),
-			IResourceChangeEvent.POST_CHANGE);
-	}
-	
-	
-	// TODO: The code for bringing the Tasks view to front must be moved 
-	// to org.eclipse.ui.views.
-	
-	/**
-	 * The id of the Tasks view.
-	 */
-	private static final String TASK_LIST_ID = WorkbenchPlugin.PI_WORKBENCH + ".views.TaskList";
-	
-	
-	/**
-	 * Returns the resource change listener for noticing new errors.
-	 * Processes the delta and shows the Tasks view if new errors 
-	 * have appeared.  See PR 2066.
-	 */ 
-	private IResourceChangeListener getShowTasksChangeListener() {
-		return new IResourceChangeListener() {
-			public void resourceChanged(final IResourceChangeEvent event) {	
-				IPreferenceStore store = getPreferenceStore();
-				if (store.getBoolean(IPreferenceConstants.SHOW_TASKS_ON_BUILD)) {
-					IMarker error = findProblemToShow(event);
-					if (error != null) {
-						Display.getDefault().asyncExec(new Runnable() {
-							public void run() {
-								try {
-									IWorkbenchWindow window = getActiveWorkbenchWindow();
-									if (window != null && !window.getShell().isDisposed()) { 
-										IWorkbenchPage page = window.getActivePage();
-										if (page != null) {
-											IViewPart tasksView= page.findView(TASK_LIST_ID);
-											if(tasksView == null) {
-												IWorkbenchPart activePart= page.getActivePart();
-												page.showView(TASK_LIST_ID);
-												//restore focus stolen by showing the Tasks view
-												page.activate(activePart);
-											} else {
-												page.bringToTop(tasksView);
-											}
-										}
-									}
-								} catch (PartInitException e) {
-									WorkbenchPlugin.log("Error bringing Tasks view to front", e.getStatus()); //$NON-NLS$
-								}
-							}
-						});
-					}
-				}
-			}
-		};
-	}
-	
-	/**
-	 * Finds the first problem marker to show.
-	 * Returns the first added error or warning.
-	 */
-	private IMarker findProblemToShow(IResourceChangeEvent event) {
-		IMarkerDelta[] markerDeltas = event.findMarkerDeltas(IMarker.PROBLEM, true);
-		for (int i = 0; i < markerDeltas.length; i++) {
-			IMarkerDelta markerDelta = markerDeltas[i];
-			if (markerDelta.getKind() == IResourceDelta.ADDED) {
-				int sev = markerDelta.getAttribute(IMarker.SEVERITY, -1);
-				if (sev == IMarker.SEVERITY_ERROR || sev == IMarker.SEVERITY_WARNING) {
-					return markerDelta.getMarker();
-				}
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * See IWorkbench
-	 */
-	public void addWindowListener(IWindowListener l) {
-		windowListeners.add(l);
-	}
-	/**
-	 * See IWorkbench
-	 */
-	public void removeWindowListener(IWindowListener l) {
-		windowListeners.remove(l);
-	}
-	/**
-	 * Fire window opened event.
-	 */
-	protected void fireWindowOpened(IWorkbenchWindow window) {
-		Object list[] = windowListeners.getListeners();
-		for (int i = 0; i < list.length; i++) {
-			((IWindowListener) list[i]).windowOpened(window);
-		}
-	}
-	/**
-	 * Fire window closed event.
-	 */
-	protected void fireWindowClosed(IWorkbenchWindow window) {
-		Object list[] = windowListeners.getListeners();
-		for (int i = 0; i < list.length; i++) {
-			((IWindowListener) list[i]).windowClosed(window);
-		}
-	}
-	/**
-	 * Fire window activated event.
-	 */
-	protected void fireWindowActivated(IWorkbenchWindow window) {
-		Object list[] = windowListeners.getListeners();
-		for (int i = 0; i < list.length; i++) {
-			((IWindowListener) list[i]).windowActivated(window);
-		}
-	}
-	/**
-	 * Fire window deactivated event.
-	 */
-	protected void fireWindowDeactivated(IWorkbenchWindow window) {
-		Object list[] = windowListeners.getListeners();
-		for (int i = 0; i < list.length; i++) {
-			((IWindowListener) list[i]).windowDeactivated(window);
-		}
-	}
-	/**
-	 * Get the extenders from the registry and adds them to the
-	 * extender manager.
-	 */
-	private void addAdapters() {
-		WorkbenchAdapterBuilder builder = new WorkbenchAdapterBuilder();
-		builder.registerAdapters();
-	}
-	/**
-	 * Close the workbench
-	 *
-	 * Assumes that busy cursor is active.
-	 */
-	private boolean busyClose(final boolean force) {
-		isClosing = true;
-
-		isClosing = saveAllEditors(!force);
-		if (!isClosing && !force)
-			return false;
-
-		IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-		boolean closeEditors = store.getBoolean(IPreferenceConstants.CLOSE_EDITORS_ON_EXIT);
-		if (closeEditors) {
-			Platform.run(new SafeRunnable() {
-				public void run() {
-					IWorkbenchPage page = getActiveWorkbenchWindow().getActivePage();
-					if (page != null) {
-						isClosing = page.closeAllEditors(false);
-					}
-				}
-			});
-			if (!isClosing && !force)
-				return false;
-		}
-
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				XMLMemento mem = recordWorkbenchState();
-				//Save the IMemento to a file.
-				saveWorkbenchState(mem);
-			}
-			public void handleException(Throwable e) {
-				String message;
-				if (e.getMessage() == null) {
-					message = WorkbenchMessages.getString("ErrorClosingNoArg"); //$NON-NLS-1$
-				} else {
-					message = WorkbenchMessages.format("ErrorClosingOneArg", new Object[] { e.getMessage()}); //$NON-NLS-1$
-				}
-
-				if (!MessageDialog.openQuestion(null, WorkbenchMessages.getString("Error"), message)) //$NON-NLS-1$
-					isClosing = false;
-			}
-		});
-		if (!isClosing && !force)
-			return false;
-
-		Platform.run(new SafeRunnable(WorkbenchMessages.getString("ErrorClosing")) { //$NON-NLS-1$
-			public void run() {
-				if (isClosing || force)
-					isClosing = windowManager.close();
-			}
-		});
-
-		if (!isClosing && !force)
-			return false;
-
-		if (WorkbenchPlugin.getPluginWorkspace() != null)
-			disconnectFromWorkspace();
-
-		runEventLoop = false;
-		return true;
-	}
-
-	/*
-	 * @see IWorkbench.saveAllEditors(boolean)
-	 */
-	public boolean saveAllEditors(boolean confirm) {
-		final boolean finalConfirm = confirm;
-		final boolean[] result = new boolean[1];
-		result[0] = true;
-
-		Platform.run(new SafeRunnable(WorkbenchMessages.getString("ErrorClosing")) { //$NON-NLS-1$
-			public void run() {
-				//Collect dirtyEditors
-				ArrayList dirtyEditors = new ArrayList();
-				ArrayList dirtyEditorsInput = new ArrayList();
-				IWorkbenchWindow windows[] = getWorkbenchWindows();
-				for (int i = 0; i < windows.length; i++) {
-					IWorkbenchPage pages[] = windows[i].getPages();
-					for (int j = 0; j < pages.length; j++) {
-						WorkbenchPage page = (WorkbenchPage) pages[j];
-						IEditorPart editors[] = page.getDirtyEditors();
-						for (int k = 0; k < editors.length; k++) {
-							IEditorPart editor = editors[k];
-							if (editor.isDirty()) {
-								if (!dirtyEditorsInput.contains(editor.getEditorInput())) {
-									dirtyEditors.add(editor);
-									dirtyEditorsInput.add(editor.getEditorInput());
-								}
-							}
-						}
-					}
-				}
-				if (dirtyEditors.size() > 0) {
-					IWorkbenchWindow w = getActiveWorkbenchWindow();
-					if (w == null)
-						w = windows[0];
-					result[0] = EditorManager.saveAll(dirtyEditors, finalConfirm, w);
-				}
-			}
-		});
-		return result[0];
-	}
-	/**
-	 * Opens a new workbench window and page with a specific perspective.
-	 *
-	 * Assumes that busy cursor is active.
-	 */
-	private IWorkbenchWindow busyOpenWorkbenchWindow(String perspID, IAdaptable input) throws WorkbenchException {
-		// Create a workbench window (becomes active window)
-		WorkbenchWindow newWindow = new WorkbenchWindow(this, getNewWindowNumber());
-		newWindow.create(); // must be created before adding to window manager
-		windowManager.add(newWindow);
-
-		// Create the initial page.
-		newWindow.busyOpenPage(perspID, input);
-
-		// Open after opening page, to avoid flicker.
-		newWindow.open();
-
-		return newWindow;
-	}
-
-	/**
-	 * Checks if the -newUpdates command line argument is present
-	 * and if so, opens the update manager.
-	 */
-	private void checkUpdates(String[] commandLineArgs) {
-		boolean newUpdates = false;
-		for (int i = 0; i < commandLineArgs.length; i++) {
-			if (commandLineArgs[i].equalsIgnoreCase("-newUpdates")) { //$NON-NLS-1$
-				newUpdates = true;
-				break;
-			}
-		}
-
-		if (newUpdates) {
-			try {
-				SiteManager.handleNewChanges();
-			} catch (CoreException ex) {
-				WorkbenchPlugin.log("Problem opening update manager", ex.getStatus()); //$NON-NLS-1$
-			}
-		}
-	}
-
-	/**
-	 * Closes the workbench.
-	 */
-	public boolean close() {
-		return close(EXIT_OK);
-	}
-	/**
-	 * Closes the workbench, returning the given return code from the run method.
-	 */
-	public boolean close(Object returnCode) {
-		return close(returnCode, false);
-	}
-	/**
-	 * Closes the workbench, returning the given return code from the run method.
-	 */
-	public boolean close(Object returnCode, final boolean force) {
-		this.returnCode = returnCode;
-		final boolean[] ret = new boolean[1];
-		BusyIndicator.showWhile(null, new Runnable() {
-			public void run() {
-				ret[0] = busyClose(force);
-			}
-		});
-		return ret[0];
-	}
-	/**
-	 * Connect to the core workspace.
-	 */
-	private void connectToWorkspace() {
-		// Nothing to do right now.
-	}
-	/**
-	 * Disconnect from the core workspace.
-	 */
-	private void disconnectFromWorkspace() {
-		//Save the workbench.
-		final MultiStatus status = new MultiStatus(WorkbenchPlugin.PI_WORKBENCH, 1, WorkbenchMessages.getString("ProblemSavingWorkbench"), null); //$NON-NLS-1$
-		IRunnableWithProgress runnable = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) {
-				try {
-					status.merge(ResourcesPlugin.getWorkspace().save(true, monitor));
-				} catch (CoreException e) {
-					status.merge(e.getStatus());
-				}
-			}
-		};
-		try {
-			new ProgressMonitorDialog(null).run(false, false, runnable);
-		} catch (InvocationTargetException e) {
-			status.merge(new Status(IStatus.ERROR, WorkbenchPlugin.PI_WORKBENCH, 1, WorkbenchMessages.getString("InternalError"), e.getTargetException())); //$NON-NLS-1$
-		} catch (InterruptedException e) {
-			status.merge(new Status(IStatus.ERROR, WorkbenchPlugin.PI_WORKBENCH, 1, WorkbenchMessages.getString("InternalError"), e)); //$NON-NLS-1$
-		}
-		ErrorDialog.openError(null, WorkbenchMessages.getString("ProblemsSavingWorkspace"), //$NON-NLS-1$
-		null, status, IStatus.ERROR | IStatus.WARNING);
-		if (!status.isOK()) {
-			WorkbenchPlugin.log(WorkbenchMessages.getString("ProblemsSavingWorkspace"), status); //$NON-NLS-1$
-		}
-	}
-	/**
-	 * @see IWorkbench
-	 */
-	public IWorkbenchWindow getActiveWorkbenchWindow() {
-
-		Display display = Display.getCurrent();
-		// Display will be null if SWT has not been initialized or
-		// this method was called from wrong thread.
-		if (display == null)
-			return null;
-		Control shell = display.getActiveShell();
-		while (shell != null) {
-			Object data = shell.getData();
-			if (data instanceof IWorkbenchWindow)
-				return (IWorkbenchWindow) data;
-			shell = shell.getParent();
-		}
-		Shell shells[] = display.getShells();
-		for (int i = 0; i < shells.length; i++) {
-			Object data = shells[i].getData();
-			if (data instanceof IWorkbenchWindow)
-				return (IWorkbenchWindow) data;
-		}
-		return null;
-	}
-	/**
-	 * Returns the command line arguments, excluding any which were filtered out by the launcher.
-	 */
-	public String[] getCommandLineArgs() {
-		/* This method and instance var are not used by the workbench but are
-		 * used by the junit tests that subclass org.eclipse.ui.internal.Workbench.
-		 * Should create enough API so that the junit tests did not have to 
-		 * subclass this internal class. 
-		 */
-		return commandLineArgs;
-	}	
-	/**
-	 * Returns the editor history.
-	 */
-	public EditorHistory getEditorHistory() {
-		if (editorHistory == null) {
-			IPreferenceStore store = getPreferenceStore();
-			editorHistory = new EditorHistory(store.getInt(IPreferenceConstants.RECENT_FILES));
-		}
-		return editorHistory;
-	}
-	/**
-	 * Returns the perspective history.
-	 */
-	public PerspectiveHistory getPerspectiveHistory() {
-		if (perspHistory == null) {
-			perspHistory = new PerspectiveHistory(getPerspectiveRegistry());
-		}
-		return perspHistory;
-	}
-	/**
-	 * Returns the editor registry for the workbench.
-	 *
-	 * @return the workbench editor registry
-	 */
-	public IEditorRegistry getEditorRegistry() {
-		return WorkbenchPlugin.getDefault().getEditorRegistry();
-	}
-	/*
-	 * Returns the number for a new window.  This will be the first
-	 * number > 0 which is not used to identify another window in
-	 * the workbench.
-	 */
-	private int getNewWindowNumber() {
-		// Get window list.
-		Window[] windows = windowManager.getWindows();
-		int count = windows.length;
-
-		// Create an array of booleans (size = window count).
-		// Cross off every number found in the window list.
-		boolean checkArray[] = new boolean[count];
-		for (int nX = 0; nX < count; nX++) {
-			if (windows[nX] instanceof WorkbenchWindow) {
-				WorkbenchWindow ww = (WorkbenchWindow) windows[nX];
-				int index = ww.getNumber() - 1;
-				if (index >= 0 && index < count)
-					checkArray[index] = true;
-			}
-		}
-
-		// Return first index which is not used.
-		// If no empty index was found then every slot is full.
-		// Return next index.
-		for (int index = 0; index < count; index++) {
-			if (!checkArray[index])
-				return index + 1;
-		}
-		return count + 1;
-	}
-	/**
-	 * Returns the perspective registry for the workbench.
-	 *
-	 * @return the workbench perspective registry
-	 */
-	public IPerspectiveRegistry getPerspectiveRegistry() {
-		return WorkbenchPlugin.getDefault().getPerspectiveRegistry();
-	}
-	/**
-	 * Returns the preference manager for the workbench.
-	 *
-	 * @return the workbench preference manager
-	 */
-	public PreferenceManager getPreferenceManager() {
-		return WorkbenchPlugin.getDefault().getPreferenceManager();
-	}
-	/* (non-Javadoc)
-	 * Method declared on IWorkbench.
-	 */
-	public IPreferenceStore getPreferenceStore() {
-		return WorkbenchPlugin.getDefault().getPreferenceStore();
-	}
-	/**
-	 * Returns the shared images for the workbench.
-	 *
-	 * @return the shared image manager
-	 */
-	public ISharedImages getSharedImages() {
-		return WorkbenchPlugin.getDefault().getSharedImages();
-	}
-	/* (non-Javadoc)
-	 * Method declared on IWorkbench.
-	 */
-	public IMarkerHelpRegistry getMarkerHelpRegistry() {
-		return WorkbenchPlugin.getDefault().getMarkerHelpRegistry();
-	}
-	/**
-	 * Returns the current window manager being used by the workbench
-	 */
-	protected WindowManager getWindowManager() {
-		return windowManager;
-	}
-
-	/**
-	 * Returns the about info.
-	 *
-	 * @return the about info
-	 */
-	public WorkbenchConfigurationInfo getConfigurationInfo() {
-		if(configurationInfo == null)
-			configurationInfo = new WorkbenchConfigurationInfo();
-		return configurationInfo;
-	}
-
-	/**
-	 * Returns the active AcceleratorConfiguration
-	 */
-	public Item getActiveAcceleratorConfiguration() {
-		return acceleratorConfiguration;
-	}
-	/**
-	 * Answer the workbench state file.
-	 */
-	private File getWorkbenchStateFile() {
-		IPath path = WorkbenchPlugin.getDefault().getStateLocation();
-		path = path.append(DEFAULT_WORKBENCH_STATE_FILENAME);
-		return path.toFile();
-	}
-	/**
-	 * Returns the workbench window count.
-	 * <p>
-	 * @return the workbench window count
-	 */
-	public int getWorkbenchWindowCount() {
-		return windowManager.getWindows().length;
-	}
-	/**
-	 * @see IWorkbench
-	 */
-	public IWorkbenchWindow[] getWorkbenchWindows() {
-		Window[] windows = windowManager.getWindows();
-		IWorkbenchWindow[] dwindows = new IWorkbenchWindow[windows.length];
-		System.arraycopy(windows, 0, dwindows, 0, windows.length);
-		return dwindows;
-	}
-	/**
-	 * Implements IWorkbench
-	 *
-	 * @see org.eclipse.ui.IWorkbench#getWorkingSetManager()
-	 * @since 2.0
-	 */
-	public IWorkingSetManager getWorkingSetManager() {
-		return WorkbenchPlugin.getDefault().getWorkingSetManager();
-	}
-	/**
-	 * Initializes the workbench.
-	 *
-	 * @return true if init succeeded.
-	 */
-	private boolean init(String[] commandLineArgs) {
-		KeyManager.getInstance();
-		
-		this.commandLineArgs = commandLineArgs;
-		isStarting = true;
-
-		if (WorkbenchPlugin.getDefault().isDebugging()) {
-			WorkbenchPlugin.DEBUG = true;
-			ModalContext.setDebugMode(true);
-		}
-		initializeProductImage();
-		connectToWorkspace();
-		addAdapters();
-		windowManager = new WindowManager();
-		WorkbenchColors.startup();
-		boolean useColorIcons = getPreferenceStore().getBoolean(IPreferenceConstants.COLOR_ICONS);
-		ActionContributionItem.setUseColorIconsInToolbars(useColorIcons);
-		initializeFonts();
-		initializeConfiguration();
-		initializeSingleClickOption();
-
-		boolean avoidDeadlock = true;
-		for (int i = 0; i < commandLineArgs.length; i++) {
-			if (commandLineArgs[i].equalsIgnoreCase("-allowDeadlock")) //$NON-NLS-1$
-				avoidDeadlock = false;
-		}
-
-		// deadlock code
-		if (avoidDeadlock) {
-			try {
-				Display display = Display.getCurrent();
-				UIWorkspaceLock uiLock = new UIWorkspaceLock(WorkbenchPlugin.getPluginWorkspace(), display);
-				WorkbenchPlugin.getPluginWorkspace().setWorkspaceLock(uiLock);
-				display.setSynchronizer(new UISynchronizer(display, uiLock));
-			} catch (CoreException e) {
-				e.printStackTrace(System.out);
-			}
-		}
-
-		try {
-			UIStats.start(UIStats.RESTORE_WORKBENCH, "Workbench"); //$NON-NLS-1$
-			int restoreCode = openPreviousWorkbenchState();
-			if (restoreCode == RESTORE_CODE_EXIT)
-				return false;
-			if (restoreCode == RESTORE_CODE_RESET)
-				openFirstTimeWindow();
-		} finally {
-			UIStats.end(UIStats.RESTORE_WORKBENCH, "Workbench"); //$NON-NLS-1$
-		}
-
-		forceOpenPerspective(commandLineArgs);
-		getConfigurationInfo().openWelcomeEditors();
-		refreshFromLocal(commandLineArgs);
-		isStarting = false;
-		return true;
-	}
-	private void refreshFromLocal(String[] commandLineArgs) {
-		IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-		boolean refresh = store.getBoolean(IPreferenceConstants.REFRESH_WORKSPACE_ON_STARTUP);
-		if (!refresh)
-			return;
-		//Do not refresh if it was already done by core on startup.
-		for (int i = 0; i < commandLineArgs.length; i++)
-			if (commandLineArgs[i].equalsIgnoreCase("-refresh"))
-				return;
-		IWorkbenchWindow windows[] = getWorkbenchWindows();
-		Shell shell = windows[windows.length - 1].getShell();
-		ProgressMonitorDialog dlg = new ProgressMonitorDialog(shell);
-		final CoreException ex[] = new CoreException[1];
-		try {
-			dlg.run(true, true, new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-					try {
-						IContainer root = ResourcesPlugin.getWorkspace().getRoot();
-						root.refreshLocal(IResource.DEPTH_INFINITE, monitor);
-					} catch (CoreException e) {
-						ex[0] = e;
-					}
-				}
-			});
-			if (ex[0] != null) {
-				String errorTitle = WorkbenchMessages.getString("Workspace.problemsTitle"); //$NON-NLS-1$
-				String msg = WorkbenchMessages.getString("Workspace.problemMessage"); //$NON-NLS-1$
-				ErrorDialog.openError(shell, errorTitle, msg, ex[0].getStatus());
-			}
-		} catch (InterruptedException e) {
-			//Do nothing. Operation was canceled.
-		} catch (InvocationTargetException e) {
-			String msg = "InvocationTargetException refreshing from local on startup"; //$NON-NLS-1$
-			WorkbenchPlugin.log(msg, new Status(Status.ERROR, PlatformUI.PLUGIN_ID, 0, msg, e.getTargetException()));
-		}
-	}
-
-	private void forceOpenPerspective(String[] commandLineArgs) {
-		if (getWorkbenchWindowCount() == 0) {
-			// Something is wrong, there should be at least
-			// one workbench window open by now.
-			return;
-		}
-
-		String perspId = null;
-		for (int i = 0; i < commandLineArgs.length - 1; i++) {
-			if (commandLineArgs[i].equalsIgnoreCase("-perspective")) { //$NON-NLS-1$
-				perspId = commandLineArgs[i + 1];
-				break;
-			}
-		}
-		if (perspId == null)
-			return;
-		IPerspectiveDescriptor desc = getPerspectiveRegistry().findPerspectiveWithId(perspId);
-		if (desc == null)
-			return;
-
-		IWorkbenchWindow win = getActiveWorkbenchWindow();
-		if (win == null)
-			win = getWorkbenchWindows()[0];
-		try {
-			showPerspective(perspId, win);
-		} catch (WorkbenchException e) {
-			String msg = "Workbench exception showing specified command line perspective on startup."; //$NON-NLS-1$
-			WorkbenchPlugin.log(msg, new Status(Status.ERROR, PlatformUI.PLUGIN_ID, 0, msg, e));
-		}
-	}
-
-	private void initializeSingleClickOption() {
-		IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-		boolean openOnSingleClick = store.getBoolean(IPreferenceConstants.OPEN_ON_SINGLE_CLICK);
-		boolean selectOnHover = store.getBoolean(IPreferenceConstants.SELECT_ON_HOVER);
-		boolean openAfterDelay = store.getBoolean(IPreferenceConstants.OPEN_AFTER_DELAY);
-		int singleClickMethod = openOnSingleClick ? OpenStrategy.SINGLE_CLICK : OpenStrategy.DOUBLE_CLICK;
-		if (openOnSingleClick) {
-			if (selectOnHover)
-				singleClickMethod |= OpenStrategy.SELECT_ON_HOVER;
-			if (openAfterDelay)
-				singleClickMethod |= OpenStrategy.ARROW_KEYS_OPEN;
-		}
-		OpenStrategy.setOpenMethod(singleClickMethod);
-	}
-
-	private void initializeConfiguration() {
-		IPreferenceStore preferenceStore = WorkbenchPlugin.getDefault().getPreferenceStore();
-		String configuration = preferenceStore.getString(IWorkbenchConstants.ACCELERATOR_CONFIGURATION_ID);
-
-		if (configuration == null || configuration.length() == 0)
-			configuration = preferenceStore.getDefaultString(IWorkbenchConstants.ACCELERATOR_CONFIGURATION_ID);
-
-		if (configuration == null)
-			configuration = ""; //$NON-NLS-1$
-
-		KeyManager keyManager = KeyManager.getInstance();
-		keyManager.getKeyMachine().setConfiguration(configuration);
-		keyManager.update();
-	}
-	/**
-	 * Initialize the workbench fonts with the stored values.
-	 */
-	private void initializeFonts() {
-		IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-		FontRegistry registry = JFaceResources.getFontRegistry();
-
-		//Iterate through the definitions and initialize thier
-		//defaults in the preference store.
-		FontDefinition[] definitions = FontDefinition.getDefinitions();
-		ArrayList fontsToSet = new ArrayList();
-		for (int i = 0; i < definitions.length; i++) {
-			FontDefinition definition = definitions[i];
-			String fontKey = definition.getId();
-			initializeFont(fontKey, registry, store);
-			String defaultsTo = definitions[i].getDefaultsTo();
-			if (defaultsTo != null){
-				PreferenceConverter.setDefault(
-					store,
-					definition.getId(),
-					PreferenceConverter.
-						getDefaultFontDataArray(store,defaultsTo));
-				
-				//If there is no value in the registry pass though the mapping
-				if(!registry.hasValueFor(fontKey))
-					fontsToSet.add(definition);
-			}
-		}
-		
-		
-		/**
-		 * Now that all of the font have been initialized anything
-		 * that is still at its defaults and has a defaults to
-		 * needs to have its value set in the registry.
-		 * Post process to be sure that all of the fonts have the correct
-		 * setting before there is an update.
-		 */		
-		Iterator updateIterator = fontsToSet.iterator();
-		while(updateIterator.hasNext()){
-			FontDefinition update = (FontDefinition) updateIterator.next();
-			registry.put(update.getId(),registry.getFontData(update.getDefaultsTo()));
-		}
-	}
-	/*
-	 * *
-	 * Initialize the specified font with the stored value.
-	 */
-	private void initializeFont(String fontKey, FontRegistry registry, IPreferenceStore store) {
-		if (store.isDefault(fontKey))
-			return;
-		FontData[] font = PreferenceConverter.getFontDataArray(store, fontKey);
-		registry.put(fontKey, font);
-	}
-	/**
-	 * Initialize the product image obtained from the product info file
-	 */
-	private void initializeProductImage() {
-		ImageDescriptor descriptor = getConfigurationInfo().getAboutInfo().getWindowImage();
-		if (descriptor != null) {
-			WorkbenchImages.getImageRegistry().put(IWorkbenchGraphicConstants.IMG_OBJS_DEFAULT_PROD, descriptor);
-			Image image = WorkbenchImages.getImage(IWorkbenchGraphicConstants.IMG_OBJS_DEFAULT_PROD);
-			if (image != null) {
-				Window.setDefaultImage(image);
-			}
-		} else {
-			// Avoid setting a missing image as the window default image
-			WorkbenchImages.getImageRegistry().put(IWorkbenchGraphicConstants.IMG_OBJS_DEFAULT_PROD, ImageDescriptor.getMissingImageDescriptor());
-		}
-	}
-	/**
-	 * Returns true if the workbench is in the process of closing
-	 */
-	public boolean isClosing() {
-		return isClosing;
-	}
-	/**
-	 * Returns true if the workbench is in the process of starting
-	 */
-	public boolean isStarting() {
-		return isStarting;
-	}
-	/*
-	 * Create the initial workbench window.
-	 * @return true if the open succeeds
-	 */
-	private void openFirstTimeWindow() {
-		// Create the window.
-		WorkbenchWindow newWindow = new WorkbenchWindow(this, getNewWindowNumber());
-		newWindow.create();
-		windowManager.add(newWindow);
-
-		// Create the initial page.
-		try {
-			IContainer root = WorkbenchPlugin.getPluginWorkspace().getRoot();
-			newWindow.openPage(getPerspectiveRegistry().getDefaultPerspective(), root);
-		} catch (WorkbenchException e) {
-			ErrorDialog.openError(newWindow.getShell(), WorkbenchMessages.getString("Problems_Opening_Page"), //$NON-NLS-1$
-			e.getMessage(), e.getStatus());
-		}
-		newWindow.open();
-	}
-	/*
-	 * Create the workbench UI from a persistence file.
-	 */
-	private int openPreviousWorkbenchState() {
-		// Read the workbench state file.
-		final File stateFile = getWorkbenchStateFile();
-		// If there is no state file cause one to open.
-		if (!stateFile.exists())
-			return RESTORE_CODE_RESET;
-
-		final int result[] = { RESTORE_CODE_OK };
-		Platform.run(new SafeRunnable(WorkbenchMessages.getString("ErrorReadingState")) { //$NON-NLS-1$
-			public void run() throws Exception {
-				FileInputStream input = new FileInputStream(stateFile);
-				BufferedReader reader = new BufferedReader(new InputStreamReader(input, "utf-8")); //$NON-NLS-1$
-				IMemento memento = XMLMemento.createReadRoot(reader);
-
-				// Validate known version format
-				String version = memento.getString(IWorkbenchConstants.TAG_VERSION);
-				boolean valid = false;
-				for (int i = 0; i < VERSION_STRING.length; i++) {
-					if (VERSION_STRING[i].equals(version)) {
-						valid = true;
-						break;
-					}
-				}
-				if (!valid) {
-					reader.close();
-					MessageDialog.openError(
-						(Shell) null,
-						WorkbenchMessages.getString("Restoring_Problems"), //$NON-NLS-1$
-					WorkbenchMessages.getString("Invalid_workbench_state_ve")); //$NON-NLS-1$
-					stateFile.delete();
-					result[0] = RESTORE_CODE_RESET;
-					return;
-				}
-
-				// Validate compatible version format
-				// We no longer support the release 1.0 format
-				if (VERSION_STRING[0].equals(version)) {
-					reader.close();
-					boolean ignoreSavedState = new MessageDialog(
-						null, 
-						WorkbenchMessages.getString("Workbench.incompatibleUIState"), //$NON-NLS-1$
-						null,
-						WorkbenchMessages.getString("Workbench.incompatibleSavedStateVersion"), //$NON-NLS-1$
-						MessageDialog.WARNING,
-						new String[] {IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL}, 
-						0).open() == 0; 	// OK is the default
-					if (ignoreSavedState) {
-						stateFile.delete();
-						result[0] = RESTORE_CODE_RESET;
-					} else {
-						result[0] = RESTORE_CODE_EXIT;
-					}
-					return;
-				}
-
-				// Restore the saved state
-				IStatus restoreResult = restoreState(memento);
-				reader.close();
-				if (restoreResult.getSeverity() == IStatus.ERROR) {
-					ErrorDialog.openError(
-						null,
-						WorkbenchMessages.getString("Workspace.problemsTitle"),
-						WorkbenchMessages.getString("Workbench.problemsRestoringMsg"),
-						restoreResult);
-				}
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				result[0] = RESTORE_CODE_RESET;
-				stateFile.delete();
-			}
-
-		});
-		// ensure at least one window was opened
-		if (result[0] == RESTORE_CODE_OK && windowManager.getWindows().length == 0)
-			result[0] = RESTORE_CODE_RESET;
-		return result[0];
-	}
-	/**
-	 * Opens a new window and page with the default perspective.
-	 */
-	public IWorkbenchWindow openWorkbenchWindow(IAdaptable input) throws WorkbenchException {
-		return openWorkbenchWindow(getPerspectiveRegistry().getDefaultPerspective(), input);
-	}
-	/**
-	 * Opens a new workbench window and page with a specific perspective.
-	 */
-	public IWorkbenchWindow openWorkbenchWindow(final String perspID, final IAdaptable input) throws WorkbenchException {
-		// Run op in busy cursor.
-		final Object[] result = new Object[1];
-		BusyIndicator.showWhile(null, new Runnable() {
-			public void run() {
-				try {
-					result[0] = busyOpenWorkbenchWindow(perspID, input);
-				} catch (WorkbenchException e) {
-					result[0] = e;
-				}
-			}
-		});
-		if (result[0] instanceof IWorkbenchWindow)
-			return (IWorkbenchWindow) result[0];
-		else if (result[0] instanceof WorkbenchException)
-			throw (WorkbenchException) result[0];
-		else
-			throw new WorkbenchException(WorkbenchMessages.getString("Abnormal_Workbench_Conditi")); //$NON-NLS-1$
-	}
-
-	/**
-	 * Reads the about, platform and product info.
-	 * This info contains the info to show in the about dialog,
-	 * the platform and product name, product images, copyright etc.
-	 *
-	 * @return true if the method succeeds 
-	 */
-
-	/**
-	 * Record the workbench UI in a document
-	 */
-	private XMLMemento recordWorkbenchState() {
-		XMLMemento memento = XMLMemento.createWriteRoot(IWorkbenchConstants.TAG_WORKBENCH);
-		IStatus status = saveState(memento);
-		if (status.getSeverity() != IStatus.OK) {
-			ErrorDialog.openError((Shell)null,
-				WorkbenchMessages.getString("Workbench.problemsSaving"),  //$NON-NLS-1$
-			WorkbenchMessages.getString("Workbench.problemsSavingMsg"), //$NON-NLS-1$
-			status);
-		}
-		return memento;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IWorkbench.
-	 */
-	public boolean restart() {
-		return close(EXIT_RESTART); // this is the return code from run() to trigger a restart
-	}
-	/**
-	 * Restores the state of the previously saved workbench
-	 */
-	private IStatus restoreState(IMemento memento) {
-
-		MultiStatus result = new MultiStatus(
-			PlatformUI.PLUGIN_ID,IStatus.OK,
-			WorkbenchMessages.getString("Workbench.problemsRestoring"),null);
-		// Read perspective history.
-		// This must be done before we recreate the windows, because it is
-		// consulted during the recreation.
-		IMemento childMem;
-		try {
-			UIStats.start(UIStats.RESTORE_WORKBENCH,"PerspectiveHistory"); //$NON-NLS-1$
-			childMem = memento.getChild(IWorkbenchConstants.TAG_PERSPECTIVE_HISTORY);
-			if (childMem != null)
-				result.add(getPerspectiveHistory().restoreState(childMem));
-		} finally {
-			UIStats.end(UIStats.RESTORE_WORKBENCH,"PerspectiveHistory"); //$NON-NLS-1$
-		}
-		try {
-			UIStats.start(UIStats.RESTORE_WORKBENCH,"MRUList"); //$NON-NLS-1$
-			IMemento mruMemento = memento.getChild(IWorkbenchConstants.TAG_MRU_LIST); //$NON-NLS-1$
-			if (mruMemento != null) {
-				result.add(getEditorHistory().restoreState(mruMemento));
-			}
-		} finally {
-			UIStats.end(UIStats.RESTORE_WORKBENCH,"MRUList"); //$NON-NLS-1$
-		}
-		// Get the child windows.
-		IMemento[] children = memento.getChildren(IWorkbenchConstants.TAG_WINDOW);
-		IPerspectiveRegistry reg = WorkbenchPlugin.getDefault().getPerspectiveRegistry();
-
-		AboutInfo newFeaturesWithPerspectives[] = getConfigurationInfo().collectNewFeaturesWithPerspectives();
-		// Read the workbench windows.
-		for (int x = 0; x < children.length; x++) {
-			childMem = children[x];
-			WorkbenchWindow newWindow = new WorkbenchWindow(this, getNewWindowNumber());
-			newWindow.create();
-			IPerspectiveDescriptor desc = null;
-			if (x < newFeaturesWithPerspectives.length)
-				desc = reg.findPerspectiveWithId(newFeaturesWithPerspectives[x].getWelcomePerspective());
-
-			result.merge(newWindow.restoreState(childMem, desc));
-			if (desc != null) {
-				IWorkbenchPage page = newWindow.getActivePage();
-				if (page == null) {
-					IWorkbenchPage pages[] = newWindow.getPages();
-					if (pages != null && pages.length > 0)
-						page = pages[0];
-				}
-				if (page == null) {
-					IContainer root = WorkbenchPlugin.getPluginWorkspace().getRoot();
-					try {
-						page = (WorkbenchPage) getActiveWorkbenchWindow().openPage(newFeaturesWithPerspectives[x].getWelcomePerspective(), root);
-					} catch (WorkbenchException e) {
-						result.add(e.getStatus());
-					}
-				} else {
-					page.setPerspective(desc);
-				}
-				newWindow.setActivePage(page);
-				try {
-					page.openEditor(new WelcomeEditorInput(newFeaturesWithPerspectives[x]), WELCOME_EDITOR_ID, true);
-				} catch (PartInitException e) {
-					result.add(e.getStatus());
-				}
-			}
-			windowManager.add(newWindow);
-			newWindow.open();
-		}
-		return result;
-	}
-
-	/**
-	 * Returns an array of all plugins that extend org.eclipse.ui.startup.
-	 */
-	public IPluginDescriptor[] getEarlyActivatedPlugins() {
-		IPluginRegistry registry = Platform.getPluginRegistry();
-		String pluginId = "org.eclipse.ui";
-		String extensionPoint = "startup";
-
-		IExtensionPoint point = registry.getExtensionPoint(pluginId, extensionPoint);
-		IExtension[] extensions = point.getExtensions();
-		IPluginDescriptor result[] = new IPluginDescriptor[extensions.length];
-		for (int i = 0; i < extensions.length; i++) {
-			result[i] = extensions[i].getDeclaringPluginDescriptor();
-		}
-		return result;
-	}
-	/**
-	 * Starts plugins on startup.
-	 */
-	protected void startPlugins() {
-		Runnable work = new Runnable() {
-			IPreferenceStore store = getPreferenceStore();
-			final String pref = store.getString(IPreferenceConstants.PLUGINS_NOT_ACTIVATED_ON_STARTUP);
-			public void run() {
-				IPluginDescriptor descriptors[] = getEarlyActivatedPlugins();
-				for (int i = 0; i < descriptors.length; i++) {
-					final IPluginDescriptor pluginDescriptor = descriptors[i];
-					SafeRunnable code = new SafeRunnable() {
-						public void run() throws Exception {
-							String id = pluginDescriptor.getUniqueIdentifier() + IPreferenceConstants.SEPARATOR;
-							if (pref.indexOf(id) < 0) {
-								Plugin plugin = pluginDescriptor.getPlugin();
-								IStartup startup = (IStartup) plugin;
-								startup.earlyStartup();
-							}
-						}
-						public void handleException(Throwable exception) {
-							WorkbenchPlugin.log("Unhandled Exception", new Status(IStatus.ERROR, "org.eclipse.ui", 0, "Unhandled Exception", exception));
-						}
-					};
-					Platform.run(code);
-				}
-			}
-		};
-
-		Thread thread = new Thread(work);
-		thread.start();
-	}
-	/**
-	 * Runs the workbench.
-	 */
-	public Object run(Object arg) {
-		UIStats.start(UIStats.START_WORKBENCH,"Workbench"); //$NON-NLS-1$
-		String[] commandLineArgs = new String[0];
-		if (arg != null && arg instanceof String[])
-			commandLineArgs = (String[]) arg;
-		if (!getConfigurationInfo().readInfo())
-			return null;
-		String appName = getConfigurationInfo().getAboutInfo().getAppName();
-		if (appName != null)
-			Display.setAppName(appName);
-		Display display = null;
-		if (Policy.DEBUG_SWT_GRAPHICS) {
-			DeviceData data = new DeviceData();
-			data.tracking = true;
-			display = new Display(data);
-		} else {
-			display = new Display();
-		}
-		//Workaround for 1GEZ9UR and 1GF07HN
-		display.setWarnings(false);
-		display.addListener(SWT.Close, new Listener() {
-			public void handleEvent(Event event) {
-				event.doit = close();
-			}
-		});
-		try {
-			Window.IExceptionHandler handler = new ExceptionHandler(this);
-			Window.setExceptionHandler(handler);
-			boolean initOK = init(commandLineArgs);
-			Platform.endSplash();
-			runEventLoop = true;
-			if (initOK)
-				checkUpdates(commandLineArgs); // may trigger a close/restart
-			if (initOK && runEventLoop) {
-				startPlugins();
-				display.asyncExec(new Runnable() {
-					public void run() {
-						UIStats.end(UIStats.START_WORKBENCH,"Workbench"); //$NON-NLS-1$
-					}
-				});
-				runEventLoop(handler);
-			}
-			shutdown();
-		} finally {
-			if (!display.isDisposed())
-				display.dispose();
-		}
-		return returnCode;
-	}
-	/**
-	 * run an event loop for the workbench.
-	 */
-	protected void runEventLoop(Window.IExceptionHandler handler) {
-		Display display = Display.getCurrent();
-		runEventLoop = true;
-		while (runEventLoop) {
-			try {
-				if (!display.readAndDispatch())
-					display.sleep();
-			} catch (Throwable t) {
-				handler.handleException(t);
-			}
-		}
-	}
-	/**
-	 * Saves the current state of the workbench so it can be restored later on
-	 */
-	private IStatus saveState(IMemento memento) {
-		MultiStatus result = new MultiStatus(
-			PlatformUI.PLUGIN_ID,IStatus.OK,
-			WorkbenchMessages.getString("Workbench.problemsSaving"),null);
-
-		// Save the version number.
-		memento.putString(IWorkbenchConstants.TAG_VERSION, VERSION_STRING[1]);
-
-		// Save the workbench windows.
-		IWorkbenchWindow[] windows = getWorkbenchWindows();
-		for (int nX = 0; nX < windows.length; nX++) {
-			WorkbenchWindow window = (WorkbenchWindow) windows[nX];
-			IMemento childMem = memento.createChild(IWorkbenchConstants.TAG_WINDOW);
-			result.merge(window.saveState(childMem));
-		}
-		result.add(getEditorHistory().saveState(memento.createChild(IWorkbenchConstants.TAG_MRU_LIST))); //$NON-NLS-1$
-		// Save perspective history.
-		result.add(getPerspectiveHistory().saveState(memento.createChild(IWorkbenchConstants.TAG_PERSPECTIVE_HISTORY))); //$NON-NLS-1$
-		return result;
-	}
-	/**
-	 * Save the workbench UI in a persistence file.
-	 */
-	private boolean saveWorkbenchState(XMLMemento memento) {
-		// Save it to a file.
-		File stateFile = getWorkbenchStateFile();
-		try {
-			FileOutputStream stream = new FileOutputStream(stateFile);
-			OutputStreamWriter writer = new OutputStreamWriter(stream, "utf-8"); //$NON-NLS-1$
-			memento.save(writer);
-			writer.close();
-		} catch (IOException e) {
-			stateFile.delete();
-			MessageDialog.openError((Shell) null, WorkbenchMessages.getString("SavingProblem"), //$NON-NLS-1$
-			WorkbenchMessages.getString("ProblemSavingState")); //$NON-NLS-1$
-			return false;
-		}
-
-		// Success !
-		return true;
-	}
-	/*
-	 * Sets the active accelerator configuration to be the configuration
-	 * with the given id.
-	 */
-	public void setActiveAcceleratorConfiguration(Item configuration) {
-		if (configuration != null) {
-			acceleratorConfiguration = configuration;
-			String id = configuration.getId();
-			KeyManager keyManager = KeyManager.getInstance();
-			keyManager.getKeyMachine().setConfiguration(id);
-			keyManager.update();
-			IWorkbenchWindow workbenchWindow = getActiveWorkbenchWindow();
-
-			if (workbenchWindow != null && workbenchWindow instanceof WorkbenchWindow) {
-				WWinKeyBindingService wWinKeyBindingService = ((WorkbenchWindow) workbenchWindow).getKeyBindingService();
-
-				if (wWinKeyBindingService != null)
-					wWinKeyBindingService.clear();
-
-				MenuManager menuManager = ((WorkbenchWindow) workbenchWindow).getMenuManager();
-				menuManager.update(IAction.TEXT);
-			}
-		}
-	}
-
-	/**
-	 * @see IExecutableExtension
-	 */
-	public void setInitializationData(IConfigurationElement configElement, String propertyName, Object data) {
-	}
-	/* (non-Javadoc)
-	 * Method declared on IWorkbench.
-	 */
-	public IWorkbenchPage showPerspective(String perspectiveId, IWorkbenchWindow window) throws WorkbenchException {
-		Assert.isNotNull(perspectiveId);
-
-		// If the specified window has the requested perspective open, then the window
-		// is given focus and the perspective is shown. The page's input is ignored.
-		WorkbenchWindow win = (WorkbenchWindow) window;
-		if (win != null) {
-			WorkbenchPage page = win.getActiveWorkbenchPage();
-			if (page != null) {
-				IPerspectiveDescriptor perspectives[] = page.getOpenedPerspectives();
-				for (int i = 0; i < perspectives.length; i++) {
-					IPerspectiveDescriptor persp = perspectives[i];
-					if (perspectiveId.equals(persp.getId())) {
-						win.getShell().open();
-						page.setPerspective(persp);
-						return page;
-					}
-				}
-			}
-		}
-
-		// If another window that has the workspace root as input and the requested
-		// perpective open and active, then the window is given focus.
-		IAdaptable input = WorkbenchPlugin.getPluginWorkspace().getRoot();
-		IWorkbenchWindow[] windows = getWorkbenchWindows();
-		for (int i = 0; i < windows.length; i++) {
-			win = (WorkbenchWindow) windows[i];
-			if (window != win) {
-				WorkbenchPage page = win.getActiveWorkbenchPage();
-				if (page != null) {
-					boolean inputSame = false;
-					if (input == null)
-						inputSame = (page.getInput() == null);
-					else
-						inputSame = input.equals(page.getInput());
-					if (inputSame) {
-						Perspective persp = page.getActivePerspective();
-						if (perspectiveId.equals(persp.getDesc().getId())) {
-							Shell shell = win.getShell();
-							shell.open();
-							if(shell.getMinimized())
-								shell.setMinimized(false);
-							return page;
-						}
-					}
-				}
-			}
-		}
-
-		// Otherwise the requested perspective is opened and shown in the specified
-		// window or in a new window depending on the current user preference for opening
-		// perspectives, and that window is given focus.
-		win = (WorkbenchWindow) window;
-		if (win != null) {
-			IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-			int mode = store.getInt(IPreferenceConstants.OPEN_PERSP_MODE);
-			IWorkbenchPage page = win.getActiveWorkbenchPage();
-			IPerspectiveDescriptor persp = null;
-			if (page != null)
-				persp = page.getPerspective();
-
-			// Only open a new window if user preference is set and the window
-			// has an active perspective.
-			if (IPreferenceConstants.OPM_NEW_WINDOW == mode && persp != null) {
-				IWorkbenchWindow newWindow = openWorkbenchWindow(perspectiveId, input);
-				return newWindow.getActivePage();
-			} else {
-				IPerspectiveDescriptor desc = getPerspectiveRegistry().findPerspectiveWithId(perspectiveId);
-				if (desc == null)
-					throw new WorkbenchException(WorkbenchMessages.getString("WorkbenchPage.ErrorRecreatingPerspective")); //$NON-NLS-1$
-				win.getShell().open();
-				if (page == null)
-					page = win.openPage(perspectiveId, input);
-				else
-					page.setPerspective(desc);
-				return page;
-			}
-		}
-
-		// Just throw an exception....
-		throw new WorkbenchException(WorkbenchMessages.format("Workbench.showPerspectiveError", new Object[] { perspectiveId })); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IWorkbench.
-	 */
-	public IWorkbenchPage showPerspective(String perspectiveId, IWorkbenchWindow window, IAdaptable input) throws WorkbenchException {
-		Assert.isNotNull(perspectiveId);
-
-		// If the specified window has the requested perspective open and the same requested
-		// input, then the window is given focus and the perspective is shown.
-		boolean inputSameAsWindow = false;
-		WorkbenchWindow win = (WorkbenchWindow) window;
-		if (win != null) {
-			WorkbenchPage page = win.getActiveWorkbenchPage();
-			if (page != null) {
-				boolean inputSame = false;
-				if (input == null)
-					inputSame = (page.getInput() == null);
-				else
-					inputSame = input.equals(page.getInput());
-				if (inputSame) {
-					inputSameAsWindow = true;
-					IPerspectiveDescriptor perspectives[] = page.getOpenedPerspectives();
-					for (int i = 0; i < perspectives.length; i++) {
-						IPerspectiveDescriptor persp = perspectives[i];
-						if (perspectiveId.equals(persp.getId())) {
-							win.getShell().open();
-							page.setPerspective(persp);
-							return page;
-						}
-					}
-				}
-			}
-		}
-
-		// If another window has the requested input and the requested
-		// perpective open and active, then that window is given focus.
-		IWorkbenchWindow[] windows = getWorkbenchWindows();
-		for (int i = 0; i < windows.length; i++) {
-			win = (WorkbenchWindow) windows[i];
-			if (window != win) {
-				WorkbenchPage page = win.getActiveWorkbenchPage();
-				if (page != null) {
-					boolean inputSame = false;
-					if (input == null)
-						inputSame = (page.getInput() == null);
-					else
-						inputSame = input.equals(page.getInput());
-					if (inputSame) {
-						Perspective persp = page.getActivePerspective();
-						if (perspectiveId.equals(persp.getDesc().getId())) {
-							win.getShell().open();
-							return page;
-						}
-					}
-				}
-			}
-		}
-
-		// If the specified window has the same requested input but not the requested
-		// perspective, then the window is given focus and the perspective is opened and shown
-		// on condition that the user preference is not to open perspectives in a new window.
-		win = (WorkbenchWindow) window;
-		if (inputSameAsWindow && win != null) {
-			IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-			int mode = store.getInt(IPreferenceConstants.OPEN_PERSP_MODE);
-
-			if (IPreferenceConstants.OPM_NEW_WINDOW != mode) {
-				IWorkbenchPage page = win.getActiveWorkbenchPage();
-				IPerspectiveDescriptor desc = getPerspectiveRegistry().findPerspectiveWithId(perspectiveId);
-				if (desc == null)
-					throw new WorkbenchException(WorkbenchMessages.getString("WorkbenchPage.ErrorRecreatingPerspective")); //$NON-NLS-1$
-				win.getShell().open();
-				if (page == null)
-					page = win.openPage(perspectiveId, input);
-				else
-					page.setPerspective(desc);
-				return page;
-			}
-		}
-
-		// If the specified window has no active perspective, then open the
-		// requested perspective and show the specified window.
-		if (win != null) {
-			IWorkbenchPage page = win.getActiveWorkbenchPage();
-			IPerspectiveDescriptor persp = null;
-			if (page != null)
-				persp = page.getPerspective();
-			if (persp == null) {
-				IPerspectiveDescriptor desc = getPerspectiveRegistry().findPerspectiveWithId(perspectiveId);
-				if (desc == null)
-					throw new WorkbenchException(WorkbenchMessages.getString("WorkbenchPage.ErrorRecreatingPerspective")); //$NON-NLS-1$
-				win.getShell().open();
-				if (page == null)
-					page = win.openPage(perspectiveId, input);
-				else
-					page.setPerspective(desc);
-				return page;
-			}
-		}
-
-		// Otherwise the requested perspective is opened and shown in a new window, and the
-		// window is given focus.
-		IWorkbenchWindow newWindow = openWorkbenchWindow(perspectiveId, input);
-		return newWindow.getActivePage();
-	}
-
-	/**
-	 * shutdown the application.
-	 */
-	private void shutdown() {
-		WorkbenchColors.shutdown();
-		JFaceColors.disposeColors();
-	}
-
-	/**
-	 * Creates the action delegate for each action extension contributed by
-	 * a particular plugin.  The delegates are only created if the
-	 * plugin itself has been activated.
-	 *
-	 * @param pluginId the plugin id.
-	 */
-	public void refreshPluginActions(String pluginId) {
-		WWinPluginAction.refreshActionList();
-	}
-	/*
-	 * @see IWorkbench#getDecoratorManager()
-	 */
-	public IDecoratorManager getDecoratorManager() {
-		return WorkbenchPlugin.getDefault().getDecoratorManager();
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchActionBuilder.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchActionBuilder.java
deleted file mode 100644
index 00f30c7..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchActionBuilder.java
+++ /dev/null
@@ -1,1051 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-import org.eclipse.ui.*;
-import org.eclipse.ui.actions.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * This is used to add actions to the workbench.
- */
-public class WorkbenchActionBuilder implements IPropertyChangeListener {
-	
-	private static final String saveActionDefId = "org.eclipse.ui.file.save"; //$NON-NLS-1$
-	private static final String saveAllActionDefId = "org.eclipse.ui.file.saveAll"; //$NON-NLS-1$
-	private static final String printActionDefId = "org.eclipse.ui.file.print"; //$NON-NLS-1$
-	private static final String closeActionDefId = "org.eclipse.ui.file.close"; //$NON-NLS-1$
-	private static final String closeAllActionDefId = "org.eclipse.ui.file.closeAll"; //$NON-NLS-1$
-	private static final String closeAllSavedActionDefId = "org.eclipse.ui.file.closeAllSaved"; //$NON-NLS-1$
-	private static final String undoActionDefId = "org.eclipse.ui.edit.undo"; //$NON-NLS-1$
-	private static final String redoActionDefId = "org.eclipse.ui.edit.redo"; //$NON-NLS-1$
-	private static final String cutActionDefId = "org.eclipse.ui.edit.cut"; //$NON-NLS-1$
-	private static final String copyActionDefId = "org.eclipse.ui.edit.copy"; //$NON-NLS-1$
-	private static final String pasteActionDefId = "org.eclipse.ui.edit.paste"; //$NON-NLS-1$
-	private static final String deleteActionDefId = "org.eclipse.ui.edit.delete"; //$NON-NLS-1$
-	private static final String selectAllActionDefId = "org.eclipse.ui.edit.selectAll"; //$NON-NLS-1$
-	private static final String findActionDefId = "org.eclipse.ui.edit.findReplace"; //$NON-NLS-1$
-	private static final String addBookmarkActionDefId = "org.eclipse.ui.edit.addBookmark"; //$NON-NLS-1$
-	private static final String showViewMenuActionDefId = "org.eclipse.ui.window.showViewMenu"; //$NON-NLS-1$
-	private static final String showPartPaneMenuActionDefId = "org.eclipse.ui.window.showSystemMenu"; //$NON-NLS-1$
-	private static final String nextEditorActionDefId = "org.eclipse.ui.window.nextEditor"; //$NON-NLS-1$
-	private static final String prevEditorActionDefId = "org.eclipse.ui.window.previousEditor"; //$NON-NLS-1$
-	private static final String nextPartActionDefId = "org.eclipse.ui.window.nextView"; //$NON-NLS-1$
-	private static final String prevPartActionDefId = "org.eclipse.ui.window.previousView"; //$NON-NLS-1$
-	private static final String nextPerspectiveActionDefId = "org.eclipse.ui.window.nextPerspective"; //$NON-NLS-1$
-	private static final String prevPerspectiveActionDefId = "org.eclipse.ui.window.previousPerspective"; //$NON-NLS-1$
-	private static final String activateEditorActionDefId = "org.eclipse.ui.window.activateEditor"; //$NON-NLS-1$
-	private static final String workbenchEditorsActionDefId = "org.eclipse.ui.window.switchToEditor";	 //$NON-NLS-1$
-	private static final String buildAllActionDefId = "org.eclipse.ui.project.buildAll";	 //$NON-NLS-1$
-	private static final String rebuildAllActionDefId = "org.eclipse.ui.project.rebuildAll";	 //$NON-NLS-1$
-	private static final String backwardHistoryActionDefId = "org.eclipse.ui.navigate.backwardHistory";	 //$NON-NLS-1$
-	private static final String forwardHistoryActionDefId = "org.eclipse.ui.navigate.forwardHistory";	 //$NON-NLS-1$
-	private static final String showInActionDefId = "org.eclipse.ui.navigate.showIn";	 //$NON-NLS-1$
-
-	private static final String workbenchToolGroupId = "org.eclipse.ui.internal"; //$NON-NLS-1$
-	
-	//pin editor group in the toolbar
-	private static final String pinEditorGroup = "pinEditorGroup"; //$NON-NLS-1$
-
-	//history group in the toolbar
-	private static final String historyGroup = "historyGroup"; //$NON-NLS-1$
-	
-	// target
-	private WorkbenchWindow window;
-
-	// actions
-	private NewWizardAction newWizardAction;
-	private NewWizardDropDownAction newWizardDropDownAction;
-	private NewWizardMenu newWizardMenu;
-	private CloseEditorAction closeAction;
-	private CloseAllAction closeAllAction;
-	private CloseAllSavedAction closeAllSavedAction;
-	private ImportResourcesAction importResourcesAction;
-	private ExportResourcesAction exportResourcesAction;
-	private GlobalBuildAction rebuildAllAction; // Full build
-	private GlobalBuildAction buildAllAction; // Incremental build
-	private SaveAction saveAction;
-	private SaveAllAction saveAllAction;
-	private AboutAction aboutAction;
-	private OpenPreferencesAction openPreferencesAction;
-	private QuickStartAction quickStartAction;
-	private SaveAsAction saveAsAction;
-	private ToggleEditorsVisibilityAction hideShowEditorAction;
-	private SavePerspectiveAction savePerspectiveAction;
-	private ResetPerspectiveAction resetPerspectiveAction;
-	private EditActionSetsAction editActionSetAction;
-	private ClosePerspectiveAction closePerspAction;
-	private LockToolBarAction lockToolBarAction;
-	private CloseAllPerspectivesAction closeAllPerspsAction;
-	private PinEditorAction pinEditorAction;
-	
-	private ShowViewMenuAction showViewMenuAction;
-	private ShowPartPaneMenuAction showPartPaneMenuAction;
-	private CyclePartAction nextPartAction;
-	private CyclePartAction prevPartAction;
-	private CycleEditorAction nextEditorAction;
-	private CycleEditorAction prevEditorAction; 
-	private CyclePerspectiveAction nextPerspectiveAction;
-	private CyclePerspectiveAction prevPerspectiveAction;
-	private ActivateEditorAction activateEditorAction;
-	
-	private WorkbenchEditorsAction workbenchEditorsAction;
-	private WorkbenchShowInAction showInAction;
-	
-	// retarget actions.
-	private RetargetAction undoAction;
-	private RetargetAction redoAction;
-	private RetargetAction cutAction;
-	private RetargetAction copyAction;
-	private RetargetAction pasteAction;
-	private RetargetAction deleteAction;
-	private RetargetAction selectAllAction;
-	private RetargetAction findAction;
-	private RetargetAction addBookmarkAction;
-	private RetargetAction addTaskAction;
-	private RetargetAction printAction;
-	
-	private RetargetAction revertAction;
-	private RetargetAction refreshAction;
-	private RetargetAction propertiesAction;
-	private RetargetAction moveAction;
-	private RetargetAction renameAction;
-	private RetargetAction goIntoAction;
-	private RetargetAction backAction;
-	private RetargetAction forwardAction;
-	private RetargetAction upAction;
-	private RetargetAction nextAction;
-	private RetargetAction previousAction;
-	
-	private RetargetAction buildProjectAction;
-	private RetargetAction rebuildProjectAction;
-	private RetargetAction openProjectAction;
-	private RetargetAction closeProjectAction;
-	
-	private NavigationHistoryAction backwardHistoryAction;
-	private NavigationHistoryAction forwardHistoryAction;
-
-	/**
-	 * WorkbenchActionBuilder constructor comment.
-	 */
-	public WorkbenchActionBuilder() {
-	}
-	
-	/**
-	 * Add the manual incremental build action
-	 * to both the menu bar and the tool bar.
-	 */
-	protected void addManualIncrementalBuildAction() {
-		MenuManager menubar = window.getMenuBarManager();
-		IMenuManager manager = menubar.findMenuUsingPath(IWorkbenchActionConstants.M_PROJECT);
-		if (manager != null) {
-			try {
-				manager.insertBefore(IWorkbenchActionConstants.REBUILD_PROJECT, buildProjectAction);
-				manager.insertBefore(IWorkbenchActionConstants.REBUILD_ALL, buildAllAction);
-			} catch (IllegalArgumentException e) {
-				// action not found!
-			}
-		}
-		IContributionManager cBarMgr =  window.getCoolBarManager();
-		CoolBarContributionItem groupItem = (CoolBarContributionItem)cBarMgr.find(workbenchToolGroupId);
-		IContributionManager tBarMgr = groupItem.getToolBarManager();
-		tBarMgr.appendToGroup(IWorkbenchActionConstants.BUILD_EXT, buildAllAction);
-		tBarMgr.update(true);
-	}
-	
-	/**
-	 * Build the workbench actions.
-	 */
-	public void buildActions(WorkbenchWindow win) {
-		window = win;
-		makeActions();
-		createMenuBar();
-		createToolBar();
-		createShortcutBar();
-
-		// Listen for preference property changes to
-		// update the menubar and toolbar
-		IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-		store.addPropertyChangeListener(this);
-
-		// Listen to workbench page lifecycle methods to enable
-		// and disable the perspective menu items as needed.
-		window.addPageListener(new IPageListener() {
-			public void pageActivated(IWorkbenchPage page) {
-				enableActions(page.getPerspective() != null);
-			}
-			public void pageClosed(IWorkbenchPage page) {
-				IWorkbenchPage pg = window.getActivePage();
-				enableActions(pg != null && pg.getPerspective() != null);
-			}
-			public void pageOpened(IWorkbenchPage page) {
-			}
-		});
-							
-		// Listen to workbench perspective lifecycle methods to enable
-		// and disable the perspective menu items as needed.
-		window.getPerspectiveService().addPerspectiveListener(new IInternalPerspectiveListener() {
-			public void perspectiveClosed(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
-				enableActions(page.getPerspective() != null);
-			}
-			public void perspectiveOpened(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
-			}
-			public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
-				enableActions(true);
-			}
-			public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) {
-			}
-		});
-		
-		//Listen for the selection changing and update the
-		//actions that are interested
-		window.getSelectionService().addSelectionListener(new ISelectionListener(){
-			/*
-			 * @see ISelectionListener.selectionChanges
-			 */
-			public void selectionChanged(IWorkbenchPart part, ISelection selection){
-				if(selection instanceof IStructuredSelection){
-					IStructuredSelection structured = (IStructuredSelection) selection;
-					importResourcesAction.selectionChanged(structured);
-					exportResourcesAction.selectionChanged(structured);
-				}				
-			}				
-		});
-	}
-
-	/**
-	 * Enables the menu items dependent on an active
-	 * page and perspective.
-	 * Note, the show view action already does its own 
-	 * listening so no need to do it here.
-	 */
-	private void enableActions(boolean value) {
-		hideShowEditorAction.setEnabled(value);
-		savePerspectiveAction.setEnabled(value);
-		lockToolBarAction.setEnabled(value);
-		resetPerspectiveAction.setEnabled(value);
-		editActionSetAction.setEnabled(value);
-		closePerspAction.setEnabled(value);
-		closeAllPerspsAction.setEnabled(value);
-		newWizardMenu.setEnabled(value);
-		newWizardDropDownAction.setEnabled(value);
-		importResourcesAction.setEnabled(value);
-		exportResourcesAction.setEnabled(value);		
-	}
-	
-	/**
-	 * Creates the menu bar.
-	 */
-	private void createMenuBar() {
-		// Get main menu.
-		MenuManager menubar = window.getMenuBarManager();
-		menubar.add(createFileMenu());
-		menubar.add(createEditMenu());
-		menubar.add(createNavigateMenu());
-		menubar.add(createProjectMenu());
-		menubar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-		menubar.add(createWindowMenu());
-		menubar.add(createHelpMenu());
-	}
-
-	/**
-	 * Creates and returns the File menu.
-	 */
-	private MenuManager createFileMenu() {
-		MenuManager menu = new MenuManager(WorkbenchMessages.getString("Workbench.file"), IWorkbenchActionConstants.M_FILE); //$NON-NLS-1$
-		menu.add(new GroupMarker(IWorkbenchActionConstants.FILE_START));
-		{
-			this.newWizardMenu = new NewWizardMenu(window);
-			MenuManager newMenu = new MenuManager(WorkbenchMessages.getString("Workbench.new")); //$NON-NLS-1$
-			newMenu.add(this.newWizardMenu);
-			menu.add(newMenu);
-		}
-
-		menu.add(new GroupMarker(IWorkbenchActionConstants.NEW_EXT));
-		menu.add(new Separator());
-		
-		menu.add(closeAction);
-		menu.add(closeAllAction);
-//		menu.add(closeAllSavedAction);
-		menu.add(new GroupMarker(IWorkbenchActionConstants.CLOSE_EXT));
-		menu.add(new Separator());
-		menu.add(saveAction);
-		menu.add(saveAsAction);
-		menu.add(saveAllAction);
-		
-		menu.add(revertAction);
-		menu.add(new Separator());
-		menu.add(moveAction);
-		menu.add(renameAction);
-		menu.add(new Separator());
-		menu.add(refreshAction);
-		
-		menu.add(new GroupMarker(IWorkbenchActionConstants.SAVE_EXT));
-		menu.add(new Separator());
-		menu.add(printAction);
-		menu.add(new Separator());
-		menu.add(importResourcesAction);
-		menu.add(exportResourcesAction);
-		menu.add(new GroupMarker(IWorkbenchActionConstants.IMPORT_EXT));
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-		
-		menu.add(new Separator());
-		menu.add(propertiesAction);
-
-		menu.add(new ReopenEditorMenu(window, ((Workbench) window.getWorkbench()).getEditorHistory(), true));
-		menu.add(new GroupMarker(IWorkbenchActionConstants.MRU));  		
-		menu.add(new Separator());
-		menu.add(new QuitAction(window.getWorkbench()));
-		menu.add(new GroupMarker(IWorkbenchActionConstants.FILE_END));
-		return menu;
-	}
-
-	/**
-	 * Creates and returns the Edit menu.
-	 */
-	private MenuManager createEditMenu() {
-		MenuManager menu = new MenuManager(WorkbenchMessages.getString("Workbench.edit"), IWorkbenchActionConstants.M_EDIT); //$NON-NLS-1$
-		menu.add(new GroupMarker(IWorkbenchActionConstants.EDIT_START));
-		
-		menu.add(undoAction);
-		menu.add(redoAction);
-		menu.add(new GroupMarker(IWorkbenchActionConstants.UNDO_EXT));
-		menu.add(new Separator());
-		
-		menu.add(cutAction);
-		menu.add(copyAction);
-		menu.add(pasteAction);
-		menu.add(new GroupMarker(IWorkbenchActionConstants.CUT_EXT));
-		menu.add(new Separator());
-		
-		menu.add(deleteAction);
-		menu.add(selectAllAction);
-		menu.add(new Separator());
-		
-		menu.add(findAction);
-		menu.add(new GroupMarker(IWorkbenchActionConstants.FIND_EXT));
-		menu.add(new Separator());
-		
-		menu.add(addBookmarkAction);
-		menu.add(addTaskAction);
-		menu.add(new GroupMarker(IWorkbenchActionConstants.ADD_EXT));
-		
-		menu.add(new GroupMarker(IWorkbenchActionConstants.EDIT_END));
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-		return menu;
-	}
-
-// menu reorg
-
-	/**
-	 * Creates and returns the Navigate menu.
-	 */
-	private MenuManager createNavigateMenu() {
-		MenuManager menu = new MenuManager(WorkbenchMessages.getString("Workbench.navigate"), IWorkbenchActionConstants.M_NAVIGATE); //$NON-NLS-1$
-		menu.add(new GroupMarker(IWorkbenchActionConstants.NAV_START));
-		menu.add(goIntoAction);
-
-		MenuManager goToSubMenu = new MenuManager(WorkbenchMessages.getString("Workbench.goTo"), IWorkbenchActionConstants.GO_TO); //$NON-NLS-1$
-		menu.add(goToSubMenu);
-		goToSubMenu.add(backAction);
-		goToSubMenu.add(forwardAction);
-		goToSubMenu.add(upAction);
-		goToSubMenu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-		
-		menu.add(new Separator(IWorkbenchActionConstants.OPEN_EXT));
-		for (int i = 2; i < 5; ++i) {
-			menu.add(new Separator(IWorkbenchActionConstants.OPEN_EXT + i));
-		}
-		menu.add(new Separator(IWorkbenchActionConstants.SHOW_EXT));
-		menu.add(showInAction);
-		for (int i = 2; i < 5; ++i) {
-			menu.add(new Separator(IWorkbenchActionConstants.SHOW_EXT + i));
-		}
-		menu.add(new Separator());
-		menu.add(nextAction);
-		menu.add(previousAction);
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-		menu.add(new GroupMarker(IWorkbenchActionConstants.NAV_END));
-		
-		//TBD: Location of this actions
-		menu.add(new Separator());
-		menu.add(backwardHistoryAction);
-		menu.add(forwardHistoryAction);
-		return menu;
-	}
-
-	/**
-	 * Creates and returns the Project menu.
-	 */
-	private MenuManager createProjectMenu() {
-		boolean autoBuild = ResourcesPlugin.getWorkspace().isAutoBuilding();
-		MenuManager menu = new MenuManager(WorkbenchMessages.getString("Workbench.project"), IWorkbenchActionConstants.M_PROJECT); //$NON-NLS-1$
-		menu.add(new Separator(IWorkbenchActionConstants.PROJ_START));
-
-		menu.add(openProjectAction);
-		menu.add(closeProjectAction);
-		menu.add(new GroupMarker(IWorkbenchActionConstants.OPEN_EXT));
-		menu.add(new Separator());
-
-		// Only add the manual incremental build if auto build off
-		if (!autoBuild)
-			menu.add(buildProjectAction);
-		menu.add(rebuildProjectAction);
-		if (!autoBuild) {
-			menu.add(buildAllAction);
-		}
-		menu.add(rebuildAllAction);
-		menu.add(new GroupMarker(IWorkbenchActionConstants.BUILD_EXT));
-		menu.add(new Separator());
-
-		menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-		menu.add(new GroupMarker(IWorkbenchActionConstants.PROJ_END));
-		return menu;
-	}
-
-// end menu reorg
-	
-
-	/**
-	 * Adds the perspective actions to the specified menu.
-	 */
-	private void addPerspectiveActions(MenuManager menu) {
-		{
-			String openText = WorkbenchMessages.getString("Workbench.openPerspective"); //$NON-NLS-1$
-			MenuManager changePerspMenuMgr = new MenuManager(openText); //$NON-NLS-1$
-			ChangeToPerspectiveMenu changePerspMenuItem = new ChangeToPerspectiveMenu(window);
-			changePerspMenuMgr.add(changePerspMenuItem);
-			menu.add(changePerspMenuMgr);
-		}
-		{
-			MenuManager showViewMenuMgr = new MenuManager(WorkbenchMessages.getString("Workbench.showView")); //$NON-NLS-1$
-			ShowViewMenu showViewMenu = new ShowViewMenu(window);
-			showViewMenuMgr.add(showViewMenu);
-			menu.add(showViewMenuMgr);			
-		}
-		menu.add(hideShowEditorAction);
-		menu.add(lockToolBarAction);	
-		menu.add(new Separator());
-		menu.add(editActionSetAction);
-		menu.add(savePerspectiveAction);
-		menu.add(resetPerspectiveAction);
-		menu.add(closePerspAction);	
-		menu.add(closeAllPerspsAction);
-	}
-	
-	/**
-	 * Creates and returns the Perspective menu.
-	 */
-	private MenuManager createPerspectiveMenu() {
-		MenuManager menu = new MenuManager(WorkbenchMessages.getString("Workbench.perspective"), IWorkbenchActionConstants.M_VIEW); //$NON-NLS-1$
-		addPerspectiveActions(menu);
-		return menu;
-	}
-
-	/**
-	 * Creates and returns the Workbench menu.
-	 */
-	private MenuManager createWorkbenchMenu() {
-		MenuManager menu = new MenuManager(WorkbenchMessages.getString("Workbench.workbench"), IWorkbenchActionConstants.M_WORKBENCH); //$NON-NLS-1$
-		menu.add(new GroupMarker(IWorkbenchActionConstants.WB_START));
-		// Only add the manual incremental build if auto build off
-		if (!ResourcesPlugin.getWorkspace().isAutoBuilding())
-			menu.add(buildAllAction);
-		menu.add(rebuildAllAction);
-		menu.add(new GroupMarker(IWorkbenchActionConstants.WB_END));
-		menu.add(new Separator());
-		menu.add(openPreferencesAction);
-		menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-		return menu;
-	}
-
-	/**
-	 * Adds the keyboard navigation submenu to the specified menu.
-	 */
-	/*
-	private void addKeyboardShortcuts(MenuManager menu) {
-		MenuManager subMenu = new MenuManager(WorkbenchMessages.getString("Workbench.shortcuts")); //$NON-NLS-1$
-		menu.add(subMenu);
-		subMenu.add(showPartPaneMenuAction);
-		subMenu.add(showViewMenuAction);
-		subMenu.add(new Separator());
-		subMenu.add(activateEditorAction);
-		subMenu.add(nextEditorAction);
-		subMenu.add(prevEditorAction);
-		subMenu.add(new Separator());
-		subMenu.add(nextPartAction);
-		subMenu.add(prevPartAction);
-		subMenu.add(new Separator());
-		subMenu.add(nextPerspectiveAction);
-		subMenu.add(prevPerspectiveAction);
-	}
-	*/
-	
-	/**
-	 * Creates and returns the Window menu.
-	 */
-	private MenuManager createWindowMenu() {
-		MenuManager menu = new MenuManager(WorkbenchMessages.getString("Workbench.window"), IWorkbenchActionConstants.M_WINDOW); //$NON-NLS-1$
-		
-		OpenInNewWindowAction action = new OpenInNewWindowAction(window);
-		action.setText(WorkbenchMessages.getString("Workbench.openNewWindow")); //$NON-NLS-1$
-		menu.add(action);
-		menu.add(new Separator());
-		addPerspectiveActions(menu);
-		menu.add(new Separator());
-		//addKeyboardShortcuts(menu);
-		//menu.add(new Separator());
-		menu.add(workbenchEditorsAction);
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS + "end")); //$NON-NLS-1$
-		menu.add(openPreferencesAction);
-		menu.add(new SwitchToWindowMenu(window, true));
-		return menu;
-	}	
-
-	/**
-	 * Creates and returns the Help menu.
-	 */
-	private MenuManager createHelpMenu() {
-		MenuManager menu = new MenuManager(WorkbenchMessages.getString("Workbench.help"), IWorkbenchActionConstants.M_HELP); //$NON-NLS-1$
-		// See if a welcome page is specified
-		if (quickStartAction != null)
-			menu.add(quickStartAction);
-		menu.add(new GroupMarker(IWorkbenchActionConstants.HELP_START));
-		menu.add(new GroupMarker(IWorkbenchActionConstants.HELP_END));
-		menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-		// about should always be at the bottom
-		menu.add(new Separator());
-		menu.add(aboutAction);
-		return menu;
-	}
-	
-	/**
-	 * Fills the shortcut bar
-	 */
-	private void createShortcutBar() {
-		ToolBarManager shortcutBar = window.getShortcutBar();
-		shortcutBar.add(new PerspectiveContributionItem(window));
-		shortcutBar.add(new Separator(window.GRP_PAGES));
-		shortcutBar.add(new Separator(window.GRP_PERSPECTIVES));
-		shortcutBar.add(new Separator(window.GRP_FAST_VIEWS));
-		shortcutBar.add(new ShowFastViewContribution(window));
-	}
-	/**
-	 * Fills the menu bar by merging all the individual viewers' contributions
-	 * and invariant (static) menus and menu items, as defined in MenuConstants interface.
-	 */
-	private void createToolBar() {
-		// Create a CoolBar item for the workbench
-		CoolBarManager cBarMgr =  window.getCoolBarManager();
-		CoolBarContributionItem coolBarItem = new CoolBarContributionItem(cBarMgr, workbenchToolGroupId); //$NON-NLS-1$
-		cBarMgr.add(coolBarItem);
-		coolBarItem.setVisible(true);
-		IContributionManager toolsManager = (IContributionManager)coolBarItem.getToolBarManager();
-		cBarMgr.addToMenu(new ActionContributionItem(lockToolBarAction));
-		cBarMgr.addToMenu(new ActionContributionItem(editActionSetAction));
-
-		toolsManager.add(newWizardDropDownAction);
-		toolsManager.add(new GroupMarker(IWorkbenchActionConstants.NEW_EXT));
-		toolsManager.add(new Separator());
-		toolsManager.add(saveAction);
-		toolsManager.add(saveAsAction);
-		toolsManager.add(new GroupMarker(IWorkbenchActionConstants.SAVE_EXT));
-		toolsManager.add(printAction);
-		toolsManager.add(new GroupMarker(IWorkbenchActionConstants.BUILD_EXT));
-		toolsManager.prependToGroup(IWorkbenchActionConstants.BUILD_EXT, new Separator());
-		toolsManager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-		// Only add the manual incremental build if auto build off
-		if (!ResourcesPlugin.getWorkspace().isAutoBuilding()) {
-			toolsManager.appendToGroup(IWorkbenchActionConstants.BUILD_EXT, buildAllAction);
-		}
-		addHistoryActions();
-		IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-		if(store.getBoolean(IPreferenceConstants.REUSE_EDITORS_BOOLEAN)) {
-			addPinEditorAction();
-		}
-	}
-	/**
-	 * Remove the property change listener
-	 */
-	public void dispose() {
-		// Listen for preference property changes to
-		// update the menubar and toolbar
-		IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-		store.removePropertyChangeListener(this);
-	}
-	/**
-	 * Returns true if the menu with the given ID should
-	 * be considered OLE container menu. Container menus
-	 * are preserved in OLE menu merging.
-	 */
-	public static boolean isContainerMenu(String menuId) {
-		if (menuId.equals(IWorkbenchActionConstants.M_FILE))
-			return true;
-		if (menuId.equals(IWorkbenchActionConstants.M_VIEW))
-			return true;
-		if (menuId.equals(IWorkbenchActionConstants.M_WORKBENCH))
-			return true;
-		if (menuId.equals(IWorkbenchActionConstants.M_WINDOW))
-			return true;
-		return false;
-	}
-	/**
-	 * Create actions for the menu bar and toolbar
-	 */
-	private void makeActions() {
-
-		// The actions in jface do not have menu vs. enable, vs. disable vs. color
-		// There are actions in here being passed the workbench - problem 
-
-		// Get services for notification.
-		IPartService partService = window.getPartService();
-		WWinKeyBindingService keyBindingService = window.getKeyBindingService();
-
-		// Many actions need the workbench.
-		IWorkbench workbench = window.getWorkbench();
-
-		newWizardAction = new NewWizardAction();
-		// images for this action are set in its constructor
-		keyBindingService.registerGlobalAction(newWizardAction);
-
-		newWizardDropDownAction = new NewWizardDropDownAction(workbench, newWizardAction);
-		newWizardDropDownAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_NEW_WIZ));
-		newWizardDropDownAction.setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_NEW_WIZ_HOVER));
-		newWizardDropDownAction.setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_NEW_WIZ_DISABLED));
-
-		importResourcesAction = new ImportResourcesAction(workbench);
-		importResourcesAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_IMPORT_WIZ));
-		importResourcesAction.setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_IMPORT_WIZ_HOVER));
-		importResourcesAction.setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_IMPORT_WIZ_DISABLED));
-
-		exportResourcesAction = new ExportResourcesAction(workbench,WorkbenchMessages.getString("ExportResourcesAction.fileMenuText"));
-		exportResourcesAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_EXPORT_WIZ));
-		exportResourcesAction.setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_EXPORT_WIZ_HOVER));
-		exportResourcesAction.setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_EXPORT_WIZ_DISABLED));
-
-		rebuildAllAction = new GlobalBuildAction(window, IncrementalProjectBuilder.FULL_BUILD);
-		// 1G82IWC - a new icon is needed for Rebuild All or Build
-		//	rebuildAllAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_BUILD_EXEC));
-		//	rebuildAllAction.setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_BUILD_EXEC_HOVER));
-		//	rebuildAllAction.setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_BUILD_EXEC_DISABLED));
-		rebuildAllAction.setActionDefinitionId(rebuildAllActionDefId);
-
-		buildAllAction = new GlobalBuildAction(window, IncrementalProjectBuilder.INCREMENTAL_BUILD);
-		buildAllAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_BUILD_EXEC));
-		buildAllAction.setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_BUILD_EXEC_HOVER));
-		buildAllAction.setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_BUILD_EXEC_DISABLED));
-		buildAllAction.setActionDefinitionId(buildAllActionDefId);
-		
-		saveAction = new SaveAction(window);
-		saveAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_SAVE_EDIT));
-		saveAction.setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_SAVE_EDIT_HOVER));
-		saveAction.setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_SAVE_EDIT_DISABLED));
-		partService.addPartListener(saveAction);
-		saveAction.setActionDefinitionId(saveActionDefId);
-		keyBindingService.registerGlobalAction(saveAction);
-
-		saveAsAction = new SaveAsAction(window);
-		saveAsAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_SAVEAS_EDIT));
-		saveAsAction.setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_SAVEAS_EDIT_HOVER));
-		saveAsAction.setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_SAVEAS_EDIT_DISABLED));
-		partService.addPartListener(saveAsAction);
-
-		saveAllAction = new SaveAllAction(window);
-		saveAllAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_SAVEALL_EDIT));
-		saveAllAction.setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_SAVEALL_EDIT_HOVER));
-		saveAllAction.setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_SAVEALL_EDIT_DISABLED));
-		partService.addPartListener(saveAllAction);
-		saveAllAction.setActionDefinitionId(saveAllActionDefId);
-		keyBindingService.registerGlobalAction(saveAllAction);
-
-		undoAction = new LabelRetargetAction(IWorkbenchActionConstants.UNDO, WorkbenchMessages.getString("Workbench.undo")); //$NON-NLS-1$
-		undoAction.setToolTipText(WorkbenchMessages.getString("Workbench.undoToolTip")); //$NON-NLS-1$
-		undoAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_UNDO_EDIT));
-		undoAction.setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_UNDO_EDIT_HOVER));
-		undoAction.setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_UNDO_EDIT_DISABLED));
-		partService.addPartListener(undoAction);
-		undoAction.setActionDefinitionId(undoActionDefId);
-		keyBindingService.registerGlobalAction(undoAction);
-
-		redoAction = new LabelRetargetAction(IWorkbenchActionConstants.REDO, WorkbenchMessages.getString("Workbench.redo")); //$NON-NLS-1$
-		redoAction.setToolTipText(WorkbenchMessages.getString("Workbench.redoToolTip")); //$NON-NLS-1$
-		redoAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_REDO_EDIT));
-		redoAction.setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_REDO_EDIT_HOVER));
-		redoAction.setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_REDO_EDIT_DISABLED));
-		partService.addPartListener(redoAction);
-		redoAction.setActionDefinitionId(redoActionDefId);
-		keyBindingService.registerGlobalAction(redoAction);
-
-		cutAction = new RetargetAction(IWorkbenchActionConstants.CUT, WorkbenchMessages.getString("Workbench.cut")); //$NON-NLS-1$
-		cutAction.setToolTipText(WorkbenchMessages.getString("Workbench.cutToolTip")); //$NON-NLS-1$
-		cutAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_CUT_EDIT));
-		cutAction.setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_CUT_EDIT_HOVER));
-		cutAction.setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_CUT_EDIT_DISABLED));
-		partService.addPartListener(cutAction);
-		cutAction.setActionDefinitionId(cutActionDefId);
-		keyBindingService.registerGlobalAction(cutAction);
-
-		copyAction = new RetargetAction(IWorkbenchActionConstants.COPY, WorkbenchMessages.getString("Workbench.copy")); //$NON-NLS-1$
-		copyAction.setToolTipText(WorkbenchMessages.getString("Workbench.copyToolTip")); //$NON-NLS-1$
-		copyAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_COPY_EDIT));
-		copyAction.setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_COPY_EDIT_HOVER));
-		copyAction.setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_COPY_EDIT_DISABLED));
-		partService.addPartListener(copyAction);
-		copyAction.setActionDefinitionId(copyActionDefId);
-		keyBindingService.registerGlobalAction(copyAction);
-		
-		pasteAction = new RetargetAction(IWorkbenchActionConstants.PASTE, WorkbenchMessages.getString("Workbench.paste")); //$NON-NLS-1$
-		pasteAction.setToolTipText(WorkbenchMessages.getString("Workbench.pasteToolTip")); //$NON-NLS-1$
-		pasteAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_PASTE_EDIT));
-		pasteAction.setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_PASTE_EDIT_HOVER));
-		pasteAction.setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_PASTE_EDIT_DISABLED));
-		partService.addPartListener(pasteAction);
-		pasteAction.setActionDefinitionId(pasteActionDefId);
-		keyBindingService.registerGlobalAction(pasteAction);
-		
-		printAction = new RetargetAction(IWorkbenchActionConstants.PRINT, WorkbenchMessages.getString("Workbench.print")); //$NON-NLS-1$
-		printAction.setToolTipText(WorkbenchMessages.getString("Workbench.printToolTip")); //$NON-NLS-1$
-		printAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_PRINT_EDIT));
-		printAction.setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_PRINT_EDIT_HOVER));
-		printAction.setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_PRINT_EDIT_DISABLED));
-		partService.addPartListener(printAction);
-		printAction.setActionDefinitionId(printActionDefId);
-		keyBindingService.registerGlobalAction(printAction);
-
-		selectAllAction = new RetargetAction(IWorkbenchActionConstants.SELECT_ALL, WorkbenchMessages.getString("Workbench.selectAll")); //$NON-NLS-1$
-		selectAllAction.setToolTipText(WorkbenchMessages.getString("Workbench.selectAllToolTip")); //$NON-NLS-1$
-		partService.addPartListener(selectAllAction);
-		selectAllAction.setActionDefinitionId(selectAllActionDefId);
-		keyBindingService.registerGlobalAction(selectAllAction);
-
-		findAction = new RetargetAction(IWorkbenchActionConstants.FIND, WorkbenchMessages.getString("Workbench.findReplace")); //$NON-NLS-1$
-		findAction.setToolTipText(WorkbenchMessages.getString("Workbench.findReplaceToolTip")); //$NON-NLS-1$
-// Find's images commented out due to conflict with Search.
-// See bug 16412.
-//		findAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_SEARCH_SRC));
-//		findAction.setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_SEARCH_SRC_HOVER));
-//		findAction.setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_SEARCH_SRC_DISABLED));
-		partService.addPartListener(findAction);
-		findAction.setActionDefinitionId(findActionDefId);
-		keyBindingService.registerGlobalAction(findAction);
-
-		closeAction = new CloseEditorAction(window);
-		partService.addPartListener(closeAction);
-		closeAction.setActionDefinitionId(closeActionDefId);
-		keyBindingService.registerGlobalAction(closeAction);
-
-		closeAllAction = new CloseAllAction(window);
-		partService.addPartListener(closeAllAction);
-		closeAllAction.setActionDefinitionId(closeAllActionDefId);
-		keyBindingService.registerGlobalAction(closeAllAction);
-
-		closeAllSavedAction = new CloseAllSavedAction(window);
-		partService.addPartListener(closeAllSavedAction);
-		closeAllSavedAction.setActionDefinitionId(closeAllSavedActionDefId);
-		keyBindingService.registerGlobalAction(closeAllSavedAction);
-
-		pinEditorAction = new PinEditorAction(window);
-		partService.addPartListener(pinEditorAction);
-		pinEditorAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_PIN_EDITOR));
-		pinEditorAction.setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_PIN_EDITOR_HOVER));
-		pinEditorAction.setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_PIN_EDITOR_DISABLED));
-
-		aboutAction = new AboutAction(window);
-		aboutAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_OBJS_DEFAULT_PROD));
-
-		openPreferencesAction = new OpenPreferencesAction(window);
-
-		addBookmarkAction = new RetargetAction(IWorkbenchActionConstants.BOOKMARK, WorkbenchMessages.getString("Workbench.addBookMark")); //$NON-NLS-1$
-		partService.addPartListener(addBookmarkAction);
-		addBookmarkAction.setToolTipText(WorkbenchMessages.getString("Workbench.addBookMarkToolTip")); //$NON-NLS-1$
-		addBookmarkAction.setActionDefinitionId(addBookmarkActionDefId);
-		keyBindingService.registerGlobalAction(addBookmarkAction);
-
-		addTaskAction = createGlobalAction(IWorkbenchActionConstants.ADD_TASK, "edit", false); //$NON-NLS-1$
-
-		showInAction = new WorkbenchShowInAction(window);
-		partService.addPartListener(showInAction);
-		showInAction.setActionDefinitionId(showInActionDefId);
-		keyBindingService.registerGlobalAction(showInAction);					
-		
-		deleteAction = new RetargetAction(IWorkbenchActionConstants.DELETE, WorkbenchMessages.getString("Workbench.delete")); //$NON-NLS-1$
-		deleteAction.setToolTipText(WorkbenchMessages.getString("Workbench.deleteToolTip")); //$NON-NLS-1$
-		deleteAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_DELETE_EDIT));
-		deleteAction.setHoverImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_DELETE_EDIT_HOVER));
-		deleteAction.setDisabledImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_DELETE_EDIT_DISABLED));
-		deleteAction.enableAccelerator(false);
-		WorkbenchHelp.setHelp(deleteAction, IHelpContextIds.DELETE_RETARGET_ACTION);
-		partService.addPartListener(deleteAction);
-		deleteAction.setActionDefinitionId(deleteActionDefId);
-		// don't register the delete action with the key binding service.
-		// doing so would break cell editors that listen for keyPressed SWT 
-		// events.
-		//keyBindingService.registerGlobalAction(deleteAction);
-
-		// See if a welcome page is specified
-		AboutInfo[] infos = ((Workbench)workbench).getConfigurationInfo().getFeaturesInfo();
-		for (int i = 0; i < infos.length; i++) {
-			if (infos[i].getWelcomePageURL() != null) {
-				quickStartAction = new QuickStartAction(workbench);
-				break;
-			}
-		}
-
-		// Actions for invisible accelerators
-		showViewMenuAction = new ShowViewMenuAction(window);
-		showViewMenuAction.setActionDefinitionId(showViewMenuActionDefId);
-		keyBindingService.registerGlobalAction(showViewMenuAction);
-
-		showPartPaneMenuAction = new ShowPartPaneMenuAction(window);
-		showPartPaneMenuAction.setActionDefinitionId(showPartPaneMenuActionDefId);
-		keyBindingService.registerGlobalAction(showPartPaneMenuAction);
-		
-		nextEditorAction = new CycleEditorAction(window, true);
-		nextEditorAction.setActionDefinitionId(nextEditorActionDefId);
-		keyBindingService.registerGlobalAction(nextEditorAction);
-		
-		prevEditorAction = new CycleEditorAction(window, false);
-		prevEditorAction.setActionDefinitionId(prevEditorActionDefId);
-		keyBindingService.registerGlobalAction(prevEditorAction);
-		
-		nextPartAction = new CyclePartAction(window, true);
-		nextPartAction.setActionDefinitionId(nextPartActionDefId);
-		keyBindingService.registerGlobalAction(nextPartAction);
-		
-		prevPartAction = new CyclePartAction(window, false);
-		prevPartAction.setActionDefinitionId(prevPartActionDefId);
-		keyBindingService.registerGlobalAction(prevPartAction);
-		
-		nextPerspectiveAction = new CyclePerspectiveAction(window, true);
-		nextPerspectiveAction.setActionDefinitionId(nextPerspectiveActionDefId);
-		keyBindingService.registerGlobalAction(nextPerspectiveAction);
-		
-		prevPerspectiveAction = new CyclePerspectiveAction(window, false);
-		prevPerspectiveAction.setActionDefinitionId(prevPerspectiveActionDefId);
-		keyBindingService.registerGlobalAction(prevPerspectiveAction);
-		
-		activateEditorAction = new ActivateEditorAction(window);
-		activateEditorAction.setActionDefinitionId(activateEditorActionDefId);
-		keyBindingService.registerGlobalAction(activateEditorAction);
-		
-		workbenchEditorsAction = new WorkbenchEditorsAction(window);
-		workbenchEditorsAction.setActionDefinitionId(workbenchEditorsActionDefId);
-		keyBindingService.registerGlobalAction(workbenchEditorsAction);
-		
-		hideShowEditorAction = new ToggleEditorsVisibilityAction(window);
-		savePerspectiveAction = new SavePerspectiveAction(window);
-		editActionSetAction = new EditActionSetsAction(window);
-		lockToolBarAction = new LockToolBarAction(window);
-		resetPerspectiveAction = new ResetPerspectiveAction(window);
-		closePerspAction = new ClosePerspectiveAction(window);
-		closeAllPerspsAction = new CloseAllPerspectivesAction(window);
-		
-		//Must change/copy the image. It is using a local toolbar image and colored.
-		backwardHistoryAction = new NavigationHistoryAction(window, false);
-		backwardHistoryAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_BACKWARD_NAV));
-		backwardHistoryAction.setActionDefinitionId(backwardHistoryActionDefId);
-		keyBindingService.registerGlobalAction(backwardHistoryAction);	
-
-		forwardHistoryAction = new NavigationHistoryAction(window, true);
-		forwardHistoryAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_FORWARD_NAV));
-		forwardHistoryAction.setActionDefinitionId(forwardHistoryActionDefId);
-		keyBindingService.registerGlobalAction(forwardHistoryAction);					
-		
-		revertAction = createGlobalAction(IWorkbenchActionConstants.REVERT, "file", false); //$NON-NLS-1$
-		refreshAction = createGlobalAction(IWorkbenchActionConstants.REFRESH, "file", false); //$NON-NLS-1$
-		propertiesAction = createGlobalAction(IWorkbenchActionConstants.PROPERTIES, "file", false); //$NON-NLS-1$
-		moveAction = createGlobalAction(IWorkbenchActionConstants.MOVE, "edit", false); //$NON-NLS-1$
-		renameAction = createGlobalAction(IWorkbenchActionConstants.RENAME, "edit", false); //$NON-NLS-1$
-		goIntoAction = createGlobalAction(IWorkbenchActionConstants.GO_INTO, "navigate", false); //$NON-NLS-1$
-		backAction = createGlobalAction(IWorkbenchActionConstants.BACK, "navigate", true); //$NON-NLS-1$
-		forwardAction = createGlobalAction(IWorkbenchActionConstants.FORWARD, "navigate", true); //$NON-NLS-1$
-		upAction = createGlobalAction(IWorkbenchActionConstants.UP, "navigate", true); //$NON-NLS-1$
-		nextAction = createGlobalAction(IWorkbenchActionConstants.NEXT, "navigate", true); //$NON-NLS-1$
-		nextAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_NEXT_NAV));
-		previousAction = createGlobalAction(IWorkbenchActionConstants.PREVIOUS, "navigate", true); //$NON-NLS-1$
-		previousAction.setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_PREVIOUS_NAV));
-		buildProjectAction = createGlobalAction(IWorkbenchActionConstants.BUILD_PROJECT, "project", false); //$NON-NLS-1$
-		rebuildProjectAction = createGlobalAction(IWorkbenchActionConstants.REBUILD_PROJECT, "project", false); //$NON-NLS-1$
-		openProjectAction = createGlobalAction(IWorkbenchActionConstants.OPEN_PROJECT, "project", false); //$NON-NLS-1$
-		closeProjectAction = createGlobalAction(IWorkbenchActionConstants.CLOSE_PROJECT, "project", false); //$NON-NLS-1$
-
-		// override the text and tooltip for certain actions,
-		// either to get the new text or a different mnemonic
-		savePerspectiveAction.setText(WorkbenchMessages.getString("Workbench.savePerspectiveAs")); //$NON-NLS-1$
-		editActionSetAction.setText(WorkbenchMessages.getString("Workbench.customizePerspective")); //$NON-NLS-1$
-		lockToolBarAction.setText(WorkbenchMessages.getString("Workbench.lockPerspectiveToolBar")); //$NON-NLS-1$
-		resetPerspectiveAction.setText(WorkbenchMessages.getString("Workbench.resetPerspective")); //$NON-NLS-1$
-		closePerspAction.setText(WorkbenchMessages.getString("Workbench.closePerspective")); //$NON-NLS-1$
-		closeAllPerspsAction.setText(WorkbenchMessages.getString("Workbench.closeAllPerspectives")); //$NON-NLS-1$
-		buildAllAction.setText(WorkbenchMessages.getString("Workbench.buildAll")); //$NON-NLS-1$
-		buildAllAction.setToolTipText(WorkbenchMessages.getString("Workbench.buildAllToolTip")); //$NON-NLS-1$
-		keyBindingService.registerGlobalAction(buildAllAction);
-		rebuildAllAction.setText(WorkbenchMessages.getString("Workbench.rebuildAll")); //$NON-NLS-1$
-		rebuildAllAction.setToolTipText(WorkbenchMessages.getString("Workbench.rebuildAllToolTip")); //$NON-NLS-1$
-		keyBindingService.registerGlobalAction(rebuildAllAction);
-	}
-	
-	private RetargetAction createGlobalAction(String id, String actionDefPrefix, boolean labelRetarget) {
-		RetargetAction action;
-		if (labelRetarget) {
-			action = new LabelRetargetAction(id, WorkbenchMessages.getString("Workbench." + id)); //$NON-NLS-1$
-		}
-		else {
-			action = new RetargetAction(id, WorkbenchMessages.getString("Workbench." + id)); //$NON-NLS-1$
-		}
-		action.setToolTipText(WorkbenchMessages.getString("Workbench." + id + "ToolTip")); //$NON-NLS-1$   //$NON-NLS-2$
-		window.getPartService().addPartListener(action);
-		action.setActionDefinitionId(PlatformUI.PLUGIN_ID + "." + actionDefPrefix + "." + id); //$NON-NLS-1$   //$NON-NLS-2$
-		window.getKeyBindingService().registerGlobalAction(action);
-		return action;
-	}
-	
-	/**
-	 * Update the menubar and toolbar when
-	 * changes to the preferences are done.
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		// Allow manual incremental build only if the
-		// auto build setting is off.
-		IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-		if (event.getProperty().equals(IPreferenceConstants.AUTO_BUILD)) {
-			// Auto build is stored in core. It is also in the preference store for use by import/export.
-			IWorkspaceDescription description = ResourcesPlugin.getWorkspace().getDescription();
-			boolean autoBuildSetting = description.isAutoBuilding();
-			boolean newAutoBuildSetting = store.getBoolean(IPreferenceConstants.AUTO_BUILD);
-			
-			if(autoBuildSetting != newAutoBuildSetting){
-				description.setAutoBuilding(newAutoBuildSetting);
-				autoBuildSetting = newAutoBuildSetting;
-				try {
-					ResourcesPlugin.getWorkspace().setDescription(description);
-				} catch (CoreException e) {
-					WorkbenchPlugin.log("Error changing autobuild pref", e.getStatus());
-				}
-									
-				// If auto build is turned on, then do a global incremental
-				// build on all the projects.
-				if (newAutoBuildSetting) {
-					GlobalBuildAction action = new GlobalBuildAction(window,IncrementalProjectBuilder.INCREMENTAL_BUILD);
-					action.doBuild();
-				}								
-			}
-			
-					
-			if (autoBuildSetting)
-				removeManualIncrementalBuildAction();
-			else
-				addManualIncrementalBuildAction();
-			
-		} else if (event.getProperty().equals(IPreferenceConstants.REUSE_EDITORS_BOOLEAN)) {
-			if(store.getBoolean(IPreferenceConstants.REUSE_EDITORS_BOOLEAN))
-				addPinEditorAction();
-			else
-				removePinEditorAction();
-		} else if (event.getProperty().equals(IPreferenceConstants.REUSE_EDITORS)) {
-			pinEditorAction.updateState();
-		} else if (event.getProperty().equals(IPreferenceConstants.RECENT_FILES)) {
-			Workbench wb = (Workbench) (Workbench) window.getWorkbench();
-			int newValue = store.getInt(IPreferenceConstants.RECENT_FILES);
-			wb.getEditorHistory().reset(newValue);
-			if (newValue == 0) {
-				// the open recent menu item can go from enabled to disabled
-				window.updateActionBars();
-			}
-		}
-	}
-	/*
-	 * Adds the pin action to the toolbar.
-	 */
-	private void addHistoryActions() {
-		CoolBarManager cBarMgr =  window.getCoolBarManager();
-		CoolBarContributionItem coolBarItem = new CoolBarContributionItem(cBarMgr, historyGroup); //$NON-NLS-1$
-		// we want to add the history cool item before the editor cool item (if it exists)
-		IContributionItem refItem = cBarMgr.findSubId(IWorkbenchActionConstants.GROUP_EDITOR);
-		if (refItem == null) {
-			cBarMgr.add(coolBarItem);
-		} else {
-			cBarMgr.insertBefore(refItem.getId(), coolBarItem);
-		}
-		coolBarItem.setVisible(true);
-		IToolBarManager tBarMgr = (IToolBarManager)coolBarItem.getToolBarManager();
-		tBarMgr.add(new GroupMarker(historyGroup));
-		tBarMgr.insertAfter(historyGroup,forwardHistoryAction);
-		tBarMgr.insertAfter(historyGroup,backwardHistoryAction);			
-		cBarMgr.update(true);
-	}	
-	/*
-	 * Adds the pin action to the toolbar.
-	 */
-	private void addPinEditorAction() {
-		CoolBarManager cBarMgr =  window.getCoolBarManager();
-		CoolBarContributionItem coolBarItem = new CoolBarContributionItem(cBarMgr, pinEditorGroup); //$NON-NLS-1$
-		// we want to add the pin editor cool item before the editor cool item (if
-		// it exists)
-		IContributionItem refItem = cBarMgr.findSubId(IWorkbenchActionConstants.GROUP_EDITOR);
-		if (refItem == null) {
-			cBarMgr.add(coolBarItem);
-		} else {
-			cBarMgr.insertBefore(refItem.getId(), coolBarItem);
-		}
-		coolBarItem.setVisible(true);
-		IToolBarManager tBarMgr = (IToolBarManager)coolBarItem.getToolBarManager();
-		tBarMgr.add(new GroupMarker(pinEditorGroup));
-		pinEditorAction.setVisible(true);
-		tBarMgr.insertAfter(pinEditorGroup,pinEditorAction);
-		cBarMgr.update(true);
-	}
-	/*
-	 * Removes the pin action from the toolbar.
-	 */	
-	private void removePinEditorAction() {
-		CoolBarManager cBarMgr = window.getCoolBarManager();
-		CoolBarContributionItem coolBarItem = (CoolBarContributionItem)cBarMgr.find(pinEditorGroup); //$NON-NLS-1$
-		if (coolBarItem != null) 
-			coolBarItem.dispose();
-		cBarMgr.update(true);
-	}		
-	/**
-	 * Remove the manual incremental build action
-	 * from both the menu bar and the tool bar.
-	 */
-	protected void removeManualIncrementalBuildAction() {
-		MenuManager menubar = window.getMenuBarManager();
-		IMenuManager manager = menubar.findMenuUsingPath(IWorkbenchActionConstants.M_PROJECT);
-		if (manager != null) {
-			try {
-				manager.remove(IWorkbenchActionConstants.BUILD);
-				manager.remove(IWorkbenchActionConstants.BUILD_PROJECT);
-			} catch (IllegalArgumentException e) {
-				// action was not in menu
-			}
-		}
-		CoolBarManager cBarMgr = window.getCoolBarManager();
-		CoolBarContributionItem groupItem = (CoolBarContributionItem)cBarMgr.find(workbenchToolGroupId);
-		if (groupItem != null) {
-			IContributionManager tBarMgr = groupItem.getToolBarManager();
-			try {
-				tBarMgr.remove(IWorkbenchActionConstants.BUILD);
-				tBarMgr.update(true);
-			} catch (IllegalArgumentException e) {
-				// action was not in toolbar
-			} 
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchColors.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchColors.java
deleted file mode 100644
index 1fb59ec..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchColors.java
+++ /dev/null
@@ -1,297 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.internal.misc.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-import java.util.*;
-
-/**
- * This class manages the common workbench colors.  
- */
-public class WorkbenchColors {
-	static private boolean init = false;
-	static private HashMap colorMap;
-	static private HashMap systemColorMap;
-	static private Color workbenchColors[];
-	static private Color [] activeViewGradient;
-	static private Color [] deactivatedViewGradient;
-	static private Color [] activeEditorGradient;
-	static private Color [] activeNoFocusEditorGradient;
-	static private Color [] deactivatedEditorGradient;
-	static private int [] activeViewPercentages;
-	static private int [] deactivatedViewPercentages;
-	static private int [] activeEditorPercentages;
-	static private int [] activeNoFocusEditorPercentages;
-	static private int [] deactivatedEditorPercentages;
-	static private final String CLR_VIEW_GRAD_START = "clrViewGradStart";//$NON-NLS-1$
-	static private final String CLR_VIEW_GRAD_END = "clrViewGradEnd";//$NON-NLS-1$
-	static private final String CLR_EDITOR_GRAD_START = "clrEditorGradStart";//$NON-NLS-1$
-	static private final String CLR_EDITOR_GRAD_END = "clrEditorGradEnd";//$NON-NLS-1$
-/**
- * Dispose all color pre-allocated by the workbench.
- */
-private static void disposeWorkbenchColors() {
-	for (int i = 0; i < workbenchColors.length; i++){
-		workbenchColors[i].dispose();
-	}
-}
-/**
- * Returns the active editor gradient.
- */
-static public Color [] getActiveEditorGradient() {
-	return activeEditorGradient;
-}
-/**
- * Returns the active editor gradient end color.
- */
-static public Color getActiveEditorGradientEnd() {
-	Color clr = (Color)systemColorMap.get(CLR_EDITOR_GRAD_END);
-	Assert.isNotNull(clr);
-	return clr;
-}
-/**
- * Returns the active editor gradient percents.
- */
-static public int [] getActiveEditorGradientPercents() {
-	return activeEditorPercentages;
-}
-/**
- * Returns the active editor gradient start color.
- */
-static public Color getActiveEditorGradientStart() {
-	Color clr = (Color)systemColorMap.get(CLR_EDITOR_GRAD_START);
-	Assert.isNotNull(clr);
-	return clr;
-}
-/**
- * Returns the active no focus editor gradient.
- */
-static public Color [] getActiveNoFocusEditorGradient() {
-	return activeNoFocusEditorGradient;
-}
-/**
- * Returns the active no focus editor gradient percents.
- */
-static public int [] getActiveNoFocusEditorGradientPercents() {
-	return activeNoFocusEditorPercentages;
-}
-/**
- * Returns the active gradient for views.
- */
-static public Color [] getActiveViewGradient() {
-	return activeViewGradient;
-}
-/**
- * Returns the active view gradient end color.
- */
-static public Color getActiveViewGradientEnd() {
-	Color clr = (Color)systemColorMap.get(CLR_VIEW_GRAD_END);
-	Assert.isNotNull(clr);
-	return clr;
-}
-/**
- * Returns the active view gradient percents.
- */
-static public int [] getActiveViewGradientPercents() {
-	return activeViewPercentages;
-}
-/**
- * Returns the active view gradient start color.
- */
-static public Color getActiveViewGradientStart() {
-	Color clr = (Color)systemColorMap.get(CLR_VIEW_GRAD_START);
-	Assert.isNotNull(clr);
-	return clr;
-}
-/**
- * Returns the gradient for editors when the window
- * is deactivated.
- */
-static public Color [] getDeactivatedEditorGradient() {
-	return deactivatedEditorGradient;
-}
-/**
- * Returns the editor gradient percents when the window
- * is deactivated.
- */
-static public int [] getDeactivatedEditorGradientPercents() {
-	return deactivatedEditorPercentages;
-}
-/**
- * Returns the gradient for views when the window
- * is deactivated.
- */
-static public Color [] getDeactivatedViewGradient() {
-	return deactivatedViewGradient;
-}
-/**
- * Returns the view gradient percents when the window
- * is deactivated.
- */
-static public int [] getDeactivatedViewGradientPercents() {
-	return deactivatedViewPercentages;
-}
-/**
- * Returns a color identified by an RGB value.
- */
-static public Color getColor(RGB rgbValue) {
-	Color clr = (Color)colorMap.get(rgbValue);
-	if (clr == null) {
-		Display disp = Display.getDefault();
-		clr = new Color(disp, rgbValue);
-		colorMap.put(rgbValue, clr);
-	}
-	return clr;
-}
-/**
- * Returns a system color identified by a SWT constant.
- */
-static public Color getSystemColor(int swtId) {
-	Integer bigInt = new Integer(swtId);
-	Color clr = (Color)systemColorMap.get(bigInt);
-	if (clr == null) {
-		Display disp = Display.getDefault();
-		clr = disp.getSystemColor(swtId);
-		systemColorMap.put(bigInt, clr);
-	}
-	return clr;
-}
-/**
- * Initialize all colors used in the workbench in case the OS is using
- * a 256 color palette making sure the workbench colors are allocated.
- *
- * This list comes from the designers.
- */
-private static void initWorkbenchColors(Display d) {
-	if(workbenchColors != null) return;
-	
-	workbenchColors = new Color[]{
-		//Product pallet
-		new Color(d,255,255,255),
-		new Color(d,255,251,240),
-		new Color(d,223,223,191),
-		new Color(d,223,191,191),
-		new Color(d,192,220,192),
-		new Color(d,192,192,192),
-		new Color(d,191,191,191),
-		new Color(d,191,191,159),
-		new Color(d,191,159,191),
-		new Color(d,160,160,164),
-		new Color(d,159,159,191),
-		new Color(d,159,159,159),
-		new Color(d,159,159,127),
-		new Color(d,159,127,159),
-		new Color(d,159,127,127),
-		new Color(d,128,128,128),
-		new Color(d,127,159,159),
-		new Color(d,127,159,127),
-		new Color(d,127,127,159),
-		new Color(d,127,127,127),
-		new Color(d,127,127,95),
-		new Color(d,127,95,127),
-		new Color(d,127,95,95),
-		new Color(d,95,127,127),
-		new Color(d,95,127,95),
-		new Color(d,95,95,127),
-		new Color(d,95,95,95),
-		new Color(d,95,95,63),
-		new Color(d,95,63,95),
-		new Color(d,95,63,63),
-		new Color(d,63,95,95),
-		new Color(d,63,95,63),
-		new Color(d,63,63,95),
-		new Color(d,0,0,0),
-		//wizban pallet
-		new Color(d,195,204,224),
-		new Color(d,214,221,235),
-		new Color(d,149,168,199),
-		new Color(d,128,148,178),
-		new Color(d,106,128,158),
-		new Color(d,255,255,255),
-		new Color(d,0,0,0),
-		new Color(d,0,0,0),
-		//Perspective 
-		new Color(d,132, 130, 132),
-		new Color(d,143, 141, 138),
-		new Color(d,171, 168, 165),
-		//PreferenceDialog and TitleAreaDialog
-		new Color(d,230, 226, 221)
-	};
-}
-/**
- * Disposes of the colors. Ignore all
- * system colors as they do not need
- * to be disposed.
- */
-static public void shutdown() {
-	if (!init)
-		return;
-	
-	disposeWorkbenchColors();
-		
-	Iterator iter = colorMap.values().iterator();
-	while (iter.hasNext()) {
-		Color clr = (Color)iter.next();
-		if (clr != null) {
-			clr.dispose();
-		}
-	}
-	
-	colorMap.clear();
-	systemColorMap.clear();
-	init = false;
-}
-/**
- * Initializes the colors.
- */
-static public void startup() {
-	if (init)
-		return;
-
-	// Initialize the caches first.
-	init = true;
-	colorMap = new HashMap(10);
-	systemColorMap = new HashMap(10);
-
-	initWorkbenchColors(Display.getDefault());
-	// Define active view gradient using same OS title gradient colors.
-	Color clr1 = getSystemColor(SWT.COLOR_TITLE_BACKGROUND);
-	Color clr2 = getSystemColor(SWT.COLOR_TITLE_BACKGROUND_GRADIENT);
-	Color clr3 = getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
-	systemColorMap.put(CLR_VIEW_GRAD_START, clr1);
-	systemColorMap.put(CLR_VIEW_GRAD_END, clr3);
-	activeViewGradient = new Color[] {clr1, clr2, clr3};
-	activeViewPercentages = new int[] {50, 100};
-
-	// Define active editor gradient using same OS title gradient colors.
-	systemColorMap.put(CLR_EDITOR_GRAD_START, clr1);
-	systemColorMap.put(CLR_EDITOR_GRAD_END, null);	// use widget default background
-	activeEditorGradient = new Color[] {clr1, clr2, null, null};
-	activeEditorPercentages = new int[] {50, 90, 100};
-	
-	// Define active no focus editor gradient
-	activeNoFocusEditorGradient = new Color[] {getSystemColor(SWT.COLOR_LIST_BACKGROUND)};
-	activeNoFocusEditorPercentages = new int[0];
-	
-	// Define view gradient for deactivated window using same OS title gradient colors.
-	clr1 = getSystemColor(SWT.COLOR_TITLE_INACTIVE_BACKGROUND);
-	clr2 = getSystemColor(SWT.COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT);
-	clr3 = getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
-	deactivatedViewGradient = new Color[] {clr1, clr2, clr3};
-	deactivatedViewPercentages = new int[] {70, 100};
-
-	// Define editor gradient for deactivated window using same OS title gradient colors.
-	deactivatedEditorGradient = new Color[] {clr1, clr2, null, null};
-	deactivatedEditorPercentages = new int[] {70, 95, 100};
-	
-	// Preload.
-	getSystemColor(SWT.COLOR_WIDGET_FOREGROUND);
-	getSystemColor(SWT.COLOR_BLACK);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchConfigurationInfo.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchConfigurationInfo.java
deleted file mode 100644
index 23632c5..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchConfigurationInfo.java
+++ /dev/null
@@ -1,362 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-package org.eclipse.ui.internal;
-
-import org.eclipse.jface.dialogs.IDialogSettings;
-import java.util.List;
-import java.util.Collections;
-import java.lang.String;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.ui.internal.dialogs.WelcomeEditorInput;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import java.util.ArrayList;
-import org.eclipse.ui.WorkbenchException;
-import java.lang.Exception;
-import java.text.Collator;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.PluginVersionIdentifier;
-import org.eclipse.ui.PartInitException;
-import java.util.Comparator;
-import java.lang.RuntimeException;
-import java.util.Arrays;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.core.boot.BootLoader;
-import java.net.URL;
-import org.eclipse.core.boot.IPlatformConfiguration;
-import java.lang.Object;
-
-public class WorkbenchConfigurationInfo {
-	private AboutInfo aboutInfo;
-	private AboutInfo[] featuresInfo;
-	private AboutInfo[] newFeaturesInfo;
-	
-	private static final String INSTALLED_FEATURES = "installedFeatures";
-
-
-/**
- * Returns the about info.
- *
- * @return the about info
- */
-public AboutInfo getAboutInfo() {
-	return aboutInfo;
-}
-
-/**
- * Returns the about info for all configured features with a corresponding plugin.
- *
- * @return the about info
- */
-public AboutInfo[] getFeaturesInfo() {
-	if (featuresInfo == null)
-		readFeaturesInfo();
-	return featuresInfo;
-}
-
-/**
- * Returns the about info for all new (since the last time the workbench was run)
- * configured features with a corresponding plugin.
- *
- * @return the about info
- */
-private AboutInfo[] getNewFeaturesInfo() {
-	if (newFeaturesInfo == null)
-		readFeaturesInfo();
-	return newFeaturesInfo;
-}
-
-private Workbench getWorkbench() {
-	return (Workbench)PlatformUI.getWorkbench();
-}
-/**
- * Open the Welcome editor for the primary feature or for a new feature
- */
-protected void openWelcomeEditors() {
-	AboutInfo info = getAboutInfo();
-	AboutInfo[] newFeatures = getNewFeaturesInfo();
-
-	if (WorkbenchPlugin.getDefault().getPreferenceStore().getBoolean(IPreferenceConstants.WELCOME_DIALOG)) {
-		// Show the quick start wizard the first time the workbench opens.
-
-		// See if a welcome page is specified
-		URL url = info.getWelcomePageURL();
-		if (url == null)
-			return;
-
-		// Don't show it again
-		WorkbenchPlugin.getDefault().getPreferenceStore().setValue(IPreferenceConstants.WELCOME_DIALOG, false);
-
-		openEditor(new WelcomeEditorInput(info), Workbench.WELCOME_EDITOR_ID, null);
-	} else {
-		// Show the welcome page for any newly installed features
-
-		// Get the infos with welcome pages
-		ArrayList welcomeFeatures = new ArrayList();
-		for (int i = 0; i < newFeatures.length; i++) {
-			if (newFeatures[i].getWelcomePageURL() != null) {
-				if (newFeatures[i].getFeatureId() != null && newFeatures[i].getWelcomePerspective() != null) {
-					IPluginDescriptor desc = newFeatures[i].getDescriptor();
-					//activates the feature plugin so it can run some install code.
-					try {
-						if(desc != null)
-							desc.getPlugin();
-					} catch (CoreException e) {
-					}
-				}
-				welcomeFeatures.add(newFeatures[i]);
-			}
-		}
-
-		int wCount = getWorkbench().getWorkbenchWindowCount();
-		for (int i = 0; i < welcomeFeatures.size(); i++) {
-			AboutInfo newInfo = (AboutInfo) welcomeFeatures.get(i);
-			String id = newInfo.getWelcomePerspective();
-			if (id == null || i >= wCount) //Other editors were already opened in restoreState(..)
-				openEditor(new WelcomeEditorInput(newInfo), Workbench.WELCOME_EDITOR_ID, id);
-		}
-	}
-}
-	
-protected boolean readInfo() {
-	// determine the identifier of the "dominant" application
-	IPlatformConfiguration conf = BootLoader.getCurrentPlatformConfiguration();
-	String versionedFeatureId = conf.getPrimaryFeatureIdentifier();
-	IPlatformConfiguration.IFeatureEntry primaryFeature = conf.findConfiguredFeatureEntry(versionedFeatureId);
-
-	if (primaryFeature == null) {
-		aboutInfo = new AboutInfo(null, null); // Ok to pass null
-	} else {
-		String versionedFeaturePluginIdentifier = primaryFeature.getFeaturePluginIdentifier();
-		String versionedFeaturePluginVersion = primaryFeature.getFeaturePluginVersion();
-
-		if (versionedFeaturePluginIdentifier == null) {
-			aboutInfo = new AboutInfo(null, null); // Ok to pass null
-		} else {
-			if (versionedFeaturePluginVersion == null) {
-				aboutInfo = new AboutInfo(versionedFeaturePluginIdentifier, null);
-			} else {
-				PluginVersionIdentifier mainPluginVersion = null;
-				try {
-					mainPluginVersion = new PluginVersionIdentifier(versionedFeaturePluginVersion);
-				} catch (Exception e) {
-					IStatus iniStatus = new Status(IStatus.ERROR, WorkbenchPlugin.getDefault().getDescriptor().getUniqueIdentifier(), 0, "Unknown plugin version " + versionedFeatureId, e); //$NON-NLS-1$
-					WorkbenchPlugin.log("Problem obtaining configuration info ", iniStatus); //$NON-NLS-1$
-				}
-				aboutInfo = new AboutInfo(versionedFeaturePluginIdentifier, mainPluginVersion);
-			}
-		}
-	}
-
-	boolean success = true;
-
-	try {
-		aboutInfo.readINIFile();
-	} catch (CoreException e) {
-		WorkbenchPlugin.log("Error reading about info file", e.getStatus()); //$NON-NLS-1$
-		success = false;
-	}
-
-	return success;
-}
-
-/**
- * Reads the about info for all the configured features.
- */
-private void readFeaturesInfo() {
-
-	IDialogSettings settings = WorkbenchPlugin.getDefault().getDialogSettings();
-
-	String[] oldFeaturesArray = settings.getArray(INSTALLED_FEATURES);
-	List oldFeatures = null;
-	if (oldFeaturesArray != null)
-		oldFeatures = Arrays.asList(oldFeaturesArray);
-
-	ArrayList aboutInfos = new ArrayList();
-	ArrayList newAboutInfos = new ArrayList();
-
-
-	IPlatformConfiguration platformConfiguration = BootLoader.getCurrentPlatformConfiguration();
-	IPlatformConfiguration.IFeatureEntry[] features = platformConfiguration.getConfiguredFeatureEntries();
-
-	String[] idArray = new String[features.length];
-	for (int i = 0; i < features.length; i++) {
-		String id = features[i].getFeatureIdentifier();
-		String version = features[i].getFeatureVersion();
-		PluginVersionIdentifier vid = null;
-		if (version != null)
-			vid = new PluginVersionIdentifier(version);			
-		
-		String versionedId = id + ":" + vid;
-		idArray[i] = versionedId;
-
-		try {
-			AboutInfo info = new AboutInfo(id, vid);
-			aboutInfos.add(info);
-			if (oldFeatures != null && !oldFeatures.contains(versionedId))
-				// only report a feature as new if we have a previous record of old features
-				newAboutInfos.add(info);
-		} catch (RuntimeException e) {
-			if (WorkbenchPlugin.DEBUG) // only report ini problems if the -debug command line argument is used
-				WorkbenchPlugin.log("Error parsing version \"" + vid + "\" for plugin: " + id + " in Workbench.readFeaturesInfo()");
-			// continue
-		}
-	}
-	settings.put(INSTALLED_FEATURES, idArray);
-
-	// ensure a consistent ordering
-	Collections.sort(aboutInfos, new Comparator() {
-		Collator coll = Collator.getInstance();
-		public int compare(Object a, Object b) {
-			AboutInfo infoA = (AboutInfo) a;
-			AboutInfo infoB = (AboutInfo) b;
-			int c = coll.compare(infoA.getFeatureId(), infoB.getFeatureId());
-			if (c == 0) {
-				c = infoA.getVersionId().isGreaterThan(infoB.getVersionId()) ? 1 : -1;
-			}
-			return c;
-		}
-	});
-
-	featuresInfo = new AboutInfo[aboutInfos.size()];
-	aboutInfos.toArray(featuresInfo);
-
-	for (int i = 0; i < featuresInfo.length; i++) {
-		try {
-			featuresInfo[i].readINIFile();
-			// Exclude any feature for which there is no corresponding plug-in
-			if (featuresInfo[i].getDescriptor() == null) {
-				aboutInfos.remove(featuresInfo[i]);
-				newAboutInfos.remove(featuresInfo[i]);
-			}
-		} catch (CoreException e) {
-			if (WorkbenchPlugin.DEBUG) // only report ini problems if the -debug command line argument is used
-				WorkbenchPlugin.log("Error reading about info file for feature: " + featuresInfo[i].getFeatureId(), e.getStatus()); //$NON-NLS-1$
-		}
-	}
-
-	newFeaturesInfo = new AboutInfo[newAboutInfos.size()];
-	newAboutInfos.toArray(newFeaturesInfo);
-	if (aboutInfos.size() < featuresInfo.length) {
-		featuresInfo = new AboutInfo[aboutInfos.size()];
-		aboutInfos.toArray(featuresInfo);
-	}
-}
-/**
- * Return an array with all new welcome perspectives declared in the
- * new installed features.
- */
-protected AboutInfo[] collectNewFeaturesWithPerspectives() {
-	ArrayList result = new ArrayList();
-	AboutInfo newFeatures[] = getNewFeaturesInfo();
-	for (int i = 0; i < newFeatures.length; i++) {
-		AboutInfo info = newFeatures[i];
-		if (info.getWelcomePerspective() != null && info.getWelcomePageURL() != null)
-			result.add(info);
-	}
-	return (AboutInfo[]) result.toArray(new AboutInfo[result.size()]);
-}
-/**
- * Open an editor for the given input
- */
-private void openEditor(IEditorInput input, String editorId, String perspectiveId) {
-	if (getWorkbench().getWorkbenchWindowCount() == 0) {
-		// Something is wrong, there should be at least
-		// one workbench window open by now.
-		return;
-	}
-
-	IWorkbenchWindow win = null;
-	if (perspectiveId == null) {
-		win = getWorkbench().getActiveWorkbenchWindow();
-	} else {
-		IContainer root = WorkbenchPlugin.getPluginWorkspace().getRoot();
-		try {
-			win = getWorkbench().openWorkbenchWindow(perspectiveId, root);
-		} catch (WorkbenchException e) {
-			if (WorkbenchPlugin.DEBUG) // only report ini problems if the -debug command line argument is used
-				WorkbenchPlugin.log("Error opening window in Workbench.openEditor(..)");
-			return;
-		}
-	}
-
-	if (win == null)
-		win = getWorkbench().getWorkbenchWindows()[0];
-
-	WorkbenchPage page = (WorkbenchPage) win.getActivePage();
-	String id = perspectiveId;
-	if (id == null)
-		id = WorkbenchPlugin.getDefault().getPerspectiveRegistry().getDefaultPerspective();
-
-	if (page == null) {
-		// Create the page.
-		try {
-			IContainer root = WorkbenchPlugin.getPluginWorkspace().getRoot();
-			page = (WorkbenchPage) getWorkbench().getActiveWorkbenchWindow().openPage(id, root);
-		} catch (WorkbenchException e) {
-			ErrorDialog.openError(
-				win.getShell(), 
-				WorkbenchMessages.getString("Problems_Opening_Page"), //$NON-NLS-1$
-				e.getMessage(),
-				e.getStatus());
-		}
-	}
-
-	if (page == null)
-		return;
-
-	if (page.getActivePerspective() == null) {
-		try {
-			page = (WorkbenchPage)getWorkbench().showPerspective(id, win);
-		} catch (WorkbenchException e) {
-			IStatus status = new Status(IStatus.ERROR, WorkbenchPlugin.PI_WORKBENCH, 1, WorkbenchMessages.getString("QuickStartAction.openEditorException"), e); //$NON-NLS-1$
-			ErrorDialog.openError(
-				win.getShell(),
-				WorkbenchMessages.getString("Workbench.openEditorErrorDialogTitle"),  //$NON-NLS-1$
-			WorkbenchMessages.getString("Workbench.openEditorErrorDialogMessage"), //$NON-NLS-1$
-			status);
-			return;
-		}
-	}
-
-	page.setEditorAreaVisible(true);
-
-	// see if we already have an editor
-	IEditorPart editor = page.findEditor(input);
-	if (editor != null) {
-		page.activate(editor);
-		return;
-	}
-
-	try {
-		page.openEditor(input, editorId);
-	} catch (PartInitException e) {
-		IStatus status = new Status(IStatus.ERROR, WorkbenchPlugin.PI_WORKBENCH, 1, WorkbenchMessages.getString("QuickStartAction.openEditorException"), e); //$NON-NLS-1$
-		ErrorDialog.openError(
-			win.getShell(),
-			WorkbenchMessages.getString("Workbench.openEditorErrorDialogTitle"),  //$NON-NLS-1$
-		WorkbenchMessages.getString("Workbench.openEditorErrorDialogMessage"), //$NON-NLS-1$
-		status);
-	}
-	return;
-}
-/**
- * Open the system summary editor
- */
-public void openSystemSummaryEditor() {
-	openEditor(new SystemSummaryEditorInput(), PlatformUI.PLUGIN_ID + ".SystemSummaryEditor", null); //$NON-NLS-1$
-}					
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchEditorsAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchEditorsAction.java
deleted file mode 100644
index 598b033..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchEditorsAction.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-
-package org.eclipse.ui.internal;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Implements a action to open a dialog showing all open editors
- * and the recent closed editors.
- */
-public class WorkbenchEditorsAction extends Action {
-
-	WorkbenchWindow window;
-
-	/**
-	 * Constructor for NavigateWorkbenchAction.
-	 * @param text
-	 */
-	public WorkbenchEditorsAction(WorkbenchWindow window) {
-		super(WorkbenchMessages.getString("WorkbenchEditorsAction.label")); //$NON-NLS-1$
-		this.window = window;
-		WorkbenchHelp.setHelp(this, IHelpContextIds.WORKBENCH_EDITORS_ACTION);
-	}
-	public void run() {
-		WorkbenchPage page = (WorkbenchPage)window.getActivePage();
-		if(page != null) {
-			page.getEditorPresentation().openEditorList();
-		}		
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchImages.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchImages.java
deleted file mode 100644
index ab971a5..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchImages.java
+++ /dev/null
@@ -1,523 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.misc.Assert;
-import org.eclipse.ui.internal.misc.ProgramImageDescriptor;
-
-/**
- * This class provides convenience access to many of the resources required
- * by the workbench. The class stores some images as descriptors, and
- * some are stored as real Images in the registry.  This is a pure
- * speed-space tradeoff.  The trick for users of this class is that
- * images obtained from the registry (using getImage()), don't require
- * disposal since they are shared, while images obtained using
- * getImageDescriptor() will require disposal.  Consult the declareImages
- * method to see if a given image is declared as a registry image or
- * just as a descriptor.  If you change an image from being stored
- * as a descriptor to a registry image, or vice-versa, make sure to
- * check all users of the image to ensure they are calling
- * the correct getImage... method and handling disposal correctly.
- *
- *  Images:
- *      - use getImage(key) to access cached images from the registry.
- *      - Less common images are found by calling getImageDescriptor(key)
- *          where key can be found in IWorkbenchGraphicConstants
- *
- *      This class initializes the image registry by declaring all of the required
- *      graphics. This involves creating image descriptors describing
- *      how to create/find the image should it be needed.
- *      The image is not actually allocated until requested.
- *
- *      Some Images are also made available to other plugins by being
- *      placed in the descriptor table of the SharedImages class.
- *
- *      Where are the images?
- *          The images (typically gifs) are found the plugins install directory
- *
- *      How to add a new image
- *          Place the gif file into the appropriate directories.
- *          Add a constant to IWorkbenchGraphicConstants following the conventions
- *          Add the declaration to this file
- */
-public /*final*/ class WorkbenchImages {
-	private static Map descriptors = new HashMap();
-	private static ImageRegistry imageRegistry;
-	
-	//Key: ImageDescriptor
-	//Value: Image
-	private static ReferenceCounter imageCache = new ReferenceCounter();
-
-	/* Declare Common paths */
-
-	// Subdirectory (under the package containing this class) where 16 color images are
-	private static final URL URL_BASIC = Platform.getPlugin(PlatformUI.PLUGIN_ID).getDescriptor().getInstallURL();
-
-	public final static String ICONS_PATH = "icons/full/";//$NON-NLS-1$
-	
-	private final static String PATH_CTOOL = ICONS_PATH+"ctool16/"; //Colored toolbar icons - hover.//$NON-NLS-1$
-	private final static String PATH_ETOOL = ICONS_PATH+"etool16/"; //Enabled toolbar icons.//$NON-NLS-1$
-	private final static String PATH_DTOOL = ICONS_PATH+"dtool16/"; //Disabled toolbar icons.//$NON-NLS-1$
-	
-	private final static String PATH_CLOCALTOOL = ICONS_PATH+"clcl16/"; //Colored local toolbar icons - hover.//$NON-NLS-1$
-	private final static String PATH_ELOCALTOOL = ICONS_PATH+"elcl16/"; //Enabled local toolbar icons.//$NON-NLS-1$
-	private final static String PATH_DLOCALTOOL = ICONS_PATH+"dlcl16/"; //Disabled local toolbar icons.//$NON-NLS-1$
-	
-	private final static String PATH_CVIEW = ICONS_PATH+"cview16/"; //Colored view icons.//$NON-NLS-1$
-	private final static String PATH_EVIEW = ICONS_PATH+"eview16/"; //View icons//$NON-NLS-1$
-
-	
-	//private final static String PATH_PROD = ICONS_PATH+"prod/";	//Product images
-	private final static String PATH_OBJECT = ICONS_PATH+"obj16/"; //Model object icons//$NON-NLS-1$
-	private final static String PATH_DND = ICONS_PATH+"dnd/";  //DND icons//$NON-NLS-1$
-	private final static String PATH_WIZBAN = ICONS_PATH+"wizban/"; //Wizard icons//$NON-NLS-1$
-	
-	//private final static String PATH_STAT = ICONS_PATH+"stat/";
-	//private final static String PATH_MISC = ICONS_PATH+"misc/";
-	//private final static String PATH_OVERLAY = ICONS_PATH+"ovr16/";
-	
-/**
- * Returns the image cache used internally by the workbench.
- */
-public static ReferenceCounter getImageCache() {
-	return imageCache;
-}
-/**
- * Declare an ImageDescriptor in the descriptor 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 declareImage(String key,String path) {
-	URL url = null;
-	try {
-		url = new URL(URL_BASIC, path);
-	} catch (MalformedURLException e) {
-	}
-	ImageDescriptor desc = ImageDescriptor.createFromURL(url);
-	descriptors.put(key, desc);
-}
-private final static void declareImages() {
-
-							
-	// toolbar buttons for wizards
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_NEW_WIZ, PATH_ETOOL+"new_wiz.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_NEW_WIZ_HOVER, PATH_CTOOL+"new_wiz.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_NEW_WIZ_DISABLED, PATH_DTOOL+"new_wiz.gif");//$NON-NLS-1$
-
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_PIN_EDITOR, PATH_ETOOL+"pin_editor.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_PIN_EDITOR_HOVER, PATH_CTOOL+"pin_editor.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_PIN_EDITOR_DISABLED, PATH_DTOOL+"pin_editor.gif");//$NON-NLS-1$
-
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_IMPORT_WIZ, PATH_CTOOL+"import_wiz.gif");//$NON-NLS-1$
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_IMPORT_WIZ_HOVER, PATH_CTOOL+"import_wiz.gif");
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_IMPORT_WIZ_DISABLED, PATH_DTOOL+"import_wiz.gif");
-	
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_EXPORT_WIZ, PATH_CTOOL+"export_wiz.gif");//$NON-NLS-1$
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_EXPORT_WIZ_HOVER, PATH_CTOOL+"export_wiz.gif");
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_EXPORT_WIZ_DISABLED, PATH_DTOOL+"export_wiz.gif");
-
-	// other toolbar buttons
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_BUILD_EXEC, PATH_ETOOL+"build_exec.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_BUILD_EXEC_HOVER, PATH_CTOOL+"build_exec.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_BUILD_EXEC_DISABLED, PATH_DTOOL+"build_exec.gif");//$NON-NLS-1$
-
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_CLOSE_EDIT, PATH_CTOOL+"close_edit.gif");
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_CLOSE_EDIT_HOVER, PATH_CTOOL+"close_edit.gif");
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_CLOSE_EDIT_DISABLED, PATH_DTOOL+"close_edit.gif");
-
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_SAVE_EDIT, PATH_ETOOL+"save_edit.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_SAVE_EDIT_HOVER, PATH_CTOOL+"save_edit.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_SAVE_EDIT_DISABLED, PATH_DTOOL+"save_edit.gif");//$NON-NLS-1$
-
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_SAVEAS_EDIT, PATH_ETOOL+"saveas_edit.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_SAVEAS_EDIT_HOVER, PATH_CTOOL+"saveas_edit.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_SAVEAS_EDIT_DISABLED, PATH_DTOOL+"saveas_edit.gif");//$NON-NLS-1$
-
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_SAVEALL_EDIT, PATH_ETOOL+"saveall_edit.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_SAVEALL_EDIT_HOVER, PATH_CTOOL+"saveall_edit.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_SAVEALL_EDIT_DISABLED, PATH_DTOOL+"saveall_edit.gif");//$NON-NLS-1$
-
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_UNDO_EDIT, PATH_ETOOL+"undo_edit.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_UNDO_EDIT_HOVER, PATH_CTOOL+"undo_edit.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_UNDO_EDIT_DISABLED, PATH_DTOOL+"undo_edit.gif");//$NON-NLS-1$
-
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_REDO_EDIT, PATH_ETOOL+"redo_edit.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_REDO_EDIT_HOVER, PATH_CTOOL+"redo_edit.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_REDO_EDIT_DISABLED, PATH_DTOOL+"redo_edit.gif");//$NON-NLS-1$
-
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_CUT_EDIT, PATH_ETOOL+"cut_edit.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_CUT_EDIT_HOVER, PATH_CTOOL+"cut_edit.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_CUT_EDIT_DISABLED, PATH_DTOOL+"cut_edit.gif");//$NON-NLS-1$
-
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_COPY_EDIT, PATH_ETOOL+"copy_edit.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_COPY_EDIT_HOVER, PATH_CTOOL+"copy_edit.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_COPY_EDIT_DISABLED, PATH_DTOOL+"copy_edit.gif");//$NON-NLS-1$
-
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_PASTE_EDIT, PATH_ETOOL+"paste_edit.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_PASTE_EDIT_HOVER, PATH_CTOOL+"paste_edit.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_PASTE_EDIT_DISABLED, PATH_DTOOL+"paste_edit.gif");//$NON-NLS-1$
-
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_DELETE_EDIT, PATH_ETOOL+"delete_edit.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_DELETE_EDIT_HOVER, PATH_CTOOL+"delete_edit.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_DELETE_EDIT_DISABLED, PATH_DTOOL+"delete_edit.gif");//$NON-NLS-1$
-
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_PRINT_EDIT, PATH_ETOOL+"print_edit.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_PRINT_EDIT_HOVER, PATH_CTOOL+"print_edit.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_PRINT_EDIT_DISABLED, PATH_DTOOL+"print_edit.gif");//$NON-NLS-1$
-
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_SEARCH_SRC, PATH_ETOOL+"search_src.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_SEARCH_SRC_HOVER, PATH_CTOOL+"search_src.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_SEARCH_SRC_DISABLED, PATH_DTOOL+"search_src.gif");//$NON-NLS-1$
-
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_REFRESH_NAV, PATH_CTOOL+"refresh_nav.gif");
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_REFRESH_NAV_HOVER, PATH_CTOOL+"refresh_nav.gif");
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_REFRESH_NAV_DISABLED, PATH_DTOOL+"refresh_nav.gif");
-
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_STOP_NAV, PATH_CTOOL+"stop_nav.gif");
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_STOP_NAV_HOVER, PATH_CTOOL+"stop_nav.gif");
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_STOP_NAV_DISABLED, PATH_DTOOL+"stop_nav.gif");
-
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_FORWARD_NAV, PATH_CLOCALTOOL+"forward_nav.gif");//$NON-NLS-1$
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_FORWARD_NAV_HOVER, PATH_CTOOL+"forward_nav.gif");
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_FORWARD_NAV_DISABLED, PATH_DTOOL+"forward_nav.gif");
-
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_BACKWARD_NAV, PATH_CLOCALTOOL+"backward_nav.gif");//$NON-NLS-1$
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_BACKWARD_NAV_HOVER, PATH_CTOOL+"backward_nav.gif");
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_BACKWARD_NAV_DISABLED, PATH_DTOOL+"backward_nav.gif");
-
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_HOME_NAV, PATH_CLOCALTOOL+"home_nav.gif");//$NON-NLS-1$
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_HOME_NAV_HOVER, PATH_CLOCALTOOL+"home_nav.gif");
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_HOME_NAV_DISABLED, PATH_DLOCALTOOL+"home_nav.gif");
-
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_NEXT_NAV, PATH_CTOOL+"next_nav.gif");//$NON-NLS-1$
-
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_PREVIOUS_NAV, PATH_CTOOL+"prev_nav.gif");//$NON-NLS-1$
-
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_NEW_PAGE, PATH_EVIEW+"new_persp.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_NEW_PAGE_HOVER, PATH_CVIEW+"new_persp.gif");//$NON-NLS-1$
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_NEW_PAGE_DISABLED, PATH_DTOOL+"new_page.gif");
-
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_SET_PAGE, PATH_CTOOL+"set_page.gif");
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_SET_PAGE_HOVER, PATH_CTOOL+"set_page.gif");
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_SET_PAGE_DISABLED, PATH_DTOOL+"set_page.gif");
-
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_NEW_WND,PATH_CTOOL+"new_wnd.gif");
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_NEW_WND_HOVER, PATH_CTOOL+"new_wnd.gif");
-//	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_NEW_WND_DISABLED, PATH_DTOOL+"new_wnd.gif");
-
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_DEF_PERSPECTIVE,PATH_EVIEW+"default_persp.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_CTOOL_DEF_PERSPECTIVE_HOVER,PATH_CVIEW+"default_persp.gif");//$NON-NLS-1$
-	
-	// *TASKLIST* View icons are in the view code now.
-	//declareImage(IWorkbenchGraphicConstants.IMG_LCL_GOTOOBJ_TSK, PATH_LOCALTOOL+"gotoobj_tsk.gif");
-	//declareImage(IWorkbenchGraphicConstants.IMG_LCL_ADDTSK_TSK, PATH_LOCALTOOL+"addtsk_tsk.gif");
-	//declareImage(IWorkbenchGraphicConstants.IMG_LCL_REMTSK_TSK, PATH_LOCALTOOL+"remtsk_tsk.gif");
-	//declareImage(IWorkbenchGraphicConstants.IMG_LCL_SHOWCOMPLETE_TSK, PATH_LOCALTOOL+"showcomplete_tsk.gif");
-	//declareImage(IWorkbenchGraphicConstants.IMG_LCL_SELECTED_MODE, PATH_LOCALTOOL+"selected_mode.gif");
-	//declareImage(IWorkbenchGraphicConstants.IMG_LCL_SHOWCHILD_MODE, PATH_LOCALTOOL+"showchild_mode.gif");
-	
-	// *PROPERTY* View icons are in the view code now.
-	//declareImage(IWorkbenchGraphicConstants.IMG_LCL_DEFAULTS_PS, PATH_LOCALTOOL+"defaults_ps.gif");
-	//declareImage(IWorkbenchGraphicConstants.IMG_LCL_TREE_MODE, PATH_LOCALTOOL+"tree_mode.gif");
-	//declareImage(IWorkbenchGraphicConstants.IMG_LCL_FILTER_PS, PATH_LOCALTOOL+"filter_ps.gif");
-	//declareImage(IWorkbenchGraphicConstants.IMG_LCL_REMBKMRK_TSK, PATH_LOCALTOOL+"rembkmrk_tsk.gif");
-
-	//declareImage(IWorkbenchGraphicConstants.IMG_LCL_SHOWSYNC_RN, PATH_LOCALTOOL+"showsync_rn.gif");
-
-	// view images
-	declareImage(IWorkbenchGraphicConstants.IMG_VIEW_DEFAULTVIEW_MISC, PATH_CVIEW+"defaultview_misc.gif");//$NON-NLS-1$
-
-	// wizard images
-	declareImage(IWorkbenchGraphicConstants.IMG_WIZBAN_NEW_WIZ, PATH_WIZBAN+"new_wiz.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_WIZBAN_NEWPRJ_WIZ, PATH_WIZBAN+"newprj_wiz.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_WIZBAN_NEWFOLDER_WIZ, PATH_WIZBAN+"newfolder_wiz.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_WIZBAN_NEWFILE_WIZ, PATH_WIZBAN+"newfile_wiz.gif");//$NON-NLS-1$
-
-	declareImage(IWorkbenchGraphicConstants.IMG_WIZBAN_IMPORT_WIZ, PATH_WIZBAN+"import_wiz.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_WIZBAN_IMPORTDIR_WIZ, PATH_WIZBAN+"importdir_wiz.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_WIZBAN_IMPORTZIP_WIZ, PATH_WIZBAN+"importzip_wiz.gif");//$NON-NLS-1$
-
-	declareImage(IWorkbenchGraphicConstants.IMG_WIZBAN_EXPORT_WIZ, PATH_WIZBAN+"export_wiz.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_WIZBAN_EXPORTDIR_WIZ, PATH_WIZBAN+"exportdir_wiz.gif");//$NON-NLS-1$
-	declareImage(IWorkbenchGraphicConstants.IMG_WIZBAN_EXPORTZIP_WIZ, PATH_WIZBAN+"exportzip_wiz.gif");//$NON-NLS-1$
-
-	declareImage(IWorkbenchGraphicConstants.IMG_WIZBAN_RESOURCEWORKINGSET_WIZ, PATH_WIZBAN+"workset_wiz.gif");//$NON-NLS-1$
-
-	// dialog images
-	declareImage(IWorkbenchGraphicConstants.IMG_DLGBAN_SAVEAS_DLG, PATH_WIZBAN+"saveas_dlg.gif");//$NON-NLS-1$
-
-	/* Cache the commonly used ones */
-	
-	// object images -- these are also shared images.
-	declareRegistryImage(ISharedImages.IMG_OBJ_FILE, PATH_OBJECT+"file_obj.gif");//$NON-NLS-1$
-	declareRegistryImage(ISharedImages.IMG_OBJ_FOLDER, PATH_OBJECT+"fldr_obj.gif");//$NON-NLS-1$
-	declareRegistryImage(ISharedImages.IMG_OBJ_PROJECT, PATH_OBJECT+"prj_obj.gif");//$NON-NLS-1$
-	declareRegistryImage(ISharedImages.IMG_OBJ_PROJECT_CLOSED, PATH_OBJECT+"cprj_obj.gif");//$NON-NLS-1$
-	declareRegistryImage(ISharedImages.IMG_OBJ_ELEMENT, PATH_OBJECT+"elements_obj.gif");//$NON-NLS-1$
-	declareRegistryImage(ISharedImages.IMG_OPEN_MARKER, PATH_CLOCALTOOL+"gotoobj_tsk.gif");//$NON-NLS-1$
-	declareRegistryImage(ISharedImages.IMG_DEF_VIEW, PATH_CVIEW+"defaultview_misc.gif");//$NON-NLS-1$
-
-	// view toolbar images
-	declareRegistryImage(IWorkbenchGraphicConstants.IMG_LCL_CLOSE_VIEW, PATH_CLOCALTOOL+"close_view.gif");//$NON-NLS-1$
-	declareRegistryImage(IWorkbenchGraphicConstants.IMG_LCL_PIN_VIEW, PATH_CLOCALTOOL+"pin_view.gif");//$NON-NLS-1$
-	declareRegistryImage(IWorkbenchGraphicConstants.IMG_LCL_MIN_VIEW, PATH_CLOCALTOOL+"min_view.gif");//$NON-NLS-1$
-	declareRegistryImage(IWorkbenchGraphicConstants.IMG_LCL_VIEW_MENU, PATH_CLOCALTOOL+"view_menu.gif");//$NON-NLS-1$
-	
-	// task objects
-	//declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_HPRIO_TSK, PATH_OBJECT+"hprio_tsk.gif");
-	//declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_MPRIO_TSK, PATH_OBJECT+"mprio_tsk.gif");
-	//declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_LPRIO_TSK, PATH_OBJECT+"lprio_tsk.gif");
-
-	declareRegistryImage(ISharedImages.IMG_OBJS_ERROR_TSK, PATH_OBJECT+"error_tsk.gif");//$NON-NLS-1$
-	declareRegistryImage(ISharedImages.IMG_OBJS_WARN_TSK, PATH_OBJECT+"warn_tsk.gif");//$NON-NLS-1$
-	declareRegistryImage(ISharedImages.IMG_OBJS_INFO_TSK, PATH_OBJECT+"info_tsk.gif");//$NON-NLS-1$
-	declareRegistryImage(ISharedImages.IMG_OBJS_TASK_TSK, PATH_OBJECT+"taskmrk_tsk.gif");//$NON-NLS-1$
-	//declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_BRKPT_TSK, PATH_OBJECT+"brkptmrk_tsk.gif");
-	declareRegistryImage(ISharedImages.IMG_OBJS_BKMRK_TSK, PATH_OBJECT+"bkmrk_tsk.gif");//$NON-NLS-1$
-	declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_COMPLETE_TSK, PATH_OBJECT+"complete_tsk.gif");   //$NON-NLS-1$
-	declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_INCOMPLETE_TSK, PATH_OBJECT+"incomplete_tsk.gif");//$NON-NLS-1$
-	declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_WELCOME_ITEM, PATH_OBJECT+"welcome_item.gif");//$NON-NLS-1$
-	declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_WELCOME_BANNER, PATH_OBJECT+"welcome_banner.gif");//$NON-NLS-1$
-
-	// synchronization indicator objects
-	//declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_WBET_STAT, PATH_OVERLAY+"wbet_stat.gif");
-	//declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_SBET_STAT, PATH_OVERLAY+"sbet_stat.gif");
-	//declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_CONFLICT_STAT, PATH_OVERLAY+"conflict_stat.gif");
-
-	// content locality indicator objects
-	//declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_NOTLOCAL_STAT, PATH_STAT+"notlocal_stat.gif");
-	//declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_LOCAL_STAT, PATH_STAT+"local_stat.gif");
-	//declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_FILLLOCAL_STAT, PATH_STAT+"filllocal_stat.gif");
-	
-	// cursor icons for direct manipulation in PartPresentation
-	declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_DND_LEFT_SOURCE, PATH_DND+"left_source.bmp");//$NON-NLS-1$
-	declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_DND_LEFT_MASK, PATH_DND+"left_mask.bmp");//$NON-NLS-1$
-	declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_DND_RIGHT_SOURCE, PATH_DND+"right_source.bmp");//$NON-NLS-1$
-	declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_DND_RIGHT_MASK, PATH_DND+"right_mask.bmp");//$NON-NLS-1$
-	declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_DND_TOP_SOURCE, PATH_DND+"top_source.bmp");//$NON-NLS-1$
-	declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_DND_TOP_MASK, PATH_DND+"top_mask.bmp");//$NON-NLS-1$
-	declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_DND_BOTTOM_SOURCE, PATH_DND+"bottom_source.bmp");//$NON-NLS-1$
-	declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_DND_BOTTOM_MASK, PATH_DND+"bottom_mask.bmp");//$NON-NLS-1$
-	declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_DND_INVALID_SOURCE, PATH_DND+"invalid_source.bmp");//$NON-NLS-1$
-	declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_DND_INVALID_MASK, PATH_DND+"invalid_mask.bmp");//$NON-NLS-1$
-	declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_DND_STACK_SOURCE, PATH_DND+"stack_source.bmp");//$NON-NLS-1$
-	declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_DND_STACK_MASK, PATH_DND+"stack_mask.bmp");//$NON-NLS-1$
-	declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_DND_OFFSCREEN_SOURCE, PATH_DND+"offscreen_source.bmp");//$NON-NLS-1$
-	declareRegistryImage(IWorkbenchGraphicConstants.IMG_OBJS_DND_OFFSCREEN_MASK, PATH_DND+"offscreen_mask.bmp");//$NON-NLS-1$
-}
-/**
- * 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) {
-	URL url = null;
-	try {
-		url = new URL(URL_BASIC, path);
-	} catch (MalformedURLException e) {
-	}
-	ImageDescriptor desc = ImageDescriptor.createFromURL(url);
-	descriptors.put(key, desc);
-	imageRegistry.put(key, desc);
-}
-/**
- * Returns the image stored in the workbench plugin's image registry 
- * under the given symbolic name.  If there isn't any value associated 
- * with the name then <code>null</code> is returned.  
- *
- * The returned Image is managed by the workbench plugin's image registry.  
- * Callers of this method must not dispose the returned image.
- *
- * This method is essentially a convenient short form of
- * WorkbenchImages.getImageRegistry.get(symbolicName).
- */
-public static Image getImage(String symbolicName) {
-	return getImageRegistry().get(symbolicName);
-}
-/**
- * Returns the image descriptor stored under the given symbolic name.
- * If there isn't any value associated with the name then <code>null
- * </code> is returned.
- *
- * The class also "caches" commonly used images in the image registry.
- * If you are looking for one of these common images it is recommended you use 
- * the getImage() method instead.
- */
-public static ImageDescriptor getImageDescriptor(String symbolicName) {
-	return (ImageDescriptor)descriptors.get(symbolicName);
-}
-/**
- * Convenience Method.
- * Returns an ImageDescriptor whose path, relative to the plugin containing 
- * the <code>extension</code> is <code>subdirectoryAndFilename</code>.
- * If there isn't any value associated with the name then <code>null
- * </code> is returned.
- *
- * This method is convenience and only intended for use by the workbench because it
- * explicitly uses the workbench's registry for caching/retrieving images from other
- * extensions -- other plugins must user their own registry. 
- * This convenience method is subject to removal.
- *
- * Note:
- * subdirectoryAndFilename must not have any leading "." or path separators / or \
- * ISV's should use  icons/mysample.gif and not ./icons/mysample.gif
- *
- * Note:
- * This consults the plugin for extension and obtains its installation location.
- * all requested images are assumed to be in a directory below and relative to that
- * plugins installation directory.
- */
-public static ImageDescriptor getImageDescriptorFromExtension(IExtension extension, String subdirectoryAndFilename) {
-	Assert.isNotNull(extension);
-	Assert.isNotNull(subdirectoryAndFilename);
-	return getImageDescriptorFromPlugin(extension.getDeclaringPluginDescriptor(),subdirectoryAndFilename);
-}
-/**
- * Convenience Method.
- * Return an ImageDescriptor whose path relative to the plugin described 
- * by <code>pluginDescriptor</code> or one of its fragments is 
- * <code>subdirectoryAndFilename</code>.
- * Returns <code>null</code>if no image could be found.
- *
- * This method is convenience and only intended for use by the workbench because it
- * explicitly uses the workbench's registry for caching/retrieving images from other
- * extensions -- other plugins must user their own registry. 
- * This convenience method is subject to removal.
- *
- * Note:
- * subdirectoryAndFilename must not have any leading "." or path separators / or \
- * ISV's should use  icons/mysample.gif and not ./icons/mysample.gif
- *
- * Note:
- * This consults the plugin for extension and obtains its installation location.
- * all requested images are assumed to be in a directory below and relative to that
- * plugins installation directory or one of its fragments.
- */
-public static ImageDescriptor getImageDescriptorFromPlugin(IPluginDescriptor pluginDescriptor, String subdirectoryAndFilename) {
-	Assert.isNotNull(pluginDescriptor);
-	Assert.isNotNull(subdirectoryAndFilename);
-	URL fullPathString = pluginDescriptor.find(new Path(subdirectoryAndFilename));
-	if (fullPathString != null) {
-		return ImageDescriptor.createFromURL(fullPathString);
-	}
-	URL path = pluginDescriptor.getInstallURL();
-	try {
-		fullPathString = new URL(path,subdirectoryAndFilename);
-		return ImageDescriptor.createFromURL(fullPathString);
-	} catch (MalformedURLException e) {
-	}
-	return null;
-}
-/**
- * Convenience Method.
- * Returns an ImageDescriptor whose path, relative to the plugin (within given id)
- * is <code>subdirectoryAndFilename</code>.
- * If there isn't any value associated with the name then <code>null
- * </code> is returned.
- *
- * This method is convenience and only intended for use by the workbench because it
- * explicitly uses the workbench's registry for caching/retrieving images from other
- * extensions -- other plugins must user their own registry. 
- * This convenience method is subject to removal.
- *
- * Note:
- * subdirectoryAndFilename must not have any leading "." or path separators / or \
- * ISV's should use  icons/mysample.gif and not ./icons/mysample.gif
- *
- * Note:
- * This consults the plugin for extension and obtains its installation location.
- * all requested images are assumed to be in a directory below and relative to that
- * plugins installation directory.
- */
-public static ImageDescriptor getImageDescriptorFromPluginID(String pluginId, String subdirectoryAndFilename) {
-	Assert.isNotNull(pluginId);
-	Assert.isNotNull(subdirectoryAndFilename);
-	return getImageDescriptorFromPlugin(
-				Platform.getPluginRegistry().getPluginDescriptor(pluginId),
-				subdirectoryAndFilename);
-}
-/**
- * Convenience Method.
- * Returns an ImageDescriptor obtained from an external program.
- * If there isn't any image then <code>null</code> is returned.
- *
- * This method is convenience and only intended for use by the workbench because it
- * explicitly uses the workbench's registry for caching/retrieving images from other
- * extensions -- other plugins must user their own registry. 
- * This convenience method is subject to removal.
- *
- * Note:
- * This consults the plugin for extension and obtains its installation location.
- * all requested images are assumed to be in a directory below and relative to that
- * plugins installation directory.
- */
-
-public static ImageDescriptor getImageDescriptorFromProgram(String filename, int offset) {
-	Assert.isNotNull(filename);
-	String key = filename + "*" + offset; //use * as it is not a valid filename character//$NON-NLS-1$
-	ImageDescriptor desc = getImageDescriptor(key);
-	if (desc == null) {
-		desc = new ProgramImageDescriptor(filename,offset);
-		descriptors.put(key,desc);
-	}
-	return 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();
-	declareImages();
-	return imageRegistry;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchMessages.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchMessages.java
deleted file mode 100644
index bcf5346..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchMessages.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps managing messages
- */
-public class WorkbenchMessages {
-	private static final String RESOURCE_BUNDLE= "org.eclipse.ui.internal.messages";//$NON-NLS-1$
-	private static ResourceBundle bundle = ResourceBundle.getBundle(RESOURCE_BUNDLE);
-	
-private WorkbenchMessages(){
-	// prevent instantiation of class
-}
-/**
- * Returns the formatted message for the given key in
- * the resource bundle. 
- *
- * @param key the resource name
- * @param args the message arguments
- * @return the string
- */	
-public static String format(String key, Object[] args) {
-	return MessageFormat.format(getString(key),args);
-}
-/**
- * Returns the resource object with the given key in
- * the resource bundle. If there isn't any value under
- * the given key, the key is returned.
- *
- * @param key the resource name
- * @return the string
- */	
-public static String getString(String key) {
-	try {
-		return bundle.getString(key);
-	} catch (MissingResourceException e) {
-		return key;
-	}
-}
-/**
- * Returns the resource object with the given key in
- * the resource bundle. If there isn't any value under
- * the given key, the default value is returned.
- *
- * @param key the resource name
- * @param def the default value
- * @return the string
- */	
-public static String getString(String key, String def) {
-	try {
-		return bundle.getString(key);
-	} catch (MissingResourceException e) {
-		return def;
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPage.java
deleted file mode 100644
index 66ba602..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPage.java
+++ /dev/null
@@ -1,3176 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-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.MultiStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.ControlAdapter;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.window.Window;
-
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.INavigationHistory;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IPartListener2;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveRegistry;
-import org.eclipse.ui.IReusableEditor;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartReference;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.SubActionBars;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.internal.dialogs.ActionSetSelectionDialog;
-import org.eclipse.ui.internal.misc.UIStats;
-import org.eclipse.ui.internal.registry.IActionSetDescriptor;
-import org.eclipse.ui.internal.registry.PerspectiveDescriptor;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.part.MultiEditor;
- 
-/**
- * A collection of views and editors in a workbench.
- */
-public class WorkbenchPage implements IWorkbenchPage {
-	private WorkbenchWindow window;
-	private IAdaptable input;
-	private IWorkingSet workingSet;
-	private Composite composite;
-	private ControlListener resizeListener;
-	private IWorkbenchPart activePart; //Could be delete. This information is in the active part list;
-	private ActivationList activationList = new ActivationList();
-	private IEditorPart lastActiveEditor;
-	private EditorManager editorMgr;
-	private EditorPresentation editorPresentation;
-	private PartListenerList partListeners = new PartListenerList();
-	private PartListenerList2 partListeners2 = new PartListenerList2();
-	private ListenerList propertyChangeListeners = new ListenerList();
-	private PageSelectionService selectionService = new PageSelectionService(this);
-	private IActionBars actionBars;
-	private ViewFactory viewFactory;
-	private PerspectiveList perspList = new PerspectiveList();
-	private PerspectiveDescriptor deferredActivePersp;
-	private NavigationHistory navigationHistory = new NavigationHistory(this);	
-	private IPropertyChangeListener propertyChangeListener= new IPropertyChangeListener() {
-		/*
-		 * Remove the working set from the page if the working set is deleted.
-		 */
-		public void propertyChange(PropertyChangeEvent event) {
-			String property = event.getProperty();
-			if (IWorkingSetManager.CHANGE_WORKING_SET_REMOVE.equals(property) && 
-				event.getOldValue().equals(workingSet)) {
-				setWorkingSet(null);
-			} else if(LayoutPart.PROP_VISIBILITY.equals(property)) {
-				WorkbenchPartReference ref = (WorkbenchPartReference)((PartPane)event.getSource()).getPartReference();
-				//Make sure the new visible part is restored.
-				ref.getPart(Boolean.TRUE.equals(event.getNewValue()));
-				if(ref == null)
-					return;
-				if(Boolean.TRUE.equals(event.getNewValue())) {
-					String label = "visible::" + ref.getTitle();
-					try {
-						UIStats.start(UIStats.NOTIFY_PART_LISTENERS,label);
-						partListeners2.firePartVisible(ref);
-					} finally {
-						UIStats.end(UIStats.NOTIFY_PART_LISTENERS,label);
-					}
-				} else {
-					String label = "hidden::" + ref.getTitle();
-					try {
-						UIStats.start(UIStats.NOTIFY_PART_LISTENERS,label);
-						partListeners2.firePartHidden(ref);
-					} finally {
-						UIStats.end(UIStats.NOTIFY_PART_LISTENERS,label);
-					}
-				}			
-			}
-		}
-	};
-	private ActionSwitcher actionSwitcher = new ActionSwitcher();
-	/**
-	 * Manages editor contributions and action set part associations.
-	 */
-	private class ActionSwitcher {
-		private IWorkbenchPart activePart;
-		private IEditorPart topEditor;
-		private ArrayList actionSets = new ArrayList();
-	
-		/** 
-		 * Updates the contributions given the new part as the active part.
-		 *  
-		 * @param newPart the new active part, may be <code>null</code>
-		 */
-		public void updateActivePart(IWorkbenchPart newPart) {
-			if (activePart == newPart) 
-				return;
-
-			boolean isNewPartAnEditor = newPart instanceof IEditorPart;
-			if (isNewPartAnEditor) {
-				String oldId = null;
-				if (topEditor != null)
-					oldId = topEditor.getSite().getId();
-				String newId = newPart.getSite().getId();
-				
-				// if the active part is an editor and the new editor
-				// is the same kind of editor, then we don't have to do anything
-				if (activePart == topEditor && newId.equals(oldId)) 
-					return;
-				
-				// remove the contributions of the old editor
-				// if it is a different kind of editor
-				if (oldId != null && !oldId.equals(newId)) 
-					deactivateContributions(topEditor, true);
-
-				// if a view was the active part, disable its contributions
-				if (activePart != null && activePart != topEditor)
-					deactivateContributions(activePart, true);
-					
-				// show (and enable) the contributions of the new editor
-				// if it is a different kind of editor or if the 
-				// old active part was a view
-				if (!newId.equals(oldId) || activePart != topEditor)
-					activateContributions(newPart, true);
-				
-			} else if (newPart == null) {
-				if (activePart != null) 
-					// remove all contributions
-					deactivateContributions(activePart, true);
-			} else {
-				// new part is a view
-
-			    // if old active part is a view, remove all contributions,
-			    // but if old part is an editor only disable
-				if (activePart != null) 
-					deactivateContributions(activePart, activePart instanceof IViewPart);	
-
-				activateContributions(newPart, true);
-			}
-
-			ArrayList newActionSets = null;
-			if (isNewPartAnEditor || (activePart == topEditor && newPart == null)) 
-				 newActionSets = calculateActionSets(newPart, null);
-			else
-				 newActionSets = calculateActionSets(newPart, topEditor);
-				 
-			if (!updateActionSets(newActionSets))
-				updateActionBars();
-			
-			if (isNewPartAnEditor) {
-				topEditor = (IEditorPart)newPart;
-			} else if (activePart == topEditor && newPart == null) {
-				// since we removed all the contributions, we clear the top editor
-				topEditor = null;
-			}
-			
-			activePart = newPart;
-		}
-
-		/** 
-		 * Updates the contributions given the new part as the topEditor.
-		 * 
-		 * @param newEditor the new top editor, may be <code>null</code>
-		 */
-		public void updateTopEditor(IEditorPart newEditor) {
-			if (topEditor == newEditor)
-				return;
-				
-			String oldId = null;
-			if (topEditor != null)
-				oldId = topEditor.getSite().getId();
-			String newId = null;
-			if (newEditor != null)
-				newId = newEditor.getSite().getId();
-			if (oldId == null ? newId == null : oldId.equals(newId)) {
-				// we don't have to change anything 
-				topEditor = newEditor;
-				return;
-			}
-			
-			// Remove the contributions of the old editor
-			if (topEditor != null)
-				deactivateContributions(topEditor, true);
-				
-			// Show (disabled) the contributions of the new editor
-			if (newEditor != null)
-				activateContributions(newEditor, false);
-							
-			ArrayList newActionSets = calculateActionSets(activePart, newEditor);
-			if (!updateActionSets(newActionSets))
-				updateActionBars();
-				
-			topEditor = newEditor;	
-		}
-
-		/**
-		 * Activates the contributions of the given part.
-		 * If <code>enable</code> is <code>true</code> the contributions are
-		 * visible and enabled, otherwise they are disabled.
-		 * 
-		 * @param part the part whose contributions are to be activated
-		 * @param enable <code>true</code> the contributions are to be enabled, 
-		 *  not just visible.
- 		 */
-		private void activateContributions(IWorkbenchPart part, boolean enable) {
-			PartSite site = (PartSite) part.getSite();
-			SubActionBars actionBars = (SubActionBars) site.getActionBars();
-			actionBars.activate(enable);
-		}
-
-		/**
-		 * Deactivates the contributions of the given part.
-		 * If <code>remove</code> is <code>true</code> the contributions are
-		 * removed, otherwise they are disabled.
-		 * 
-		 * @param part the part whose contributions are to be deactivated
-		 * @param remove <code>true</code> the contributions are to be removed, 
-		 *  not just disabled.
- 		 */
-		private void deactivateContributions(IWorkbenchPart part, boolean remove) {
-			PartSite site = (PartSite) part.getSite();
-			SubActionBars actionBars = (SubActionBars) site.getActionBars();
-			actionBars.deactivate(remove);
-		}
-	
-		/**
-		 * Calculates the action sets to show for the given part and editor
-		 * 
-		 * @param part the active part, may be <code>null</code>
-		 * @param editor the current editor, may be <code>null</code>, 
-		 *  may be the active part
-		 * @return the new action sets
-		 */
-		private ArrayList calculateActionSets(IWorkbenchPart part, IEditorPart editor) {
-			ArrayList newActionSets = new ArrayList();
-			if (part != null) {
-				IActionSetDescriptor[] partActionSets = 
-					WorkbenchPlugin.getDefault().getActionSetRegistry().getActionSetsFor(
-						part.getSite().getId());
-				for (int i = 0; i < partActionSets.length; i++) {
-					newActionSets.add(partActionSets[i]);
-				}
-			}
-			if (editor != null && editor != part) {
-				IActionSetDescriptor[] editorActionSets = 
-					WorkbenchPlugin.getDefault().getActionSetRegistry().getActionSetsFor(
-						editor.getSite().getId());
-				for (int i = 0; i < editorActionSets.length; i++) {
-					newActionSets.add(editorActionSets[i]);
-				}
-			}
-			return newActionSets;
-		}
-			
-		
-		/**
-		 * Updates the actions we are showing for the active part and current editor.
-		 * 
-		 * @param newActionSets the action sets to show
-		 * @return  <code>true</code> if the action sets changed
-		 */
-		private boolean updateActionSets(ArrayList newActionSets) {
-			if(actionSets.equals(newActionSets))
-				return false;
-				
-			Perspective persp = getActivePerspective();
-			if (persp == null) {
-				actionSets = newActionSets;
-				return false;
-			}
-			
-			// hide the old 
-			for (int i = 0; i < actionSets.size(); i++) {
-				persp.hideActionSet(((IActionSetDescriptor)actionSets.get(i)).getId());
-			}
-			
-			// show the new 
-			for (int i = 0; i < newActionSets.size(); i++) {
-				persp.showActionSet(((IActionSetDescriptor)newActionSets.get(i)).getId());
-			}
-			
-			actionSets = newActionSets;
-			
-			window.updateActionSets(); // this calls updateActionBars
-			window.firePerspectiveChanged(WorkbenchPage.this, getPerspective(), CHANGE_ACTION_SET_SHOW);
-			return true;
-		} 
-		
-	}
-
-/**
- * Constructs a new page with a given perspective and input.
- *
- * @param w the parent window
- * @param layoutID must not be <code>null</code>
- * @param input the page input
- */
-public WorkbenchPage(WorkbenchWindow w, String layoutID, IAdaptable input) 
-	throws WorkbenchException
-{
-	super();
-	if (layoutID == null)
-		throw new WorkbenchException(WorkbenchMessages.getString("WorkbenchPage.UndefinedPerspective")); //$NON-NLS-1$
-	init(w, layoutID, input);
-}
-/**
- * Constructs a page.
- * <code>restoreState(IMemento)</code>should be called to restore this page
- * from data stored in a persistance file.
- *
- * @param w the parent window
- * @param input the page input
- */
-public WorkbenchPage(WorkbenchWindow w, IAdaptable input) 
-	throws WorkbenchException
-{
-	super();
-	init(w, null, input);
-}
-/**
- * Activates a part.  The part will be brought to the front and given focus.
- *
- * @param part the part to activate
- */
-public void activate(IWorkbenchPart part) {
-	// Sanity check.
-	if (!certifyPart(part))
-		return;
-	
-	if(window.isClosing())
-		return;
-		
-	// If zoomed, unzoom.
-	if (isZoomed() && partChangeAffectsZoom(getReference(part)))
-		zoomOut();
-	
-	if(part instanceof MultiEditor) { 
-		part = ((MultiEditor)part).getActiveEditor();
-	}
-	// Activate part.
-	if(window.getActivePage() == this) {
-		bringToTop(part);
-		setActivePart(part);
-	} else {
-		activationList.setActive(part);
-		activePart = part;
-	}
-}
-
-/**
- * Activates a part.  The part is given focus, the pane is hilighted.
- */
-private void activatePart(final IWorkbenchPart part) {
-	Platform.run(new SafeRunnable(WorkbenchMessages.getString("WorkbenchPage.ErrorActivatingView")) { //$NON-NLS-1$
-		public void run() {
-			if (part != null) {
-				part.setFocus();
-				PartSite site = (PartSite)part.getSite();
-				site.getPane().showFocus(true);
-				updateTabList(part);
-				SubActionBars bars = (SubActionBars)site.getActionBars();
-				bars.partChanged(part);
-			}
-		}
-	});
-}
-/**
- * Add a fast view.
- */
-public void addFastView(IViewReference ref) {
-	Perspective persp = getActivePerspective();
-	if (persp == null)
-		return;
-		
-	// If view is zoomed unzoom.
-	if (isZoomed() && partChangeAffectsZoom(ref))
-		zoomOut();
-
-	// Do real work.	
-	persp.addFastView(ref);
-
-	// The view is now invisible.
-	// If it is active then deactivate it.
-	if (ref.getPart(false) == activePart) {
-		activate(activationList.getActive());
-	}
-		
-	// Notify listeners.
-	window.getShortcutBar().update(true);
-	window.firePerspectiveChanged(this, getPerspective(), CHANGE_FAST_VIEW_ADD);
-}
-/**
- * Adds an IPartListener to the part service.
- */
-public void addPartListener(IPartListener l) {
-	partListeners.addPartListener(l);
-}
-/**
- * Adds an IPartListener to the part service.
- */
-public void addPartListener(IPartListener2 l) {
-	partListeners2.addPartListener(l);
-}
-/**
- * Implements IWorkbenchPage
- * 
- * @see org.eclipse.ui.IWorkbenchPage#addPropertyChangeListener(IPropertyChangeListener)
- * @since 2.0
- * @deprecated individual views should store a working set if needed and
- * 	register a property change listener directly with the working set manager
- * 	to receive notification when the view working set is removed.
- */
-public void addPropertyChangeListener(IPropertyChangeListener listener) {
-	propertyChangeListeners.add(listener);
-}
-/*
- * (non-Javadoc)
- * Method declared on ISelectionListener.
- */
-public void addSelectionListener(ISelectionListener listener) {
-	selectionService.addSelectionListener(listener);
-}
-
-/*
- * (non-Javadoc)
- * Method declared on ISelectionListener.
- */
-public void addSelectionListener(String partId, ISelectionListener listener) {
-	selectionService.addSelectionListener(partId, listener);
-}
-/*
- * (non-Javadoc)
- * Method declared on ISelectionListener.
- */
-public void addPostSelectionListener(ISelectionListener listener) {
-	selectionService.addPostSelectionListener(listener);
-}
-
-/*
- * (non-Javadoc)
- * Method declared on ISelectionListener.
- */
-public void addPostSelectionListener(String partId, ISelectionListener listener) {
-	selectionService.addPostSelectionListener(partId, listener);
-}
-
-/**
- * Moves a part forward in the Z order of a perspective so it is visible.
- *
- * @param part the part to bring to move forward
- */
-public void bringToTop(IWorkbenchPart part) {
-	// Sanity check.
-	Perspective persp = getActivePerspective();
-	if (persp == null || !certifyPart(part))
-		return;
-		
-	// If zoomed then ignore.
-	if (isZoomed() && partChangeAffectsZoom(getReference(part)))
-		return;
-	
-	String label = part != null ? part.getTitle() : "none";
-	boolean broughtToTop = false;
-	try {
-		UIStats.start(UIStats.BRING_PART_TO_TOP,label);
-		// Move part.
-		if (part instanceof IEditorPart) {
-			IEditorReference ref = (IEditorReference)getReference(part);
-			broughtToTop = getEditorManager().setVisibleEditor(ref, false);
-			actionSwitcher.updateTopEditor((IEditorPart)part);
-			if (broughtToTop) {
-				lastActiveEditor = null;
-			}
-		} else if (part instanceof IViewPart) {
-			IViewReference ref = (IViewReference)getReference(part);
-			broughtToTop = persp.bringToTop(ref);
-		}
-
-		if (broughtToTop) {
-			firePartBroughtToTop(part);
-		}
-	} finally {
-		UIStats.end(UIStats.BRING_PART_TO_TOP,label);
-	}
-}
-/**
- * Resets the layout for the perspective.  The active part in the old layout is activated
- * in the new layout for consistent user context.
- *
- * Assumes the busy cursor is active.
- */
-private void busyResetPerspective() {
-	// Always unzoom
-	if (isZoomed())
-		zoomOut();
-		
-	// Get the current perspective.
-	// This describes the working layout of the page and differs from
-	// the original template.
-	Perspective oldPersp = getActivePerspective();
-
-	// Map the current perspective to the original template.
-	// If the original template cannot be found then it has been deleted.  In
-	// that case just return. (PR#1GDSABU).
-	IPerspectiveRegistry reg = WorkbenchPlugin.getDefault().getPerspectiveRegistry();
-	PerspectiveDescriptor desc = (PerspectiveDescriptor)reg.findPerspectiveWithId(oldPersp.getDesc().getId());
-	if (desc == null)
-		desc = (PerspectiveDescriptor)reg.findPerspectiveWithId(((PerspectiveDescriptor)oldPersp.getDesc()).getOriginalId());
-	if (desc == null)		
-		return;
-
-	IContributionItem item = window.findPerspectiveShortcut(oldPersp.getDesc(), this);
-	if(item == null)
-		return;
-		
-	// Create new persp from original template.
-	Perspective newPersp = createPerspective(desc);
-	if (newPersp == null)
-		return;
-	
-	// Update the perspective list and shortcut
-	perspList.swap(oldPersp, newPersp);
-	
-	SetPagePerspectiveAction action = (SetPagePerspectiveAction) ((ActionContributionItem)item).getAction();
-	action.setPerspective(newPersp.getDesc());
-
-	// Install new persp.
-	setPerspective(newPersp);
-
-	// Notify listeners.
-	window.firePerspectiveChanged(this, desc, CHANGE_RESET);
-	
-	// Destroy old persp.
-	disposePerspective(oldPersp);
-}
-/**
- * Implements <code>setPerspective</code>.
- *
- * Assumes that busy cursor is active.
- * 
- * @param persp identifies the new perspective.
- */
-private void busySetPerspective(IPerspectiveDescriptor desc) {
-	// Create new layout.
-	String label = desc.getId();
-	try {
-		UIStats.start(UIStats.SWITCH_PERSPECTIVE,label);
-		PerspectiveDescriptor realDesc = (PerspectiveDescriptor)desc;
-		Perspective newPersp = findPerspective(realDesc);
-		if (newPersp == null) {
-			newPersp = createPerspective(realDesc);
-			if (newPersp == null)
-				return;
-			window.addPerspectiveShortcut(realDesc, this);			
-		}
-	
-		// Change layout.
-		setPerspective(newPersp);
-	} finally {
-		UIStats.end(UIStats.SWITCH_PERSPECTIVE,label);		
-	}
-}
-/**
- * Opens a view.
- *
- * Assumes that a busy cursor is active.
- */
-private IViewPart busyShowView(String viewID, boolean activate) 
-	throws PartInitException
-{
-	Perspective persp = getActivePerspective();
-	if (persp == null)
-		return null;
-
-	// If this view is already visible just return.
-	IViewReference ref = persp.findView(viewID);
-	IViewPart view = null;
-	if(ref != null)
-		view = ref.getView(true);
-	if (view != null) {
-		if (activate)
-			activate(view);
-		else
-			bringToTop(view);
-		return view;
-	}
-		
-	// Show the view.  
-	view = persp.showView(viewID);
-	if (view != null) {
-		zoomOutIfNecessary(view);
-		if (activate)
-			activate(view);
-		else
-			bringToTop(view);
-		window.firePerspectiveChanged(this, getPerspective(), CHANGE_VIEW_SHOW);
-		// Just in case view was fast.
-		window.getShortcutBar().update(true);
-	}
-	return view;
-}
-/**
- * Returns whether a part exists in the current page.
- */
-private boolean certifyPart(IWorkbenchPart part) {
-	//Workaround for bug 22325
-	if (part != null && !(part.getSite() instanceof PartSite))
-		return false;
-		
-	if (part instanceof IEditorPart) {
-		IEditorReference ref = (IEditorReference)getReference(part);
-		return getEditorManager().containsEditor(ref);
-	}
-	if (part instanceof IViewPart) {
-		Perspective persp = getActivePerspective();
-		return persp != null && persp.containsView((IViewPart)part);
-	}
-	return false;
-}
-/**
- * Closes the perspective.
- */
-public boolean close() {
-	final boolean [] ret = new boolean[1];;
-	BusyIndicator.showWhile(null, new Runnable() {
-		public void run() {
-			ret[0] = window.closePage(WorkbenchPage.this, true);
-		}
-	});
-	return ret[0];
-}
-/**
- * See IWorkbenchPage
- */
-public boolean closeAllSavedEditors() {
-	// If part is added / removed always unzoom.
-	if (isZoomed())
-		zoomOut();
-		
-	boolean deactivated = false;
-			
-	// Close all editors.
-	IEditorReference editors[] = getEditorReferences();
-	for (int i = 0; i < editors.length; i ++) {
-		IEditorReference editor = editors[i];
-		IWorkbenchPart part = editor.getPart(false);
-		if(!editor.isDirty()) {
-			if (part == activePart) {
-				deactivated = true;
-				setActivePart(null);
-			} else if (lastActiveEditor == part) {
-				lastActiveEditor = null;
-				actionSwitcher.updateTopEditor(null);
-			}
-			getEditorManager().closeEditor(editor);
-			activationList.remove(editor);
-			firePartClosed(editor);
-			disposePart(editor);
-		}
-	}
-	if (deactivated)
-		activate(activationList.getActive());
-		
-	// Notify interested listeners
-	window.firePerspectiveChanged(this, getPerspective(), CHANGE_EDITOR_CLOSE);
-
-	//if it was the last part, close the perspective
-	lastPartClosePerspective();
-
-	// Return true on success.
-	return true;
-}
-/**
- * See IWorkbenchPage
- */
-public boolean closeAllEditors(boolean save) {
-	// If part is added / removed always unzoom.
-	if (isZoomed())
-		zoomOut();
-		
-	// Save part.
-	if (save && !getEditorManager().saveAll(true, true))
-		return false;
-
-	// Deactivate part.
-	boolean deactivate = activePart instanceof IEditorPart;
-	if (deactivate)
-		setActivePart(null);
-	lastActiveEditor = null;
-	actionSwitcher.updateTopEditor(null);
-			
-	// Close all editors.
-	IEditorReference[] editors = getEditorManager().getEditors();
-	getEditorManager().closeAll();
-	for (int i = 0; i < editors.length; i ++) {
-		IEditorReference editor = editors[i]; 
-		activationList.remove(editor);
-		firePartClosed(editor);
-		disposePart(editor);		
-	}
-	
-	
-	if (!window.isClosing() && deactivate)
-		activate(activationList.getActive());
-		
-	// Notify interested listeners
-	window.firePerspectiveChanged(this, getPerspective(), CHANGE_EDITOR_CLOSE);
-
-	//if it was the last part, close the perspective
-	lastPartClosePerspective();
-
-	// Return true on success.
-	return true;
-}
-/**
- * See IWorkbenchPage#closeEditor
- */
-public boolean closeEditor(IEditorReference editorRef,boolean save) {
-	IEditorPart editor = editorRef.getEditor(false);
-	if(editor != null)
-		return closeEditor(editor,save);
-	getEditorManager().closeEditor(editorRef);
-	activationList.remove(editorRef);
-	firePartClosed(editorRef);
-	return true;
-}
-/**
- * See IWorkbenchPage#closeEditor
- */
-public boolean closeEditor(IEditorPart editor, boolean save) {
-	// Sanity check.	
-	if (!certifyPart(editor))
-		return false;
-	
-	// Save part.
-	if (save && !getEditorManager().saveEditor(editor, true))
-		return false;
-
-	boolean partWasVisible = (editor == getActiveEditor());
-	IEditorReference ref = (IEditorReference)getReference(editor);
-	activationList.remove(ref);
-	boolean partWasActive = (editor == activePart);
-
-// Removing following lines to fix:
-// http://dev.eclipse.org/bugs/show_bug.cgi?id=28031
-//	// Deactivate part.
-//	if (partWasActive)
-//		setActivePart(null);
-//	if (lastActiveEditor == editor) {
-//		actionSwitcher.updateTopEditor(null);
-//		lastActiveEditor = null;
-//	}
-
-	// Close the part.
-	getEditorManager().closeEditor(ref);
-	firePartClosed(ref);
-	disposePart(ref);
-	// Notify interested listeners
-	window.firePerspectiveChanged(this, getPerspective(), CHANGE_EDITOR_CLOSE);
-	
-	// Activate new part.
-	if (partWasActive) {
-		IWorkbenchPart top = activationList.getTopEditor();
-		zoomOutIfNecessary(top);
-		if (top == null)
-			top = activationList.getActive();
-		if (top != null)
-			activate(top);
-		else
-			setActivePart(null);
-	} else if(partWasVisible) {
-		IEditorPart top = activationList.getTopEditor();
-		zoomOutIfNecessary(top);
-
-		// The editor we are bringing to top may already the visible
-		// editor (due to editor manager behavior when it closes and editor).
-		// If this is the case, bringToTop will not call firePartBroughtToTop.
-		// We must fire it from here.
-		if (top != null) {
-			boolean isTop = editorMgr.getVisibleEditor() == top;
-			bringToTop(top);
-			if (isTop)
-				firePartBroughtToTop(top);
-		}
-		else
-			actionSwitcher.updateTopEditor(top);
-	}
-	
-	//if it was the last part, close the perspective
-	lastPartClosePerspective();
-	
-	// Return true on success.
-	return true;
-}
-/**
- * Closes all perspectives in the page. The page is kept so as
- * not to lose the input.
- * 
- * @param save whether the page's editors should be saved
- */
-/* package */ void closeAllPerspectives(boolean save) {
-	
-	if (perspList.isEmpty())
-		return;
-		
-	// Always unzoom
-	if (isZoomed())
-		zoomOut();
-		
-	// Close all editors
-	if (!closeAllEditors(save))
-		return;
-
-	// Deactivate the active perspective and part
-	setPerspective((Perspective)null);
-	
-	// Close each perspective in turn
-	PerspectiveList oldList = perspList;
-	perspList = new PerspectiveList();
-	Iterator enum = oldList.iterator();
-	while (enum.hasNext())
-		closePerspective((Perspective)enum.next(), false);
-}
-/**
- * Closes the specified perspective. If last perspective, then
- * entire page is closed.
- * 
- * @param desc the descriptor of the perspective to be closed
- * @param save whether the page's editors should be save if last perspective
- */
-/* package */ void closePerspective(IPerspectiveDescriptor desc, boolean save) {
-	Perspective persp = findPerspective(desc);
-	if(persp != null)
-		closePerspective(persp,save);
-}
-
-/**
- * Closes the specified perspective. If last perspective, then
- * entire page is closed.
- * 
- * @param persp the perspective to be closed
- * @param save whether the page's editors should be save if last perspective
- */
-/* package */ void closePerspective(Perspective persp, boolean save) {
-
-	// Always unzoom
-	if (isZoomed())
-		zoomOut();
-		
-	// Close all editors on last perspective close
-	if (perspList.size() == 1 && getEditorManager().getEditorCount() > 0) {
-		// Close all editors
-		if (!closeAllEditors(save))
-			return;
-	}
-	
-	// Dispose of the perspective
-	boolean isActive = (perspList.getActive() == persp);
-	window.removePerspectiveShortcut(persp.getDesc(), this);
-	if (isActive)
-		setPerspective(perspList.getNextActive());
-	disposePerspective(persp);
-	if (perspList.size() == 0)
-		close();
-}
-/**
- * Creates the client composite.
- */
-private void createClientComposite() {
-	final Composite parent = window.getClientComposite();
-	composite = new Composite(parent, SWT.NONE);
-	composite.setVisible(false); // Make visible on activate.
-	composite.setBounds(parent.getClientArea());
-	resizeListener = new ControlAdapter() {
-		public void controlResized(ControlEvent e) {
-			composite.setBounds(parent.getClientArea());
-		}
-	};
-	parent.addControlListener(resizeListener);
-}
-/**
- * Creates a new view set.  Return null on failure.
- */
-private Perspective createPerspective(PerspectiveDescriptor desc) {
-	String label = desc.getId();
-	try {
-		UIStats.start(UIStats.CREATE_PERSPECTIVE,label);
-		Perspective persp = new Perspective(desc, this);
-		perspList.add(persp);
-		window.firePerspectiveOpened(this, desc);
-		IViewReference refs[] = persp.getViewReferences();
-		for (int i = 0; i < refs.length; i++) {
-			IViewReference ref = refs[i];
-			if(ref != null)
-				addPart(ref);			
-		}
-		return persp;
-	} catch (WorkbenchException e) {
-		if(!((Workbench)window.getWorkbench()).isStarting()) {
-			MessageDialog.openError(
-				window.getShell(), 
-				WorkbenchMessages.getString("Error"), //$NON-NLS-1$
-				WorkbenchMessages.format("Workbench.showPerspectiveError",new String[]{desc.getId()}));
-		}
-		return null;
-	} finally {
-		UIStats.end(UIStats.CREATE_PERSPECTIVE,label);
-	}
-}
-/**
- * Open the tracker to allow the user to move
- * the specified part using keyboard.
- */
-public void openTracker(ViewPane pane) {
-	Perspective persp = getActivePerspective();
-	if (persp != null)
-		persp.openTracker(pane);
-}
-/**
- * Add a part to the activation list.
- */
-protected void addPart(IWorkbenchPartReference ref) {
-	activationList.add(ref);
-}
-/**
- * Remove a part from the activation list.
- */
-protected void removePart(IWorkbenchPartReference ref) {
-	activationList.remove(ref);
-}
-/**
- * Deactivate the last known active editor to force its
- * action items to be removed, not just disabled.
- */
-private void deactivateLastEditor() {
-	if (lastActiveEditor == null)
-		return;
-	PartSite site = (PartSite) lastActiveEditor.getSite();
-	SubActionBars actionBars = (SubActionBars) site.getActionBars();
-	actionBars.deactivate(true);
-}
-/**
- * Deactivates a part.  The pane is unhilighted.
- */
-private void deactivatePart(IWorkbenchPart part) {
-	if (part != null) {
-		PartSite site = (PartSite)part.getSite();
-		site.getPane().showFocus(false);
-	}
-}
-private void disposePart(IWorkbenchPartReference ref) {
-	final IWorkbenchPart part = ref.getPart(false);
-	if(part == null)
-		return;
-	Platform.run(new SafeRunnable() {
-		public void run() {
-			part.dispose();
-		}
-		public void handleException(Throwable e) {
-			//Exception has already being logged by Core. Do nothing.
-		}
-	});
-}
-/**
- * Cleanup.
- */
-public void dispose() {
-		
-	// Always unzoom
-	if (isZoomed())
-		zoomOut();
-		
-	// Close and dispose the editors.
-	closeAllEditors(false);
-
-	// Capture views.
-	IViewReference refs[] = viewFactory.getViews();
-	
-	// Get rid of perspectives.  This will close the views.
-	Iterator enum = perspList.iterator();
-	while (enum.hasNext()) {
-		Perspective perspective = (Perspective) enum.next();
-		window.removePerspectiveShortcut(perspective.getDesc(), this);
-		window.firePerspectiveClosed(this, perspective.getDesc());
-		perspective.dispose();
-	}
-	perspList = new PerspectiveList();
-
-	// Dispose views.
-	final int errors[] = {0};
-	for (int i = 0; i < refs.length; i ++) {
-		final IViewPart view = (IViewPart)refs[i].getPart(false);
-		firePartClosed(refs[i]);
-		if(view != null) {
-			Platform.run(new SafeRunnable() {
-				public void run() {
-					view.dispose();
-				}
-				public void handleException(Throwable e) {
-					errors[0]++;
-				}
-			});
-		}
-	}
-	if (errors[0] > 0) {
-		String message;
-		if (errors[0] == 1)
-			message = WorkbenchMessages.getString("WorkbenchPage.oneErrorClosingPage"); //$NON-NLS-1$
-		else
-			message = WorkbenchMessages.getString("WorkbenchPage.multipleErrorsRestoring"); //$NON-NLS-1$
-		MessageDialog.openError(null, WorkbenchMessages.getString("Error"), message); //$NON-NLS-1$
-	}
-	activePart = null;
-	activationList = new ActivationList();;
-
-	// Get rid of editor presentation.
-	editorPresentation.dispose();
-
-	// Get rid of composite.
-	window.getClientComposite().removeControlListener(resizeListener);
-	composite.dispose();
-	
-	navigationHistory.dispose();
-}
-/**
- * Dispose a perspective.
- */
-private void disposePerspective(Perspective persp) {
-	// Get views.
-	IViewReference refs[] = persp.getViewReferences();
-	
-	// Get rid of perspective.
-	perspList.remove(persp);
-	window.firePerspectiveClosed(this, persp.getDesc());
-	persp.dispose();
-
-	// Loop through the views.
-	for (int i = 0; i < refs.length; i ++) {
-		IViewReference ref = refs[i];
-		
-		//If the part is no longer reference then dispose it.
-		boolean exists = viewFactory.hasView(ref.getId());
-		if (!exists) {
-			firePartClosed(ref);
-			activationList.remove(ref);
-			disposePart(ref);
-		}
-	}
-}
-/**
- *
- * @return NavigationHistory
- */
-public INavigationHistory getNavigationHistory() {
-	return navigationHistory;
-}
-
-/**
- * Edits the action sets.
- */
-public boolean editActionSets() {
-	Perspective persp = getActivePerspective();
-	if (persp == null)
-		return false;
-		
-	// Create list dialog.
-	ActionSetSelectionDialog dlg =
-		new ActionSetSelectionDialog(
-			window.getShell(),
-			persp);
-
-	// Open.
-	boolean ret = (dlg.open() == Window.OK);
-	if (ret) {
-		window.updateActionSets();
-		window.firePerspectiveChanged(this, getPerspective(), CHANGE_RESET);
-	}
-	return ret;
-}
-/**
- * Returns the first view manager with given ID.
- */
-public Perspective findPerspective(IPerspectiveDescriptor desc) {
-	Iterator enum = perspList.iterator();
-	while (enum.hasNext()) {
-		Perspective mgr = (Perspective)enum.next();
-		if (desc.getId().equals(mgr.getDesc().getId()))
-			return mgr;
-	}
-	return null;
-}
-/**
- * See IWorkbenchPage@findView.
- */
-public IViewPart findView(String id) {
-	Perspective persp = getActivePerspective();
-	if (persp == null)
-		return null;
-	IViewReference ref = persp.findView(id);
-	if(ref != null)
-		return ref.getView(true);
-	else
-		return null;
-}
-/**
- * Fire part activation out.
- */
-private void firePartActivated(IWorkbenchPart part) {
-	String label = "activate::" + (part != null ? part.getTitle() : "none");
-	try {
-		UIStats.start(UIStats.NOTIFY_PART_LISTENERS,label);
-		partListeners.firePartActivated(part);
-		partListeners2.firePartActivated(getReference(part));
-		selectionService.partActivated(part);
-	} finally {
-		UIStats.end(UIStats.NOTIFY_PART_LISTENERS,label);
-	}
-}
-/**
- * Fire part brought to top out.
- */
-private void firePartBroughtToTop(IWorkbenchPart part) {
-	String label = "bringToTop::" + (part != null ? part.getTitle() : "none");
-	try {
-		UIStats.start(UIStats.NOTIFY_PART_LISTENERS,label);
-		partListeners.firePartBroughtToTop(part);
-		partListeners2.firePartBroughtToTop(getReference(part));
-		selectionService.partBroughtToTop(part);
-	} finally {
-		UIStats.end(UIStats.NOTIFY_PART_LISTENERS,label);
-	}		
-}
-/**
- * Fire part close out.
- */
-private void firePartClosed(IWorkbenchPartReference ref) {
-	String label = "close" + ref.getTitle();
-	try {
-		UIStats.start(UIStats.NOTIFY_PART_LISTENERS,label);		
-		IWorkbenchPart part = ref.getPart(false);
-		if(part != null) {
-			partListeners.firePartClosed(part);
-			selectionService.partClosed(part);
-		}
-		partListeners2.firePartClosed(ref);
-	} finally {
-		UIStats.end(UIStats.NOTIFY_PART_LISTENERS,label);
-	}		
-}
-/**
- * Fire part deactivation out.
- */
-private void firePartDeactivated(IWorkbenchPart part) {
-	String label = "deactivate" + (part != null ? part.getTitle() : "none");
-	try {
-		UIStats.start(UIStats.NOTIFY_PART_LISTENERS,label);		
-		partListeners.firePartDeactivated(part);
-		partListeners2.firePartDeactivated(getReference(part));
-		selectionService.partDeactivated(part);
-	} finally {
-		UIStats.end(UIStats.NOTIFY_PART_LISTENERS,label);
-	}		
-}
-/**
- * Fire part open out.
- */
-public void firePartOpened(IWorkbenchPart part) {
-	String label = "deactivate" + (part != null ? part.getTitle() : "none");
-	try {
-		UIStats.start(UIStats.NOTIFY_PART_LISTENERS,label);		
-		partListeners.firePartOpened(part);
-		partListeners2.firePartOpened(getReference(part));
-		selectionService.partOpened(part);
-	} finally {
-		UIStats.end(UIStats.NOTIFY_PART_LISTENERS,label);
-	}		
-}
-/**
- * Fire part input changed out.
- */
-private void firePartInputChanged(IWorkbenchPart part) {
-	String label = "inputChanged" + (part != null ? part.getTitle() : "none");
-	try {
-		UIStats.start(UIStats.NOTIFY_PART_LISTENERS,label);			
-		partListeners2.firePartInputChanged(getReference(part));
-		selectionService.partInputChanged(part);
-	} finally {
-		UIStats.end(UIStats.NOTIFY_PART_LISTENERS,label);
-	}		
-}
-/**
- * Notify property change listeners about a property change.
- * 
- * @param changeId the change id
- * @param oldValue old property value
- * @param newValue new property value
- */
-private void firePropertyChange(String changeId, Object oldValue, Object newValue) {
-	Object[] listeners = propertyChangeListeners.getListeners();
-	PropertyChangeEvent event = new PropertyChangeEvent(this, changeId, oldValue, newValue);
-
-	for (int i = 0; i < listeners.length; i++) {
-		((IPropertyChangeListener) listeners[i]).propertyChange(event);
-	}
-}
-/*
- * Returns the action bars.
- */
-public IActionBars getActionBars() {
-	if (actionBars == null)
-		actionBars = new WWinActionBars(window);
-	return actionBars;
-}
-/**
- * Returns an array of the visible action sets. 
- */
-public IActionSetDescriptor[] getActionSets() {
-	Perspective persp = getActivePerspective();
-	if (persp != null)
-		return persp.getActionSets();
-	else
-		return new IActionSetDescriptor[0];
-}
-/**
- * @see IWorkbenchPage
- */
-public IEditorPart getActiveEditor() {
-	return getEditorManager().getVisibleEditor();
-}
-/*
- * (non-Javadoc)
- * Method declared on IPartService
- */
-public IWorkbenchPart getActivePart() {
-	return activePart;
-}
-/*
- * (non-Javadoc)
- * Method declared on IPartService
- */
-public IWorkbenchPartReference getActivePartReference() {
-	return getReference(activePart);
-}
-/**
- * Returns the active perspective for the page, <code>null</code>
- * if none.
- */
-/* package */ Perspective getActivePerspective() {
-	return perspList.getActive();
-}
-/**
- * Returns the client composite.
- */
-public Composite getClientComposite() {
-	return composite;
-}
-/**
- * Answer the editor manager for this window.
- */
-private EditorManager getEditorManager() {
-	return editorMgr;
-}
-/**
- * Answer the perspective presentation.
- */
-public PerspectivePresentation getPerspectivePresentation() {
-	if(getActivePerspective() != null)
-		return getActivePerspective().getPresentation();
-	return null;
-}
-/**
- * Answer the editor presentation.
- */
-public EditorPresentation getEditorPresentation() {
-	return editorPresentation;
-}
-/**
- * See IWorkbenchPage.
- */
-public IEditorPart [] getEditors() {
-	final IEditorReference refs[] = getEditorReferences();
-	final ArrayList result = new ArrayList(refs.length);
-	Display d = getWorkbenchWindow().getShell().getDisplay();
-	//Must be backward compatible.
-	d.syncExec(new Runnable() {
-		public void run() {
-			for (int i = 0; i < refs.length; i++) {
-				IWorkbenchPart part = refs[i].getPart(true);
-				if(part != null)
-					result.add(part);
-			}
-		}
-	});
-	final IEditorPart editors[] = new IEditorPart[result.size()];	
-	return (IEditorPart[])result.toArray(editors);
-}
-
-public IEditorPart[] getDirtyEditors() {
-	return getEditorManager().getDirtyEditors();
-}
-public IEditorPart findEditor(IEditorInput input) {
-	return getEditorManager().findEditor(input);
-}
-/**
- * See IWorkbenchPage.
- */
-public IEditorReference[] getEditorReferences() {
-	return getEditorManager().getEditors();
-}
-/**
- * Returns the docked views.
- */
-public IViewReference [] getFastViews() {
-	Perspective persp = getActivePerspective();
-	if (persp != null)
-		return persp.getFastViews();
-	else
-		return new IViewReference[0];
-}
-/**
- * @see IWorkbenchPage
- */
-public IAdaptable getInput() {
-	return input;
-}
-/**
- * Returns the page label.  This is a combination of the page input
- * and active perspective.
- */
-public String getLabel() {
-	String label = WorkbenchMessages.getString("WorkbenchPage.UnknownLabel"); //$NON-NLS-1$
-	if (input != null) {
-		IWorkbenchAdapter adapter = (IWorkbenchAdapter)input.getAdapter(IWorkbenchAdapter.class);
-		if (adapter != null)
-			label = adapter.getLabel(input);
-	}
-	Perspective persp = getActivePerspective();
-	if (persp != null)
-		label = WorkbenchMessages.format("WorkbenchPage.PerspectiveFormat", new Object[] { label, persp.getDesc().getLabel() }); //$NON-NLS-1$
-	else if (deferredActivePersp != null)
-		label = WorkbenchMessages.format("WorkbenchPage.PerspectiveFormat", new Object[] { label, deferredActivePersp.getLabel() }); //$NON-NLS-1$	
-	return label;
-}
-/**
- * Returns the new wizard actions the page.
- * This is List of Strings.
- */
-public ArrayList getNewWizardActionIds() {
-	Perspective persp = getActivePerspective();
-	if (persp != null)
-		return persp.getNewWizardActionIds();
-	else
-		return new ArrayList();
-}
-/**
- * Returns the perspective.
- */
-public IPerspectiveDescriptor getPerspective() {
-	if (deferredActivePersp != null)
-		return deferredActivePersp;
-	Perspective persp = getActivePerspective();
-	if (persp != null)
-		return persp.getDesc();
-	else
-		return null;
-}
-/**
- * Returns the perspective actions for this page.
- * This is List of Strings.
- */
-public ArrayList getPerspectiveActionIds() {
-	Perspective persp = getActivePerspective();
-	if (persp != null)
-		return persp.getPerspectiveActionIds();
-	else
-		return new ArrayList();
-}
-/*
- * (non-Javadoc)
- * Method declared on ISelectionService
- */
-public ISelection getSelection() {
-	return selectionService.getSelection();
-}
-
-/*
- * (non-Javadoc)
- * Method declared on ISelectionService
- */
-public ISelection getSelection(String partId) {
-	return selectionService.getSelection(partId);
-}
-
-
-/**
- * Returns the ids of the parts to list in the Show In... prompter.
- * This is a List of Strings.
- */
-public ArrayList getShowInPartIds() {
-	Perspective persp = getActivePerspective();
-	if (persp != null)
-		return persp.getShowInPartIds();
-	else
-		return new ArrayList();
-}
-
-/**
- * The user successfully performed a Show In... action on the specified part.
- * Update the list of Show In items accordingly.
- */
-public void performedShowIn(String partId) {
-	Perspective persp = getActivePerspective();
-	if (persp != null) {
-		persp.performedShowIn(partId);
-	}
-}
-
-/**
- * Returns the show view actions the page.
- * This is a List of Strings.
- */
-public ArrayList getShowViewActionIds() {
-	Perspective persp = getActivePerspective();
-	if (persp != null)
-		return persp.getShowViewActionIds();
-	else
-		return new ArrayList();
-}
-/*
- * Returns the toolbar layout for the active perspective.
- */
-public CoolBarLayout getToolBarLayout() {
-	Perspective persp = getActivePerspective();
-	if (persp != null) return persp.getToolBarLayout();
-	return null;
-}
-/**
- * Returns the unprotected window.
- */
-protected WorkbenchWindow getUnprotectedWindow() {
-	return window;
-}
-/*
- * Returns the view factory.
- */
-public ViewFactory getViewFactory() {
-	if (viewFactory == null) {
-		viewFactory = new ViewFactory(this, 
-			WorkbenchPlugin.getDefault().getViewRegistry());
-	}
-	return viewFactory;
-}
-
-/**
- * See IWorkbenchPage.
- */
-public IViewReference[] getViewReferences() {
-	Perspective persp = getActivePerspective();
-	if (persp != null)
-		return persp.getViewReferences();
-	else
-		return new IViewReference[0];
-}
-/**
- * See IWorkbenchPage.
- */
-public IViewPart [] getViews() {
-	Perspective persp = getActivePerspective();
-	if (persp != null) {
-		IViewReference refs[] = persp.getViewReferences();
-		ArrayList parts = new ArrayList(refs.length);
-		for (int i = 0; i < refs.length; i++) {
-			IWorkbenchPart part = refs[i].getPart(true);
-			if(part != null)
-				parts.add(part);
-		}
-		IViewPart[] result = new IViewPart[parts.size()];	
-		return (IViewPart[])parts.toArray(result);
-	}
-	return new IViewPart[0];
-}
-/**
- * See IWorkbenchPage.
- */
-public IWorkbenchWindow getWorkbenchWindow() {
-	return window;
-}
-/**
- * Implements IWorkbenchPage
- * 
- * @see org.eclipse.ui.IWorkbenchPage#getWorkingSet()
- * @since 2.0
- * @deprecated individual views should store a working set if needed
- */
-public IWorkingSet getWorkingSet() {
-	return workingSet;
-}
-
-/**
- * @see IWorkbenchPage
- */
-public void hideActionSet(String actionSetID) {
-	Perspective persp = getActivePerspective();
-	if (persp != null) {
-		persp.hideActionSet(actionSetID);
-		window.updateActionSets();
-		window.firePerspectiveChanged(this, getPerspective(), CHANGE_ACTION_SET_HIDE);
-	}
-}
-
-public void hideView(IViewReference ref) {
-	IWorkbenchPart part = ref.getPart(false);
-	if(part != null)
-		hideView((IViewPart)part);
-}
-/**
- * See IPerspective
- */
-public void hideView(IViewPart view) {
-	// Sanity check.	
-	Perspective persp = getActivePerspective();
-	if (persp == null || !certifyPart(view))
-		return;
-		
-	// If part is added / removed always unzoom.
-	IViewReference ref = (IViewReference)getReference(view);
-	if (isZoomed() && !isFastView(ref))
-		zoomOut();
-		
-	// Confirm.
-	if (!persp.canCloseView(view))
-		return;
-		
-	// Activate new part.
-	if (view == activePart) {
-		IWorkbenchPart prevActive = activationList.getPreviouslyActive();
-		if (prevActive != null)
-			activate(prevActive);
-		else
-			setActivePart(null);
-	}
-		
-	// Hide the part.  
-	persp.hideView(ref);
-	
-
-	// If the part is no longer reference then dispose it.
-	boolean exists = viewFactory.hasView(view.getSite().getId());
-	if (!exists) {
-		firePartClosed(ref);
-		disposePart(ref);
-		activationList.remove(ref);		
-	}
-	
-	// Notify interested listeners
-	window.firePerspectiveChanged(this, getPerspective(), CHANGE_VIEW_HIDE);
-	
-	// Just in case view was fast.
-	window.getShortcutBar().update(true);
-	
-	//if it was the last part, close the perspective
-	lastPartClosePerspective();
-	
-}
-
-/*
- * Closes the perspective when there are no fast views 
- * or active parts. Bug 7743.
- */
-private void lastPartClosePerspective() {
-	Perspective persp = getActivePerspective();
-	if (persp != null && getActivePart() == null)
-		if(persp.getViewReferences().length == 0 && getEditorReferences().length == 0)
-			closePerspective(persp, false);
-}
-
-/**
- * Initialize the page.
- *
- * @param w the parent window
- * @param layoutID may be <code>null</code> if restoring from file
- * @param input the page input
- */
-private void init(WorkbenchWindow w, String layoutID, IAdaptable input) 
-	throws WorkbenchException
-{
-	// Save args.
-	this.window = w;
-	this.input = input;
-	
-	// Create presentation.
-	createClientComposite();
-	editorPresentation = new EditorPresentation(this) ;
-	editorMgr = new EditorManager(window, this, editorPresentation);
-	
-	// Get perspective descriptor.
-	if(layoutID != null) {
-		PerspectiveDescriptor desc = (PerspectiveDescriptor)WorkbenchPlugin
-			.getDefault().getPerspectiveRegistry().findPerspectiveWithId(layoutID);
-		if (desc == null)
-			throw new WorkbenchException(WorkbenchMessages.getString("WorkbenchPage.ErrorRecreatingPerspective")); //$NON-NLS-1$
-		Perspective persp = createPerspective(desc);
-		if(persp == null)
-			return;
-		perspList.setActive(persp);
-		window.firePerspectiveActivated(this, desc);
-		
-		// Update MRU list.
-		Workbench wb = (Workbench)window.getWorkbench();
-		wb.getPerspectiveHistory().add(desc);
-	}
-}
-/**
- * See IWorkbenchPage.
- */
-public boolean isPartVisible(IWorkbenchPart part) {
-	return ((PartSite)part.getSite()).getPane().isVisible();
-}
-/**
- * See IWorkbenchPage.
- */
-public boolean isEditorAreaVisible() {
-	Perspective persp = getActivePerspective();
-	if (persp == null)
-		return false;
-	return persp.isEditorAreaVisible();
-}
-/**
- * Returns whether the view is fast.
- */
-public boolean isFastView(IViewReference ref) {
-	Perspective persp = getActivePerspective();
-	if (persp != null)
-		return persp.isFastView(ref);
-	else
-		return false;
-}
-/**
- * Return the active fast view or null if there are no
- * fast views or if there are all minimized.
- */
-public IViewReference getActiveFastView() {
-	Perspective persp = getActivePerspective();
-	if (persp != null)
-		return persp.getActiveFastView();
-	else
-		return null;
-}
-/**
- * Return true if the perspective has a dirty editor.
- */
-protected boolean isSaveNeeded() {
-	return getEditorManager().isSaveAllNeeded();
-}
-/**
- * Returns whether the page is zoomed.
- */
-public boolean isZoomed() {
-	Perspective persp = getActivePerspective();
-	if (persp == null)
-		return false;
-	return persp.getPresentation().isZoomed();
-}
-/**
- * Returns <code>true</code> if the window needs to unzoom for the given
- * IWorkbenchPart to be seen by the user. Returns false otherwise.
- * 
- * @param part the part whose visibility is to be determined
- * @return <code>true</code> if the window needs to unzoom for the given
- * 		IWorkbenchPart to be seen by the user, <code>false</code> otherwise.
- */
-private boolean needToZoomOut(IWorkbenchPart part) {
-	// part is an editor
-	if (part instanceof IEditorPart) {
-		if(getActivePart() instanceof IViewPart) {
-			return true;
-		}
-		EditorSite site = (EditorSite)part.getSite();
-		EditorPane pane = (EditorPane)site.getPane();
-		EditorWorkbook book = pane.getWorkbook();
-		return !book.equals(book.getEditorArea().getActiveWorkbook());
-	}
-	// part is a view
-	if(part instanceof IViewPart) {
-		if(isFastView((IViewReference)getReference(part)) || part.equals(getActivePart()))
-			return false;
-		else
-			return true;
-	}
-
-	return true;
-}
-/**
- * This method is called when the page is activated.  
- */
-protected void onActivate() {
-	Iterator enum = perspList.iterator();
-	while (enum.hasNext()) {
-		Perspective perspective = (Perspective) enum.next();
-		window.addPerspectiveShortcut(perspective.getDesc(), this);
-	}
-	composite.setVisible(true);
-	Perspective persp = getActivePerspective();
-	
-	if (persp != null) {
-		window.selectPerspectiveShortcut(persp.getDesc(), this, true);
-		persp.onActivate();
-		updateVisibility(null,persp);
-	}
-	if (activePart != null) {
-		activationList.setActive(activePart);
-		
-		activatePart(activePart);
-		actionSwitcher.updateActivePart(activePart);
-		if (activePart instanceof IEditorPart) {
-			lastActiveEditor = (IEditorPart) activePart;
-			actionSwitcher.updateTopEditor((IEditorPart) activePart);
-		} else {
-			IEditorPart editor = editorMgr.getVisibleEditor();
-			if (editor != null) {
-				actionSwitcher.updateTopEditor(editor);
-				
-				// inform the site's action bars of the current editor 
-				// (important that this occur during page opening).
-				PartSite site = (PartSite)editor.getSite();
-				SubActionBars bars = (SubActionBars)site.getActionBars();
-				bars.partChanged(editor);
-			}
-		}
-		firePartActivated(activePart);
-	} else {
-		composite.setFocus();
-	}
-}
-/**
- * This method is called when the page is deactivated.  
- */
-protected void onDeactivate() {
-	if (activePart != null) {
-		deactivatePart(activePart);
-		actionSwitcher.updateActivePart(null);
-		firePartDeactivated(activePart);
-	}
-	actionSwitcher.updateTopEditor(null);
-	lastActiveEditor = null;
-	if (getActivePerspective() != null)
-		getActivePerspective().onDeactivate();
-	composite.setVisible(false);
-	Iterator enum = perspList.iterator();
-	while (enum.hasNext()) {
-		Perspective perspective = (Perspective) enum.next();
-		window.removePerspectiveShortcut(perspective.getDesc(), this);
-	}
-}
-/**
- * See IWorkbenchPage.
- */
-public void reuseEditor(IReusableEditor editor,IEditorInput input) {
-	editor.setInput(input);
-	firePartInputChanged(editor);
-}
-/**
- * See IWorkbenchPage.
- */
-public IEditorPart openEditor(IFile file) 
-	throws PartInitException
-{
-	return openEditor(new FileEditorInput(file),null,true,false,null, false);
-}
-/**
- * See IWorkbenchPage.
- */
-public IEditorPart openEditor(IFile file, String editorID)
-	throws PartInitException 
-{
-	return openEditor(new FileEditorInput(file),editorID,true,true,file, false);
-}
-/**
- * See IWorkbenchPage.
- */
-public IEditorPart openEditor(IFile file, String editorID,boolean activate)
-	throws PartInitException 
-{
-	return openEditor(new FileEditorInput(file),editorID,activate,editorID != null,file, false);
-}
-/**
- * See IWorkbenchPage.
- */
-public IEditorPart openEditor(IMarker marker)
-	throws PartInitException
-{
-	return openEditor(marker, true);
-}
-/**
- * @see IWorkbenchPage
- */
-public IEditorPart openEditor(IMarker marker, boolean activate) 
-	throws PartInitException 
-{
-	return openMarker(marker, activate, false);
-}
-/**
- * See IWorkbenchPage.
- */
-public IEditorPart openEditor(IEditorInput input, String editorID) 
-	throws PartInitException
-{
-	return openEditor(input, editorID, true);
-}
-/**
- * See IWorkbenchPage.
- */
-public IEditorPart openEditor(IEditorInput input, String editorID, boolean activate) 
-	throws PartInitException
-{
-	return openEditor(input,editorID,activate,true,null, false);
-}
-/**
- * Method openInternalEditor.
- * @param input
- * @param editorId
- */
-public IEditorPart openInternalEditor(IEditorInput input, String editorId)
-	throws PartInitException {
-	return openEditor(input,editorId,true,true,null, true);
-
-}
-/**
- * Method openInternalEditor.
- * @param iMarker
- */
-public IEditorPart openInternalEditor(IMarker marker)
-	throws PartInitException {
-		
-	return openMarker(marker, true, true);
-}
-
-private IEditorPart openMarker(IMarker marker, boolean activate, boolean forceInternal)
-	throws PartInitException {
-	// Get the resource.
-	IFile file = (IFile)marker.getResource();
-
-	// Get the preferred editor id.
-	String editorID = null;
-	try {
-		editorID = (String)marker.getAttribute(EDITOR_ID_ATTR);
-	}
-	catch (CoreException e) {
-		WorkbenchPlugin.log(WorkbenchMessages.getString("WorkbenchPage.ErrorExtractingEditorIDFromMarker"), e.getStatus()); //$NON-NLS-1$
-		return null;
-	}
-
-	// Create a new editor.
-	IEditorPart editor = null;
-	if (editorID == null)
-		editor = openEditor(new FileEditorInput(file),null,activate,false,null, forceInternal);
-	else
-		editor = openEditor(new FileEditorInput(file),editorID,activate,true,file, forceInternal);
-
-	// Goto the bookmark.
-	if (editor != null)
-		editor.gotoMarker(marker);
-	return editor;
-}
-/**
- * Method openInternalEditor.
- * @param iFile
- */
-public IEditorPart openInternalEditor(IFile file)
-	throws PartInitException {
-	return openEditor(new FileEditorInput(file),null,true,false,null, true);
-}
-/**
- * See IWorkbenchPage.
- */
-private IEditorPart openEditor(IEditorInput input, String editorID, boolean activate,boolean useEditorID,IFile file, boolean forceInternal) 
-	throws PartInitException
-{			
-	// If an editor already exists for the input use it.
-	IEditorPart editor = getEditorManager().findEditor(input);
-	if (editor != null) {
-		if(IWorkbenchConstants.SYSTEM_EDITOR_ID.equals(editorID)) {
-			if(editor.isDirty()) {
-				MessageDialog dialog = new MessageDialog(
-					getWorkbenchWindow().getShell(),
-					WorkbenchMessages.getString("Save"), 
-					null,	// accept the default window icon
-					WorkbenchMessages.format("WorkbenchPage.editorAlreadyOpenedMsg",new String[]{input.getName()}), 
-					MessageDialog.QUESTION, 
-					new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL, IDialogConstants.CANCEL_LABEL}, 
-					0);	
-				int saveFile = dialog.open();
-				if(saveFile == 0) {
-					try {
-						final IEditorPart editorToSave = editor;
-						getWorkbenchWindow().run(false,false,new IRunnableWithProgress() {
-							public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-								editorToSave.doSave(monitor);
-							}
-						});
-					} catch (InvocationTargetException e) {	
-						throw (RuntimeException)e.getTargetException();
-					} catch (InterruptedException e) {
-						return null;
-					}
-				} else if(saveFile == 2) {
-					return null;
-				}
-			}
-		} else {
-			showEditor(activate, editor);
-			return editor;
-		}
-	}
-
-// Disabled turning redraw off, because it causes setFocus
-// in activate(editor) to fail.
-// getClientComposite().setRedraw(false);
-
-	// Remember the old visible editor 
-	IEditorPart oldVisibleEditor = getEditorManager().getVisibleEditor();
-	
-	// Otherwise, create a new one. This may cause the new editor to
-	// become the visible (i.e top) editor.
-	IEditorReference ref = null;
-
-	if(useEditorID)
-		ref = getEditorManager().openEditor(editorID, input,true, forceInternal);
-	else
-		ref = getEditorManager().openEditor(null,input,true, forceInternal);
-		
-	if(ref != null) {
-		editor = ref.getEditor(true);
-		addPart(ref);
-	}
-	
-	if (editor != null) {
-		//firePartOpened(editor);
-		zoomOutIfNecessary(editor);
-		setEditorAreaVisible(true);
-		if (activate) {
-			if(editor instanceof MultiEditor)
-				activate(((MultiEditor)editor).getActiveEditor());
-			else
-				activate(editor);
-		} else {
-			activationList.setActive(editor);
-			if (activePart != null)
-				// ensure the activation list is in a valid state
-				activationList.setActive(activePart);
-			// The previous openEditor call may create a new editor
-			// and make it visible, so send the notification.
-			IEditorPart visibleEditor = getEditorManager().getVisibleEditor();
-			if ((visibleEditor == editor) && (oldVisibleEditor != editor)) {
-				actionSwitcher.updateTopEditor(editor);
-				firePartBroughtToTop(editor);
-			} else
-				bringToTop(editor);
-		}
-		window.firePerspectiveChanged(this, getPerspective(), CHANGE_EDITOR_OPEN);
-	}
-	
-//	getClientComposite().setRedraw(true);
-
-	return editor;
-}
-private void showEditor(boolean activate, IEditorPart editor) {
-	zoomOutIfNecessary(editor);
-	setEditorAreaVisible(true);
-	if (activate)
-		activate(editor);
-	else
-		bringToTop(editor);
-}
-/**
- * See IWorkbenchPage.
- */
-public boolean isEditorPinned(IEditorPart editor) {
-	return !((EditorSite)editor.getEditorSite()).getReuseEditor();
-}
-/**
- * See IWorkbenchPage.
- */
-public void openSystemEditor(IFile input) 
-	throws PartInitException
-{
-	getEditorManager().openSystemEditor(input);
-}
-/**
- * Returns whether changes to a part will affect zoom.
- * There are a few conditions for this ..
- *		- we are zoomed.
- *		- the part is contained in the main window.
- *		- the part is not the zoom part
- *      - the part is not a fast view
- *      - the part and the zoom part are not in the same editor workbook
- */
-private boolean partChangeAffectsZoom(IWorkbenchPartReference ref) {
-	PartPane pane = ((WorkbenchPartReference)ref).getPane();
-	if (pane instanceof MultiEditorInnerPane)
-		pane = ((MultiEditorInnerPane)pane).getParentPane();
-	return getActivePerspective().getPresentation().partChangeAffectsZoom(pane);
-}
-/**
- * Removes a fast view.
- */
-public void removeFastView(IViewReference ref) {
-	Perspective persp = getActivePerspective();
-	if (persp == null)
-		return;
-
-	// If parts change always update zoom.
-	if (isZoomed())
-		zoomOut();
-
-	// Do real work.	
-	persp.removeFastView(ref);
-
-	// Notify listeners.
-	window.getShortcutBar().update(true);
-	window.firePerspectiveChanged(this, getPerspective(), CHANGE_FAST_VIEW_REMOVE);
-}
-/**
- * Removes an IPartListener from the part service.
- */
-public void removePartListener(IPartListener l) {
-	partListeners.removePartListener(l);
-}
-/**
- * Removes an IPartListener from the part service.
- */
-public void removePartListener(IPartListener2 l) {
-	partListeners2.removePartListener(l);
-}
-/**
- * Implements IWorkbenchPage
- * 
- * @see org.eclipse.ui.IWorkbenchPage#removePropertyChangeListener(IPropertyChangeListener)
- * @since 2.0
- * @deprecated individual views should store a working set if needed and
- * 	register a property change listener directly with the working set manager
- * 	to receive notification when the view working set is removed.
- */
-public void removePropertyChangeListener(IPropertyChangeListener listener) {
-	propertyChangeListeners.remove(listener);
-}
-
-/*
- * (non-Javadoc)
- * Method declared on ISelectionListener.
- */
-public void removeSelectionListener(ISelectionListener listener) {
-	selectionService.removeSelectionListener(listener);
-}
-
-/*
- * (non-Javadoc)
- * Method declared on ISelectionListener.
- */
-public void removeSelectionListener(String partId, ISelectionListener listener) {
-	selectionService.removeSelectionListener(partId, listener);
-}
-/*
- * (non-Javadoc)
- * Method declared on ISelectionListener.
- */
-public void removePostSelectionListener(ISelectionListener listener) {
-	selectionService.removePostSelectionListener(listener);
-}
-
-/*
- * (non-Javadoc)
- * Method declared on ISelectionListener.
- */
-public void removePostSelectionListener(String partId, ISelectionListener listener) {
-	selectionService.removePostSelectionListener(partId, listener);
-}
-/**
- * This method is called when a part is activated by clicking within it.
- * In response, the part, the pane, and all of its actions will be activated.
- *
- * In the current design this method is invoked by the part pane
- * when the pane, the part, or any children gain focus.
- */
-public void requestActivation(IWorkbenchPart part) {
-	// Sanity check.
-	if (!certifyPart(part))
-		return;
-
-	// Real work.
-	setActivePart(part);
-}
-/**
- * Resets the layout for the perspective.  The active part in the old layout is activated
- * in the new layout for consistent user context.
- */
-public void resetPerspective() {
-	// Run op in busy cursor.
-	BusyIndicator.showWhile(null, new Runnable() {
-		public void run() {
-			busyResetPerspective();
-		}
-	});
-}
-/**
- * Restore this page from the memento and ensure that
- * the active perspective is equals the active descriptor otherwise
- * create a new perspective for that descriptor.
- * If activeDescriptor is null active the old perspective.
- */
-public IStatus restoreState(IMemento memento,IPerspectiveDescriptor activeDescritor) {
-	// Restore working set
-	String pageName = memento.getString(IWorkbenchConstants.TAG_LABEL);
-	String label = pageName == null ? "" : "::" + pageName;
-	
-	try {
-		UIStats.start(UIStats.RESTORE_WORKBENCH,"WorkbenchPage" + label);
-		if(pageName == null) pageName = "";
-		MultiStatus result = new MultiStatus(
-			PlatformUI.PLUGIN_ID,IStatus.OK,
-			WorkbenchMessages.format("WorkbenchPage.unableToRestorePerspective",new String[]{pageName}),
-			null);
-	
-		String workingSetName = memento.getString(IWorkbenchConstants.TAG_WORKING_SET);
-		if (workingSetName != null) {
-			WorkingSetManager workingSetManager = (WorkingSetManager) getWorkbenchWindow().getWorkbench().getWorkingSetManager();
-			setWorkingSet(workingSetManager.getWorkingSet(workingSetName));
-		}
-		
-		// Restore editor manager.
-		IMemento childMem = memento.getChild(IWorkbenchConstants.TAG_EDITORS);
-		result.merge(getEditorManager().restoreState(childMem));
-		
-		childMem = memento.getChild(IWorkbenchConstants.TAG_VIEWS);
-		if(childMem != null)
-			result.merge(getViewFactory().restoreState(childMem));
-	
-		// Get persp block.
-		childMem = memento.getChild(IWorkbenchConstants.TAG_PERSPECTIVES);
-		String activePartID = childMem.getString(IWorkbenchConstants.TAG_ACTIVE_PART);
-		String activePerspectiveID = childMem.getString(IWorkbenchConstants.TAG_ACTIVE_PERSPECTIVE);
-		
-		// Restore perspectives.
-		IMemento perspMems[]  = childMem.getChildren(IWorkbenchConstants.TAG_PERSPECTIVE);
-		Perspective activePerspective = null;
-		for (int i = 0; i < perspMems.length; i++) {
-			try {
-				Perspective persp = new Perspective(null, this);
-				result.merge(persp.restoreState(perspMems[i]));
-				IPerspectiveDescriptor desc = persp.getDesc();
-				if (desc.equals(activeDescritor))
-					activePerspective = persp;
-				else if((activePerspective == null) && desc.getId().equals(activePerspectiveID))
-					activePerspective = persp;
-				perspList.add(persp);
-			} catch (WorkbenchException e) {
-			}
-		}
-		boolean restoreActivePerspective = false;
-		if(activeDescritor == null)
-			restoreActivePerspective = true;
-		else if (activePerspective != null && activePerspective.getDesc().equals(activeDescritor)) {
-			restoreActivePerspective = true;
-		} else {
-			restoreActivePerspective = false;
-			activePerspective = createPerspective((PerspectiveDescriptor)activeDescritor);
-			if(activePerspective == null) {
-				result.merge(new Status(IStatus.ERROR,PlatformUI.PLUGIN_ID,0,
-					WorkbenchMessages.format("Workbench.showPerspectiveError",new String[]{activeDescritor.getId()}),
-					null));			
-			}
-		}
-				
-		perspList.setActive(activePerspective);
-		
-		// Make sure we have a valid perspective to work with,
-		// otherwise return.
-		activePerspective = perspList.getActive();
-		if (activePerspective == null) {
-			activePerspective = perspList.getNextActive();
-			perspList.setActive(activePerspective);
-			result.merge(activePerspective.restoreState());
-		}
-		if (activePerspective != null && restoreActivePerspective)
-			result.merge(activePerspective.restoreState());
-		
-		if (activePerspective != null) {	
-			window.firePerspectiveActivated(this, activePerspective.getDesc());
-		
-			// Restore active part.
-			if (activePartID != null) {
-				IViewReference ref = activePerspective.findView(activePartID);
-				IViewPart view = null;
-				if(ref != null)
-					view = ref.getView(true);
-				if (view != null)
-					activePart = view;
-			}
-		}
-			
-		childMem = memento.getChild(IWorkbenchConstants.TAG_NAVIGATION_HISTORY);
-		if(childMem != null)
-			navigationHistory.restoreState(childMem);
-		else if(getActiveEditor() != null)
-			navigationHistory.markEditor(getActiveEditor());
-		return result;
-	} finally {
-		UIStats.end(UIStats.RESTORE_WORKBENCH,"WorkbenchPage" + label);
-	}
-}
-/**
- * See IWorkbenchPage
- */
-public boolean saveAllEditors(boolean confirm) {
-	return getEditorManager().saveAll(confirm, false);
-}
-/**
- * Saves an editors in the workbench.  
- * If <code>confirm</code> is <code>true</code> the user is prompted to
- * confirm the command.
- *
- * @param confirm if user confirmation should be sought
- * @return <code>true</code> if the command succeeded, or 
- *   <code>false</code> if the user cancels the command
- */
-public boolean saveEditor(org.eclipse.ui.IEditorPart editor, boolean confirm) {
-	// Sanity check.
-	if (!certifyPart(editor))
-		return false;
-
-	// Real work.
-	return getEditorManager().saveEditor(editor, confirm);
-}
-/**
- * Saves the current perspective.
- */
-public void savePerspective() {
-	Perspective persp = getActivePerspective();
-	if (persp == null)
-		return;
-		
-	// Always unzoom.
-	if (isZoomed())
-		zoomOut();
-
-	persp.saveDesc();
-}
-/**
- * Saves the perspective.
- */
-public void savePerspectiveAs(IPerspectiveDescriptor newDesc) {
-	Perspective persp = getActivePerspective();
-	if (persp == null)
-		return;
-	IPerspectiveDescriptor oldDesc = persp.getDesc();
-	
-	// Always unzoom.
-	if (isZoomed())
-		zoomOut();
-
-	saveToolBarLayout();
-	persp.saveDescAs(newDesc);
-	window.updatePerspectiveShortcut(oldDesc, newDesc, this);
-	
-	// Update MRU list.
-	Workbench wb = (Workbench)window.getWorkbench();
-	wb.getPerspectiveHistory().add(newDesc);
-}
-/**
- * Save the toolbar layout for the given perspective.
- */
-protected void saveToolBarLayout() {
-	Perspective persp = getActivePerspective(); 
-	if (persp == null) return;
-	window.getCoolBarManager().saveLayoutFor(persp);
-}
-/**
- * Save the state of the page.
- */
-public IStatus saveState(IMemento memento) {
-	// We must unzoom to get correct layout.
-	if (isZoomed())
-		zoomOut();
-
-	MultiStatus result = new MultiStatus(
-		PlatformUI.PLUGIN_ID,IStatus.OK,
-		WorkbenchMessages.format("WorkbenchPage.unableToSavePerspective",new String[]{getLabel()}),
-		null);
-				
-	// Save editor manager.
-	IMemento childMem = memento.createChild(IWorkbenchConstants.TAG_EDITORS);
-	result.merge(editorMgr.saveState(childMem));
-
-	childMem = memento.createChild(IWorkbenchConstants.TAG_VIEWS);
-	result.merge(getViewFactory().saveState(childMem));
-	
-	// Create persp block.
-	childMem = memento.createChild(IWorkbenchConstants.TAG_PERSPECTIVES);
-	if (getPerspective() != null)
-		childMem.putString(IWorkbenchConstants.TAG_ACTIVE_PERSPECTIVE, getPerspective().getId());
-	if (getActivePart() != null)
-	 	childMem.putString(IWorkbenchConstants.TAG_ACTIVE_PART,getActivePart().getSite().getId());
-
-	// Save the toolbar layout for the current perspective.
-	saveToolBarLayout();
-	
-	// Save each perspective in opened order
-	Iterator enum = perspList.iterator();
-	while (enum.hasNext()) {
-		Perspective persp = (Perspective)enum.next();
-		IMemento gChildMem = childMem.createChild(IWorkbenchConstants.TAG_PERSPECTIVE);
-		result.merge(persp.saveState(gChildMem));
-	}
-	// Save working set if set
-	if (workingSet != null) {
-		memento.putString(IWorkbenchConstants.TAG_WORKING_SET, workingSet.getName());
-	}
-	
-	navigationHistory.saveState(memento.createChild(IWorkbenchConstants.TAG_NAVIGATION_HISTORY));
-	return result;
-}
-/**
- * Sets the active part.
- */
-private void setActivePart(IWorkbenchPart newPart) {
-	// Optimize it.
-	if (activePart == newPart)
-		return;
-
-	//No need to change the history if the active editor is becoming the active part
-	boolean markLocation = newPart != lastActiveEditor;
-	String label = newPart != null ? newPart.getTitle() : "none";
-	try {
-		UIStats.start(UIStats.ACTIVATE_PART,label);
-		// Notify perspective.  It may deactivate fast view.
-		Perspective persp = getActivePerspective();
-		if (persp != null)
-			persp.partActivated(newPart);
-		
-		// Deactivate old part
-		IWorkbenchPart oldPart = activePart;
-		if (oldPart != null) {
-			deactivatePart(oldPart);
-		}
-	
-				
-		// Set active part.
-		activePart = newPart;
-		if (newPart != null) {	
-			activationList.setActive(newPart);
-			if (newPart instanceof IEditorPart) {
-				lastActiveEditor = (IEditorPart)newPart;
-				IEditorReference ref = (IEditorReference)getReference(lastActiveEditor);
-				editorMgr.setVisibleEditor(ref,true);
-			}
-		}
-		activatePart(activePart);
-		
-		if(markLocation && activePart != null && activePart instanceof IEditorPart)
-			navigationHistory.markEditor(getActiveEditor());
-	
-		// Fire notifications
-		if (oldPart != null)
-			firePartDeactivated(oldPart);
-	
-		// Update actions now so old actions have heard part deactivated and 
-		// new actions can hear part activated.
-		actionSwitcher.updateActivePart(newPart);	
-	
-		if (newPart != null)
-			firePartActivated(newPart);
-	} finally {
-		UIStats.end(UIStats.ACTIVATE_PART,label);
-	}
-}
-/**
- * See IWorkbenchPage.
- */
-public void setEditorAreaVisible(boolean showEditorArea) {	
-	Perspective persp = getActivePerspective();
-	if (persp == null)
-		return;
-	if(showEditorArea == persp.isEditorAreaVisible())
-		return;
-	// If parts change always update zoom.
-	if (isZoomed())
-		zoomOut();
-	// Update editor area visibility.
-	if (showEditorArea) {
-		persp.showEditorArea();
-		window.firePerspectiveChanged(this, getPerspective(), CHANGE_EDITOR_AREA_SHOW);
-	} else {
-		persp.hideEditorArea();
-		if (activePart instanceof IEditorPart) {
-			IEditorPart e = (IEditorPart)activePart;
-			setActivePart(null);
-			// preserve editor contributions
-			actionSwitcher.updateTopEditor(e);
-		}
-		window.firePerspectiveChanged(this, getPerspective(), CHANGE_EDITOR_AREA_HIDE);
-	}
-}
-/**
- * Sets the layout of the page. Assumes the new perspective
- * is not null. Keeps the active part if possible. Updates
- * the window menubar and toolbar if necessary.
- */
-private void setPerspective(Perspective newPersp) {
-	// Don't do anything if already active layout
-	Perspective oldPersp = getActivePerspective();
-	if (oldPersp == newPersp)
-		return;
-
-	// Save the toolbar layout for the perspective before the
-	// active part is closed, so that any editor-related tool
-	// items are saved as part of the layout.
-	saveToolBarLayout();
-
-	if(newPersp != null) {
-		IStatus status = newPersp.restoreState();	
-		if(status.getSeverity() != IStatus.OK) {
-			String title = WorkbenchMessages.getString("WorkbenchPage.problemRestoringTitle");  //$NON-NLS-1$
-			String msg = WorkbenchMessages.getString("WorkbenchPage.errorReadingState"); //$NON-NLS-1$
-			ErrorDialog.openError(getWorkbenchWindow().getShell(),title,msg,status); 			
-		}
-	}
-	
-	// Deactivate active part.
-	
-	// ensure the switcher is not showing any action sets
-	// so it will reshow them in the new perspective
-	actionSwitcher.updateTopEditor(null); 
-	
-	IWorkbenchPart oldActivePart = activePart;
-	setActivePart(null);
-
-	// Deactivate the old layout
-	if (oldPersp != null) {
-		oldPersp.onDeactivate();
-		window.selectPerspectiveShortcut(oldPersp.getDesc(), this, false);
-	}
-	
-	// Activate the new layout
-	perspList.setActive(newPersp);
-	if (newPersp != null) {
-		newPersp.onActivate();
-
-		// Notify listeners of activation
-		window.firePerspectiveActivated(this, newPersp.getDesc());
-	
-		// Update MRU list.
-		Workbench wb = (Workbench)window.getWorkbench();
-		wb.getPerspectiveHistory().add(newPersp.getDesc());
-	
-		// Update the shortcut	
-		window.selectPerspectiveShortcut(newPersp.getDesc(), this, true);
-	} else {
-		// No need to remember old active part since there
-		// is no new active perspective to activate it in.
-		oldActivePart = null;
-	}
-	
-	// Update the window
-	window.updateActionSets();
-	window.updateTitle();
-	window.getShortcutBar().update(true);
-	
-	updateVisibility(oldPersp, newPersp);
-	
-	// Reactivate active part.
-	if (oldActivePart != null) {
-		String id = oldActivePart.getSite().getId();
-		oldPersp.setOldPartID(id);
-		if (oldActivePart instanceof IEditorPart && isEditorAreaVisible()) {
-			activate(oldActivePart);
-		} else if (oldActivePart instanceof IViewPart) {
-			IEditorPart ed = editorMgr.getVisibleEditor();
-			if (ed != null)
-				actionSwitcher.updateTopEditor(ed);
-			if (findView(id) != null) {
-				activate(oldActivePart);
-			} else {
-				activateOldPart(newPersp);
-			}
-		} else {
-			activateOldPart(newPersp);
-		}
-	} else { //no active part
-		IEditorPart ed = editorMgr.getVisibleEditor();
-		if (ed != null) {
-			actionSwitcher.updateTopEditor(ed);
-		}  else  {
-			activateOldPart(newPersp);
-		}
-	}
-	
-	
-	// Update the Coolbar layout.  Do this after the part is activated,
-	// since the layout may contain items associated to the part.
-	setToolBarLayout();
-}
-/*
- * Update visibility state of all views.
- */
-private void updateVisibility(Perspective oldPersp, Perspective newPersp) {
-	HashSet set = new HashSet();
-	IWorkbenchPartReference[] refs;
-	if (oldPersp != null) {
-		refs = oldPersp.getViewReferences();
-		for (int i = 0; i < refs.length; i++) {
-			PartPane pane = ((WorkbenchPartReference) refs[i]).getPane();
-			if(pane != null)
-				set.add(pane);
-		}
-	}
-	if (newPersp != null) {
-		refs = newPersp.getViewReferences();
-		for (int i = 0; i < refs.length; i++) {
-			PartPane pane = ((WorkbenchPartReference) refs[i]).getPane();
-			if(pane != null)
-				set.add(pane);
-		}
-		PerspectivePresentation pres = newPersp.getPresentation();
-		for (Iterator iter = set.iterator(); iter.hasNext();) {
-			PartPane pane = (PartPane) iter.next();
-			boolean isVisible = pres.isPartVisible(pane.getID());
-			pane.setVisible(isVisible);
-		}
-	}
-	else {
-		for (Iterator iter = set.iterator(); iter.hasNext();) {
-			PartPane pane = (PartPane) iter.next();
-			pane.setVisible(false);
-		}
-	}
-}
-
-private void activateOldPart(Perspective newPersp) {
-	if(window.isClosing())
-		return;
-	if (newPersp != null) {
-		String oldID = newPersp.getOldPartID();
-		IWorkbenchPart prevOldPart = null;
-		if (oldID != null)
-			prevOldPart = findView(oldID);
-		if (prevOldPart != null)
-			activate(prevOldPart);
-		else if (isEditorAreaVisible())
-			activate(getActiveEditor()); 
-	}
-}
-/**
- * Sets the perspective.  
- * 
- * @param persp identifies the new perspective.
- */
-public void setPerspective(final IPerspectiveDescriptor desc) {
-	// Going from multiple to single rows can make the coolbar
-	// and its adjacent views appear jumpy as perspectives are
-	// switched.  Turn off redraw to help with this.
-	boolean useRedraw = false;
-	CoolBarManager mgr = window.getCoolBarManager();
-	useRedraw = true;
-	mgr.getControl().setRedraw(false);
-	// Run op in busy cursor.
-	BusyIndicator.showWhile(null, new Runnable() {
-		public void run() {
-			busySetPerspective(desc);
-		}
-	});
-	if (useRedraw) {
-		mgr.getControl().setRedraw(true);
-	}
-}
-/**
- * Restore the toolbar layout for the active perspective.
- */
-protected void setToolBarLayout() {
-	Perspective persp = getActivePerspective(); 
-	if (persp == null) return;
-	window.getCoolBarManager().setLayoutFor(persp);
-}
-/**
- * Sets the active working set for the workbench page.
- * Notifies property change listener about the change.
- * 
- * @param newWorkingSet the active working set for the page.
- * 	May be null.
- * @since 2.0
- * @deprecated individual views should store a working set if needed
- */
-public void setWorkingSet(IWorkingSet newWorkingSet) {
-	IWorkingSet oldWorkingSet = workingSet;
-
-	workingSet = newWorkingSet;
-	if (oldWorkingSet != newWorkingSet) {
-		firePropertyChange(CHANGE_WORKING_SET_REPLACE, oldWorkingSet, newWorkingSet);
-	}
-	if (newWorkingSet != null) {
-		WorkbenchPlugin.getDefault().getWorkingSetManager().addPropertyChangeListener(propertyChangeListener);
-	}
-	else {
-		WorkbenchPlugin.getDefault().getWorkingSetManager().removePropertyChangeListener(propertyChangeListener);
-	}
-}
-/**
- * @see IWorkbenchPage
- */
-public void showActionSet(String actionSetID) {
-	Perspective persp = getActivePerspective();
-	if (persp != null) {
-		persp.showActionSet(actionSetID);
-		window.updateActionSets();
-		window.firePerspectiveChanged(this, getPerspective(), CHANGE_ACTION_SET_SHOW);
-	}
-}
-/**
- * See IWorkbenchPage.
- */
-public IViewPart showView(final String viewID) 
-	throws PartInitException
-{
-	return showView(viewID, true);
-}
-/**
- * See IWorkbenchPage.
- */
-private IViewPart showView(final String viewID, final boolean activate) 
-	throws PartInitException
-{
-	// Run op in busy cursor.
-	final Object [] result = new Object[1];
-	BusyIndicator.showWhile(null, new Runnable() {
-		public void run() {
-			try {
-				result[0] = busyShowView(viewID, activate);
-			} catch (PartInitException e) {
-				result[0] = e;
-			}
-		}
-	});
-	if (result[0] instanceof IViewPart)
-		return (IViewPart)result[0];
-	else if (result[0] instanceof PartInitException)
-		throw (PartInitException)result[0];
-	else
-		throw new PartInitException(WorkbenchMessages.getString("WorkbenchPage.AbnormalWorkbenchCondition")); //$NON-NLS-1$
-}
-/**
- * Toggles the visibility of a fast view.  If the view is active it
- * is deactivated.  Otherwise, it is activated.
- */
-public void toggleFastView(IViewReference ref) {
-	Perspective persp = getActivePerspective();
-	if (persp != null) {
-		persp.toggleFastView(ref);
-		// if the fast view has been deactivated
-		if (ref != persp.getActiveFastView()) {
-			setActivePart(activationList.getPreviouslyActive());
-		}
-	}
-}
-/**
- * Zoom in on a part.  
- * If the part is already in zoom then zoom out.
- */
-public void toggleZoom(IWorkbenchPartReference ref) {
-	Perspective persp = getActivePerspective();
-	if (persp == null)
-		return;
-
-	/*
-	 * Detached window no longer supported - remove when confirmed
-	 *
-	 * PartPane pane = ((PartSite)(part.getSite())).getPane();
-	 * // If target part is detached ignore.
-	 * if (pane.getWindow() instanceof DetachedWindow) 
-	 * 	return;
-	 */
-	 
-	// Update zoom status.
-	if (isZoomed()) {
-		zoomOut();
-		return;
-	} else {
-		persp.getPresentation().zoomIn(ref);
-		activate(ref.getPart(true));
-	}
-}
-/**
- * updateActionBars method comment.
- */
-public void updateActionBars() {
-	window.updateActionBars();
-}
-
-/**
- * Sets the tab list of this page's composite appropriately
- * when a part is activated.
- */
-private void updateTabList(IWorkbenchPart part) {
-	PartSite site = (PartSite)part.getSite();
-	PartPane pane = site.getPane();
-	if (pane instanceof ViewPane) {
-		ViewPane viewPane = (ViewPane) pane;
-		Control[] tabList = viewPane.getTabList();
-		/*
-		 * Detached window no longer supported - remove when confirmed
-		 *
-		 * if (pane.getWindow() instanceof DetachedWindow) {
-		 * 	viewPane.getControl().getShell().setTabList(tabList);
-		 * }
-		 * else {
-		 */
-		getClientComposite().setTabList(tabList);
-		/*}*/
-	}
-	else if (pane instanceof EditorPane) {
-		EditorArea ea = ((EditorPane) pane).getWorkbook().getEditorArea();
-		ea.updateTabList();
-		getClientComposite().setTabList(new Control[] { ea.getParent() });
-	}
-}
-
-/**
- * The title of the given part has changed.
- * For views, updates the fast view button if necessary.
- */
-public void updateTitle(IViewReference ref) {
-	if (isFastView(ref)) {
-		// Would be more efficient to just update label of single tool item
-		// but we don't have access to it from here.
-		window.getShortcutBar().update(true);
-	}
-}
-/**
- * Zooms out a zoomed in part.
- */
-/*package*/ void zoomOut() {
-	Perspective persp = getActivePerspective();
-	if (persp != null)
-		persp.getPresentation().zoomOut();
-}
-/**
- * Zooms out a zoomed in part if it is necessary to do so for the user
- * to view the IWorkbenchPart that is the argument. Otherwise, does nothing.
- * 
- * @param part the part to be made viewable
- */
-private void zoomOutIfNecessary(IWorkbenchPart part) {
-	if (isZoomed() && needToZoomOut(part))
-		zoomOut();	
-}
-/**
- * @see IPageLayout.
- */
-public int getEditorReuseThreshold() {
-	IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();		
-	return store.getInt(IPreferenceConstants.REUSE_EDITORS);
-}
-/**
- * @see IPageLayout.
- */
-public void setEditorReuseThreshold(int openEditors) {
-}
-/*
- * Returns the editors in activation order (oldest first).
- */
-public IEditorReference[] getSortedEditors() {
-	return activationList.getEditors();
-}
-/**
- * Returns an iterator over the opened perspectives
- */
-protected IPerspectiveDescriptor[] getOpenedPerspectives() {
-	Perspective opened[] = perspList.getSortedPerspectives();
-	IPerspectiveDescriptor[] result = new IPerspectiveDescriptor[opened.length];
-	for (int i = 0; i < result.length; i++) {
-		result[i] = opened[i].getDesc();
-	}
-	return result;
-}
-/*
- * Returns the perspectives in activation order (oldest first).
- */
-protected IPerspectiveDescriptor[] getSortedPerspectives() {
-	Perspective sortedArray[] = perspList.getSortedPerspectives();
-	IPerspectiveDescriptor[] result = new IPerspectiveDescriptor[sortedArray.length];
-	for (int i = 0; i < result.length; i++) {
-		result[i] = sortedArray[i].getDesc();
-	}
-	return result;
-}
-/*
- * Returns the parts in activation order (oldest first).
- */
-public IWorkbenchPartReference[] getSortedParts() {
-	return activationList.getParts();
-}
-
-public IWorkbenchPartReference getReference(IWorkbenchPart part) {
-	PartPane pane = ((PartSite)part.getSite()).getPane();
-	if(pane instanceof MultiEditorInnerPane) {
-		MultiEditorInnerPane innerPane = (MultiEditorInnerPane)pane;
-		return innerPane.getParentPane().getPartReference();
-	}
-	if(pane == null) { 
-		/* An error has occurred while creating the view.
-		   Reference is needed during clean up. */
-		IViewReference refs[] = getViewReferences();
-		for (int i = 0; i < refs.length; i++) {
-			if(refs[i].getPart(false) == part)
-				return refs[i];
-		}
-		return null;
-	}
-	return pane.getPartReference();
-}
-
-private class ActivationList {
-	//List of parts in the activation order (oldest first)
-	List parts = new ArrayList();
-	
-	/*
-	 * Add/Move the active part to end of the list;
-	 */
-	void setActive(IWorkbenchPart part) {
-		if(parts.size() <= 0)
-			return;
-		PartPane pane = ((PartSite)part.getSite()).getPane();
-		if(pane instanceof MultiEditorInnerPane) {
-			MultiEditorInnerPane innerPane = (MultiEditorInnerPane)pane;
-			setActive(innerPane.getParentPane().getPartReference().getPart(true));
-		} else {
-			IWorkbenchPartReference ref = getReference(part);
-			if(ref == parts.get(parts.size() - 1))
-				return;
-			parts.remove(ref);
-			parts.add(ref);
-		}
-		pane.addPropertyChangeListener(propertyChangeListener);	
-	}
-	/*
-	 * Add/Move the active part to end of the list;
-	 */
-	void setActive(IWorkbenchPartReference ref) {
-		setActive(ref.getPart(true));
-	}	
-	/*
-	 * Add the active part to the beginning of the list.
-	 */
-	void add(IWorkbenchPartReference ref) {
-		if(parts.indexOf(ref) >= 0)
-			return;
-		
-		IWorkbenchPart part = ref.getPart(false);
-		if(part != null) {
-			PartPane pane = ((PartSite)part.getSite()).getPane();
-			if(pane instanceof MultiEditorInnerPane) {
-				MultiEditorInnerPane innerPane = (MultiEditorInnerPane)pane;
-				add(innerPane.getParentPane().getPartReference());
-				return;
-			}
-		}
-		PartPane pane = ((WorkbenchPartReference)ref).getPane();
-		if(pane != null)
-			pane.addPropertyChangeListener(propertyChangeListener);	
-		parts.add(0,ref);
-	}
-	/*
-	 * Return the active part. Filter fast views.
-	 */
-	IWorkbenchPart getActive() {
-		if(parts.isEmpty())
-			return null;
-		return getActive(parts.size() - 1);	
-	}
-	/*
-	 * Return the previously active part. Filter fast views.
-	 */
-	IWorkbenchPart getPreviouslyActive() {
-		if(parts.size() < 2) 
-			return null;
-		return getActive(parts.size() - 2);	
-	} 
-	/*
-	 * Find a part in the list starting from the end and
-	 * filter fast views and views from other perspectives.
-	 */	
-	private IWorkbenchPart getActive(int start) {
-		IWorkbenchPartReference[] views = getViewReferences();
-		for (int i = start; i >= 0; i--) {
-			IWorkbenchPartReference ref = (IWorkbenchPartReference)parts.get(i);
-			if(ref instanceof IViewReference) {
-				if(!((IViewReference)ref).isFastView()) {
-					for (int j = 0; j < views.length; j++) {
-						if(views[j] == ref) {
-							return ref.getPart(true);
-						}
-					}
-				}
-			} else {
-				return ref.getPart(true);
-			}
-		}
-		return null;
-	}
-	/*
-	 * Retuns the index of the part within the activation
-	 * list. The higher the index, the more recent it
-	 * was used.
-	 */
-	int indexOf(IWorkbenchPart part) {
-		return parts.indexOf(getReference(part));
-	}
-	/*
-	 * Remove a part from the list
-	 */
-	boolean remove(IWorkbenchPartReference ref) {
-		PartPane pane = ((WorkbenchPartReference)ref).getPane();
-		if(pane != null) 
-			pane.removePropertyChangeListener(propertyChangeListener);
-		return parts.remove(ref);
-	}
-	/*
-	 * Returns the editors in activation order (oldest first).
-	 */
-	private IEditorReference[] getEditors() {
-		ArrayList editors = new ArrayList(parts.size());
-		for (Iterator i = parts.iterator(); i.hasNext();) {
-			IWorkbenchPartReference part = (IWorkbenchPartReference) i.next();
-			if (part instanceof IEditorReference) {
-				editors.add(part);
-			}
-		}
-		return (IEditorReference[])editors.toArray(new IEditorReference[editors.size()]);
-	}
-	/*
-	 * Return a list with all parts (editors and views).
-	 */
-	private IWorkbenchPartReference[] getParts() {
-		IWorkbenchPartReference[] views = getViewReferences();
-		ArrayList resultList = new ArrayList(parts.size());
-		for (Iterator iterator = parts.iterator(); iterator.hasNext();) {
-			IWorkbenchPartReference ref = (IWorkbenchPartReference)iterator.next();
-			if(ref instanceof IViewReference) {
-				//Filter views from other perspectives
-				for (int i = 0; i < views.length; i++) {
-					if(views[i] == ref) {
-						resultList.add(ref);
-						break;
-					}
-				}
-			} else {
-				resultList.add(ref);	
-			}	
-		}
-		IWorkbenchPartReference[] result = new IWorkbenchPartReference[resultList.size()];
-		return (IWorkbenchPartReference[])resultList.toArray(result);
-	}
-	/*
-	 * Returns the topmost editor on the stack, or null if none.
-	 */
-	IEditorPart getTopEditor() {
-		IEditorReference editors[] = getEditors();
-		if (editors.length > 0) {
-			return editors[editors.length - 1].getEditor(true);
-		}
-		return null;
-	}
-}
-
-	/**
-	 * Helper class to keep track of all opened perspective.
-	 * Both the opened and used order is kept.
-	 */
-	private class PerspectiveList {
-		/**
-		 * List of perspectives in the order they were opened;
-		 */
-		private List openedList;
-		
-		/**
-		 * List of perspectives in the order they were used.
-		 * Last element is the most recently used, and first element
-		 * is the least recently used.
-		 */
-	 	private List usedList;
-	 	
-	 	/**
-	 	 * The perspective explicitly set as being the active one
-	 	 */
-	 	private Perspective active;
-	 	
-	 	/**
-	 	 * Creates an empty instance of the perspective list
-	 	 */
-		public PerspectiveList() {
-			openedList = new ArrayList(15);
-	 		usedList = new ArrayList(15);
-		}
-		/**
-		 * Return all perspectives in the order they were activated.
-		 */
-		public Perspective[] getSortedPerspectives() {
-			Perspective[] result = new Perspective[usedList.size()];
-			return (Perspective[])usedList.toArray(result);
-		}
-		/**
-		 * Adds a perspective to the list. No check is done
-		 * for a duplicate when adding.
-		 */
-		public boolean add(Perspective perspective) {
-			openedList.add(perspective);
-			usedList.add(0, perspective); //It will be moved to top only when activated.
-			return true;
-		}
-		
-		/**
-		 * Returns an iterator on the perspective list
-		 * in the order they were opened.
-		 */
-		public Iterator iterator() {
-			return openedList.iterator();
-		}
-		/**
-		 * Returns an array with all opened perspectives
-		 */
-		public Perspective[] getOpenedPerspectives() {
-			Perspective[] result = new Perspective[openedList.size()];
-			return (Perspective[])openedList.toArray(result);
-		}
-		/**
-		 * Removes a perspective from the list.
-		 */
-		public boolean remove(Perspective perspective) {
-			if (active == perspective)
-				active = null;
-			usedList.remove(perspective);
-			return openedList.remove(perspective);
-		}
-
-		/**
-		 * Swap the opened order of old perspective with the
-		 * new perspective.
-		 */
-		public void swap(Perspective oldPerspective, Perspective newPerspective) {
-			int oldIndex = openedList.indexOf(oldPerspective);
-			int newIndex = openedList.indexOf(newPerspective);
-			
-			if (oldIndex < 0 || newIndex < 0) 
-				return;
-				
-			openedList.set(oldIndex, newPerspective);
-			openedList.set(newIndex, oldPerspective);
-		}
-				
-		/**
-		 * Returns whether the list contains any perspectives
-		 */
-		public boolean isEmpty() {
-			return openedList.isEmpty();
-		}
-		
-		/**
-		 * Returns the most recently used perspective in
-		 * the list.
-		 */
-		public Perspective getActive() {
-			return active;
-		}
-		
-		/**
-		 * Returns the next most recently used perspective in
-		 * the list.
-		 */
-		public Perspective getNextActive() {
-			if (active == null) {
-				if (usedList.isEmpty())
-					return null;
-				else
-					return (Perspective)usedList.get(usedList.size() - 1);
-			} else {
-				if (usedList.size() < 2)
-					return null;
-				else
-					return (Perspective)usedList.get(usedList.size() - 2);
-			}
-		}
-		
-		/**
-		 * Returns the number of perspectives opened
-		 */ 
-		public int size() {
-			return openedList.size();
-		}
-		
-		/**
-		 * Marks the specified perspective as the most
-		 * recently used one in the list.
-		 */
-		public void setActive(Perspective perspective) {
-			if (perspective == active)
-				return;
-				
-			active = perspective;
-			
-			if (perspective != null) {
-				usedList.remove(perspective);
-				usedList.add(perspective);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPartLabelProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPartLabelProvider.java
deleted file mode 100644
index bc543b3..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPartLabelProvider.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class WorkbenchPartLabelProvider extends LabelProvider implements ITableLabelProvider {
-/**
- * @see ITableLabelProvider#getColumnImage
- */
-public Image getColumnImage(Object element, int columnIndex) {
-	if (element instanceof IWorkbenchPart) {
-		return ((IWorkbenchPart)element).getTitleImage();
-	}
-	return null;
-}
-/**
- * @see ITableLabelProvider#getColumnText
- */
-public String getColumnText(Object element, int columnIndex) {
-	if (element instanceof IWorkbenchPart) {
-		IWorkbenchPart part = (IWorkbenchPart)element;
-		String path = part.getTitleToolTip();
-		if (path.length() == 0) {
-			return part.getTitle();
-		} else {
-			return part.getTitle() + "  [" + part.getTitleToolTip() + "]"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-	return null;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPartReference.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPartReference.java
deleted file mode 100644
index 27cc57d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPartReference.java
+++ /dev/null
@@ -1,155 +0,0 @@
-package org.eclipse.ui.internal;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.*;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * 
- */
-public abstract class WorkbenchPartReference implements IWorkbenchPartReference {
-
-	protected IWorkbenchPart part;
-
-	private String id;
-	protected PartPane pane;
-	private String title;
-	private String tooltip;
-	private Image image;
-	private ImageDescriptor imageDescritor;
-	private ListenerList propChangeListeners = new ListenerList(2);		
-	
-	public WorkbenchPartReference() {
-	}
-	public void init(String id,String title,String tooltip,ImageDescriptor desc) {
-		this.id = id;
-		this.title = title;
-		this.tooltip = tooltip;
-		this.imageDescritor = desc;
-	}
-	public void releaseReferences() {
-		id = null;
-		tooltip = null;
-		title = null;
-		if(image != null && imageDescritor != null) {
-			//make sure part has inc. the reference count.
-			if(part != null)
-				part.getTitleImage();
-			ReferenceCounter imageCache = WorkbenchImages.getImageCache();
-			image = (Image)imageCache.get(imageDescritor);
-			if(image != null) {
-				imageCache.removeRef(imageDescritor);
-			}
-			image = null;
-			imageDescritor = null;
-		}
-	}
-	/**
-	 * @see IWorkbenchPart
-	 */
-	public void addPropertyListener(IPropertyListener listener) {
-		IWorkbenchPart part = getPart(false);
-		if(part != null)
-			part.addPropertyListener(listener);
-		else
-			propChangeListeners.add(listener);
-	}
-	/**
-	 * @see IWorkbenchPart
-	 */
-	public void removePropertyListener(IPropertyListener listener) {
-		IWorkbenchPart part = getPart(false);
-		if(part != null)
-			part.removePropertyListener(listener);
-		else
-			propChangeListeners.remove(listener);
-	}
-	public String getId() {
-		if(part != null)
-			return part.getSite().getId();
-		return id;
-	}
-
-	public String getTitleToolTip() {
-		if(part != null)
-			return part.getTitleToolTip();
-		else
-			return tooltip;
-	}	
-	public String getTitle() {
-		String result = title;
-		if(part != null)
-			result = part.getTitle();
-		if(result == null)
-			result = new String();
-		return result;
-	}
-	public Image getTitleImage() {
-		if(part != null)
-			return part.getTitleImage();
-		if(image != null)
-			return image;
-		if(imageDescritor == null)
-			return null;
-		ReferenceCounter imageCache = WorkbenchImages.getImageCache();
-		image = (Image)imageCache.get(imageDescritor);
-		if(image != null) {
-			imageCache.addRef(imageDescritor);
-			return image;
-		}
-		image = imageDescritor.createImage();
-		imageCache.put(imageDescritor,image);
-		return image;		
-	}	
-	public void setPart(IWorkbenchPart part) {
-		this.part = part;
-		if(part == null)
-			return;
-		Object listeners[] = propChangeListeners.getListeners();
-		for (int i = 0; i < listeners.length; i++) {
-			part.addPropertyListener((IPropertyListener)listeners[i]);
-		}
-		PartSite site = (PartSite)part.getSite();
-		if(site != null && this.pane != null) {
-			site.setPane(this.pane);
-			this.pane = null;
-		}
-	}		
-	public void setPane(PartPane pane) {
-		if(pane == null)
-			return;
-		if(part != null) {
-			PartSite site = (PartSite)part.getSite();
-			site.setPane(pane);
-		} else {
-			this.pane = pane;
-		}
-	}
-	public PartPane getPane() {
-		PartPane result = null;
-		if(part != null)
-			result = ((PartSite)part.getSite()).getPane();
-		if(result == null)
-			result = pane;
-		return result;
-	}	
-	public void dispose() {
-		if(image != null && imageDescritor != null) {
-			ReferenceCounter imageCache = WorkbenchImages.getImageCache();
-			if(image != null) {
-				int count = imageCache.removeRef(imageDescritor);
-				if(count <= 0)
-					image.dispose();				
-			}
-			imageDescritor = null;
-			image = null;
-		}
-	}	
-	public abstract String getRegisteredName();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPlugin.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPlugin.java
deleted file mode 100644
index e172d10..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPlugin.java
+++ /dev/null
@@ -1,626 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IWorkspace;
-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.Platform;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.RGB;
-
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.JFacePreferences;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.resource.FontRegistry;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.OpenStrategy;
-
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.IElementFactory;
-import org.eclipse.ui.IPerspectiveRegistry;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.decorators.DecoratorManager;
-import org.eclipse.ui.internal.misc.StatusUtil;
-import org.eclipse.ui.internal.registry.ActionSetRegistry;
-import org.eclipse.ui.internal.registry.CapabilityRegistry;
-import org.eclipse.ui.internal.registry.EditorRegistry;
-import org.eclipse.ui.internal.registry.IViewRegistry;
-import org.eclipse.ui.internal.registry.MarkerHelpRegistry;
-import org.eclipse.ui.internal.registry.MarkerHelpRegistryReader;
-import org.eclipse.ui.internal.registry.MarkerImageProviderRegistry;
-import org.eclipse.ui.internal.registry.PerspectiveRegistry;
-import org.eclipse.ui.internal.registry.PreferencePageRegistryReader;
-import org.eclipse.ui.internal.registry.ProjectImageRegistry;
-import org.eclipse.ui.internal.registry.ViewRegistry;
-import org.eclipse.ui.internal.registry.ViewRegistryReader;
-import org.eclipse.ui.internal.registry.WorkingSetRegistry;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * This class represents the TOP of the workbench UI world
- * A plugin class is effectively an application wrapper
- * for a plugin & its classes. This class should be thought
- * of as the workbench UI's application class.
- *
- * This class is responsible for tracking various registries
- * font, preference, graphics, dialog store.
- *
- * This class is explicitly referenced by the 
- * workbench plugin's  "plugin.xml" and places it
- * into the UI start extension point of the main
- * overall application harness
- *
- * When is this class started?
- *      When the Application
- *      calls createExecutableExtension to create an executable
- *      instance of our workbench class.
- */
-public class WorkbenchPlugin extends AbstractUIPlugin {
-	// Default instance of the receiver
-	private static WorkbenchPlugin inst;
-	// Manager that maps resources to descriptors of editors to use
-	private EditorRegistry editorRegistry;
-	// Manager that maps project nature ids to images
-	private ProjectImageRegistry projectImageRegistry;
-	// Manager for the DecoratorManager
-	private DecoratorManager decoratorManager;
-	// Manager that maps markers to help context ids and resolutions
-	private MarkerHelpRegistry markerHelpRegistry;
-	// Manager for working sets (IWorkingSet)
-	private WorkingSetManager workingSetManager;
-	// Working set registry, stores working set dialogs
-	private WorkingSetRegistry workingSetRegistry;	
-	
-	// Global workbench ui plugin flag. Only workbench implementation is allowed to use this flag
-	// All other plugins, examples, or test cases must *not* use this flag.
-	public static boolean DEBUG = false;
-
-	/**
-	 * The workbench plugin ID.
-	 */
-	public static String PI_WORKBENCH = PlatformUI.PLUGIN_ID;
-
-	/**
-	 * The character used to separate preference page category ids
-	 */
-	private static char PREFERENCE_PAGE_CATEGORY_SEPARATOR = '/';
-
-	// Other data.
-	private IWorkbench workbench;
-	private PreferenceManager preferenceManager;
-	private ViewRegistry viewRegistry;
-	private PerspectiveRegistry perspRegistry;
-	private org.eclipse.ui.internal.commands.Registry actionRegistry;
-	private org.eclipse.ui.internal.commands.keys.Registry keyBindingRegistry;
-	private CapabilityRegistry capabilityRegistry;
-	private ActionSetRegistry actionSetRegistry;
-	private SharedImages sharedImages;
-	private MarkerImageProviderRegistry markerImageProviderRegistry;
-	
-	/**
-	 * Create an instance of the WorkbenchPlugin.
-	 * The workbench plugin is effectively the "application" for the workbench UI.
-	 * The entire UI operates as a good plugin citizen.
-	 */
-	public WorkbenchPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		inst = this;
-	}
-				
-	/**
-	 * Creates an extension.  If the extension plugin has not
-	 * been loaded a busy cursor will be activated during the duration of
-	 * the load.
-	 *
-	 * @param element the config element defining the extension
-	 * @param classAttribute the name of the attribute carrying the class
-	 * @returns the extension object
-	 */
-	public static Object createExtension(final IConfigurationElement element, final String classAttribute) throws CoreException {
-		// If plugin has been loaded create extension.
-		// Otherwise, show busy cursor then create extension.
-		IPluginDescriptor plugin = element.getDeclaringExtension().getDeclaringPluginDescriptor();
-		if (plugin.isPluginActivated()) {
-			return element.createExecutableExtension(classAttribute);
-		} else {
-			final Object[] ret = new Object[1];
-			final CoreException[] exc = new CoreException[1];
-			BusyIndicator.showWhile(null, new Runnable() {
-				public void run() {
-					try {
-						ret[0] = element.createExecutableExtension(classAttribute);
-					} catch (CoreException e) {
-						exc[0] = e;
-					}
-				}
-			});
-			if (exc[0] != null)
-				throw exc[0];
-			else
-				return ret[0];
-		}
-	}
-	/**
-	 * Returns the image registry for this plugin.
-	 *
-	 * Where are the images?  The images (typically gifs) are found in the 
-	 * same plugins directory.
-	 *
-	 * @see JFace's ImageRegistry
-	 *
-	 * Note: The workbench uses the standard JFace ImageRegistry to track its images. In addition 
-	 * the class WorkbenchGraphicResources provides convenience access to the graphics resources 
-	 * and fast field access for some of the commonly used graphical images.
-	 */
-	protected ImageRegistry createImageRegistry() {
-		return WorkbenchImages.getImageRegistry();
-	}
-	
-	/**
-	 * Returns the action set registry for the workbench.
-	 *
-	 * @return the workbench action set registry
-	 */
-	public ActionSetRegistry getActionSetRegistry() {
-		if (actionSetRegistry == null) {
-			actionSetRegistry = new ActionSetRegistry();
-		}
-		return actionSetRegistry;
-	}
-	/**
-	 * Returns the capability registry for the workbench.
-	 * 
-	 * @return the capability registry
-	 */
-	public CapabilityRegistry getCapabilityRegistry() {
-		if (capabilityRegistry == null) {
-			capabilityRegistry = new CapabilityRegistry();
-			capabilityRegistry.load();
-		}
-		return capabilityRegistry;
-	}
-	/**
-	 * Returns the marker help registry for the workbench.
-	 *
-	 * @return the marker help registry
-	 */
-	public MarkerHelpRegistry getMarkerHelpRegistry() {
-		if (markerHelpRegistry == null) {
-			markerHelpRegistry = new MarkerHelpRegistry();
-			new MarkerHelpRegistryReader().addHelp(markerHelpRegistry);
-		}
-		return markerHelpRegistry;
-	}
-	/* Return the default instance of the receiver. This represents the runtime plugin.
-	 *
-	 * @see AbstractPlugin for the typical implementation pattern for plugin classes.
-	 */
-	public static WorkbenchPlugin getDefault() {
-		return inst;
-	}
-	/* Answer the manager that maps resource types to a the 
-	 * description of the editor to use
-	*/
-
-	public IEditorRegistry getEditorRegistry() {
-		if (editorRegistry == null) {
-			editorRegistry = new EditorRegistry();
-		}
-		return editorRegistry;
-	}
-	/**
-	 * Answer the element factory for an id.
-	 */
-	public IElementFactory getElementFactory(String targetID) {
-
-		// Get the extension point registry.
-		IExtensionPoint extensionPoint;
-		extensionPoint = Platform.getPluginRegistry().getExtensionPoint(PI_WORKBENCH, IWorkbenchConstants.PL_ELEMENT_FACTORY);
-
-		if (extensionPoint == null) {
-			WorkbenchPlugin.log("Unable to find element factory. Extension point: " + IWorkbenchConstants.PL_ELEMENT_FACTORY + " not found"); //$NON-NLS-2$ //$NON-NLS-1$
-			return null;
-		}
-
-		// Loop through the config elements.
-		IConfigurationElement targetElement = null;
-		IConfigurationElement[] configElements = extensionPoint.getConfigurationElements();
-		for (int j = 0; j < configElements.length; j++) {
-			String strID = configElements[j].getAttribute("id"); //$NON-NLS-1$
-			if (strID.equals(targetID)) {
-				targetElement = configElements[j];
-				break;
-			}
-		}
-		if (targetElement == null) {
-			// log it since we cannot safely display a dialog.
-			WorkbenchPlugin.log("Unable to find element factory: " + targetID); //$NON-NLS-1$
-			return null;
-		}
-
-		// Create the extension.
-		IElementFactory factory = null;
-		try {
-			factory = (IElementFactory) createExtension(targetElement, "class"); //$NON-NLS-1$
-		} catch (CoreException e) {
-			// log it since we cannot safely display a dialog.
-			WorkbenchPlugin.log("Unable to create element factory.", e.getStatus()); //$NON-NLS-1$
-			factory = null;
-		}
-		return factory;
-	}
-	/**
-	 * Returns the marker image provider registry for the workbench.
-	 *
-	 * @return the marker image provider registry
-	 */
-	public MarkerImageProviderRegistry getMarkerImageProviderRegistry() {
-		if (markerImageProviderRegistry == null)
-			markerImageProviderRegistry = new MarkerImageProviderRegistry();
-		return markerImageProviderRegistry;
-	}
-	/**
-	 * Return the perspective registry.
-	 */
-	public IPerspectiveRegistry getPerspectiveRegistry() {
-		if (perspRegistry == null) {
-			perspRegistry = new PerspectiveRegistry();
-			perspRegistry.load();
-		}
-		return perspRegistry;
-	}
-	/**
-	 * Return the workspace used by the workbench
-	 *
-	 * This method is internal to the workbench and must not be called
-	 * by any plugins.
-	 */
-	public static IWorkspace getPluginWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-	/**
-	 * Returns the working set manager
-	 * 
-	 * @return the working set manager
-	 * @since 2.0
-	 */
-	public IWorkingSetManager getWorkingSetManager() {
-		if (workingSetManager == null) {
-			workingSetManager = new WorkingSetManager();
-			workingSetManager.restoreState();			
-		}
-		return workingSetManager;
-	}
-	/**
-	 * Returns the working set registry
-	 * 
-	 * @return the working set registry
-	 * @since 2.0
-	 */
-	public WorkingSetRegistry getWorkingSetRegistry() {
-		if (workingSetRegistry == null) {
-			workingSetRegistry = new WorkingSetRegistry();
-			workingSetRegistry.load();
-		}
-		return workingSetRegistry;
-	}
-	/*
-	 * Get the preference manager.
-	 */
-	public PreferenceManager getPreferenceManager() {
-		if (preferenceManager == null) {
-			preferenceManager = new PreferenceManager(PREFERENCE_PAGE_CATEGORY_SEPARATOR);
-
-			//Get the pages from the registry
-			PreferencePageRegistryReader registryReader = new PreferencePageRegistryReader(getWorkbench());
-			List pageContributions = registryReader.getPreferenceContributions(Platform.getPluginRegistry());
-
-			//Add the contributions to the manager
-			Iterator enum = pageContributions.iterator();
-			while (enum.hasNext()) {
-				preferenceManager.addToRoot((IPreferenceNode) enum.next());
-			}
-		}
-		return preferenceManager;
-	}
-	/**
-	 *Answers the manager that maps project nature ids to images
-	 */
-
-	public ProjectImageRegistry getProjectImageRegistry() {
-		if (projectImageRegistry == null) {
-			projectImageRegistry = new ProjectImageRegistry();
-			projectImageRegistry.load();
-		}
-		return projectImageRegistry;
-	}
-	/**
-	 * Returns the shared images for the workbench.
-	 *
-	 * @return the shared image manager
-	 */
-	public ISharedImages getSharedImages() {
-		if (sharedImages == null)
-			sharedImages = new SharedImages();
-		return sharedImages;
-	}
-	/**
-	 * Answer the view registry.
-	 */
-	public IViewRegistry getViewRegistry() {
-		if (viewRegistry == null) {
-			viewRegistry = new ViewRegistry();
-			try {
-				ViewRegistryReader reader = new ViewRegistryReader();
-				reader.readViews(Platform.getPluginRegistry(), viewRegistry);
-			} catch (CoreException e) {
-				// cannot safely show a dialog so log it
-				WorkbenchPlugin.log("Unable to read view registry.", e.getStatus()); //$NON-NLS-1$
-			}
-		}
-		return viewRegistry;
-	}
-	/*
-	 * Answer the workbench.
-	 */
-	public IWorkbench getWorkbench() {
-		return workbench;
-	}
-	/** 
-	 * Set default preference values.
-	 * This method must be called whenever the preference store is initially loaded
-	 * because the default values are not stored in the preference store.
-	 */
-	protected void initializeDefaultPreferences(IPreferenceStore store) {
-		
-		JFacePreferences.setPreferenceStore(store);
-		store.setDefault(IPreferenceConstants.AUTO_BUILD, true);
-		store.setDefault(IPreferenceConstants.SAVE_ALL_BEFORE_BUILD, false);
-		store.setDefault(IPreferenceConstants.SAVE_INTERVAL, 5); //5 minutes
-		store.setDefault(IPreferenceConstants.WELCOME_DIALOG, true);
-		store.setDefault(IPreferenceConstants.REFRESH_WORKSPACE_ON_STARTUP, false);
-		store.setDefault(IPreferenceConstants.EDITOR_LIST_PULLDOWN_ACTIVE, false);
-		store.setDefault(IPreferenceConstants.EDITOR_LIST_DISPLAY_FULL_NAME, false);
-		store.setDefault(IPreferenceConstants.CLOSE_EDITORS_ON_EXIT, false);
-		store.setDefault(IPreferenceConstants.REUSE_EDITORS_BOOLEAN, false);
-		store.setDefault(IPreferenceConstants.REUSE_DIRTY_EDITORS, true);
-		store.setDefault(IPreferenceConstants.REUSE_EDITORS, 8);
-		store.setDefault(IPreferenceConstants.OPEN_ON_SINGLE_CLICK, false);
-		store.setDefault(IPreferenceConstants.SELECT_ON_HOVER, false);
-		store.setDefault(IPreferenceConstants.OPEN_AFTER_DELAY, false);
-		store.setDefault(IPreferenceConstants.RECENT_FILES, 4);
-		store.setDefault(IPreferenceConstants.VIEW_TAB_POSITION, SWT.BOTTOM);
-		store.setDefault(IPreferenceConstants.EDITOR_TAB_POSITION, SWT.TOP);
-		store.setDefault(IPreferenceConstants.EDITOR_TABS_SPAN_MULTIPLE_LINES, false);
-		store.setDefault(IPreferenceConstants.EDITOR_TAB_WIDTH_SCALAR, 3); // high
-		store.setDefault(IPreferenceConstants.NUMBER_EDITOR_TABS, IPreferenceConstants.NUMBER_EDITOR_TABS_MAXIMUM);
-		store.setDefault(IPreferenceConstants.OPEN_VIEW_MODE, IPreferenceConstants.OVM_EMBED);
-		store.setDefault(IPreferenceConstants.OPEN_PERSP_MODE, IPreferenceConstants.OPM_ACTIVE_PAGE);
-		store.setDefault(IPreferenceConstants.ENABLED_DECORATORS, ""); //$NON-NLS-1$
-		store.setDefault(IPreferenceConstants.EDITOR_LIST_SELECTION_SCOPE, IPreferenceConstants.EDITOR_LIST_SET_PAGE_SCOPE); // Current Window
-		store.setDefault(IPreferenceConstants.EDITOR_LIST_SORT_CRITERIA, IPreferenceConstants.EDITOR_LIST_NAME_SORT); // Name Sort
-		store.setDefault(IPreferenceConstants.COLOR_ICONS, false);
-		
-		// Set the default behaviour for showing the task list when there are compiles errors in the build
-		store.setDefault(IPreferenceConstants.SHOW_TASKS_ON_BUILD, true);
-
-		// Set the default configuration for the key binding service
-		store.setDefault(IWorkbenchConstants.ACCELERATOR_CONFIGURATION_ID, IWorkbenchConstants.DEFAULT_ACCELERATOR_CONFIGURATION_ID);
-		
-		//Set the default error colour to red
-		PreferenceConverter.setDefault(store,JFacePreferences.ERROR_COLOR, new RGB(255, 0, 0));
-		//Set the default hyperlink line colour to dark blue
-		PreferenceConverter.setDefault(store,JFacePreferences.HYPERLINK_COLOR, new RGB(0, 0, 153));
-		//Set the default active hyperlink line colour to blue
-		PreferenceConverter.setDefault(store,JFacePreferences.ACTIVE_HYPERLINK_COLOR, new RGB(0, 0, 255));
-		
-		
-		// Temporary option to enable wizard for project capability
-		store.setDefault("ENABLE_CONFIGURABLE_PROJECT_WIZARD", false); //$NON-NLS-1$
-		// Temporary option to enable single click
-		store.setDefault("SINGLE_CLICK_METHOD", OpenStrategy.DOUBLE_CLICK); //$NON-NLS-1$
-		// Temporary option to enable cool bars
-		store.setDefault("ENABLE_COOL_BARS", true); //$NON-NLS-1$
-		// Temporary option to enable new menu organization
-		store.setDefault("ENABLE_NEW_MENUS", true); //$NON-NLS-1$	
-			
-
-		FontRegistry registry = JFaceResources.getFontRegistry();
-		initializeFont(JFaceResources.DIALOG_FONT, registry, store);
-		initializeFont(JFaceResources.BANNER_FONT, registry, store);
-		initializeFont(JFaceResources.HEADER_FONT, registry, store);
-		initializeFont(JFaceResources.TEXT_FONT, registry, store);
-			
-		store.addPropertyChangeListener(new PlatformUIPreferenceListener());
-	}
-
-	private void initializeFont(String fontKey, FontRegistry registry, IPreferenceStore store) {
-
-		FontData[] fontData = registry.getFontData(fontKey);
-		PreferenceConverter.setDefault(store, fontKey, fontData);
-	}
-	/**
-	 * Log the given status to the ISV log.
-	 *
-	 * When to use this:
-	 *
-	 *		This should be used when a PluginException or a
-	 *		ExtensionException occur but for which an error
-	 *		dialog cannot be safely shown.
-	 *
-	 *		If you can show an ErrorDialog then do so, and do
-	 *		not call this method.
-	 *
-	 *		If you have a plugin exception or core exception in hand
-	 *		call log(String, IStatus)
-	 *
-	 * This convenience method is for internal use by the Workbench only
-	 * and must not be called outside the workbench.
-	 *
-	 * This method is supported in the event the log allows plugin related
-	 * information to be logged (1FTTJKV). This would be done by this method.
-	 *
-	 * This method is internal to the workbench and must not be called
-	 * by any plugins, or examples.
-	 *
-	 * @param message 	A high level UI message describing when the problem happened.
-	 *
-	 */
-
-	public static void log(String message) {
-		getDefault().getLog().log(StatusUtil.newStatus(Status.ERROR, message, null));
-		System.err.println(message);
-		//1FTTJKV: ITPCORE:ALL - log(status) does not allow plugin information to be recorded
-	}
-	/**
-	 * Log the given status to the ISV log.
-	 *
-	 * When to use this:
-	 *
-	 *		This should be used when a PluginException or a
-	 *		ExtensionException occur but for which an error
-	 *		dialog cannot be safely shown.
-	 *
-	 *		If you can show an ErrorDialog then do so, and do
-	 *		not call this method.
-	 *
-	 * This convenience method is for internal use by the workbench only
-	 * and must not be called outside the workbench.
-	 *
-	 * This method is supported in the event the log allows plugin related
-	 * information to be logged (1FTTJKV). This would be done by this method.
-	 *
-	 * This method is internal to the workbench and must not be called
-	 * by any plugins, or examples.
-	 *
-	 * @param message 	A high level UI message describing when the problem happened.
-	 *					May be null.
-	 * @param status  	The status describing the problem.
-	 *					Must not be null.
-	 *
-	 */
-
-	public static void log(String message, IStatus status) {
-
-		//1FTUHE0: ITPCORE:ALL - API - Status & logging - loss of semantic info
-
-		if (message != null) {
-			getDefault().getLog().log(StatusUtil.newStatus(IStatus.ERROR, message, null));
-			System.err.println(message + "\nReason:"); //$NON-NLS-1$
-		}
-
-		getDefault().getLog().log(status);
-		System.err.println(status.getMessage());
-
-		//1FTTJKV: ITPCORE:ALL - log(status) does not allow plugin information to be recorded
-	}
-	public void setWorkbench(IWorkbench aWorkbench) {
-		this.workbench = aWorkbench;
-	}
-
-	/**
-	 * Get the decorator manager for the receiver
-	 */
-
-	public DecoratorManager getDecoratorManager() {
-		if (this.decoratorManager == null) {
-			this.decoratorManager = new DecoratorManager();
-			this.decoratorManager.restoreListeners();
-		}
-		return decoratorManager;
-	}
-
-	public void startup() throws CoreException {
-		/* The plugin org.eclipse.ui has being separed in
-		   several plugins. Copy the state files from 
-		   org.eclipse.ui to org.eclipse.ui.workbench */
-		
-		IPath locationPath = getStateLocation();
-		File newLocation = locationPath.toFile();
-		File oldLocation = new File(newLocation,"..//org.eclipse.ui");
-		try {
-			oldLocation = oldLocation.getCanonicalFile();
-		} catch (IOException e) {}		
-		String markerFileName = ".copiedStateFiles_Marker";
-		File markerFile = new File(oldLocation,markerFileName);
-		if(markerFile.exists())
-			return;
-			
-		try {
-			String list[] = newLocation.list();
-			if(list != null && list.length != 0)
-				return;
-
-			String oldList[] = oldLocation.list();
-			if(oldList == null || oldList.length == 0)
-				return;
-
-			byte b[] = new byte[1024];
-			for (int i = 0; i < oldList.length; i++) {
-				String string = oldList[i];
-				try {
-					File oldFile = new File(oldLocation,string);
-					FileInputStream in = new FileInputStream(oldFile);
-					FileOutputStream out = new FileOutputStream(new File(newLocation,string));
-					int read = in.read(b);
-					while(read >= 0) {
-						out.write(b,0,read);
-						read = in.read(b);
-					}
-					in.close();
-					out.close();
-					oldFile.delete();
-				} catch (IOException e) {
-					new File(newLocation,string).delete();
-				}
-			}
-		} finally {
-			try { 
-				new FileOutputStream(markerFile).close(); 
-			} catch (IOException e) {}
-		}
-	}
-	
-	/*
- 	 * @see Plugin#shutdown() 
- 	 */
-	public void shutdown() throws CoreException {
-		super.shutdown();
-		if (this.decoratorManager != null) {
-			this.decoratorManager.shutdown();
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchShowInAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchShowInAction.java
deleted file mode 100644
index f84830f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchShowInAction.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/************************************************************************
-Copyright (c) 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal;
-
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ShowInAction;
-
-/**
- * Workbench's internal implementation of the Show In... action, which
- * tracks part activation. 
- */
-/* package */
-class WorkbenchShowInAction extends ShowInAction implements IPartListener {
-
-	public WorkbenchShowInAction(IWorkbenchWindow window) {
-		super(window);
-		updateState();
-	}
-
-	public void partActivated(IWorkbenchPart part) {
-		updateState(part);
-	}
-	
-	public void partBroughtToTop(IWorkbenchPart part) {
-	}
-	
-	public void partClosed(IWorkbenchPart part) {
-		updateState();
-	}
-	
-	public void partDeactivated(IWorkbenchPart part) {
-		updateState();
-	}
-	
-	public void partOpened(IWorkbenchPart part) {
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchWindow.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchWindow.java
deleted file mode 100644
index 669ad3c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchWindow.java
+++ /dev/null
@@ -1,1636 +0,0 @@
-package org.eclipse.ui.internal;
-
-/**********************************************************************
-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
-**********************************************************************/
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IContributionManager;
-import org.eclipse.jface.action.IContributionManagerOverrides;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.StatusLineManager;
-import org.eclipse.jface.action.SubMenuManager;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.window.ApplicationWindow;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.ShellAdapter;
-import org.eclipse.swt.events.ShellEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.CoolBar;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IElementFactory;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPageListener;
-import org.eclipse.ui.IPartService;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.ISelectionService;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.commands.keys.KeyManager;
-import org.eclipse.ui.internal.commands.keys.KeySequence;
-import org.eclipse.ui.internal.commands.keys.KeyStroke;
-import org.eclipse.ui.internal.misc.Assert;
-import org.eclipse.ui.internal.misc.UIStats;
-import org.eclipse.ui.internal.registry.IActionSet;
-
-/**
- * A window within the workbench.
- */
-public class WorkbenchWindow extends ApplicationWindow
-	implements IWorkbenchWindow
-{
-	private int number;
-	private Workbench workbench;
-	private PageList pageList = new PageList();
-	private PageListenerList pageListeners = new PageListenerList();
-	private PerspectiveListenerListOld perspectiveListeners = new PerspectiveListenerListOld();
-	private IPartDropListener partDropListener;
-	private WWinPerspectiveService perspectiveService = new WWinPerspectiveService(this);
-	private WWinKeyBindingService keyBindingService;
-	private WWinPartService partService = new WWinPartService(this);
-	private IMemento deferredRestoreState;
-	private ActionPresentation actionPresentation;
-	private WWinActionBars actionBars;
-	private Label separator2;
-	private Label separator3;
-	private ToolBarManager shortcutBar;
-	private ShortcutBarPart shortcutBarPart;
-	private ShortcutBarPartDragDrop shortcutDND;
-	private WorkbenchActionBuilder builder;
-	private boolean updateDisabled = true;
-	private boolean closing = false;
-	private boolean shellActivated = false;
-	private String workspaceLocation;
-	private Menu perspectiveBarMenu;
-	private Menu fastViewBarMenu;
-	private MenuItem restoreItem;
-	private CoolBarManager coolBarManager = new CoolBarManager();
-	private Label noOpenPerspective;
-	
-	final private String TAG_INPUT = "input";//$NON-NLS-1$
-	final private String TAG_LAYOUT = "layout";//$NON-NLS-1$
-	final private String TAG_FOCUS = "focus";//$NON-NLS-1$
-	final private String TAG_FACTORY_ID = "factoryID";//$NON-NLS-1$
-	final protected String GRP_PAGES = "pages";//$NON-NLS-1$
-	final protected String GRP_PERSPECTIVES = "perspectives";//$NON-NLS-1$
-	final protected String GRP_FAST_VIEWS = "fastViews";//$NON-NLS-1$
-
-	// static fields for inner classes.
-	static final int VGAP= 0;
-	static final int CLIENT_INSET = 3;
-	static final int BAR_SIZE = 23;
-
-	/**
-	 * This vertical layout supports a fixed size Toolbar area, a separator line,
-	 * the variable size content area,
-	 * and a fixed size status line.
-	 */
-	class WorkbenchWindowLayout extends Layout {
-	
-		protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) 
-		{
-			if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT)
-				return new Point(wHint, hHint);
-				
-			Point result= new Point(0, 0);
-			Control[] ws= composite.getChildren();
-			for (int i= 0; i < ws.length; i++) {
-				Control w= ws[i];
-				boolean skip = false;
-				if (w == getToolBarControl()) {
-					skip = true;
-					result.y+= BAR_SIZE;  
-				} else if (w == shortcutBar.getControl()) {
-					skip = true;
-				} 
-				if (!skip) {
-					Point e= w.computeSize(wHint, hHint, flushCache);
-					result.x= Math.max(result.x, e.x);
-					result.y+= e.y + VGAP;
-				}
-			}
-
-			result.x += BAR_SIZE; // For shortcut bar.
-			if (wHint != SWT.DEFAULT)
-				result.x= wHint;
-			if (hHint != SWT.DEFAULT)
-				result.y= hHint;
-			return result;
-		}
-
-		protected void layout(Composite composite, boolean flushCache) 
-		{
-			Rectangle clientArea= composite.getClientArea();
-			// Loop through the children.  
-			// Expected order == sep1, toolbar, status, sep2, shortcuts, sep3, client
-			Control[] ws= composite.getChildren();
-			for (int i= 0; i < ws.length; i++) {
-				Control w= ws[i];
-				if (i == 0 || w == separator2) { // Separators
-					Point e= w.computeSize(SWT.DEFAULT, SWT.DEFAULT, flushCache);
-					w.setBounds(clientArea.x, clientArea.y, clientArea.width, e.y);
-					clientArea.y+= e.y;
-					clientArea.height-= e.y;
-				} else if (w == getToolBarControl()) {
-					int height = BAR_SIZE;
-					if (toolBarChildrenExist()) { 
-						Point e = w.computeSize(clientArea.width, SWT.DEFAULT, flushCache);
-						height = e.y;
-					}
-					w.setBounds(clientArea.x, clientArea.y, clientArea.width, height);
-					clientArea.y+= height;
-					clientArea.height-= height;
-				} else if (getStatusLineManager() != null && w == getStatusLineManager().getControl()) {
-					int width = BAR_SIZE;
-					if (shortcutBar != null) {
-						Widget widget = shortcutBar.getControl();
-						if (widget != null) {
-							if (widget instanceof ToolBar) {
-								ToolBar bar = (ToolBar) widget;
-								if (bar.getItemCount() > 0) {
-									ToolItem item = bar.getItem(0);
-									width = item.getWidth();
-									Rectangle trim = bar.computeTrim(0,0,width,width);
-									width = trim.width; 
-								}
-							}
-						}	
-					}	
-					Point e= w.computeSize(SWT.DEFAULT, SWT.DEFAULT, flushCache);
-					w.setBounds(clientArea.x + width, clientArea.y+clientArea.height-e.y, clientArea.width - width, e.y);
-					clientArea.height-= e.y + VGAP;
-				} else if (w == shortcutBar.getControl()) {
-					int width = BAR_SIZE;
-					if (w instanceof ToolBar) {
-						ToolBar bar = (ToolBar) w;
-						if (bar.getItemCount() > 0) {
-							ToolItem item = bar.getItem(0);
-							width = item.getWidth();
-							Rectangle trim = bar.computeTrim(0,0,width,width);
-							width = trim.width;
-						}
-					}
-					w.setBounds(clientArea.x, clientArea.y, width, clientArea.height);
-					clientArea.x+= width + VGAP;
-					clientArea.width-= width + VGAP;
-				} else if (w == separator3) {
-					Point e= w.computeSize(SWT.DEFAULT, SWT.DEFAULT, flushCache);
-					w.setBounds(clientArea.x, clientArea.y, e.x, clientArea.height);
-					clientArea.x+= e.x;
-				} else {
-					// Must be client.
-					// Inset client area by 3 pixels 
-					w.setBounds(clientArea.x + CLIENT_INSET, clientArea.y + CLIENT_INSET + VGAP, clientArea.width - ( 2 * CLIENT_INSET), clientArea.height - VGAP - (2 * CLIENT_INSET));
-				}
-			}
-		}
-	}
-	
-/**
- * WorkbenchWindow constructor comment.
- * @param workbench Workbench
- */
-public WorkbenchWindow(Workbench workbench, int number) {
-	super(null);
-	this.workbench = workbench;
-	this.number = number;
-	
-	// Setup window.
-	addMenuBar();	
-	addToolBar(SWT.FLAT);
-		
-	addStatusLine();
-	addShortcutBar(SWT.FLAT | SWT.WRAP | SWT.VERTICAL);
-
-	// Add actions.
-	actionPresentation = new ActionPresentation(this);
-	builder = new WorkbenchActionBuilder();
-	builder.buildActions(this);
-	
-	// include the workspace location in the title 
-	// if the command line option -showlocation is specified
-	String[] args = Platform.getCommandLineArgs();
-	for (int i = 0; i < args.length; i++) {
-		if ("-showlocation".equalsIgnoreCase(args[i])) { //$NON-NLS-1$
-			workspaceLocation = Platform.getLocation().toOSString();
-			break;
-		}
-	}
-	
-	this.partDropListener = new IPartDropListener() {
-		public void dragOver(PartDropEvent e) {
-			WorkbenchPage page = getActiveWorkbenchPage();
-			Perspective persp = page.getActivePerspective();
-			PerspectivePresentation presentation = persp.getPresentation();
-			presentation.onPartDragOver(e);
-		};
-		public void drop(PartDropEvent e) {
-			WorkbenchPage page = getActiveWorkbenchPage();
-			Perspective persp = page.getActivePerspective();
-			PerspectivePresentation presentation = persp.getPresentation();
-			presentation.onPartDrop(e);
-		};
-	};
-}
-/*
- * Adds an listener to the part service.
- */
-public void addPageListener(IPageListener l) {
-	pageListeners.addPageListener(l);
-}
-/*
- * Adds an listener to the perspective service.
- *
- * NOTE: Internally, please use getPerspectiveService instead.
- */
-public void addPerspectiveListener(org.eclipse.ui.IPerspectiveListener l) {
-	perspectiveListeners.addPerspectiveListener(l);
-}
-/**
- * add a shortcut for the page.
- */
-/* package */ void addPerspectiveShortcut(IPerspectiveDescriptor perspective, WorkbenchPage page) {
-	SetPagePerspectiveAction action = new SetPagePerspectiveAction(perspective, page);
-	shortcutBar.appendToGroup(GRP_PERSPECTIVES, action);
-	shortcutBar.update(false);
-}
-/**
- * Configures this window to have a shortcut bar.
- * Does nothing if it already has one.
- * This method must be called before this window's shell is created.
- */
-protected void addShortcutBar(int style) {
-	if ((getShell() == null) && (shortcutBar == null)) {
-		shortcutBar = new ToolBarManager(style);
-	}
-}
-/**
- * Configures this window to have a cool bar.
- * This method must be called before this window's shell is created.
- */
-protected void addToolBar(int style) {
-	if (getShell() == null)  {
-		coolBarManager = new CoolBarManager(style);
-	}
-}
-/**
- * Close the window.
- * 
- * Assumes that busy cursor is active.
- */
-private boolean busyClose() {
-	// Only do the check if it is OK to close if we are not closing via the
-	// workbench as the workbench will call this itself
-	closing = true;
-	updateDisabled = true;
-	int count = workbench.getWorkbenchWindowCount();
-	if (count <= 1 && !workbench.isClosing())
-		return workbench.close();
-	else {
-		if (!okToClose())
-			return false;
-		return hardClose();
-	}
-}
-/**
- * Opens a new page. Assumes that busy cursor is active.
- * <p>
- * <b>Note:</b> Since release 2.0, a window is limited to contain at most
- * one page. If a page exist in the window when this method is used, then
- * another window is created for the new page.  Callers are strongly
- * recommended to use the <code>IWorkbench.openPerspective</code> APIs to
- * programmatically show a perspective.
- * </p>
- */
-protected IWorkbenchPage busyOpenPage(String perspID, IAdaptable input) 
-	throws WorkbenchException 
-{
-	IWorkbenchPage newPage = null;
-	
-	if (pageList.isEmpty()) {
-		newPage = new WorkbenchPage(this, perspID, input);
-		pageList.add(newPage);
-		firePageOpened(newPage);
-		setActivePage(newPage);
-	} else {
-		IWorkbenchWindow window = getWorkbench().openWorkbenchWindow(perspID, input);
-		newPage = window.getActivePage();
-	}
-	
-	return newPage;
-}
-/**
- * @see Window
- */
-public int open() {
-	int r = super.open();
-	workbench.fireWindowOpened(this);
-	return r;
-}
-/**
- * @see IWorkbenchWindow
- */
-public boolean close() {
-	final boolean [] ret = new boolean[1];
-	BusyIndicator.showWhile(null, new Runnable() {
-		public void run() {
-			ret[0] = busyClose();
-		}
-	});
-	return ret[0];
-}
-
-protected boolean isClosing() {
-	return closing || workbench.isClosing();
-}
-/**
- * Return whether or not the coolbar layout is locked.
- */
-protected boolean isToolBarLocked() {
-	return getCoolBarManager().isLayoutLocked();
-}
-
-/**
- * Close all of the pages.
- */
-private void closeAllPages() 
-{
-	// Deactivate active page.
-	setActivePage(null);
-
-	// Clone and deref all so that calls to getPages() returns
-	// empty list (if call by pageClosed event handlers)
-	PageList oldList = pageList;
-	pageList = new PageList();
-
-	// Close all.
-	Iterator enum = oldList.iterator();
-	while (enum.hasNext()) {
-		WorkbenchPage page = (WorkbenchPage)enum.next();
-		firePageClosed(page);
-		page.dispose();
-	}
-	if(!closing)
-		showEmptyWindowMessage();
-}
-/**
- * Save and close all of the pages.
- */
-public void closeAllPages(boolean save) {
-	if (save) {
-		boolean ret = saveAllPages(true);
-		if (!ret) return;
-	}
-	closeAllPages();
-}
-/**
- * closePerspective method comment.
- */
-protected boolean closePage(IWorkbenchPage in, boolean save) {
-	// Validate the input.
-	if (!pageList.contains(in))
-		return false;
-	WorkbenchPage oldPage = (WorkbenchPage)in;
-
-	// Save old perspective.
-	if (save && oldPage.isSaveNeeded()) {
-		if (!oldPage.saveAllEditors(true))
-			return false;
-	}
-
-	// If old page is activate deactivate.
-	boolean oldIsActive = (oldPage == getActiveWorkbenchPage());
-	if (oldIsActive)
-		setActivePage(null);
-		
-	// Close old page. 
-	pageList.remove(oldPage);
-	firePageClosed(oldPage);
-	oldPage.dispose();
-	
-	// Activate new page.
-	if (oldIsActive) {
-		IWorkbenchPage newPage = pageList.getNextActive();
-		if (newPage != null)
-			setActivePage(newPage);
-	}
-	if(!closing && pageList.isEmpty())
-		showEmptyWindowMessage();
-	return true;
-}
-private void showEmptyWindowMessage() {
-	Composite parent = getClientComposite();
-	if(noOpenPerspective == null) {
-		noOpenPerspective = new Label(parent,SWT.NONE);
-		noOpenPerspective.setText(WorkbenchMessages.getString("WorkbenchWindow.noPerspective")); //$NON-NLS-1$
-		noOpenPerspective.setBounds(parent.getClientArea());
-	}
-}
-/**
- * Sets the ApplicationWindows's content layout.
- * This vertical layout supports a fixed size Toolbar area, a separator line,
- * the variable size content area,
- * and a fixed size status line.
- */
-protected void configureShell(Shell shell) {
-	super.configureShell(shell);
-	shell.setLayout(new WorkbenchWindowLayout());
-	shell.setSize(800, 600);
-	separator2 = new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL);
-	createShortcutBar(shell);
-	separator3 = new Label(shell, SWT.SEPARATOR | SWT.VERTICAL);
-
-	WorkbenchHelp.setHelp(shell, IHelpContextIds.WORKBENCH_WINDOW);
-
-	trackShellActivation(shell);
-	
-	// If the user clicks on toolbar, status bar, or shortcut bar
-	// hide the fast view.
-	Listener listener = new Listener() {
-		public void handleEvent(Event event) {
-			WorkbenchPage currentPage = getActiveWorkbenchPage();
-			if (currentPage != null) {
-				if (event.type == SWT.MouseDown) {
-					if (event.widget instanceof ToolBar) {
-						// Ignore mouse down on actual tool bar buttons
-						Point pt = new Point(event.x, event.y);
-						ToolBar toolBar = (ToolBar)event.widget;
-						if (toolBar.getItem(pt) != null)
-							return;
-					}
-					currentPage.toggleFastView(null);
-				}
-			}
-		}
-	};
-	getToolBarControl().addListener(SWT.MouseDown, listener);
-	Control[] children = ((Composite)getStatusLineManager().getControl()).getChildren();
-	for (int i = 0; i < children.length; i++) {
-		if (children[i] != null)
-			children[i].addListener(SWT.MouseDown, listener);
-	}
-	getShortcutBar().getControl().addListener(SWT.MouseDown, listener);
-}
-/**
- * Create the shortcut toolbar control
- */
-private void createShortcutBar(Shell shell) {
-	// Create control.
-	if (shortcutBar == null)
-		return;
-	shortcutBar.createControl(shell);
-
-	// Define shortcut part.  This is for drag and drop.
-	shortcutBarPart = new ShortcutBarPart(shortcutBar);
-	
-	// Enable drag and drop.
-	enableDragShortcutBarPart();
-
-	// Add right mouse button support.
-	ToolBar tb = shortcutBar.getControl();
-	tb.addMouseListener(new MouseAdapter() {
-		public void mouseDown(MouseEvent e) {
-			if (e.button == 3)
-				showShortcutBarPopup(e);
-		}
-	});
-}
-/**
- * Creates the control for the cool bar control.  
- * </p>
- * @return a Control
- */
-protected Control createToolBarControl(Shell shell) {
-	CoolBarManager manager = getCoolBarManager();
-	return manager.createControl(shell);
-}
-/**
- *  Do not create a toolbarmanager.  WorkbenchWindow uses CoolBarManager.  
- * </p>
- * @return a Control
- */
-protected ToolBarManager createToolBarManager(int style) {
-	return null;
-}
-/* (non-Javadoc)
- * Method declared on ApplicationWindow.
- */
-protected MenuManager createMenuManager() {
-	final MenuManager result = super.createMenuManager();
-	result.setOverrides(new IContributionManagerOverrides() {
-		
-		public Integer getAccelerator(IContributionItem item) {
-			if (!(item instanceof ActionContributionItem))
-				return null;	
-						
-			ActionContributionItem aci = (ActionContributionItem)item;
-			String defId = aci.getAction().getActionDefinitionId();
-
-			if (defId == null) {
-				int accelerator = aci.getAction().getAccelerator();
-				
-				if (accelerator != 0) {				
-					KeySequence keySequence = KeySequence.create(KeyStroke.create(accelerator));						
-					KeyManager keyManager = KeyManager.getInstance();
-					Map keySequenceMapForMode = keyManager.getKeyMachine().getKeySequenceMapForMode();
-
-					if (keySequenceMapForMode.get(keySequence) == null)
-						return null;
-				}
-
-				return new Integer(0);
-			} 
-
-			return new Integer(0);
-			//TBD: later we can move the accelerator from the hidden menu to here:
-			//String acceleratorText = KeyBindingManager.getInstance().getAcceleratorTextForAction(defId);			
-			//return (acceleratorText != null ? acceleratorText : new Integer(0));	
-		}
-		
-		public String getAcceleratorText(IContributionItem item) {
-			if (!(item instanceof ActionContributionItem))
-				return null;	
-						
-			ActionContributionItem aci = (ActionContributionItem)item;
-			String defId = aci.getAction().getActionDefinitionId();
-
-			if (defId == null) {
-				int accelerator = aci.getAction().getAccelerator();
-				
-				if (accelerator != 0) {				
-					KeySequence keySequence = KeySequence.create(KeyStroke.create(accelerator));						
-					KeyManager keyManager = KeyManager.getInstance();
-					Map keySequenceMapForMode = keyManager.getKeyMachine().getKeySequenceMapForMode();
-
-					if (keySequenceMapForMode.get(keySequence) == null)
-						return null;
-				}
-
-				return "";
-			} 
-
-			String acceleratorText = KeyManager.getInstance().getTextForAction(defId);			
-			
-			if (acceleratorText != null && "carbon".equals(SWT.getPlatform())) {
-				acceleratorText = replaceSubstring(acceleratorText, "Alt", "\u2325");
-				acceleratorText = replaceSubstring(acceleratorText, "Command", "\u2318");
-				acceleratorText = replaceSubstring(acceleratorText, "Ctrl", "\u2303");
-				acceleratorText = replaceSubstring(acceleratorText, "Shift", "\u21E7");
-				acceleratorText = "   " + replaceSubstring(acceleratorText, "+", "");
-			}
-			
-			return (acceleratorText != null ? acceleratorText : "");			
-		}
-		
-		private /*static*/ String replaceSubstring(String str, String pattern, String replace) {
-			int slen = str.length();
-			int plen = pattern.length();
-			int s = 0, e = 0;
-			StringBuffer result = new StringBuffer(slen * 2);
-			char[] chars = new char[slen];
-
-			while ((e = str.indexOf(pattern, s)) >= 0) {
-				str.getChars(s, e, chars, 0);
-				result.append(chars, 0, e - s).append(replace);
-				s = e + plen;
-			}
-
-			str.getChars(s, slen, chars, 0);
-			result.append(chars, 0, slen - s);
-			return result.toString();
-		}
-		
-		public String getText(IContributionItem item) {
-			if(!(item instanceof MenuManager))
-				return null;
-			MenuManager itemManager = (MenuManager)item;
-			IContributionManager parent = itemManager.getParent();
-			if(parent != result) {
-				if(parent instanceof SubMenuManager) {
-					parent = ((SubMenuManager)parent).getParent();
-					if (parent != result) 
-						return null;
-				} else {
- 					return null;		
-				}
-			}
-			
-			String text = itemManager.getMenuText();
-			int index = text.indexOf('&');
-			if (index < 0 || index == (text.length() -1))
-				return text;
-				
-			char altChar = Character.toUpperCase(text.charAt(index + 1));
-			String defId = keyBindingService.getDefinitionId(SWT.ALT | altChar);
-			if(defId == null)
-				return text;
-				
-			if (index == 0)
-				return text.substring(1);
-			return text.substring(0, index) + text.substring(index + 1);
-		}
-		
-		public Boolean getEnabled(IContributionItem item) {
-			return null;
-		}
-	});
-	return result;
-}
-/**
- * Enables fast view icons to be dragged and dropped using the given IPartDropListener.
- */
-/*package*/ void enableDragShortcutBarPart() {
-	Control control = shortcutBarPart.getControl();
-	if (control != null && shortcutDND == null) {
-		// Only one ShortcutBarPartDragDrop per WorkbenchWindow.
-		shortcutDND = new ShortcutBarPartDragDrop(shortcutBarPart, control);
-		// Add the listener only once.
-		shortcutDND.addDropListener(partDropListener);
-	}
-}
-/**
- * Returns the shortcut for a page.
- */
-/* protected */ IContributionItem findPerspectiveShortcut(IPerspectiveDescriptor perspective, WorkbenchPage page) {
-	IContributionItem[] array = shortcutBar.getItems();
-	int length = array.length;
-	for (int i = 0; i < length; i++) {
-		IContributionItem item = array[i];
-		if (item instanceof ActionContributionItem) {
-			IAction action = ((ActionContributionItem)item).getAction();
-			if (action instanceof SetPagePerspectiveAction) {
-				SetPagePerspectiveAction sp = (SetPagePerspectiveAction)action;
-				if (sp.handles(perspective, page))
-					return item;	
-			}
-		}
-	}
-	return null;
-}
-/**
- * Fires page activated
- */
-private void firePageActivated(IWorkbenchPage page) {
-	pageListeners.firePageActivated(page);
-	partService.pageActivated(page);
-}
-/**
- * Fires page closed
- */
-private void firePageClosed(IWorkbenchPage page) {
-	pageListeners.firePageClosed(page);
-	partService.pageClosed(page);
-}
-/**
- * Fires page opened
- */
-private void firePageOpened(IWorkbenchPage page) {
-	pageListeners.firePageOpened(page);
-	partService.pageOpened(page);
-}
-/**
- * Fires perspective activated
- */
-void firePerspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
-	perspectiveListeners.firePerspectiveActivated(page, perspective);
-	perspectiveService.firePerspectiveActivated(page, perspective);
-}
-/**
- * Fires perspective changed
- */
-void firePerspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) {
-	perspectiveListeners.firePerspectiveChanged(page, perspective, changeId);
-	perspectiveService.firePerspectiveChanged(page, perspective, changeId);
-}
-/**
- * Fires perspective closed
- */
-void firePerspectiveClosed(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
-	perspectiveService.firePerspectiveClosed(page, perspective);
-}
-/**
- * Fires perspective opened
- */
-void firePerspectiveOpened(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
-	perspectiveService.firePerspectiveOpened(page, perspective);
-}
-/**
- * Returns the action bars for this window.
- */
-public IActionBars getActionBars() {
-	if (actionBars == null) {
-		actionBars = new WWinActionBars(this);
-	}
-	return actionBars;
-}
-/**
- * Returns the active page.
- *
- * @return the active page
- */
-public IWorkbenchPage getActivePage() {
-	return pageList.getActive();
-}
-/**
- * Returns the active workbench page.
- *
- * @return the active workbench page
- */
-/* package */ WorkbenchPage getActiveWorkbenchPage() {
-	return pageList.getActive();
-}
-/**
- * Returns cool bar control for the window. Overridden
- * to support CoolBars.
- * </p>
- * @return a Control
- */
-protected CoolBar getCoolBarControl() {
-	return getCoolBarManager().getControl();
-}
-/**
- * Returns the CoolBarManager for this window.
- * 
- * @return theCoolBarManager, or <code>null</code> if
- *   this window does not have a CoolBar.
- * @see  #addCoolBar
- */
-public CoolBarManager getCoolBarManager() {
-	return coolBarManager;
-}
-/**
- * Get the workbench client area.
- */
-protected Composite getClientComposite() {
-	return (Composite)getContents();
-}
-/**
- * Answer the menu manager for this window.
- */
-public MenuManager getMenuManager() {
-	return getMenuBarManager();
-}
-/**
- * Returns the number.  This corresponds to a page number in a window or a
- * window number in the workbench.
- */
-public int getNumber() {
-	return number;
-}
-/**
- * Returns an array of the pages in the workbench window.
- *
- * @return an array of pages
- */
-public IWorkbenchPage[] getPages() {
-	return pageList.getPages();
-}
-/**
- * @see IWorkbenchWindow
- */
-public IPartService getPartService() {
-	return partService;
-}
-/**
- * Returns the key binding service in use.
- * 
- * @return the key binding service in use.
- * @since 2.0
- */
-public WWinKeyBindingService getKeyBindingService() {
-	if (keyBindingService == null) {
-		keyBindingService = new WWinKeyBindingService(this);
-		updateActiveActions();
-	}
-	return keyBindingService;	
-}
-/**
- * Re-register the action sets actions in the keybinding service.
- */
-private void updateActiveActions() {
-	if(keyBindingService == null) {
-		getKeyBindingService();
-	} else {
-		IActionSet sets[] = actionPresentation.getActionSets();
-		keyBindingService.registerActionSets(sets);
-	}
-}
-
-/**
- * @see IWorkbenchWindow
- */
-public IPerspectiveService getPerspectiveService() {
-	return perspectiveService;
-}
-/**
- * @see IWorkbenchWindow
- */
-public ISelectionService getSelectionService() {
-	return partService.getSelectionService();
-}
-/**
- * Returns <code>true</code> when the window's shell
- * is activated, <code>false</code> when it's shell is
- * deactivated
- * 
- * @return boolean <code>true</code> when shell activated,
- * 		<code>false</code> when shell deactivated
- */
-public boolean getShellActivated() {
-	return shellActivated;
-}
-/**
- * Returns the shortcut bar.
- */
-public ToolBarManager getShortcutBar() {
-	return shortcutBar;
-}
-/**
- * Returns the PartDragDrop for the shortcut bar part.
- */
-/*package*/ShortcutBarPartDragDrop getShortcutDND() {
-	return shortcutDND;	
-}
-/**
- * Returns the status line manager for this window (if it has one).
- *
- *
- * @return the status line manager, or <code>null</code> if
- *   this window does not have a status line
- * @see #addStatusLine
- */
-protected StatusLineManager getStatusLineManager() {
-	return super.getStatusLineManager();
-}
-/**
- * Returns tool bar control for the window. Overridden
- * to support CoolBars.
- * </p>
- * @return a Control
- */
-protected Control getToolBarControl() {
-	return getCoolBarControl();
-}
-/**
- * WorkbenchWindow uses CoolBarManager, so return null here.
- * </p>
- * @return a Control
- */
-public ToolBarManager getToolBarManager() {
-	return null;
-}
-/**
- * @see IWorkbenchWindow
- */
-public IWorkbench getWorkbench() {
-	return workbench;
-}
-/**
- * Unconditionally close this window.
- */
-private boolean hardClose() {
-	try {
-		closing = true;
-		updateDisabled = true;
-		actionPresentation.clearActionSets(); // fix for bug 27416
-		closeAllPages();
-		builder.dispose();
-		if(keyBindingService != null)
-			keyBindingService.dispose();
-		workbench.fireWindowClosed(this);
-	} finally {
-		return super.close();
-	}
-}
-/**
- * @see IWorkbenchWindow
- */
-public boolean isApplicationMenu(String menuID) {
-	return WorkbenchActionBuilder.isContainerMenu(menuID);
-}
-/**
- * Locks/unlocks the CoolBar for the workbench.
- * 
- * @param lock whether the CoolBar should be locked or unlocked
- */
-/* package */ void lockToolBar(boolean lock) {
-	getCoolBarManager().lockLayout(lock);
-}
-/**
- * Called when this window is about to be closed.
- *
- * Subclasses may overide to add code that returns <code>false</code> 
- * to prevent closing under certain conditions.
- */
-public boolean okToClose() {
-	// Save all of the editors.
-	if(!workbench.isClosing())
-		if (!saveAllPages(true))
-			return false;
-	return true;
-}
-/**
- * Opens a new page.
- * <p>
- * <b>Note:</b> Since release 2.0, a window is limited to contain at most
- * one page. If a page exist in the window when this method is used, then
- * another window is created for the new page.  Callers are strongly
- * recommended to use the <code>IWorkbench.openPerspective</code> APIs to
- * programmatically show a perspective.
- * </p>
- */
-public IWorkbenchPage openPage(final String perspId, final IAdaptable input) 
-	throws WorkbenchException 
-{
-	Assert.isNotNull(perspId);
-	
-	// Run op in busy cursor.
-	final Object [] result = new Object[1];
-	BusyIndicator.showWhile(null, new Runnable() {
-		public void run() {
-			try {
-				result[0] = busyOpenPage(perspId, input);
-			} catch (WorkbenchException e) {
-				result[0] = e;
-			}
-		}
-	});
-	
-	if (result[0] instanceof IWorkbenchPage)
-		return (IWorkbenchPage)result[0];
-	else if (result[0] instanceof WorkbenchException)
-		throw (WorkbenchException)result[0];
-	else
-		throw new WorkbenchException(WorkbenchMessages.getString("WorkbenchWindow.exceptionMessage")); //$NON-NLS-1$
-}
-/**
- * Opens a new page. 
- * <p>
- * <b>Note:</b> Since release 2.0, a window is limited to contain at most
- * one page. If a page exist in the window when this method is used, then
- * another window is created for the new page.  Callers are strongly
- * recommended to use the <code>IWorkbench.openPerspective</code> APIs to
- * programmatically show a perspective.
- * </p>
- */
-public IWorkbenchPage openPage(IAdaptable input)
-	throws WorkbenchException 
-{
-	String perspId = workbench.getPerspectiveRegistry().getDefaultPerspective();
-	return openPage(perspId, input);
-}
-
-/*
- * Removes an listener from the part service.
- */
-public void removePageListener(IPageListener l) {
-	pageListeners.removePageListener(l);
-}
-/*
- * Removes an listener from the perspective service.
- *
- * NOTE: Internally, please use getPerspectiveService instead.
- */
-public void removePerspectiveListener(org.eclipse.ui.IPerspectiveListener l) {
-	perspectiveListeners.removePerspectiveListener(l);
-}
-/**
- * Remove the shortcut for a page.
- */
-/* package */ void removePerspectiveShortcut(IPerspectiveDescriptor perspective, WorkbenchPage page) {
-	IContributionItem item = findPerspectiveShortcut(perspective, page);
-	if (item != null) {
-		shortcutBar.remove(item);
-		shortcutBar.update(false);
-	}
-}
-private IStatus unableToRestorePage(IMemento pageMem) {
-	String pageName = pageMem.getString(IWorkbenchConstants.TAG_LABEL);
-	if(pageName == null)
-		pageName = "";
-	return new Status(
-		IStatus.ERROR,PlatformUI.PLUGIN_ID,0,
-		WorkbenchMessages.format("WorkbenchWindow.unableToRestorePerspective",new String[]{pageName}),
-		null);
-}
-/**
- * @see IPersistable.
- */
-public IStatus restoreState(IMemento memento, IPerspectiveDescriptor activeDescriptor) {
-	Assert.isNotNull(getShell());
-
-	MultiStatus result = new MultiStatus(
-		PlatformUI.PLUGIN_ID,IStatus.OK,
-		WorkbenchMessages.getString("WorkbenchWindow.problemsRestoringWindow"),null);
-				
-	// Read the bounds.
-	if("true".equals(memento.getString("maximized"))) {//$NON-NLS-2$//$NON-NLS-1$
-		getShell().setMaximized(true);
-	} else if ("true".equals(memento.getString("minimized"))) {
-		//Do not restore minimized state.
-	} else {
-		Integer bigInt;
-		bigInt = memento.getInteger(IWorkbenchConstants.TAG_X);
-		int x = bigInt.intValue();
-		bigInt = memento.getInteger(IWorkbenchConstants.TAG_Y);
-		int y = bigInt.intValue();
-		bigInt = memento.getInteger(IWorkbenchConstants.TAG_WIDTH);
-		int width = bigInt.intValue();
-		bigInt = memento.getInteger(IWorkbenchConstants.TAG_HEIGHT);
-		int height = bigInt.intValue();
-		// Set the bounds.
-		getShell().setBounds(x, y, width, height);
-	}
-
-	// Recreate toolbar layout locked state. 
-	Integer locked = memento.getInteger(IWorkbenchConstants.TAG_TOOLBAR_LAYOUT);
-	boolean state = (locked != null) && (locked.intValue() == 1);
-	lockToolBar(state);	
-	
-	// Recreate each page in the window. 
-	IWorkbenchPage newActivePage = null;
-	IMemento [] pageArray = memento.getChildren(IWorkbenchConstants.TAG_PAGE);
-	for (int i = 0; i < pageArray.length; i ++) {
-		IMemento pageMem = pageArray[i];
-
-		// Get the input factory.
-		IMemento inputMem = pageMem.getChild(IWorkbenchConstants.TAG_INPUT);
-		String factoryID = inputMem.getString(IWorkbenchConstants.TAG_FACTORY_ID);
-		if (factoryID == null) {
-			WorkbenchPlugin.log("Unable to restore page - no input factory ID.");//$NON-NLS-1$
-			result.add(unableToRestorePage(pageMem));
-			continue;
-		}
-		IAdaptable input;
-		try {
-			UIStats.start(UIStats.RESTORE_WORKBENCH,"WorkbenchPageFactory");
-			IElementFactory factory = WorkbenchPlugin.getDefault().getElementFactory(factoryID);
-			if (factory == null) {
-				WorkbenchPlugin.log("Unable to restore pagee - cannot instantiate input factory: " + factoryID);//$NON-NLS-1$
-				result.add(unableToRestorePage(pageMem));
-				continue;
-			}
-				
-			// Get the input element.
-			input = factory.createElement(inputMem);
-			if (input == null) {
-				WorkbenchPlugin.log("Unable to restore page - cannot instantiate input element: " + factoryID);//$NON-NLS-1$
-				result.add(unableToRestorePage(pageMem));
-				continue;
-			}
-		} finally {
-			UIStats.end(UIStats.RESTORE_WORKBENCH,"WorkbenchPageFactory");
-		}
-		// Open the perspective.
-		WorkbenchPage newPage = null;
-		try {
-			newPage = new WorkbenchPage(this, input);
-			result.add(newPage.restoreState(pageMem,activeDescriptor));
-			pageList.add(newPage);
-			firePageOpened(newPage);
-		} catch (WorkbenchException e) {
-			WorkbenchPlugin.log("Unable to restore perspective - constructor failed.");//$NON-NLS-1$
-			result.add(e.getStatus());
-			continue;
-		}
-
-		// Check for focus.
-		String strFocus = pageMem.getString(IWorkbenchConstants.TAG_FOCUS);
-		if (strFocus != null && strFocus.length() > 0)
-			newActivePage = newPage;
-	}
-
-	// If there are no pages create a default.
-	if (pageList.isEmpty()) {
-		try {
-			IContainer root = WorkbenchPlugin.getPluginWorkspace().getRoot();
-			String defPerspID = workbench.getPerspectiveRegistry().getDefaultPerspective();
-			WorkbenchPage newPage = new WorkbenchPage(this, defPerspID, root);
-			pageList.add(newPage);
-			firePageOpened(newPage);
-		} catch (WorkbenchException e) {
-			WorkbenchPlugin.log("Unable to create default perspective - constructor failed.");//$NON-NLS-1$
-			result.add(e.getStatus());
-			String productName = workbench.getConfigurationInfo().getAboutInfo().getProductName();
-			if (productName == null) {
-				productName = ""; //$NON-NLS-1$
-			}
-			getShell().setText(productName);
-		}
-	}
-		
-	// Set active page.
-	if (newActivePage == null)
-		newActivePage = (IWorkbenchPage)pageList.getNextActive();
-		
-	setActivePage(newActivePage);
-	IWorkbenchPart part = newActivePage.getActivePart();
-	if(part != null)
-		getKeyBindingService().update(part,true);
-		
-	return result;
-}
-/* (non-Javadoc)
- * Method declared on IRunnableContext.
- */
-public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException {
-	ToolBarManager shortcutBar = getShortcutBar();
-	Control shortcutBarControl = null;
-	if (shortcutBar != null) 
-		shortcutBarControl = shortcutBar.getControl();
-	boolean shortcutbarWasEnabled = false;
-	if (shortcutBarControl != null) 
-		shortcutbarWasEnabled = shortcutBarControl.isEnabled();
-	try {
-		if (shortcutBarControl != null && !shortcutBarControl.isDisposed())
-			shortcutBarControl.setEnabled(false);
-		super.run(fork, cancelable, runnable);
-	} finally {
-		if (shortcutBarControl != null && !shortcutBarControl.isDisposed())
-			shortcutBarControl.setEnabled(shortcutbarWasEnabled);
-	}
-}
-/**
- * Save all of the pages.  Returns true if the operation succeeded.
- */
-private boolean saveAllPages(boolean bConfirm) 
-{
-	boolean bRet = true;
-	Iterator enum = pageList.iterator();
-	while (bRet && enum.hasNext()) {
-		WorkbenchPage page = (WorkbenchPage)enum.next();
-		bRet = page.saveAllEditors(bConfirm);
-	}
-	return bRet;
-}
-/**
- * @see IPersistable
- */
-public IStatus saveState(IMemento memento) {
-
-	MultiStatus result = new MultiStatus(
-		PlatformUI.PLUGIN_ID,IStatus.OK,
-		WorkbenchMessages.getString("WorkbenchWindow.problemsSavingWindow"),null);
-	
-	// Save the bounds.
-	if(getShell().getMaximized()) {
-		memento.putString("maximized","true");//$NON-NLS-2$//$NON-NLS-1$
-	} else if(getShell().getMinimized()) {
-		memento.putString("minimized","true");//$NON-NLS-2$//$NON-NLS-1$
-	} else {
-		Rectangle bounds = getShell().getBounds();
-		memento.putInteger(IWorkbenchConstants.TAG_X, bounds.x);
-		memento.putInteger(IWorkbenchConstants.TAG_Y, bounds.y);
-		memento.putInteger(IWorkbenchConstants.TAG_WIDTH, bounds.width);
-		memento.putInteger(IWorkbenchConstants.TAG_HEIGHT, bounds.height);
-	}
-
-	// Save toolbar lock state.
-	int state = isToolBarLocked() ? 1 : 0;
-	memento.putInteger(IWorkbenchConstants.TAG_TOOLBAR_LAYOUT, state);
-	
-	// Save each page.
-	Iterator enum = pageList.iterator();
-	while (enum.hasNext()) {
-		WorkbenchPage page = (WorkbenchPage)enum.next();
-		
-		// Get the input.
-		IAdaptable input = page.getInput();
-		if (input == null) {
-			WorkbenchPlugin.log("Unable to save page input: " + page);//$NON-NLS-1$
-			continue;
-		}
-		IPersistableElement persistable = (IPersistableElement)input.getAdapter(IPersistableElement.class);
-		if (persistable == null) {
-			WorkbenchPlugin.log("Unable to save page input: " + input);//$NON-NLS-1$
-			continue;
-		}
-
-		// Save perspective.
-		IMemento pageMem = memento.createChild(IWorkbenchConstants.TAG_PAGE);
-		pageMem.putString(IWorkbenchConstants.TAG_LABEL,page.getLabel());
-		result.add(page.saveState(pageMem));
-		
-		if (page == getActiveWorkbenchPage()) {
-			pageMem.putString(IWorkbenchConstants.TAG_FOCUS, "true");//$NON-NLS-1$
-		}
-		
-		// Save input.
-		IMemento inputMem = pageMem.createChild(IWorkbenchConstants.TAG_INPUT);
-		inputMem.putString(TAG_FACTORY_ID, persistable.getFactoryId());
-		persistable.saveState(inputMem);
-	}
-	return result;
-}
-/**
- * Select the shortcut for a perspective.
- */
-/* package */ void selectPerspectiveShortcut(IPerspectiveDescriptor perspective, WorkbenchPage page, boolean selected) {
-	IContributionItem item = findPerspectiveShortcut(perspective, page);
-	if (item != null) {
-		IAction action = ((ActionContributionItem)item).getAction();
-		action.setChecked(selected);
-	}
-}
-/**
- * Sets the active page within the window.
- *
- * @param page identifies the new active page.
- */
-public void setActivePage(final IWorkbenchPage in) {
-	if (getActiveWorkbenchPage() == in)
-		return;
-	
-	// 1FVGTNR: ITPUI:WINNT - busy cursor for switching perspectives
-	BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
-		public void run() {
-			// Deactivate old persp.
-			WorkbenchPage currentPage = getActiveWorkbenchPage();
-			if (currentPage != null) {
-				currentPage.onDeactivate();
-			}
-
-			// Activate new persp.
-			if (in == null || pageList.contains(in))
-				pageList.setActive(in);
-			WorkbenchPage newPage = pageList.getActive();
-			if (newPage != null) {
-				newPage.onActivate();
-				firePageActivated(newPage);
-				if (newPage.getPerspective() != null)
-					firePerspectiveActivated(newPage, newPage.getPerspective());
-			}
-
-			if(isClosing())
-				return;
-				
-			updateDisabled = false;
-					
-			// Update action bars ( implicitly calls updateActionBars() )
-			updateTitle();
-			updateActionSets();
-			shortcutBar.update(false);
-			if (newPage != null && newPage.getPerspective() != null)
-				newPage.setToolBarLayout();
-			getMenuManager().update(IAction.TEXT);
-			
-			if(noOpenPerspective != null && in != null) {
-				noOpenPerspective.dispose();
-				noOpenPerspective = null;
-			}
-		}
-	});
-}
-/**
- * Shows the popup menu for a page item in the shortcut bar.
- */
-private void showShortcutBarPopup(MouseEvent e) {
-	// Get the tool item under the mouse.
-	Point pt = new Point(e.x, e.y);
-	ToolBar toolBar = shortcutBar.getControl();
-	ToolItem toolItem = toolBar.getItem(pt);
-	if (toolItem == null)
-		return;
-
-	// Get the action for the tool item.
-	Object data = toolItem.getData();
-	
-	// If the tool item is an icon for a fast view
-	if (data instanceof ShowFastViewContribution) {
-		// The fast view bar menu is created lazily here.
-		if (fastViewBarMenu == null) {
-			Menu menu = new Menu(toolBar);
-			MenuItem closeItem = new MenuItem(menu, SWT.NONE);
-			closeItem.setText(WorkbenchMessages.getString("WorkbenchWindow.close")); //$NON-NLS-1$
-			closeItem.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					ToolItem toolItem = (ToolItem) fastViewBarMenu.getData();
-					if (toolItem != null && !toolItem.isDisposed()) {
-						IViewReference ref = (IViewReference)toolItem.getData(ShowFastViewContribution.FAST_VIEW);
-						getActiveWorkbenchPage().hideView(ref);
-					}
-				}
-			});
-			restoreItem = new MenuItem(menu, SWT.CHECK);
-			restoreItem.setText(WorkbenchMessages.getString("WorkbenchWindow.restore")); //$NON-NLS-1$
-			restoreItem.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					ToolItem toolItem = (ToolItem) fastViewBarMenu.getData();
-					if (toolItem != null && !toolItem.isDisposed()) {
-						IViewReference ref = (IViewReference)toolItem.getData(ShowFastViewContribution.FAST_VIEW);
-						getActiveWorkbenchPage().removeFastView(ref);
-					}
-				}
-			});
-			fastViewBarMenu = menu;
-		}
-		restoreItem.setSelection(true);
-		fastViewBarMenu.setData(toolItem);
-	
-		// Show popup menu.
-		if (fastViewBarMenu != null) {
-			pt = toolBar.toDisplay(pt);
-			fastViewBarMenu.setLocation(pt.x, pt.y);
-			fastViewBarMenu.setVisible(true);
-		}			
-	}
-	
-	if (!(data instanceof ActionContributionItem))
-		return;
-	IAction action = ((ActionContributionItem) data).getAction();
-	
-	// The tool item is an icon for a perspective.
-	if (action instanceof SetPagePerspectiveAction) {
-		// The perspective bar menu is created lazily here.
-		// Its data is set (each time) to the tool item, which refers to the SetPagePerspectiveAction
-		// which in turn refers to the page and perspective.
-		// It is important not to refer to the action, the page or the perspective directly
-		// since otherwise the menu hangs on to them after they are closed.
-		// By hanging onto the tool item instead, these references are cleared when the
-		// corresponding page or perspective is closed.
-		// See bug 11282 for more details on why it is done this way.
-		if (perspectiveBarMenu == null) {
-			Menu menu = new Menu(toolBar);
-			MenuItem menuItem = new MenuItem(menu, SWT.NONE);
-			menuItem.setText(WorkbenchMessages.getString("WorkbenchWindow.close")); //$NON-NLS-1$
-			menuItem.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					ToolItem toolItem = (ToolItem) perspectiveBarMenu.getData();
-					if (toolItem != null && !toolItem.isDisposed()) {
-						ActionContributionItem item = (ActionContributionItem) toolItem.getData();
-						SetPagePerspectiveAction action = (SetPagePerspectiveAction) item.getAction();
-						action.getPage().closePerspective(action.getPerspective(), true);
-					}
-				}
-			});
-			menuItem = new MenuItem(menu, SWT.NONE);
-			menuItem.setText(WorkbenchMessages.getString("WorkbenchWindow.closeAll")); //$NON-NLS-1$
-			menuItem.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					ToolItem toolItem = (ToolItem) perspectiveBarMenu.getData();
-					if (toolItem != null && !toolItem.isDisposed()) {
-						ActionContributionItem item = (ActionContributionItem) toolItem.getData();
-						SetPagePerspectiveAction action = (SetPagePerspectiveAction) item.getAction();
-						action.getPage().closeAllPerspectives(true);
-					}
-				}
-			});
-			perspectiveBarMenu = menu;
-		}
-		perspectiveBarMenu.setData(toolItem);
-	
-		// Show popup menu.
-		if (perspectiveBarMenu != null) {
-			pt = toolBar.toDisplay(pt);
-			perspectiveBarMenu.setLocation(pt.x, pt.y);
-			perspectiveBarMenu.setVisible(true);
-		}
-	}
-}
-/**
- * Returns whether or not children exist for the Window's toolbar control.
- * Overridden for coolbar support.
- * <p>
- * @return boolean true if children exist, false otherwise
- */
-protected boolean toolBarChildrenExist() {
-	CoolBar coolBarControl = getCoolBarControl();
-	return coolBarControl.getItemCount() > 0;
-}
-/**
- * Hooks a listener to track the activation and
- * deactivation of the window's shell. Notifies
- * the active part and editor of the change
- */
-private void trackShellActivation(Shell shell) {
-	shell.addShellListener(new ShellAdapter() {
-		public void shellActivated(ShellEvent event) {
-			shellActivated = true;
-			WorkbenchPage currentPage = getActiveWorkbenchPage();
-			if (currentPage != null) {
-				IWorkbenchPart part = currentPage.getActivePart();
-				if (part != null) {
-					PartSite site = (PartSite) part.getSite();
-					site.getPane().shellActivated();
-				}
-				IEditorPart editor = currentPage.getActiveEditor();
-				if (editor != null) {
-					PartSite site = (PartSite) editor.getSite();
-					site.getPane().shellActivated();
-				}
-				workbench.fireWindowActivated(WorkbenchWindow.this);
-			}
-		}
-		public void shellDeactivated(ShellEvent event) {
-			shellActivated = false;
-			WorkbenchPage currentPage = getActiveWorkbenchPage();
-			if (currentPage != null) {
-				IWorkbenchPart part = currentPage.getActivePart();
-				if (part != null) {
-					PartSite site = (PartSite) part.getSite();
-					site.getPane().shellDeactivated();
-				}
-				IEditorPart editor = currentPage.getActiveEditor();
-				if (editor != null) {
-					PartSite site = (PartSite) editor.getSite();
-					site.getPane().shellDeactivated();
-				}
-				workbench.fireWindowDeactivated(WorkbenchWindow.this);
-			}
-		}
-	});
-}
-/**
- * update the action bars.
- */
-public void updateActionBars() {
-	if (updateDisabled)
-		return;
-	// updateAll required in order to enable accelerators on pull-down menus
-	getMenuBarManager().updateAll(false);
-	getCoolBarManager().update(false);
-	getStatusLineManager().update(false);
-}
-/**
- * Update the visible action sets. This method is typically called
- * from a page when the user changes the visible action sets
- * within the prespective.  
- */
-public void updateActionSets() {
-	if (updateDisabled)
-		return;
-
-	WorkbenchPage currentPage = getActiveWorkbenchPage();
-	if (currentPage == null)
-		actionPresentation.clearActionSets();
-	else
-		actionPresentation.setActionSets(currentPage.getActionSets());
-	updateActionBars();
-
-	// hide the launch menu if it is empty
-	String path = IWorkbenchActionConstants.M_WINDOW + IWorkbenchActionConstants.SEP + IWorkbenchActionConstants.M_LAUNCH;
-	IMenuManager manager = getMenuBarManager().findMenuUsingPath(path);
-	IContributionItem item = getMenuBarManager().findUsingPath(path);
-	updateActiveActions();
-	if (manager == null || item == null)
-		return;
-	item.setVisible(manager.getItems().length >= 2);  // there is a separator for the additions group thus >= 2
-}
-/**
- * Updates the shorcut item
- */
-/* package */ void updatePerspectiveShortcut(IPerspectiveDescriptor oldDesc, IPerspectiveDescriptor newDesc, WorkbenchPage page) {
-	if(updateDisabled)
-		return;
-		
-	IContributionItem item = findPerspectiveShortcut(oldDesc, page);
-	if (item != null) {
-		SetPagePerspectiveAction action = (SetPagePerspectiveAction)((ActionContributionItem)item).getAction();
-		action.update(newDesc);
-		if (page == getActiveWorkbenchPage())
-			updateTitle();
-	}
-}
-/**
- * Updates the window title.
- */
-public void updateTitle() {
-	if(updateDisabled)
-		return;
-		
-	String title = workbench.getConfigurationInfo().getAboutInfo().getProductName();
-	if (title == null) {
-		title = ""; //$NON-NLS-1$
-	}
-	if (workspaceLocation != null)
-		title = WorkbenchMessages.format("WorkbenchWindow.shellTitle", new Object[] {title, workspaceLocation}); //$NON-NLS-1$
-	
-	WorkbenchPage currentPage = getActiveWorkbenchPage();
-	if (currentPage != null) {
-		IPerspectiveDescriptor persp = currentPage.getPerspective();
-		String label = ""; //$NON-NLS-1$
-		if (persp != null)
-			label = persp.getLabel();
-		IAdaptable input = currentPage.getInput();
-		if((input != null) && (!input.equals(ResourcesPlugin.getWorkspace().getRoot())))
-			label = currentPage.getLabel();
-		if (label != null && !label.equals("")) //$NON-NLS-1$	
-			title = WorkbenchMessages.format("WorkbenchWindow.shellTitle", new Object[] {label, title}); //$NON-NLS-1$
-	}
-	getShell().setText(title);	
-}
-
-class PageList {
-	//List of pages in the order they were created;
-	private List pageList;
-	//List of pages where the top is the last activated.
- 	private List pageStack;
- 	// The page explicitly activated
- 	private Object active;
- 	
-	public PageList() {
-		pageList = new ArrayList(4);
- 		pageStack = new ArrayList(4);
-	}
-	public boolean add(Object object) {
-		pageList.add(object);
-		pageStack.add(0,object); //It will be moved to top only when activated.
-		return true;
-	}
-	public Iterator iterator() {
-		return pageList.iterator();
-	}
-	public boolean contains(Object object) {
-		return pageList.contains(object);
-	}
-	public boolean remove(Object object) {
-		if (active == object)
-			active = null;
-		pageStack.remove(object);
-		return pageList.remove(object);
-	}
-	public boolean isEmpty() {
-		return pageList.isEmpty();
-	}
-	public IWorkbenchPage[] getPages() {
-		int nSize = pageList.size();
-		IWorkbenchPage [] retArray = new IWorkbenchPage[nSize];
-		pageList.toArray(retArray);
-		return retArray;
-	}
-	public void setActive(Object page) {
-		if (active == page)
-			return;
-
-		active = page;
-	
-		if (page != null) {
-			pageStack.remove(page);
-			pageStack.add(page);
-		}
-	}
-	public WorkbenchPage getActive() {
-		return (WorkbenchPage) active;
-	}
-	public WorkbenchPage getNextActive() {
-		if (active == null) {
-			if (pageStack.isEmpty())
-				return null;
-			else
-				return (WorkbenchPage)pageStack.get(pageStack.size() - 1);
-		} else {
-			if (pageStack.size() < 2)
-				return null;
-			else
-				return (WorkbenchPage)pageStack.get(pageStack.size() - 2);
-		}
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSet.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSet.java
deleted file mode 100644
index 722fbfb..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSet.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-package org.eclipse.ui.internal;
-
-import java.util.*;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.ui.*;
-
-/**
- * A working set holds a number of IAdaptable elements. 
- * A working set is intended to group elements for presentation to 
- * the user or for operations on a set of elements.
- * 
- * @see org.eclipse.ui.IWorkingSet
- * @since 2.0
- */
-public class WorkingSet implements IAdaptable, IPersistableElement, IWorkingSet {
-	private static final String FACTORY_ID = "org.eclipse.ui.internal.WorkingSetFactory";//$NON-NLS-1$
-	
-	private String name;
-	private ArrayList elements;
-	private String editPageId;
-
-	private IMemento workingSetMemento;
-	
-	/**
-	 * Creates a new working set
-	 * 
-	 * @param name the name of the new working set. Should not have 
-	 * 	leading or trailing whitespace.
-	 * @param element the content of the new working set. 
-	 * 	May be empty but not null.
-	 */
-	public WorkingSet(String name, IAdaptable[] elements) {
-		Assert.isNotNull(name, "name must not be null"); //$NON-NLS-1$
-		this.name = name;
-		internalSetElements(elements);
-	}
-	/**
-	 * Creates a new working set
-	 * 
-	 * @param name the name of the new working set. Should not have 
-	 * 	leading or trailing whitespace.
-	 * @param memento persistence memento containing the elements of  
-	 * 	the working set.
-	 */
-	WorkingSet(String name, IMemento memento) {
-		Assert.isNotNull(name, "name must not be null"); //$NON-NLS-1$
-		this.name = name;
-		workingSetMemento = memento; 
-	}
-	/**
-	 * Tests the receiver and the object for equality
-	 * 
-	 * @param object object to compare the receiver to
-	 * @return true=the object equals the receiver, the name is the same.
-	 * 	false otherwise
-	 */
-	public boolean equals(Object object) {
-		if (this == object) {
-			return true;
-		}
-		if (object instanceof WorkingSet) {
-			WorkingSet workingSet = (WorkingSet) object;
-			String objectPageId = workingSet.getId();
-			String pageId = getId();
-			boolean pageIdEqual = (objectPageId == null && pageId == null) || (objectPageId != null && objectPageId.equals(pageId));
-			return workingSet.getName().equals(getName()) && workingSet.getElementsArray().equals(getElementsArray()) && pageIdEqual;
-		}
-		return false;
-	}
-	/**
-	 * Returns the receiver if the requested type is either IWorkingSet 
-	 * or IPersistableElement.
-	 * 
-	 * @param adapter the requested type
-	 * @return the receiver if the requested type is either IWorkingSet 
-	 * 	or IPersistableElement.
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter == IWorkingSet.class || adapter == IPersistableElement.class) {
-			return this;
-		}
-		return null;
-	}
-	/** 
-	 * Implements IWorkingSet
-	 * 
-	 * @see org.eclipse.ui.IWorkingSet#getName()
-	 */
-	public String getName() {
-		return name;
-	}
-	/**
-	 * Implements IWorkingSet
-	 * 
-	 * @see org.eclipse.ui.IWorkingSet#getId()
-	 * @see org.eclipse.ui.dialogs.IWorkingSetPage
-	 * @since 2.1
-	 */
-	public String getId() {
-		return editPageId;
-	}
-	/** 
-	 * Implements IWorkingSet
-	 * 
-	 * @see org.eclipse.ui.IWorkingSet#getElements()
-	 */
-	public IAdaptable[] getElements() {
-		ArrayList elements = getElementsArray();
-		
-		return (IAdaptable[]) elements.toArray(new IAdaptable[elements.size()]);
-	}
-	/**
-	 * Returns the elements array list. Lazily restores the elements from
-	 * persistence memento. 
-	 * 
-	 * @return the elements array list
-	 */
-	private ArrayList getElementsArray() {
-		if (elements == null) {
-			restoreWorkingSet();
-			workingSetMemento = null;
-		}
-		return elements;
-	}
-	/**
-	 * Implements IPersistableElement
-	 * 
-	 * @see org.eclipse.ui.IPersistableElement#getFactoryId()
-	 */
-	public String getFactoryId() {
-		return FACTORY_ID;
-	}
-	/**
-	 * Returns the hash code.
-	 * 
-	 * @return the hash code.
-	 */
-	public int hashCode() {
-		int hashCode = name.hashCode() & getElementsArray().hashCode();
-		
-		if (editPageId != null) {
-			hashCode &= editPageId.hashCode();
-		}
-		return hashCode;
-	}
-	/**
-	 * Recreates the working set elements from the persistence memento.
-	 */
-	private void restoreWorkingSet() {
-		IMemento[] itemMementos = workingSetMemento.getChildren(IWorkbenchConstants.TAG_ITEM);
-		Set items = new HashSet();
-		for (int i = 0; i < itemMementos.length; i++) {
-			IMemento itemMemento = itemMementos[i];
-			String factoryID = itemMemento.getString(IWorkbenchConstants.TAG_FACTORY_ID);
-
-			if (factoryID == null) {
-				WorkbenchPlugin.log("Unable to restore working set item - no factory ID."); //$NON-NLS-1$
-				continue;
-			}
-			IElementFactory factory = WorkbenchPlugin.getDefault().getElementFactory(factoryID);
-			if (factory == null) {
-				WorkbenchPlugin.log("Unable to restore working set item - cannot instantiate factory: " + factoryID); //$NON-NLS-1$
-				continue;
-			}
-			IAdaptable item = factory.createElement(itemMemento);
-			if (item == null) {
-				WorkbenchPlugin.log("Unable to restore working set item - cannot instantiate item: " + factoryID); //$NON-NLS-1$
-				continue;
-			}
-			items.add(item);
-		}
-		internalSetElements((IAdaptable[]) items.toArray(new IAdaptable[items.size()]));
-	}
-	/**
-	 * Implements IPersistableElement.
-	 * Persist the working set name and working set contents. 
-	 * The contents has to be either IPersistableElements or provide 
-	 * adapters for it to be persistet.
-	 * 
-	 * @see org.eclipse.ui.IPersistableElement#saveState(IMemento)
-	 */
-	public void saveState(IMemento memento) {
-		if (workingSetMemento != null) {
-			// just re-save the previous memento if the working set has 
-			// not been restored
-			memento.putMemento(workingSetMemento);
-		}
-		else {
-			memento.putString(IWorkbenchConstants.TAG_NAME, name);
-			memento.putString(IWorkbenchConstants.TAG_EDIT_PAGE_ID, editPageId);
-			Iterator iterator = elements.iterator();
-			while (iterator.hasNext()) {
-				IAdaptable adaptable = (IAdaptable) iterator.next();
-				IPersistableElement persistable = (IPersistableElement) adaptable.getAdapter(IPersistableElement.class);
-				if (persistable != null) {
-					IMemento itemMemento = memento.createChild(IWorkbenchConstants.TAG_ITEM);
-					
-					itemMemento.putString(IWorkbenchConstants.TAG_FACTORY_ID, persistable.getFactoryId());
-					persistable.saveState(itemMemento);
-				}	
-			}
-		}
-	}
-	/** 
-	 * Implements IWorkingSet
-	 * 
-	 * @see org.eclipse.ui.IWorkingSet#setElements(IAdaptable[])
-	 */
-	public void setElements(IAdaptable[] newElements) {
-		internalSetElements(newElements);
-		WorkingSetManager workingSetManager = (WorkingSetManager) WorkbenchPlugin.getDefault().getWorkingSetManager();	
-		workingSetManager.workingSetChanged(this, IWorkingSetManager.CHANGE_WORKING_SET_CONTENT_CHANGE);
-	}
-	/**
-	 * Create a copy of the elements to store in the receiver.
-	 * 
-	 * @param elements the elements to store a copy of in the 
-	 * 	receiver.
-	 */
-	private void internalSetElements(IAdaptable[] newElements) {
-		Assert.isNotNull(newElements, "Working set elements array must not be null"); //$NON-NLS-1$
-		
-		elements = new ArrayList(newElements.length);
-		for (int i = 0; i < newElements.length; i++) {
-			elements.add(newElements[i]);
-		}
-	}
-	/**
-	 * Implements IWorkingSet
-	 * 
-	 * @see org.eclipse.ui.IWorkingSet#setId(String)
-	 * @see org.eclipse.ui.dialogs.IWorkingSetPage
-	 * @since 2.1
-	 */
-	public void setId(String pageId) {
-		editPageId = pageId;
-	}
-	/** 
-	 * Implements IWorkingSet
-	 * 
-	 * @see org.eclipse.ui.IWorkingSet#setName(String)
-	 */
-	public void setName(String newName) {
-
-		Assert.isNotNull(newName, "Working set name must not be null"); //$NON-NLS-1$
-		name = newName;
-		WorkingSetManager workingSetManager = (WorkingSetManager) WorkbenchPlugin.getDefault().getWorkingSetManager();	
-		workingSetManager.workingSetChanged(this, IWorkingSetManager.CHANGE_WORKING_SET_NAME_CHANGE);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSetComparator.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSetComparator.java
deleted file mode 100644
index 073eadb..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSetComparator.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.ui.internal;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.text.Collator;
-import java.util.Comparator;
-
-import org.eclipse.ui.IWorkingSet;
-
-/**
- * Compares two working sets by name.
- */
-public class WorkingSetComparator implements Comparator {
-	private Collator fCollator = Collator.getInstance();
-
-	/**
-	 * Implements Comparator.
-	 * 
-	 * @see Comparator#compare(Object, Object)
-	 */
-	public int compare(Object o1, Object o2) {
-		String name1 = null;
-		String name2 = null;
-
-		if (o1 instanceof IWorkingSet)
-			name1 = ((IWorkingSet) o1).getName();
-
-		if (o2 instanceof IWorkingSet)
-			name2 = ((IWorkingSet) o2).getName();
-
-		return fCollator.compare(name1, name2);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSetFactory.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSetFactory.java
deleted file mode 100644
index 60d4891..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSetFactory.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/************************************************************************
-Copyright (c) 2002, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-package org.eclipse.ui.internal;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.ui.IElementFactory;
-import org.eclipse.ui.IMemento;
-
-/**
- * A WorkingSetFactory is used to recreate a persisted WorkingSet 
- * object.
- *
- * @see IElementFactory
- */
-public class WorkingSetFactory implements IElementFactory {
-
-	/**
-	 * Implements IElementFactory.
-	 * 
-	 * @see IElementFactory#createElement(IMemento)
-	 */
-	public IAdaptable createElement(IMemento memento) {
-		String workingSetName = memento.getString(IWorkbenchConstants.TAG_NAME);
-		String workingSetEditPageId = memento.getString(IWorkbenchConstants.TAG_EDIT_PAGE_ID);
-		
-		if (workingSetName == null)
-			return null;
-
-		WorkingSet workingSet = new WorkingSet(workingSetName, memento);
-		if (workingSetEditPageId != null) {
-			workingSet.setId(workingSetEditPageId);
-		}
-		else {
-			// working sets created with builds 20020418 and 20020419 will not
-			// have an edit page id. fix this automatically.
-			workingSet.setId("org.eclipse.ui.resourceWorkingSetPage");
-		}
-		return workingSet;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSetManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSetManager.java
deleted file mode 100644
index effb119..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSetManager.java
+++ /dev/null
@@ -1,421 +0,0 @@
-/************************************************************************
-Copyright (c) 2002, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-package org.eclipse.ui.internal;
-
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.util.*;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.*;
-import org.eclipse.ui.dialogs.*;
-import org.eclipse.ui.internal.dialogs.WorkingSetEditWizard;
-import org.eclipse.ui.internal.dialogs.WorkingSetSelectionDialog;
-import org.eclipse.ui.internal.registry.WorkingSetRegistry;
-
-/**
- * A working set manager stores working sets and provides property 
- * change notification when a working set is added or removed.
- * Working sets are persisted whenever one is added or removed.
- * 
- * @see IWorkingSetManager
- * @since 2.0
- */
-public class WorkingSetManager implements IWorkingSetManager {
-	// Working set persistence
-	private static final String WORKING_SET_STATE_FILENAME = "workingsets.xml"; //$NON-NLS-1$
-	/**
-	 * Size of the list of most recently used working sets.
-	 */
-	private static final int MRU_SIZE = 5;
-
-	private SortedSet workingSets = new TreeSet(new WorkingSetComparator());
-	private List recentWorkingSets = new ArrayList();
-	private ListenerList propertyChangeListeners = new ListenerList();
-
-	/**
-	 * Implements IWorkingSetManager.
-	 * 
-	 * @see org.eclipse.ui.IWorkingSetManager#addRecentWorkingSet(IWorkingSet)
-	 */
-	public void addRecentWorkingSet(IWorkingSet workingSet) {
-		internalAddRecentWorkingSet(workingSet);
-		saveState();
-	}
-	/**
-	 * Implements IWorkingSetManager.
-	 * 
-	 * @see org.eclipse.ui.IWorkingSetManager#addWorkingSet(IWorkingSet)
-	 */
-	public void addWorkingSet(IWorkingSet workingSet) {
-		Assert.isTrue(!workingSets.contains(workingSet), "working set already registered"); //$NON-NLS-1$
-		workingSets.add(workingSet);
-		saveState();
-		firePropertyChange(CHANGE_WORKING_SET_ADD, null, workingSet);
-	}
-	/**
-	 * Implements IWorkingSetManager.
-	 * 
-	 * @see org.eclipse.ui.IWorkingSetManager#addPropertyChangeListener(IPropertyChangeListener)
-	 */
-	public void addPropertyChangeListener(IPropertyChangeListener listener) {
-		propertyChangeListeners.add(listener);
-	}
-	/**
-	 * Implements IWorkingSetManager.
-	 * 
-	 * @see org.eclipse.ui.IWorkingSetManager#createWorkingSet(String, IAdaptable[])
-	 */
-	public IWorkingSet createWorkingSet(String name, IAdaptable[] elements) {
-		return new WorkingSet(name, elements);
-	}
-	/**
-	 * @see org.eclipse.ui.IWorkingSetManager#createWorkingSetEditWizard(org.eclipse.ui.IWorkingSet)
-	 * @since 2.1
-	 */
-	public IWorkingSetEditWizard createWorkingSetEditWizard(IWorkingSet workingSet) {
-		String editPageId = workingSet.getId();
-		WorkingSetRegistry registry = WorkbenchPlugin.getDefault().getWorkingSetRegistry();
-		IWorkingSetPage editPage = null;
-				
-		if (editPageId != null) {
-			editPage = registry.getWorkingSetPage(editPageId);
-		}						
-		if (editPage == null) {
-			editPage = registry.getDefaultWorkingSetPage();
-			if (editPage == null) {
-				return null;
-			}
-		}
-		WorkingSetEditWizard editWizard = new WorkingSetEditWizard(editPage);
-		editWizard.setSelection(workingSet);
-		return editWizard;
-	}	
-	/**
-	 * @deprecated use createWorkingSetSelectionDialog(parent, true) instead
-	 */
-	public IWorkingSetSelectionDialog createWorkingSetSelectionDialog(Shell parent) {
-		return createWorkingSetSelectionDialog(parent, true);
-	}
-	/**
-	 * Implements IWorkingSetManager.
-	 * 
-	 * @see org.eclipse.ui.IWorkingSetManager#createWorkingSetSelectionDialog(Shell, boolean)
-	 */
-	public IWorkingSetSelectionDialog createWorkingSetSelectionDialog(Shell parent, boolean multi) {
-		return new WorkingSetSelectionDialog(parent, multi);
-	}
-	/**
-	 * Tests the receiver and the object for equality
-	 * 
-	 * @param object object to compare the receiver to
-	 * @return true=the object equals the receiver, it has the same 
-	 * 	working sets. false otherwise
-	 */
-	public boolean equals(Object object) {
-		if (this == object) {
-			return true;
-		}
-		if (object instanceof WorkingSetManager) {
-			WorkingSetManager workingSetManager = (WorkingSetManager) object;
-			return workingSetManager.workingSets.equals(workingSets);
-		}
-		return false;
-	}
-	/**
-	 * Notify property change listeners about a change to the list of 
-	 * working sets.
-	 * 
-	 * @param changeId one of 
-	 * 	IWorkingSetManager#CHANGE_WORKING_SET_ADD 
-	 * 	IWorkingSetManager#CHANGE_WORKING_SET_REMOVE
-	 * 	IWorkingSetManager#CHANGE_WORKING_SET_CONTENT_CHANGE 
-	 * 	IWorkingSetManager#CHANGE_WORKING_SET_NAME_CHANGE
-	 * @param oldValue the removed working set or null if a working set 
-	 * 	was added or changed.
-	 * @param newValue the new or changed working set or null if a working 
-	 * 	set was removed.
-	 */
-	private void firePropertyChange(String changeId, Object oldValue, Object newValue) {
-		final PropertyChangeEvent event = new PropertyChangeEvent(this, changeId, oldValue, newValue);
-		
-		Display.getDefault().syncExec(new Runnable() {
-			public void run() {
-				Object[] listeners = propertyChangeListeners.getListeners();
-				for (int i = 0; i < listeners.length; i++) {
-					((IPropertyChangeListener) listeners[i]).propertyChange(event);
-				}
-			}
-		});
-	}
-	/**
-	 * Implements IWorkingSetManager.
-	 * 
-	 * @see org.eclipse.ui.IWorkingSetManager#getRecentWorkingSets()
-	 */
-	public IWorkingSet[] getRecentWorkingSets() {
-		return (IWorkingSet[]) recentWorkingSets.toArray(new IWorkingSet[recentWorkingSets.size()]);
-	}
-	/**
-	 * Implements IWorkingSetManager.
-	 * 
-	 * @see org.eclipse.ui.IWorkingSetManager#getWorkingSet(String)
-	 */
-	public IWorkingSet getWorkingSet(String name) {
-		if (name == null || workingSets == null)
-			return null;
-
-		Iterator iter = workingSets.iterator();
-		while (iter.hasNext()) {
-			IWorkingSet workingSet = (IWorkingSet) iter.next();
-			if (name.equals(workingSet.getName()))
-				return workingSet;
-		}
-		return null;
-	}
-	/**
-	 * Returns the hash code.
-	 * 
-	 * @return the hash code.
-	 */
-	public int hashCode() {
-		return workingSets.hashCode();
-	}
-	/**
-	 * Implements IWorkingSetManager.
-	 * 
-	 * @see org.eclipse.ui.IWorkingSetManager#getWorkingSets()
-	 */
-	public IWorkingSet[] getWorkingSets() {
-		return (IWorkingSet[]) workingSets.toArray(new IWorkingSet[workingSets.size()]);
-	}
-	/**
-	 * Returns the file used as the persistence store
-	 * 
-	 * @return the file used as the persistence store
-	 */
-	private File getWorkingSetStateFile() {
-		IPath path = WorkbenchPlugin.getDefault().getStateLocation();
-		path = path.append(WORKING_SET_STATE_FILENAME);
-		return path.toFile();
-	}
-	/**
-	 * Adds the specified working set to the list of recently used
-	 * working sets.
-	 * 
-	 * @param workingSet working set to added to the list of recently 
-	 * 	used working sets.
-	 */
-	private void internalAddRecentWorkingSet(IWorkingSet workingSet) {
-		recentWorkingSets.remove(workingSet);
-		recentWorkingSets.add(0, workingSet);
-		if (recentWorkingSets.size() > MRU_SIZE) {
-			recentWorkingSets.remove(MRU_SIZE);
-		}
-	}
-	/**
-	 * Implements IWorkingSetManager.
-	 * 
-	 * @see org.eclipse.ui.IWorkingSetManager#removePropertyChangeListener(IPropertyChangeListener)
-	 */
-	public void removePropertyChangeListener(IPropertyChangeListener listener) {
-		propertyChangeListeners.remove(listener);
-	}
-	/**
-	 * Implements IWorkingSetManager.
-	 * 
-	 * @see org.eclipse.ui.IWorkingSetManager#removeWorkingSet(IWorkingSet)
-	 */
-	public void removeWorkingSet(IWorkingSet workingSet) {
-		boolean workingSetRemoved = workingSets.remove(workingSet);
-		boolean recentWorkingSetRemoved = recentWorkingSets.remove(workingSet);
-		 
-		if (workingSetRemoved || recentWorkingSetRemoved) { 
-			saveState();
-			firePropertyChange(CHANGE_WORKING_SET_REMOVE, workingSet, null);
-		}
-	}
-	/**
-	 * Restores the list of most recently used working sets from the 
-	 * persistence store.
-	 * 
-	 * @param memento the persistence store
-	 */
-	private void restoreMruList(IMemento memento) {
-		IMemento[] mruWorkingSets = memento.getChildren(IWorkbenchConstants.TAG_MRU_LIST);
-
-		for (int i = mruWorkingSets.length - 1; i >= 0; i--) {
-			String workingSetName = mruWorkingSets[i].getString(IWorkbenchConstants.TAG_NAME);
-			if (workingSetName != null) {
-				IWorkingSet workingSet = getWorkingSet(workingSetName);		
-				if (workingSet != null) {
-					internalAddRecentWorkingSet(workingSet);		
-				}
-			}
-		}
-	}
-	/**
-	 * Reads the persistence store and creates the working sets 
-	 * stored in it.
-	 */
-	public void restoreState() {
-		File stateFile = getWorkingSetStateFile();
-
-		if (stateFile.exists()) {
-			try {
-				FileInputStream input = new FileInputStream(stateFile);
-				BufferedReader reader = new BufferedReader(new InputStreamReader(input, "utf-8")); //$NON-NLS-1$
-
-				IMemento memento = XMLMemento.createReadRoot(reader);
-				restoreWorkingSetState(memento);
-				restoreMruList(memento);
-				reader.close();
-			} catch (IOException e) {
-				MessageDialog.openError(
-					(Shell) null,
-					WorkbenchMessages.getString("ProblemRestoringWorkingSetState.title"), //$NON-NLS-1$
-					WorkbenchMessages.getString("ProblemRestoringWorkingSetState.message")); //$NON-NLS-1$
-			} catch (WorkbenchException e) {
-				ErrorDialog.openError(
-					(Shell) null, 
-					WorkbenchMessages.getString("ProblemRestoringWorkingSetState.title"),//$NON-NLS-1$
-					WorkbenchMessages.getString("ProblemRestoringWorkingSetState.message"), //$NON-NLS-1$
-					e.getStatus());
-			}
-		}
-	}
-	/**
-	 * Recreates a working set from the persistence store.
-	 * 
-	 * @param memento the persistence store
-	 * @return the working set created from the memento or null if
-	 * 	creation failed.
-	 */
-	private IWorkingSet restoreWorkingSet(IMemento memento) {
-		String factoryID = memento.getString(IWorkbenchConstants.TAG_FACTORY_ID);
-
-		if (factoryID == null) {
-			WorkbenchPlugin.log("Unable to restore working set - no factory ID."); //$NON-NLS-1$
-			return null;
-		}
-		IElementFactory factory = WorkbenchPlugin.getDefault().getElementFactory(factoryID);
-		if (factory == null) {
-			WorkbenchPlugin.log("Unable to restore working set - cannot instantiate factory: " + factoryID); //$NON-NLS-1$
-			return null;
-		}
-		IAdaptable adaptable = factory.createElement(memento);
-		if (adaptable == null) {
-			WorkbenchPlugin.log("Unable to restore working set - cannot instantiate working set: " + factoryID); //$NON-NLS-1$
-			return null;
-		}
-		if ((adaptable instanceof IWorkingSet) == false) {
-			WorkbenchPlugin.log("Unable to restore working set - element is not an IWorkingSet: " + factoryID); //$NON-NLS-1$
-			return null;
-		}
-		return (IWorkingSet) adaptable;
-	}
-	/**
-	 * Recreates all working sets from the persistence store
-	 * and adds them to the receiver.
-	 * 
-	 * @param memento the persistence store
-	 */
-	private void restoreWorkingSetState(IMemento memento) {
-		IMemento[] workingSets = memento.getChildren(IWorkbenchConstants.TAG_WORKING_SET);
-
-		for (int i = 0; i < workingSets.length; i++) {
-			IWorkingSet workingSet = restoreWorkingSet(workingSets[i]);
-			if (workingSet != null) {
-				this.workingSets.add(workingSet);
-				firePropertyChange(CHANGE_WORKING_SET_ADD, null, workingSet);
-			}
-		}
-	}
-	/**
-	 * Saves the working sets in the persistence store
-	 */
-	private void saveState() {
-		XMLMemento memento = XMLMemento.createWriteRoot(IWorkbenchConstants.TAG_WORKING_SET_MANAGER);
-		File stateFile = getWorkingSetStateFile();
-
-		saveWorkingSetState(memento);
-		saveMruList(memento);
-		try {
-			FileOutputStream stream = new FileOutputStream(stateFile);
-			OutputStreamWriter writer = new OutputStreamWriter(stream, "utf-8"); //$NON-NLS-1$
-			memento.save(writer);
-			writer.close();
-		} catch (IOException e) {
-			stateFile.delete();
-			MessageDialog.openError((Shell) null, WorkbenchMessages.getString("ProblemSavingWorkingSetState.title"), //$NON-NLS-1$
-			WorkbenchMessages.getString("ProblemSavingWorkingSetState.message")); //$NON-NLS-1$
-		}
-	}
-	/**
-	 * Saves the list of most recently used working sets in the persistence 
-	 * store.
-	 * 
-	 * @param memento the persistence store
-	 */
-	private void saveMruList(IMemento memento) {
-		Iterator iterator = recentWorkingSets.iterator();
-
-		while (iterator.hasNext()) {
-			IWorkingSet workingSet = (IWorkingSet) iterator.next();
-			IMemento mruMemento = memento.createChild(IWorkbenchConstants.TAG_MRU_LIST);
-			
-			mruMemento.putString(IWorkbenchConstants.TAG_NAME, workingSet.getName());
-		}
-	}
-	/**
-	 * Saves all persistable working sets in the persistence store.
-	 * 
-	 * @param memento the persistence store
-	 * @see IPersistableElement
-	 */
-	private void saveWorkingSetState(IMemento memento) {
-		Iterator iterator = workingSets.iterator();
-
-		while (iterator.hasNext()) {
-			IWorkingSet workingSet = (IWorkingSet) iterator.next();
-			IPersistableElement persistable = null;
-
-			if (workingSet instanceof IPersistableElement) {
-				persistable = (IPersistableElement) workingSet;
-			} else if (workingSet instanceof IAdaptable) {
-				persistable = (IPersistableElement) ((IAdaptable) workingSet).getAdapter(IPersistableElement.class);
-			}
-			if (persistable != null) {
-				IMemento workingSetMemento = memento.createChild(IWorkbenchConstants.TAG_WORKING_SET);
-				workingSetMemento.putString(IWorkbenchConstants.TAG_FACTORY_ID, persistable.getFactoryId());
-				persistable.saveState(workingSetMemento);
-			}
-		}
-	}
-	/**
-	 * Persists all working sets and fires a property change event for 
-	 * the changed working set.
-	 * Should only be called by org.eclipse.ui.internal.WorkingSet.
-	 * 
-	 * @param changedWorkingSet the working set that has changed
-	 * @param propertyChangeId the changed property. one of 
-	 * 	CHANGE_WORKING_SET_CONTENT_CHANGE and CHANGE_WORKING_SET_NAME_CHANGE
-	 */
-	public void workingSetChanged(IWorkingSet changedWorkingSet, String propertyChangeId) {
-		saveState();
-		firePropertyChange(propertyChangeId, null, changedWorkingSet);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSetMenuContributionItem.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSetMenuContributionItem.java
deleted file mode 100644
index 03829c2..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSetMenuContributionItem.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal;
-
-import org.eclipse.jface.action.ContributionItem;
-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.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.*;
-import org.eclipse.ui.actions.WorkingSetFilterActionGroup;
-
-/**
- * Menu contribution item which shows a working set.
- * 
- * @since 2.1
- */
-public class WorkingSetMenuContributionItem extends ContributionItem {
-	private int id;
-	private IWorkingSet workingSet;
-	private WorkingSetFilterActionGroup actionGroup;
-
-	/**
-	 * Returns the id of this menu contribution item
-	 * 
-	 * @param id numerical id
-	 * @return String string id
-	 */
-	public static String getId(int id) {
-		return WorkingSetMenuContributionItem.class.getName() + "." + id;  //$NON-NLS-1$
-	}
-	/**
-	 * Creates a new instance of the receiver.
-	 * 
-	 * @param id sequential id of the new instance
-	 * @param actionGroup the action group this contribution item is created in
-	 */
-	public WorkingSetMenuContributionItem(int id, WorkingSetFilterActionGroup actionGroup, IWorkingSet workingSet) {
-		super(getId(id));
-		Assert.isNotNull(actionGroup);
-		Assert.isNotNull(workingSet);
-		this.id = id;
-		this.actionGroup = actionGroup;
-		this.workingSet = workingSet;
-	}
-	/**
-	 * Adds a menu item for the working set.
-	 * Overrides method from ContributionItem.
-	 * 
-	 * @see org.eclipse.jface.action.ContributionItem#fill(Menu,int)
-	 */
-	public void fill(Menu menu, int index) {
-		MenuItem mi = new MenuItem(menu, SWT.RADIO, index);
-		mi.setText("&" + id + " " + workingSet.getName());  //$NON-NLS-1$  //$NON-NLS-2$
-		mi.setSelection(workingSet.equals(actionGroup.getWorkingSet()));
-		mi.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IWorkingSetManager manager = PlatformUI.getWorkbench().getWorkingSetManager();
-				actionGroup.setWorkingSet(workingSet);
-				manager.addRecentWorkingSet(workingSet);
-			}
-		});
-	}
-	/**
-	 * Overridden to always return true and force dynamic menu building.
-	 */
-	public boolean isDynamic() {
-		return true;
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/actions/ClearWorkingSetAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/actions/ClearWorkingSetAction.java
deleted file mode 100644
index fb4fa59..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/actions/ClearWorkingSetAction.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.ui.actions.WorkingSetFilterActionGroup;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * Clears the selected working set in the working set action group.
- * 
- * @since 2.1
- */
-public class ClearWorkingSetAction extends Action {
-	private WorkingSetFilterActionGroup actionGroup;
-
-	/**
-	 * Creates a new instance of the receiver.
-	 * 
-	 * @param actionGroup the action group this action is created in
-	 */
-	public ClearWorkingSetAction(WorkingSetFilterActionGroup actionGroup) {
-		super(WorkbenchMessages.getString("ClearWorkingSetAction.text")); //$NON-NLS-1$
-		Assert.isNotNull(actionGroup);
-		setToolTipText(WorkbenchMessages.getString("ClearWorkingSetAction.toolTip")); //$NON-NLS-1$
-		setEnabled(actionGroup.getWorkingSet() != null);
-		WorkbenchHelp.setHelp(this, IHelpContextIds.CLEAR_WORKING_SET_ACTION);
-		this.actionGroup = actionGroup;
-	}
-	/**
-	 * Overrides method from Action
-	 * 
-	 * @see org.eclipse.jface.Action#run
-	 */
-	public void run() {
-		actionGroup.setWorkingSet(null);
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/actions/EditWorkingSetAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/actions/EditWorkingSetAction.java
deleted file mode 100644
index 0393565..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/actions/EditWorkingSetAction.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.*;
-import org.eclipse.ui.actions.WorkingSetFilterActionGroup;
-import org.eclipse.ui.dialogs.IWorkingSetEditWizard;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * Displays an IWorkingSetEditWizard for editing a working set.
- * 
- * @since 2.1
- */
-public class EditWorkingSetAction extends Action {
-	private Shell shell;
-	private WorkingSetFilterActionGroup actionGroup;
-
-	/**
-	 * Creates a new instance of the receiver.
-	 * 
-	 * @param actionGroup the action group this action is created in
-	 */
-	public EditWorkingSetAction(WorkingSetFilterActionGroup actionGroup, Shell shell) {
-		super(WorkbenchMessages.getString("EditWorkingSetAction.text")); //$NON-NLS-1$
-		Assert.isNotNull(actionGroup);
-		setToolTipText(WorkbenchMessages.getString("EditWorkingSetAction.toolTip")); //$NON-NLS-1$
-		
-		this.shell = shell;
-		this.actionGroup = actionGroup;
-		WorkbenchHelp.setHelp(this, IHelpContextIds.EDIT_WORKING_SET_ACTION);
-	}
-	/**
-	 * Overrides method from Action
-	 * 
-	 * @see org.eclipse.jface.Action#run
-	 */
-	public void run() {
-		if (shell == null)
-			shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
-		IWorkingSetManager manager = PlatformUI.getWorkbench().getWorkingSetManager();
-		IWorkingSet workingSet = actionGroup.getWorkingSet();
-		
-		if (workingSet == null) {
-			setEnabled(false);
-			return;
-		}
-		IWorkingSetEditWizard wizard = manager.createWorkingSetEditWizard(workingSet);
-		if (wizard == null) {
-			String title = WorkbenchMessages.getString("EditWorkingSetAction.error.nowizard.title"); //$NON-NLS-1$
-			String message = WorkbenchMessages.getString("EditWorkingSetAction.error.nowizard.message"); //$NON-NLS-1$
-			MessageDialog.openError(shell, title, message);
-			return;
-		}
-		WizardDialog dialog = new WizardDialog(shell, wizard);
-	 	dialog.create();		
-		if (dialog.open() == WizardDialog.OK)
-			actionGroup.setWorkingSet(wizard.getSelection());
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/actions/OpenWorkspaceFileAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/actions/OpenWorkspaceFileAction.java
deleted file mode 100644
index ab2866c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/actions/OpenWorkspaceFileAction.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/actions/SelectWorkingSetAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/actions/SelectWorkingSetAction.java
deleted file mode 100644
index a030baf..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/actions/SelectWorkingSetAction.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.*;
-import org.eclipse.ui.actions.WorkingSetFilterActionGroup;
-import org.eclipse.ui.dialogs.IWorkingSetSelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * Displays an IWorkingSetSelectionDialog and sets the selected 
- * working set in the action group.
- * 
- * @since 2.1
- */
-public class SelectWorkingSetAction extends Action {
-	private Shell shell;
-	private WorkingSetFilterActionGroup actionGroup;
-
-	/**
-	 * Creates a new instance of the receiver.
-	 * 
-	 * @param actionGroup the action group this action is created in
-	 * @param shell shell to use for opening working set selection dialog.
-	 */
-	public SelectWorkingSetAction(WorkingSetFilterActionGroup actionGroup, Shell shell) {
-		super(WorkbenchMessages.getString("SelectWorkingSetAction.text")); //$NON-NLS-1$
-		Assert.isNotNull(actionGroup);
-		setToolTipText(WorkbenchMessages.getString("SelectWorkingSetAction.toolTip")); //$NON-NLS-1$
-		
-		this.shell = shell;
-		this.actionGroup = actionGroup;
-		WorkbenchHelp.setHelp(this, IHelpContextIds.SELECT_WORKING_SET_ACTION);
-	}
-	/**
-	 * Overrides method from Action
-	 * 
-	 * @see org.eclipse.jface.Action#run
-	 */
-	public void run() {
-		if (shell == null)
-			shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
-		IWorkingSetManager manager = PlatformUI.getWorkbench().getWorkingSetManager();
-		IWorkingSetSelectionDialog dialog = manager.createWorkingSetSelectionDialog(shell, false);
-		IWorkingSet workingSet = actionGroup.getWorkingSet();
-		
-		if (workingSet != null)
-			dialog.setSelection(new IWorkingSet[]{workingSet});
-
-		if (dialog.open() == Window.OK) {
-			IWorkingSet[] result = dialog.getSelection();
-			if (result != null && result.length > 0) {
-				actionGroup.setWorkingSet(result[0]);
-				manager.addRecentWorkingSet(result[0]);
-			}
-			else {
-				actionGroup.setWorkingSet(null);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/ImageFactory.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/ImageFactory.java
deleted file mode 100644
index 911961e..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/ImageFactory.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.PlatformUI;
-
-final class ImageFactory {
-
-	private static ImageRegistry imageRegistry = new ImageRegistry();
-	private static Map map = new HashMap();
-	
-	static {
-		put("change", "icons/full/commands/change.gif"); //$NON-NLS-1$//$NON-NLS-2$
-		put("exclamation", "icons/full/commands/exclamation.gif"); //$NON-NLS-1$//$NON-NLS-2$
-		put("minus", "icons/full/commands/minus.gif"); //$NON-NLS-1$//$NON-NLS-2$
-		put("plus", "icons/full/commands/plus.gif"); //$NON-NLS-1$//$NON-NLS-2$
-	}
-
-	private static ImageDescriptor create(String path) {
-		try {
-			URL url = Platform.getPlugin(PlatformUI.PLUGIN_ID).getDescriptor().getInstallURL();
-			url = new URL(url, path);
-			return ImageDescriptor.createFromURL(url);
-		} catch (MalformedURLException eMalformedURL) {
-			return null;
-		}
-	}
-
-	private static void put(String key, String value) {
-		map.put(key, create(value));	
-	}
-
-	static Image getImage(String key) {
-		Image image = (Image) imageRegistry.get(key);
-
-		if (image == null) {
-			ImageDescriptor imageDescriptor = getImageDescriptor(key);
-
-			if (imageDescriptor != null) {
-				image = imageDescriptor.createImage(false);
-
-				if (image == null)
-					System.err.println(ImageFactory.class + ": error creating image for " + key); //$NON-NLS-1$
-
-				imageRegistry.put(key, image);
-			}
-		}
-
-		return image;
-	}
-
-	static ImageDescriptor getImageDescriptor(String key) {
-		ImageDescriptor imageDescriptor = (ImageDescriptor) map.get(key);
-
-		if (imageDescriptor == null)
-			System.err.println(ImageFactory.class + ": no image descriptor for " + key); //$NON-NLS-1$
-
-		return imageDescriptor;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/Item.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/Item.java
deleted file mode 100644
index 559a368..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/Item.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands;
-
-import java.text.Collator;
-import java.util.Comparator;
-
-public final class Item implements Comparable {
-	
-	private final static int HASH_INITIAL = 11;
-	private final static int HASH_FACTOR = 21;
-
-	private static Comparator nameComparator;
-	
-	public static Item create(String description, String icon, String id, String name, String parent, String plugin)
-		throws IllegalArgumentException {
-		return new Item(description, icon, id, name, parent, plugin);
-	}
-
-	public static Comparator nameComparator() {
-		if (nameComparator == null)
-			nameComparator = new Comparator() {
-				public int compare(Object left, Object right) {
-					return Collator.getInstance().compare(((Item) left).getName(), ((Item) right).getName());
-				}	
-			};		
-		
-		return nameComparator;
-	}
-	
-	private String description;
-	private String icon;
-	private String id;
-	private String name;
-	private String parent;
-	private String plugin;
-	
-	private Item(String description, String icon, String id, String name, String parent, String plugin)
-		throws IllegalArgumentException {
-		super();
-		
-		if (id == null || name == null)
-			throw new IllegalArgumentException();
-		
-		this.description = description;
-		this.icon = icon;
-		this.id = id;
-		this.name = name;
-		this.parent = parent;
-		this.plugin = plugin;
-	}
-	
-	public int compareTo(Object object) {
-		Item item = (Item) object;
-		int compareTo = id.compareTo(item.id);
-		
-		if (compareTo == 0) {		
-			compareTo = name.compareTo(item.name);			
-		
-			if (compareTo == 0) {
-				Util.compare(description, item.description);
-				
-				if (compareTo == 0) {		
-					compareTo = Util.compare(icon, item.icon);
-
-					if (compareTo == 0) {
-						compareTo = Util.compare(parent, item.parent);
-
-						if (compareTo == 0)
-							compareTo = Util.compare(plugin, item.plugin);
-					}										
-				}							
-			}
-		}
-		
-		return compareTo;	
-	}
-	
-	public boolean equals(Object object) {
-		if (!(object instanceof Item))
-			return false;
-
-		Item item = (Item) object;	
-		return Util.equals(description, item.description) && Util.equals(icon, item.icon) && id.equals(item.id) && name.equals(item.name) && 
-			Util.equals(parent, item.parent) && Util.equals(plugin, item.plugin);
-	}
-
-	public String getDescription() {
-		return description;	
-	}
-	
-	public String getIcon() {
-		return icon;
-	}
-	
-	public String getId() {
-		return id;	
-	}
-	
-	public String getName() {
-		return name;
-	}	
-
-	public String getParent() {
-		return parent;
-	}
-
-	public String getPlugin() {
-		return plugin;
-	}
-
-	public int hashCode() {
-		int result = HASH_INITIAL;
-		result = result * HASH_FACTOR + Util.hashCode(description);
-		result = result * HASH_FACTOR + Util.hashCode(icon);
-		result = result * HASH_FACTOR + id.hashCode();
-		result = result * HASH_FACTOR + name.hashCode();
-		result = result * HASH_FACTOR + Util.hashCode(parent);
-		result = result * HASH_FACTOR + Util.hashCode(plugin);
-		return result;
-	}
-	
-	public String toString() {
-		return name + '(' + id + ')';	
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/PreferencePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/PreferencePage.java
deleted file mode 100644
index b121c40..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/PreferencePage.java
+++ /dev/null
@@ -1,436 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.ResourceBundle;
-import java.util.SortedMap;
-import java.util.SortedSet;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.RGB;
-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.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.commands.keys.KeyMachine;
-import org.eclipse.ui.internal.commands.keys.KeyManager;
-
-public class PreferencePage extends org.eclipse.jface.preference.PreferencePage
-	implements IWorkbenchPreferencePage {
-
-	private final static ResourceBundle resourceBundle = ResourceBundle.getBundle(PreferencePage.class.getName());
-
-	private final static String ACTION_CONFLICT = Util.getString(resourceBundle, "ActionConflict"); //$NON-NLS-1$
-	private final static String ACTION_UNDEFINED = Util.getString(resourceBundle, "ActionUndefined"); //$NON-NLS-1$
-	private final static int DIFFERENCE_ADD = 0;	
-	private final static int DIFFERENCE_CHANGE = 1;	
-	private final static int DIFFERENCE_MINUS = 2;	
-	private final static int DIFFERENCE_NONE = 3;	
-	private final static Image IMAGE_CHANGE = ImageFactory.getImage("change"); //$NON-NLS-1$
-	private final static Image IMAGE_MINUS = ImageFactory.getImage("minus"); //$NON-NLS-1$
-	private final static Image IMAGE_PLUS = ImageFactory.getImage("plus"); //$NON-NLS-1$
-	private final static RGB RGB_CONFLICT = new RGB(255, 0, 0);
-	private final static RGB RGB_CONFLICT_MINUS = new RGB(255, 192, 192);
-	private final static RGB RGB_MINUS =	new RGB(192, 192, 192);
-	private final static int SPACE = 8;	
-	private final static String ZERO_LENGTH_STRING = ""; //$NON-NLS-1$
-	
-	private String defaultConfigurationId;
-	private String defaultScopeId;
-	private SortedSet preferenceBindingSet;	
-	
-	private KeyManager keyManager;
-	private KeyMachine keyMachine;
-	private SortedMap registryActionMap;
-	private SortedSet registryBindingSet;
-	private SortedMap registryConfigurationMap;
-	private SortedMap registryScopeMap;
-	
-	private List actions;
-	private List configurations;
-	private List scopes;
-
-	private String[] actionNames;
-	private String[] configurationNames;	
-	private String[] scopeNames;
-	
-	private SortedMap tree;
-	private Map nameToKeySequenceMap;
-	private List actionRecords = new ArrayList();	
-	private List keySequenceRecords = new ArrayList();	
-	
-	/*
-	private Button buttonCustomize;
-	private Combo comboConfiguration;
-	private String configurationId;
-	private HashMap nameToConfigurationMap;
-	private KeyManager keyManager;
-	private SortedSet preferenceBindingSet;
-	private IPreferenceStore preferenceStore;
-	private SortedSet registryBindingSet;
-	private SortedMap registryConfigurationMap;
-	private SortedMap registryScopeMap;
-	*/
-	private IWorkbench workbench;
-
-	protected Control createContents(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NULL);
-		composite.setFont(parent.getFont());
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.marginWidth = 0;
-		gridLayout.marginHeight = 0;
-		gridLayout.numColumns = 2;
-		composite.setLayout(gridLayout);
-
-		org.eclipse.swt.widgets.List listCommands = 
-			new org.eclipse.swt.widgets.List(composite, SWT.BORDER | SWT.H_SCROLL | SWT.SINGLE | SWT.V_SCROLL);
-		listCommands.setFont(composite.getFont());
-		GridData gridData = new GridData(GridData.VERTICAL_ALIGN_FILL);
-		gridData.widthHint = 200;
-		listCommands.setLayoutData(gridData);
-
-		TabFolder tabFolder = new TabFolder(composite, SWT.NULL);
-		tabFolder.setFont(composite.getFont());
-		tabFolder.setLayoutData(new GridData(GridData.FILL_BOTH));
-	
-		TabItem tabItemProperties = new TabItem(tabFolder, SWT.NULL);
-		tabItemProperties.setText("Properties");
-
-		Composite compositeProperties = new Composite(tabFolder, SWT.NULL);
-		compositeProperties.setFont(tabFolder.getFont());
-		gridLayout = new GridLayout();
-		gridLayout.numColumns = 2;
-		compositeProperties.setLayout(gridLayout);
-		tabItemProperties.setControl(compositeProperties);
-		
-		TabItem tabItemGestures = new TabItem(tabFolder, SWT.NULL);
-		tabItemGestures.setText("Gestures");
-
-		Composite compositeGestures = new Composite(tabFolder, SWT.NULL);
-		compositeGestures.setFont(tabFolder.getFont());
-		gridLayout = new GridLayout();
-		gridLayout.numColumns = 2;
-		compositeGestures.setLayout(gridLayout);
-		tabItemGestures.setControl(compositeGestures);
-
-		TabItem tabItemKeys = new TabItem(tabFolder, SWT.NULL);
-		tabItemKeys.setText("Keys");
-
-		Composite compositeKeys = new Composite(tabFolder, SWT.NULL);
-		compositeKeys.setFont(tabFolder.getFont());
-		gridLayout = new GridLayout();
-		gridLayout.numColumns = 2;
-		compositeKeys.setLayout(gridLayout);
-		tabItemKeys.setControl(compositeKeys);
-
-		/*
-		org.eclipse.swt.widgets.Label labelName = new org.eclipse.swt.widgets.Label(compositeProperties, SWT.LEFT);
-		labelName.setText("Name:");
-		labelName.setLayoutData(new GridData(GridData.FILL_BOTH));
-		*/
-
-		org.eclipse.swt.widgets.Label labelDescription = new org.eclipse.swt.widgets.Label(compositeProperties, SWT.LEFT);
-		labelDescription.setText("Description:");
-		labelDescription.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		org.eclipse.swt.widgets.Label labelImage = new org.eclipse.swt.widgets.Label(compositeProperties, SWT.LEFT);
-		labelImage.setText("Image:");
-		labelImage.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		org.eclipse.swt.widgets.Label labelId= new org.eclipse.swt.widgets.Label(compositeProperties, SWT.LEFT);
-		labelId.setText("Id:");
-		labelId.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		org.eclipse.swt.widgets.Label labelPlugin= new org.eclipse.swt.widgets.Label(compositeProperties, SWT.LEFT);
-		labelPlugin.setText("Plugin:");
-		labelPlugin.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		Table tableKeys = new Table(compositeKeys, SWT.BORDER | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
-		tableKeys.setHeaderVisible(true);
-		gridData = new GridData(GridData.FILL_BOTH);
-		gridData.heightHint = 75;		
-		gridData.horizontalSpan = 3;		
-		tableKeys.setLayoutData(gridData);
-		tableKeys.setFont(tabFolder.getFont());
-
-		TableColumn tableColumn = new TableColumn(tableKeys, SWT.NULL, 0);
-		tableColumn.setResizable(false);
-		tableColumn.setText(ZERO_LENGTH_STRING);
-		tableColumn.setWidth(20);
-
-		tableColumn = new TableColumn(tableKeys, SWT.NULL, 1);
-		tableColumn.setResizable(true);
-		//tableColumn.setText(Util.getString(resourceBundle, "HeaderKeySequence")); //$NON-NLS-1$
-		tableColumn.setWidth(250);	
-
-		tableColumn = new TableColumn(tableKeys, SWT.NULL, 2);
-		tableColumn.setResizable(true);
-		//tableColumn.setText(Util.getString(resourceBundle, "HeaderScope")); //$NON-NLS-1$
-		tableColumn.setWidth(100);
-
-		tableColumn = new TableColumn(tableKeys, SWT.NULL, 3);
-		tableColumn.setResizable(true);
-		//tableColumn.setText(Util.getString(resourceBundle, "HeaderConfiguration")); //$NON-NLS-1$
-		tableColumn.setWidth(100);
-
-		/*
-		Label label = new Label(composite, SWT.LEFT);
-		label.setFont(composite.getFont());
-		label.setText("Active Configuration:");
-
-		comboConfiguration = new Combo(composite, SWT.READ_ONLY);
-		comboConfiguration.setFont(composite.getFont());
-		GridData gridData = new GridData();
-		gridData.widthHint = 200;
-		comboConfiguration.setLayoutData(gridData);
-
-		if (nameToConfigurationMap.isEmpty())
-			comboConfiguration.setEnabled(false);
-		else {
-			String[] items = (String[]) nameToConfigurationMap.keySet().toArray(new String[nameToConfigurationMap.size()]);
-			Arrays.sort(items, Collator.getInstance());
-			comboConfiguration.setItems(items);
-			Configuration configuration = (Configuration) registryConfigurationMap.get(configurationId);
-
-			if (configuration != null)
-				comboConfiguration.select(comboConfiguration.indexOf(configuration.getLabel().getName()));
-		}
-
-		buttonCustomize = new Button(composite, SWT.CENTER | SWT.PUSH);
-		buttonCustomize.setFont(composite.getFont());
-		buttonCustomize.setText("Customize Key Bindings...");
-		gridData = setButtonLayoutData(buttonCustomize);
-		gridData.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
-		gridData.widthHint += 8;
-
-		buttonCustomize.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				DialogCustomize dialogCustomize = new DialogCustomize(getShell(), IWorkbenchConstants.DEFAULT_ACCELERATOR_CONFIGURATION_ID, 
-					IWorkbenchConstants.DEFAULT_ACCELERATOR_SCOPE_ID, preferenceBindingSet);
-				
-				if (dialogCustomize.open() == DialogCustomize.OK) {
-					preferenceBindingSet = dialogCustomize.getPreferenceBindingSet();	
-				}
-				
-				//TBD: doesn't this have to be disposed somehow?
-			}	
-		});
-
-		//TBD: WorkbenchHelp.setHelp(parent, IHelpContextIds.
-		WORKBENCH_KEYBINDINGS_PREFERENCE_PAGE);
-		 */
-
-		/*
-		this.defaultConfigurationId = defaultConfigurationId;
-		this.defaultScopeId = defaultScopeId;
-		preferenceBindingSet = new TreeSet(preferenceBindingSet);
-		Iterator iterator = preferenceBindingSet.iterator();
-		
-		while (iterator.hasNext())
-			if (!(iterator.next() instanceof Binding))
-				throw new IllegalArgumentException();
-	
-		this.preferenceBindingSet = preferenceBindingSet;
-		*/
-
-		keyManager = KeyManager.getInstance();
-		keyMachine = keyManager.getKeyMachine();
-
-		registryActionMap = org.eclipse.ui.internal.commands.Registry.getInstance().getCommandMap();
-		actions = new ArrayList();
-		actions.addAll(registryActionMap.values());
-		Collections.sort(actions, Item.nameComparator());				
-	
-		registryBindingSet = keyManager.getRegistryBindingSet();
-		
-		registryConfigurationMap = keyManager.getRegistryConfigurationMap();
-		configurations = new ArrayList();
-		configurations.addAll(registryConfigurationMap.values());	
-		Collections.sort(configurations, Item.nameComparator());				
-		
-		registryScopeMap = keyManager.getRegistryScopeMap();	
-		scopes = new ArrayList();
-		scopes.addAll(registryScopeMap.values());	
-		Collections.sort(scopes, Item.nameComparator());				
-
-		actionNames = new String[1 + actions.size()];
-		actionNames[0] = ACTION_UNDEFINED;
-		
-		for (int i = 0; i < actions.size(); i++)
-			actionNames[i + 1] = ((Item) actions.get(i)).getName();
-
-		configurationNames = new String[configurations.size()];
-		
-		for (int i = 0; i < configurations.size(); i++)
-			configurationNames[i] = ((Item) configurations.get(i)).getName();
-
-		scopeNames = new String[scopes.size()];
-		
-		for (int i = 0; i < scopes.size(); i++)
-			scopeNames[i] = ((Item) scopes.get(i)).getName();
-		
-		/*
-		tree = new TreeMap();
-		SortedSet bindingSet = new TreeSet();
-		bindingSet.addAll(preferenceBindingSet);
-		bindingSet.addAll(registryBindingSet);
-		iterator = bindingSet.iterator();
-		
-		while (iterator.hasNext()) {
-			Binding binding = (Binding) iterator.next();				
-			//set(tree, binding, false);			
-		}
-		*/
-
-		/*
-		nameToKeySequenceMap = new HashMap();	
-		Collection keySequences = tree.keySet();
-		iterator = keySequences.iterator();
-
-		while (iterator.hasNext()) {
-			KeySequence keySequence = (KeySequence) iterator.next();
-			String name = keyManager.getTextForKeySequence(keySequence);
-			
-			if (!nameToKeySequenceMap.containsKey(name))
-				nameToKeySequenceMap.put(name, keySequence);
-		}
-		*/
-
-		listCommands.setItems(actionNames);
-
-		return composite;	
-	}
-
-	public void init(IWorkbench workbench) {
-		this.workbench = workbench;
-		/*
-		preferenceStore = getPreferenceStore();
-		configurationId = loadConfiguration();		
-		keyManager = KeyManager.getInstance();
-		preferenceBindingSet = keyManager.getPreferenceBindingSet();
-		registryBindingSet = keyManager.getRegistryBindingSet();
-		registryConfigurationMap = keyManager.getRegistryConfigurationMap();
-		registryScopeMap = keyManager.getRegistryScopeMap();	
-		nameToConfigurationMap = new HashMap();	
-		Collection configurations = registryConfigurationMap.values();
-		Iterator iterator = configurations.iterator();
-
-		while (iterator.hasNext()) {
-			Configuration configuration = (Configuration) iterator.next();
-			String name = configuration.getLabel().getName();
-			
-			if (!nameToConfigurationMap.containsKey(name))
-				nameToConfigurationMap.put(name, configuration);
-		}
-		*/	
-	}
-	
-	protected void performDefaults() {
-		/*
-		int result = SWT.YES;
-		
-		if (!preferenceBindingSet.isEmpty()) {		
-			MessageBox messageBox = new MessageBox(getShell(), SWT.YES | SWT.NO | SWT.ICON_WARNING | SWT.APPLICATION_MODAL);
-			messageBox.setText("Restore Defaults");
-			messageBox.setMessage("This will clear all of your customized key bindings.\r\nAre you sure you want to do this?");
-			result = messageBox.open();
-		}
-		
-		if (result == SWT.YES) {			
-			if (comboConfiguration != null && comboConfiguration.isEnabled()) {
-				comboConfiguration.clearSelection();
-				comboConfiguration.deselectAll();
-				configurationId = preferenceStore.getDefaultString(IWorkbenchConstants.ACCELERATOR_CONFIGURATION_ID);
-				Configuration configuration = (Configuration) registryConfigurationMap.get(configurationId);
-
-				if (configuration != null)
-					comboConfiguration.select(comboConfiguration.indexOf(configuration.getLabel().getName()));
-			}
-
-			preferenceBindingSet = new TreeSet();
-		}
-		*/
-	}	
-	
-	public boolean performOk() {
-		/*
-		if (comboConfiguration != null && comboConfiguration.isEnabled()) {
-			int i = comboConfiguration.getSelectionIndex();
-			
-			if (i >= 0 && i < comboConfiguration.getItemCount()) {			
-				String configurationName = comboConfiguration.getItem(i);
-				
-				if (configurationName != null) {				
-					Configuration configuration = (Configuration) nameToConfigurationMap.get(configurationName);
-					
-					if (configuration != null) {
-						configurationId = configuration.getLabel().getId();
-						saveConfiguration(configurationId);					
-	
-						keyManager.setPreferenceBindingSet(preferenceBindingSet);
-						keyManager.savePreference();					
-						keyManager.update();
-	
-						if (workbench instanceof Workbench) {
-							Workbench workbench = (Workbench) this.workbench;
-							workbench.setActiveAcceleratorConfiguration(configuration);
-						}
-					}
-				}
-			}
-		}
-		*/
-		return super.performOk();
-	}
-	
-	protected IPreferenceStore doGetPreferenceStore() {
-		return WorkbenchPlugin.getDefault().getPreferenceStore();
-	}
-	
-	private String loadConfiguration() {
-		/*
-		String configuration = preferenceStore.getString(IWorkbenchConstants.ACCELERATOR_CONFIGURATION_ID);
-
-		if (configuration == null || configuration.length() == 0)
-			configuration = preferenceStore.getDefaultString(IWorkbenchConstants.ACCELERATOR_CONFIGURATION_ID);
-
-		if (configuration == null)
-			configuration = ZERO_LENGTH_STRING;
-
-		return configuration;
-		*/
-		return null;
-	}
-	
-	private void saveConfiguration(String configuration)
-		throws IllegalArgumentException {
-		/*
-		if (configuration == null)
-			throw new IllegalArgumentException();
-
-		preferenceStore.setValue(IWorkbenchConstants.ACCELERATOR_CONFIGURATION_ID, configuration);
-		*/
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/PreferencePage.properties b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/PreferencePage.properties
deleted file mode 100644
index c22c6ab..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/PreferencePage.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-ActionConflict=<conflict>
-ActionUndefined=<undefined>
-ButtonBrowseSelectedAction=&Browse Selected Action
-ButtonCustom=Cus&tom:
-ButtonDefault=&Default:
-ButtonDetails=De&tails...
-GroupAction=Action
-GroupBrowseAction=Browse By Action
-GroupBrowseKeySequence=Browse Or Customize By Key Sequence
-GroupState=When
-HeaderAction=Action
-HeaderConfiguration=Configuration
-HeaderKeySequence=Key Sequence
-HeaderScope=Scope
-LabelAction=&Action:
-LabelConfiguration=&Configuration:
-LabelKeySequence=&Key Sequence:
-LabelScope=&Scope:
-Title=Key Bindings
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/Registry.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/Registry.java
deleted file mode 100644
index f45f034..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/Registry.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands;
-
-import java.util.Collections;
-import java.util.SortedMap;
-import java.util.TreeMap;
-
-import org.eclipse.core.runtime.Platform;
-
-public final class Registry {
-
-	public static Registry instance;
-	
-	public static Registry getInstance() {
-		if (instance == null)
-			instance = new Registry();
-	
-		return instance;
-	}
-	
-	private SortedMap commandMap;
-	private SortedMap groupMap;
-	
-	private Registry() {
-		super();
-		commandMap = new TreeMap();
-		groupMap = new TreeMap();
-		(new RegistryReader()).read(Platform.getPluginRegistry(), this);		
-	}
-
-	public SortedMap getCommandMap() {
-		return Collections.unmodifiableSortedMap(commandMap);			
-	}
-
-	public SortedMap getGroupMap() {
-		return Collections.unmodifiableSortedMap(groupMap);			
-	}
-
-	void addCommand(Item item)
-		throws IllegalArgumentException {
-		if (item == null)
-			throw new IllegalArgumentException();
-		
-		commandMap.put(item.getId(), item);	
-	}
-
-	void addGroup(Item item)
-		throws IllegalArgumentException {
-		if (item == null)
-			throw new IllegalArgumentException();
-		
-		groupMap.put(item.getId(), item);	
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/RegistryReader.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/RegistryReader.java
deleted file mode 100644
index 573ed85..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/RegistryReader.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.IWorkbenchConstants;
-
-final class RegistryReader extends org.eclipse.ui.internal.registry.RegistryReader {
-
-	private final static String ATTRIBUTE_DESCRIPTION = "description"; //$NON-NLS-1$
-	private final static String ATTRIBUTE_ICON = "icon"; //$NON-NLS-1$
-	private final static String ATTRIBUTE_ID = "id"; //$NON-NLS-1$
-	private final static String ATTRIBUTE_NAME = "name"; //$NON-NLS-1$
-	private final static String ATTRIBUTE_PARENT = "parent"; //$NON-NLS-1$
-	private final static String ELEMENT_ACTION_DEFINITION = "actionDefinition"; //$NON-NLS-1$
-	private final static String ELEMENT_COMMAND = "command"; //$NON-NLS-1$
-	private final static String ELEMENT_GROUP = "group"; //$NON-NLS-1$
-	private final static String EXTENSION_POINT_ACTION_DEFINITIONS = IWorkbenchConstants.PL_ACTION_DEFINITIONS;
-	private final static String EXTENSION_POINT_COMMANDS = "commands"; //$NON-NLS-1$
-	private final static String EXTENSION_POINT_GROUPS = "groups"; //$NON-NLS-1$
-	private final static String ZERO_LENGTH_STRING = ""; //$NON-NLS-1$
-	
-	private Registry registry;
-	
-	RegistryReader() {
-		super();	
-	}
-
-	void read(IPluginRegistry pluginRegistry, Registry registry) {
-		this.registry = registry;
-
-		if (this.registry != null) {
-			readRegistry(pluginRegistry, PlatformUI.PLUGIN_ID, EXTENSION_POINT_ACTION_DEFINITIONS);
-			readRegistry(pluginRegistry, PlatformUI.PLUGIN_ID, EXTENSION_POINT_COMMANDS);
-			readRegistry(pluginRegistry, PlatformUI.PLUGIN_ID, EXTENSION_POINT_GROUPS);
-		}
-	}
-
-	protected boolean readElement(IConfigurationElement element) {
-		String name = element.getName();
-
-		if (ELEMENT_ACTION_DEFINITION.equals(name))
-			return readCommand(element);
-
-		if (ELEMENT_COMMAND.equals(name))
-			return readCommand(element);
-
-		if (ELEMENT_GROUP.equals(name))
-			return readGroup(element);
-	
-		return false;
-	}
-
-	private String getPlugin(IConfigurationElement element) {
-		String plugin = null;	
-		
-		if (element != null) {	
-			IExtension extension = element.getDeclaringExtension();
-			
-			if (extension != null) {
-				IPluginDescriptor pluginDescriptor = extension.getDeclaringPluginDescriptor();
-				
-				if (pluginDescriptor != null) 
-					plugin = pluginDescriptor.getUniqueIdentifier();				
-			}
-		}
-
-		return plugin;
-	}
-
-	private boolean readCommand(IConfigurationElement element) {
-		Item item = readItem(element);
-		
-		if (item != null)
-			registry.addCommand(item);
-			
-		return true;
-	}
-
-
-	private boolean readGroup(IConfigurationElement element) {
-		Item item = readItem(element);
-		
-		if (item != null)
-			registry.addGroup(item);
-			
-		return true;
-	}
-		
-	private Item readItem(IConfigurationElement element) {
-		String description = element.getAttribute(ATTRIBUTE_DESCRIPTION);
-		String icon = element.getAttribute(ATTRIBUTE_ICON);
-		String id = element.getAttribute(ATTRIBUTE_ID);
-
-		if (id == null) {
-			logMissingAttribute(element, ATTRIBUTE_ID);
-			return null;
-		}
-
-		String name = element.getAttribute(ATTRIBUTE_NAME);
-		
-		if (name == null) {
-			logMissingAttribute(element, ATTRIBUTE_NAME);
-			return null;
-		}
-
-		String parent = element.getAttribute(ATTRIBUTE_PARENT);		
-		String plugin = getPlugin(element);
-		return Item.create(description, icon, id, name, parent, plugin);			
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/Util.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/Util.java
deleted file mode 100644
index 8bb8cd9..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/Util.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands;
-
-import java.util.List;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public final class Util {
-
-	public static int compare(Comparable left, Comparable right) {
-		if (left == null && right == null)
-			return 0;	
-		else if (left == null)
-			return -1;	
-		else if (right == null)
-			return +1;
-		else
-			return left.compareTo(right);
-	}
-
-	public static int compare(Comparable[] left, Comparable[] right) {
-		if (left == null && right == null)
-			return 0;	
-		else if (left == null)
-			return -1;	
-		else if (right == null)
-			return +1;
-		else {
-			int l = left.length;
-			int r = right.length;
-
-			if (l != r)
-				return l - r;
-			else {
-				for (int i = 0; i < l; i++) {
-					int compareTo = compare(left[i], right[i]);
-
-					if (compareTo != 0)
-						return compareTo;
-				}
-
-				return 0;
-			}
-		}
-	}
-
-	public static int compare(List left, List right)
-		throws ClassCastException {
-		if (left == null && right == null)
-			return 0;
-		else if (left == null)
-			return -1;
-		else if (right == null)
-			return +1;
-		else {
-			int l = left.size();
-			int r = right.size();
-
-			if (l != r)
-				return l - r;
-			else {
-				for (int i = 0; i < l; i++) {
-					int compareTo = ((Comparable) left.get(i)).compareTo((Comparable) right.get(i));
-
-					if (compareTo != 0)
-						return compareTo;
-				}
-
-				return 0;
-			}
-		}
-	}
-
-	public static boolean equals(Object left, Object right) {
-		return left == null ? right == null : left.equals(right);
-	}
-
-	public static String getString(ResourceBundle resourceBundle, String key)
-		throws IllegalArgumentException {
-		if (resourceBundle == null || key == null)
-			throw new IllegalArgumentException();
-
-		try {
-			return resourceBundle.getString(key);
-		} catch (MissingResourceException eMissingResource) {
-			System.err.println(eMissingResource);
-			return key;
-		}
-	}
-
-	public static boolean isChildOf(Object[] left, Object[] right, boolean equals) {
-		if (left == null || right == null)
-			return false;
-		else {
-			int l = left.length;
-			int r = right.length;
-
-			if (r > l || !equals && r == l)
-				return false;
-
-			for (int i = 0; i < r; i++)
-				if (!equals(left[i], right[i]))
-					return false;
-
-			return true;
-		}
-	}
-
-	public static boolean isChildOf(List left, List right, boolean equals) {
-		if (left == null || right == null)
-			return false;
-		else {
-			int l = left.size();
-			int r = right.size();
-
-			if (r > l || !equals && r == l)
-				return false;
-
-			for (int i = 0; i < r; i++)
-				if (!equals(left.get(i), right.get(i)))
-					return false;
-
-			return true;
-		}
-	}
-
-	public static int hashCode(Object object) {
-		return object != null ? object.hashCode() : 0;	
-	}
-
-	private Util() {
-		super();
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/Capture.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/Capture.java
deleted file mode 100644
index d7a3497..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/Capture.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands.gestures;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.eclipse.swt.widgets.Control;
-
-public final class Capture {
-
-	public static Capture create() {
-		return new Capture();
-	}		
-
-	private List captureListeners;
-	private boolean capturing;
-	private Control control;
-	private int data;
-	private MouseListener mouseListener;
-	private MouseMoveListener mouseMoveListener;
-	private int pen;
-	private List points;	
-	
-	private Capture() {
-		super();
-		captureListeners = new ArrayList();
-
-		mouseListener = new MouseListener() {
-			public void mouseDoubleClick(MouseEvent e) {
-			}
-
-			public void mouseDown(MouseEvent e) {
-				if (!capturing) {
-					capturing = true;
-					data = e.stateMask;
-					pen = e.button;
-					points.clear();
-					points.add(Point.create(e.x, e.y));
-					control.addMouseMoveListener(mouseMoveListener);
-				}
-			}
-
-			public void mouseUp(MouseEvent e) {
-				if (capturing && e.button == pen) {
-					control.removeMouseMoveListener(mouseMoveListener);
-					points.add(Point.create(e.x, e.y));
-					Gesture gesture = Gesture.create(data, pen, (Point[]) points.toArray(new Point[points.size()]));
-					capturing = false;
-					data = 0;
-					pen = 0;
-					points.clear();
-					Iterator iterator = captureListeners.iterator();
-
-					while (iterator.hasNext())
-						((CaptureListener) iterator.next()).gesture(gesture);
-				}
-			}
-		};
-
-		mouseMoveListener = new MouseMoveListener() {
-			public void mouseMove(MouseEvent e) {
-				if (capturing)
-					points.add(Point.create(e.x, e.y));
-			}
-		};	
-		
-		points = new ArrayList();
-	}
-
-	public void addCaptureListener(CaptureListener captureListener) {
-		captureListeners.add(captureListener);	
-	}
-
-	public Control getControl() {
-		return control;	
-	}
-
-	public void removeCaptureListener(CaptureListener captureListener) {
-		captureListeners.remove(captureListener);			
-	}
-
-	public void setControl(Control control) {
-		if (this.control != control) {
-			if (this.control != null) {
-				control.removeMouseMoveListener(mouseMoveListener);
-				control.removeMouseListener(mouseListener);
-			}
-			
-			this.control = control;
-			capturing = false;
-			data = 0;
-			pen = 0;
-			points.clear();
-
-			if (this.control != null)
-				control.addMouseListener(mouseListener);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/CaptureListener.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/CaptureListener.java
deleted file mode 100644
index d7e0cce..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/CaptureListener.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands.gestures;
-
-public interface CaptureListener {
-
-	void gesture(Gesture gesture);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/Direction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/Direction.java
deleted file mode 100644
index b2998c5..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/Direction.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands.gestures;
-
-public class Direction {
-
-	public final static Direction EAST = new Direction("6");  
-	public final static Direction NORTH = new Direction("8");
-	public final static Direction NORTH_EAST = new Direction("9");
-	public final static Direction NORTH_WEST = new Direction("7");
-	public final static Direction SOUTH = new Direction("2");
-	public final static Direction SOUTH_EAST = new Direction("3");
-	public final static Direction SOUTH_WEST = new Direction("1");
-	public final static Direction WEST = new Direction("4");
-	
-	private String direction;
-	
-	private Direction(String direction) {
-		super();
-		this.direction = direction;
-	}
-
-	public String toString() {
-		return direction;	
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/Gesture.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/Gesture.java
deleted file mode 100644
index 011a0ab..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/Gesture.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands.gestures;
-
-import java.util.Arrays;
-
-public final class Gesture implements Comparable {
-
-	private final static int HASH_INITIAL = 27;
-	private final static int HASH_FACTOR = 37;
-
-	public static Gesture create(int data, int pen, Point[] points)
-		throws IllegalArgumentException {
-		return new Gesture(data, pen, points);
-	}
-
-	private int data;
-	private int pen;
-	private Point[] points;
-
-	private Gesture(int data, int pen, Point[] points)
-		throws IllegalArgumentException {
-		super();
-		this.data = data;
-		this.pen = pen;
-
-		if (points == null)
-			throw new IllegalArgumentException();
-		
-		points = (Point[]) points.clone();
-
-		for (int i = 0; i < points.length; i++)
-			if (points[i] == null)
-				throw new IllegalArgumentException();
-	
-		this.points = points;
-	}
-
-	public int compareTo(Object object) {
-		Gesture gesture = (Gesture) object;
-		int compareTo = data - gesture.data;
-
-		if (compareTo == 0) {
-			compareTo = pen - gesture.pen;
-
-			if (compareTo == 0)
-				compareTo = org.eclipse.ui.internal.commands.Util.compare(points, gesture.points);
-		}
-
-		return compareTo;
-	}
-
-	public boolean equals(Object object) {
-		if (!(object instanceof Gesture))
-			return false;
-
-		Gesture gesture = (Gesture) object;
-		return data == gesture.data && pen == gesture.pen && Arrays.equals(points, gesture.points);
-	}
-
-	public int getData() {
-		return data;
-	}
-
-	public int getPen() {
-		return pen;
-	}
-
-	public Point[] getPoints() {
-		return (Point[]) points.clone();
-	}
-
-	public int hashCode() {
-		int result = HASH_INITIAL;
-		result = result * HASH_FACTOR + data;
-		result = result * HASH_FACTOR + pen;
-
-		for (int i = 0; i < points.length; i++)
-			result = result * HASH_FACTOR + points[i].hashCode();
-		
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/Point.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/Point.java
deleted file mode 100644
index c0425b9..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/Point.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands.gestures;
-
-public final class Point implements Comparable {
-
-	private final static int HASH_INITIAL = 17;
-	private final static int HASH_FACTOR = 27;
-
-	public static Point create(int x, int y) {
-		return new Point(x, y);
-	}
-
-	private int x;
-	private int y;
-
-	private Point(int x, int y) {
-		super();
-		this.x = x;
-		this.y = y;
-	}
-
-	public int compareTo(Object object) {
-		Point point = (Point) object;
-		int compareTo = x - point.x;
-
-		if (compareTo == 0)
-			compareTo = y - point.y;
-
-		return compareTo;
-	}
-
-	public boolean equals(Object object) {
-		if (!(object instanceof Point))
-			return false;
-
-		Point point = (Point) object;
-		return x == point.x && y == point.y;
-	}
-
-	public int getX() {
-		return x;
-	}
-
-	public int getY() {
-		return y;
-	}
-
-	public int hashCode() {
-		int result = HASH_INITIAL;
-		result = result * HASH_FACTOR + x;
-		result = result * HASH_FACTOR + y;
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/PreferencePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/PreferencePage.java
deleted file mode 100644
index 48bb1a2..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/PreferencePage.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands.gestures;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-public class PreferencePage extends org.eclipse.jface.preference.PreferencePage
-	implements IWorkbenchPreferencePage {
-	
-	private final static String ZERO_LENGTH_STRING = ""; //$NON-NLS-1$
-	
-	/*
-	private Button buttonCustomize;
-	private Combo comboConfiguration;
-	private String configurationId;
-	private HashMap nameToConfigurationMap;
-	private KeyManager keyManager;
-	private SortedSet preferenceBindingSet;
-	private IPreferenceStore preferenceStore;
-	private SortedSet registryBindingSet;
-	private SortedMap registryConfigurationMap;
-	private SortedMap registryScopeMap;
-	*/
-	private IWorkbench workbench;
-
-	protected Control createContents(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NULL);
-		/*
-		composite.setFont(parent.getFont());
-		GridLayout gridLayoutComposite = new GridLayout();
-		gridLayoutComposite.marginWidth = 0;
-		gridLayoutComposite.marginHeight = 0;
-		composite.setLayout(gridLayoutComposite);
-
-		Label label = new Label(composite, SWT.LEFT);
-		label.setFont(composite.getFont());
-		label.setText("Active Configuration:");
-
-		comboConfiguration = new Combo(composite, SWT.READ_ONLY);
-		comboConfiguration.setFont(composite.getFont());
-		GridData gridData = new GridData();
-		gridData.widthHint = 200;
-		comboConfiguration.setLayoutData(gridData);
-
-		if (nameToConfigurationMap.isEmpty())
-			comboConfiguration.setEnabled(false);
-		else {
-			String[] items = (String[]) nameToConfigurationMap.keySet().toArray(new String[nameToConfigurationMap.size()]);
-			Arrays.sort(items, Collator.getInstance());
-			comboConfiguration.setItems(items);
-			Configuration configuration = (Configuration) registryConfigurationMap.get(configurationId);
-
-			if (configuration != null)
-				comboConfiguration.select(comboConfiguration.indexOf(configuration.getLabel().getName()));
-		}
-
-		buttonCustomize = new Button(composite, SWT.CENTER | SWT.PUSH);
-		buttonCustomize.setFont(composite.getFont());
-		buttonCustomize.setText("Customize Key Bindings...");
-		gridData = setButtonLayoutData(buttonCustomize);
-		gridData.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
-		gridData.widthHint += 8;
-
-		buttonCustomize.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				DialogCustomize dialogCustomize = new DialogCustomize(getShell(), IWorkbenchConstants.DEFAULT_ACCELERATOR_CONFIGURATION_ID, 
-					IWorkbenchConstants.DEFAULT_ACCELERATOR_SCOPE_ID, preferenceBindingSet);
-				
-				if (dialogCustomize.open() == DialogCustomize.OK) {
-					preferenceBindingSet = dialogCustomize.getPreferenceBindingSet();	
-				}
-				
-				//TBD: doesn't this have to be disposed somehow?
-			}	
-		});
-
-		//TBD: WorkbenchHelp.setHelp(parent, IHelpContextIds.
-		WORKBENCH_KEYBINDINGS_PREFERENCE_PAGE);
-		 */
-
-		return composite;	
-	}
-
-	public void init(IWorkbench workbench) {
-		this.workbench = workbench;
-		/*
-		preferenceStore = getPreferenceStore();
-		configurationId = loadConfiguration();		
-		keyManager = KeyManager.getInstance();
-		preferenceBindingSet = keyManager.getPreferenceBindingSet();
-		registryBindingSet = keyManager.getRegistryBindingSet();
-		registryConfigurationMap = keyManager.getRegistryConfigurationMap();
-		registryScopeMap = keyManager.getRegistryScopeMap();	
-		nameToConfigurationMap = new HashMap();	
-		Collection configurations = registryConfigurationMap.values();
-		Iterator iterator = configurations.iterator();
-
-		while (iterator.hasNext()) {
-			Configuration configuration = (Configuration) iterator.next();
-			String name = configuration.getLabel().getName();
-			
-			if (!nameToConfigurationMap.containsKey(name))
-				nameToConfigurationMap.put(name, configuration);
-		}
-		*/	
-	}
-	
-	protected void performDefaults() {
-		/*
-		int result = SWT.YES;
-		
-		if (!preferenceBindingSet.isEmpty()) {		
-			MessageBox messageBox = new MessageBox(getShell(), SWT.YES | SWT.NO | SWT.ICON_WARNING | SWT.APPLICATION_MODAL);
-			messageBox.setText("Restore Defaults");
-			messageBox.setMessage("This will clear all of your customized key bindings.\r\nAre you sure you want to do this?");
-			result = messageBox.open();
-		}
-		
-		if (result == SWT.YES) {			
-			if (comboConfiguration != null && comboConfiguration.isEnabled()) {
-				comboConfiguration.clearSelection();
-				comboConfiguration.deselectAll();
-				configurationId = preferenceStore.getDefaultString(IWorkbenchConstants.ACCELERATOR_CONFIGURATION_ID);
-				Configuration configuration = (Configuration) registryConfigurationMap.get(configurationId);
-
-				if (configuration != null)
-					comboConfiguration.select(comboConfiguration.indexOf(configuration.getLabel().getName()));
-			}
-
-			preferenceBindingSet = new TreeSet();
-		}
-		*/
-	}	
-	
-	public boolean performOk() {
-		/*
-		if (comboConfiguration != null && comboConfiguration.isEnabled()) {
-			int i = comboConfiguration.getSelectionIndex();
-			
-			if (i >= 0 && i < comboConfiguration.getItemCount()) {			
-				String configurationName = comboConfiguration.getItem(i);
-				
-				if (configurationName != null) {				
-					Configuration configuration = (Configuration) nameToConfigurationMap.get(configurationName);
-					
-					if (configuration != null) {
-						configurationId = configuration.getLabel().getId();
-						saveConfiguration(configurationId);					
-	
-						keyManager.setPreferenceBindingSet(preferenceBindingSet);
-						keyManager.savePreference();					
-						keyManager.update();
-	
-						if (workbench instanceof Workbench) {
-							Workbench workbench = (Workbench) this.workbench;
-							workbench.setActiveAcceleratorConfiguration(configuration);
-						}
-					}
-				}
-			}
-		}
-		*/
-		return super.performOk();
-	}
-	
-	protected IPreferenceStore doGetPreferenceStore() {
-		return WorkbenchPlugin.getDefault().getPreferenceStore();
-	}
-	
-	private String loadConfiguration() {
-		/*
-		String configuration = preferenceStore.getString(IWorkbenchConstants.ACCELERATOR_CONFIGURATION_ID);
-
-		if (configuration == null || configuration.length() == 0)
-			configuration = preferenceStore.getDefaultString(IWorkbenchConstants.ACCELERATOR_CONFIGURATION_ID);
-
-		if (configuration == null)
-			configuration = ZERO_LENGTH_STRING;
-
-		return configuration;
-		*/
-		return null;
-	}
-	
-	private void saveConfiguration(String configuration)
-		throws IllegalArgumentException {
-		/*
-		if (configuration == null)
-			throw new IllegalArgumentException();
-
-		preferenceStore.setValue(IWorkbenchConstants.ACCELERATOR_CONFIGURATION_ID, configuration);
-		*/
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/Util.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/Util.java
deleted file mode 100644
index 75ef370..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/gestures/Util.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands.gestures;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-public final class Util {
-
-	public final static char EAST = 'E';
-	public final static char NORTH = 'N';
-	public final static char SOUTH = 'S';
-	public final static char WEST = 'W';
-
-	public static String keys(int data) {
-		int count = 0;
-		StringBuffer stringBuffer = new StringBuffer();		
-
-		if ((data & SWT.ALT) > 0) {
-			if (count > 0)
-				stringBuffer.append(',');
-	
-			stringBuffer.append("alt");
-			count++;
-		}
-
-		if ((data & SWT.COMMAND) > 0) {
-			if (count > 0)
-				stringBuffer.append(',');
-	
-			stringBuffer.append("command");
-			count++;
-		}
-
-		if ((data & SWT.CTRL) > 0) {
-			if (count > 0)
-				stringBuffer.append(',');
-	
-			stringBuffer.append("ctrl");
-			count++;
-		}
-
-		if ((data & SWT.SHIFT) > 0) {
-			if (count > 0)
-				stringBuffer.append(',');
-	
-			stringBuffer.append("shift");
-			count++;
-		}
-	
-		if (count == 0)
-			stringBuffer.append("none");
-			
-		return stringBuffer.toString();
-	}
-
-	public static String recognize(Point[] points, int grid) {
-		char c = 0;
-		StringBuffer stringBuffer = new StringBuffer();
-		int x0 = 0;
-		int y0 = 0;
-
-		for (int i = 0; i < points.length; i++) {
-			Point point = points[i];
-
-			if (i == 0) {
-				x0 = point.getX();
-				y0 = point.getY();
-				continue;
-			}
-
-			int x1 = point.getX();
-			int y1 = point.getY();
-			int dx = (x1 - x0) / grid;
-			int dy = (y1 - y0) / grid;
-
-			if ((dx != 0) || (dy != 0)) {
-				if (dx > 0 && c != EAST) {
-					stringBuffer.append(c = EAST);
-				} else if (dx < 0 && c != WEST) {
-					stringBuffer.append(c = WEST);
-				} else if (dy > 0 && c != SOUTH) {
-					stringBuffer.append(c = SOUTH);
-				} else if (dy < 0 && c != NORTH) {
-					stringBuffer.append(c = NORTH);
-				}
-
-				x0 = x1;
-				y0 = y1;
-			}
-		}
-
-		return stringBuffer.toString();
-	}
-	
-	public static void main(String[] args) {
-		final int HEIGHT = 300;
-		final int WIDTH = 400;
-
-		Display display = new Display();
-		Rectangle bounds = display.getBounds();
-		Shell shell = new Shell(display);
-
-		if (bounds.height >= HEIGHT && bounds.width >= WIDTH)
-			shell.setBounds((bounds.x + bounds.width - WIDTH) / 2, (bounds.y + bounds.height - HEIGHT) / 2, WIDTH, HEIGHT);
-
-		shell.setText(Util.class.getName());
-		shell.open();
-		Capture capture = Capture.create();
-
-		capture.addCaptureListener(new CaptureListener() {
-			public void gesture(Gesture gesture) {
-				System.out.println("Pen: " + gesture.getPen() + "   Keys: " + keys(gesture.getData()) +  "   Points: " + gesture.getPoints().length +
-					"   Gesture: " + recognize(gesture.getPoints(), 20));			
-			}
-		});
-
-		capture.setControl(shell);
-
-		while (!shell.isDisposed())
-			if (!display.readAndDispatch())
-				display.sleep();
-
-		display.dispose();
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/Binding.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/Binding.java
deleted file mode 100644
index b64a2f2..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/Binding.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands.keys;
-
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.internal.commands.Util;
-
-public final class Binding implements Comparable {
-
-	public final static String ELEMENT = "binding"; //$NON-NLS-1$
-	private final static int HASH_INITIAL = 37;
-	private final static int HASH_FACTOR = 47;
-	private final static String ATTRIBUTE_ACTION = "action"; //$NON-NLS-1$
-	private final static String ATTRIBUTE_CONFIGURATION = "configuration"; //$NON-NLS-1$		
-	private final static String ATTRIBUTE_PLUGIN = "plugin"; //$NON-NLS-1$		
-	private final static String ATTRIBUTE_RANK = "rank"; //$NON-NLS-1$
-	private final static String ATTRIBUTE_SCOPE = "scope"; //$NON-NLS-1$
-	private final static String ZERO_LENGTH_STRING = ""; //$NON-NLS-1$
-
-	public static Binding create(String action, String configuration, KeySequence keySequence, String plugin, int rank, String scope)
-		throws IllegalArgumentException {
-		return new Binding(action, configuration, keySequence, plugin, rank, scope);
-	}
-
-	public static Binding read(IMemento memento)
-		throws IllegalArgumentException {
-		if (memento == null)
-			throw new IllegalArgumentException();
-
-		String action = memento.getString(ATTRIBUTE_ACTION);
-		String configuration = memento.getString(ATTRIBUTE_CONFIGURATION);
-		
-		if (configuration == null)
-			configuration = ZERO_LENGTH_STRING;
-
-		KeySequence keySequence = KeySequence.read(memento.getChild(KeySequence.ELEMENT));	
-		String plugin = memento.getString(ATTRIBUTE_PLUGIN);
-		Integer rank = memento.getInteger(ATTRIBUTE_RANK);
-		
-		if (rank == null) {
-			rank = new Integer(0);	
-		}
-		
-		String scope = memento.getString(ATTRIBUTE_SCOPE);
-
-		if (scope == null)
-			scope = ZERO_LENGTH_STRING;
-
-		return Binding.create(action, configuration, keySequence, plugin, rank.intValue(), scope);
-	}
-	
-	private String action;
-	private String configuration;
-	private KeySequence keySequence;
-	private String plugin;
-	private int rank;
-	private String scope;
-
-	private Binding(String action, String configuration, KeySequence keySequence, String plugin, int rank, String scope)
-		throws IllegalArgumentException {
-		super();
-		
-		if (configuration == null || keySequence == null || keySequence.getKeyStrokes().size() == 0 || rank < 0 || scope == null)
-			throw new IllegalArgumentException();	
-		
-		this.action = action;	
-		this.configuration = configuration;
-		this.keySequence = keySequence;
-		this.plugin = plugin;
-		this.rank = rank;
-		this.scope = scope;
-	}
-
-	public String getAction() {
-		return action;
-	}
-
-	public String getConfiguration() {
-		return configuration;
-	}
-	
-	public KeySequence getKeySequence() {
-		return keySequence;	
-	}
-
-	public String getPlugin() {
-		return plugin;
-	}
-
-	public int getRank() {
-		return rank;	
-	}
-
-	public String getScope() {
-		return scope;
-	}
-
-	public void write(IMemento memento)
-		throws IllegalArgumentException {
-		if (memento == null)
-			throw new IllegalArgumentException();
-
-		memento.putString(ATTRIBUTE_ACTION, action);
-		memento.putString(ATTRIBUTE_CONFIGURATION, configuration);
-		keySequence.write(memento.createChild(KeySequence.ELEMENT));
-		memento.putString(ATTRIBUTE_PLUGIN, plugin);
-		memento.putInteger(ATTRIBUTE_RANK, rank);
-		memento.putString(ATTRIBUTE_SCOPE, scope);
-	}
-	
-	public int compareTo(Object object) {
-		Binding binding = (Binding) object;
-		int compareTo = Util.compare(action, binding.action); 
-		
-		if (compareTo == 0) {
-			compareTo = configuration.compareTo(binding.configuration);
-
-			if (compareTo == 0) {		
-				compareTo = keySequence.compareTo(binding.keySequence);
-
-				if (compareTo == 0) {		
-					compareTo = Util.compare(plugin, binding.plugin);
-
-					if (compareTo == 0) {
-						compareTo = rank - binding.rank;
-
-						if (compareTo == 0)
-							compareTo = scope.compareTo(binding.scope);
-					}
-				}
-			}
-		}
-
-		return compareTo;
-	}
-	
-	public boolean equals(Object object) {
-		if (!(object instanceof Binding))
-			return false;
-		
-		Binding binding = (Binding) object;
-		return Util.equals(action, binding.action) && configuration.equals(binding.configuration) && keySequence.equals(binding.keySequence) && 
-			Util.equals(plugin, binding.plugin) && rank == binding.rank && scope.equals(binding.scope);
-	}
-
-	public int hashCode() {
-		int result = HASH_INITIAL;
-		result = result * HASH_FACTOR + Util.hashCode(action);		
-		result = result * HASH_FACTOR + configuration.hashCode();
-		result = result * HASH_FACTOR + keySequence.hashCode();		
-		result = result * HASH_FACTOR + Util.hashCode(plugin);	
-		result = result * HASH_FACTOR + rank;	
-		result = result * HASH_FACTOR + scope.hashCode();
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/DialogCustomize.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/DialogCustomize.java
deleted file mode 100644
index 41829b4..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/DialogCustomize.java
+++ /dev/null
@@ -1,1435 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-	Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346
-************************************************************************/
-
-package org.eclipse.ui.internal.commands.keys;
-
-import java.text.Collator;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.ResourceBundle;
-import java.util.Set;
-import java.util.SortedMap;
-import java.util.SortedSet;
-import java.util.TreeMap;
-import java.util.TreeSet;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.RGB;
-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.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.internal.commands.Item;
-import org.eclipse.ui.internal.commands.Util;
-
-final class DialogCustomize extends Dialog {
-
-	private final static ResourceBundle resourceBundle = ResourceBundle.getBundle(DialogCustomize.class.getName());
-	
-	private final static String ACTION_CONFLICT = Util.getString(resourceBundle, "ActionConflict"); //$NON-NLS-1$
-	private final static String ACTION_UNDEFINED = Util.getString(resourceBundle, "ActionUndefined"); //$NON-NLS-1$
-	private final static int DIFFERENCE_ADD = 0;	
-	private final static int DIFFERENCE_CHANGE = 1;	
-	private final static int DIFFERENCE_MINUS = 2;	
-	private final static int DIFFERENCE_NONE = 3;	
-	private final static Image IMAGE_CHANGE = ImageFactory.getImage("change"); //$NON-NLS-1$
-	private final static Image IMAGE_MINUS = ImageFactory.getImage("minus"); //$NON-NLS-1$
-	private final static Image IMAGE_PLUS = ImageFactory.getImage("plus"); //$NON-NLS-1$
-	private final static RGB RGB_CONFLICT = new RGB(255, 0, 0);
-	private final static RGB RGB_CONFLICT_MINUS = new RGB(255, 192, 192);
-	private final static RGB RGB_MINUS =	new RGB(192, 192, 192);
-	private final static int SPACE = 8;	
-	private final static String ZERO_LENGTH_STRING = ""; //$NON-NLS-1$
-
-	private final class ActionRecord {
-
-		String actionId;
-		KeySequence keySequence;
-		String scopeId;
-		String configurationId;
-		Set customSet;
-		Set defaultSet;
-
-		boolean customConflict = false;
-		String customActionId = null;
-		boolean defaultConflict = false;
-		String defaultActionId = null;	
-
-		void calculate() {
-			if (customSet.size() > 1)
-				customConflict = true;
-			else if (!customSet.isEmpty())				
-				customActionId = (String) customSet.iterator().next();
-	
-			if (defaultSet.size() > 1)
-				defaultConflict = true;
-			else if (!defaultSet.isEmpty())				
-				defaultActionId = (String) defaultSet.iterator().next();
-		}
-	}
-
-	private final class KeySequenceRecord {
-
-		String scopeId;
-		String configurationId;
-		Set customSet;
-		Set defaultSet;
-
-		boolean customConflict = false;
-		String customActionId = null;
-		boolean defaultConflict = false;
-		String defaultActionId = null;	
-
-		void calculate() {
-			if (customSet.size() > 1)
-				customConflict = true;
-			else if (!customSet.isEmpty())				
-				customActionId = (String) customSet.iterator().next();
-	
-			if (defaultSet.size() > 1)
-				defaultConflict = true;
-			else if (!defaultSet.isEmpty())				
-				defaultActionId = (String) defaultSet.iterator().next();
-		}
-	}
-
-	private String defaultConfigurationId;
-	private String defaultScopeId;
-	private SortedSet preferenceBindingSet;	
-	
-	private KeyManager keyManager;
-	private KeyMachine keyMachine;
-	private SortedMap registryActionMap;
-	private SortedSet registryBindingSet;
-	private SortedMap registryConfigurationMap;
-	private SortedMap registryScopeMap;
-	
-	private List actions;
-	private List configurations;
-	private List scopes;
-
-	private String[] actionNames;
-	private String[] configurationNames;	
-	private String[] scopeNames;
-
-	private Label labelAction;
-	private Combo comboAction;
-	private Table tableAction;
-	//private Button buttonDetails;	
-	private Label labelKeySequence;
-	private Combo comboKeySequence;
-	private Table tableKeySequence;
-	//private Button buttonBrowseSelectedAction;
-	private Group groupState;
-	private Label labelScope; 
-	private Combo comboScope;
-	private Label labelConfiguration; 
-	private Combo comboConfiguration;
-	private Group groupAction;
-	private Button buttonDefault;
-	private Text textDefault;
-	private Button buttonCustom; 
-	private Combo comboCustom;
-
-	private SortedMap tree;
-	private Map nameToKeySequenceMap;
-	private List actionRecords = new ArrayList();	
-	private List keySequenceRecords = new ArrayList();
-
-	public DialogCustomize(Shell parentShell, String defaultConfigurationId, String defaultScopeId, SortedSet preferenceBindingSet)
-		throws IllegalArgumentException {
-		super(parentShell);
-		
-		if (defaultConfigurationId == null || defaultScopeId == null || preferenceBindingSet == null)
-			throw new IllegalArgumentException();
-			
-		this.defaultConfigurationId = defaultConfigurationId;
-		this.defaultScopeId = defaultScopeId;
-		preferenceBindingSet = new TreeSet(preferenceBindingSet);
-		Iterator iterator = preferenceBindingSet.iterator();
-		
-		while (iterator.hasNext())
-			if (!(iterator.next() instanceof Binding))
-				throw new IllegalArgumentException();
-	
-		this.preferenceBindingSet = preferenceBindingSet;
-
-		keyManager = KeyManager.getInstance();
-		keyMachine = keyManager.getKeyMachine();
-
-		registryActionMap = org.eclipse.ui.internal.commands.Registry.getInstance().getCommandMap();
-		actions = new ArrayList();
-		actions.addAll(registryActionMap.values());
-		Collections.sort(actions, Item.nameComparator());				
-	
-		registryBindingSet = keyManager.getRegistryBindingSet();
-		
-		registryConfigurationMap = keyManager.getRegistryConfigurationMap();
-		configurations = new ArrayList();
-		configurations.addAll(registryConfigurationMap.values());	
-		Collections.sort(configurations, Item.nameComparator());				
-		
-		registryScopeMap = keyManager.getRegistryScopeMap();	
-		scopes = new ArrayList();
-		scopes.addAll(registryScopeMap.values());	
-		Collections.sort(scopes, Item.nameComparator());				
-
-		actionNames = new String[1 + actions.size()];
-		actionNames[0] = ACTION_UNDEFINED;
-		
-		for (int i = 0; i < actions.size(); i++)
-			actionNames[i + 1] = ((Item) actions.get(i)).getName();
-
-		configurationNames = new String[configurations.size()];
-		
-		for (int i = 0; i < configurations.size(); i++)
-			configurationNames[i] = ((Item) configurations.get(i)).getName();
-
-		scopeNames = new String[scopes.size()];
-		
-		for (int i = 0; i < scopes.size(); i++)
-			scopeNames[i] = ((Item) scopes.get(i)).getName();
-		
-		tree = new TreeMap();
-		SortedSet bindingSet = new TreeSet();
-		bindingSet.addAll(preferenceBindingSet);
-		bindingSet.addAll(registryBindingSet);
-		iterator = bindingSet.iterator();
-		
-		while (iterator.hasNext()) {
-			Binding binding = (Binding) iterator.next();				
-			set(tree, binding, false);			
-		}
-
-		nameToKeySequenceMap = new HashMap();	
-		Collection keySequences = tree.keySet();
-		iterator = keySequences.iterator();
-
-		while (iterator.hasNext()) {
-			KeySequence keySequence = (KeySequence) iterator.next();
-			String name = keyManager.getTextForKeySequence(keySequence);
-			
-			if (!nameToKeySequenceMap.containsKey(name))
-				nameToKeySequenceMap.put(name, keySequence);
-		}
-
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-	}
-
-	public SortedSet getPreferenceBindingSet() {
-		return Collections.unmodifiableSortedSet(preferenceBindingSet);	
-	}
-
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		shell.setText(Util.getString(resourceBundle, "Title")); //$NON-NLS-1$
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = (Composite) super.createDialogArea(parent);
-		createUI(composite);
-		return composite;		
-	}	
-
-	protected void okPressed() {
-		preferenceBindingSet = solve(tree);
-		super.okPressed();
-	}
-
-	private void buildActionRecords(SortedMap tree, String actionId, List actionRecords) {
-		if (actionRecords != null) {
-			actionRecords.clear();
-				
-			if (tree != null) {
-				Iterator iterator = tree.entrySet().iterator();
-					
-				while (iterator.hasNext()) {
-					Map.Entry entry = (Map.Entry) iterator.next();
-					KeySequence keySequence = (KeySequence) entry.getKey();					
-					Map scopeMap = (Map) entry.getValue();						
-		
-					if (scopeMap != null) {
-						Iterator iterator2 = scopeMap.entrySet().iterator();
-						
-						while (iterator2.hasNext()) {
-							Map.Entry entry2 = (Map.Entry) iterator2.next();
-							String scopeId = (String) entry2.getKey();										
-							Map configurationMap = (Map) entry2.getValue();						
-							Iterator iterator3 = configurationMap.entrySet().iterator();
-										
-							while (iterator3.hasNext()) {
-								Map.Entry entry3 = (Map.Entry) iterator3.next();
-								String configurationId = (String) entry3.getKey();					
-								Map pluginMap = (Map) entry3.getValue();													
-								Set customSet = new HashSet();
-								Set defaultSet = new HashSet();						
-								buildPluginSets(pluginMap, customSet, defaultSet);
-
-								if (customSet.contains(actionId) || defaultSet.contains(actionId)) {
-									ActionRecord actionRecord = new ActionRecord();
-									actionRecord.actionId = actionId;
-									actionRecord.keySequence = keySequence;
-									actionRecord.scopeId = scopeId;
-									actionRecord.configurationId = configurationId;
-									actionRecord.customSet = customSet;
-									actionRecord.defaultSet = defaultSet;
-									actionRecord.calculate();	
-									actionRecords.add(actionRecord);									
-								}
-							}
-						}
-					}
-				}												
-			}	
-		}
-	}
-	
-	private void buildKeySequenceRecords(SortedMap tree, KeySequence keySequence, List keySequenceRecords) {
-		if (keySequenceRecords != null) {
-			keySequenceRecords.clear();
-			
-			if (tree != null && keySequence != null) {
-				Map scopeMap = (Map) tree.get(keySequence);
-			
-				if (scopeMap != null) {
-					Iterator iterator = scopeMap.entrySet().iterator();
-			
-					while (iterator.hasNext()) {
-						Map.Entry entry = (Map.Entry) iterator.next();
-						String scopeId2 = (String) entry.getKey();					
-						Map configurationMap = (Map) entry.getValue();						
-						Iterator iterator2 = configurationMap.entrySet().iterator();
-							
-						while (iterator2.hasNext()) {
-							Map.Entry entry2 = (Map.Entry) iterator2.next();
-							String configurationId2 = (String) entry2.getKey();					
-							Map pluginMap = (Map) entry2.getValue();			
-							KeySequenceRecord keySequenceRecord = new KeySequenceRecord();
-							keySequenceRecord.scopeId = scopeId2;
-							keySequenceRecord.configurationId = configurationId2;							
-							keySequenceRecord.customSet = new HashSet();
-							keySequenceRecord.defaultSet = new HashSet();						
-							buildPluginSets(pluginMap, keySequenceRecord.customSet, keySequenceRecord.defaultSet);			
-							keySequenceRecord.calculate();
-							keySequenceRecords.add(keySequenceRecord);
-						}												
-					}	
-				}								
-			}			
-		}
-	}
-
-	private void buildPluginSets(Map pluginMap, Set customSet, Set defaultSet) {
-		Iterator iterator = pluginMap.entrySet().iterator(); 
-
-		while (iterator.hasNext()) {
-			Map.Entry entry = (Map.Entry) iterator.next();
-			String pluginId = (String) entry.getKey();
-			Map actionMap = (Map) entry.getValue();
-			Iterator iterator2 = actionMap.keySet().iterator();
-	
-			while (iterator2.hasNext()) {
-				String actionId = (String) iterator2.next();
-		
-				if (pluginId == null)
-					customSet.add(actionId);
-				else 
-					defaultSet.add(actionId);									
-			}
-		}
-	}
-
-	private void buildTableAction() {
-		tableAction.removeAll();
-
-		for (int i = 0; i < actionRecords.size(); i++) {
-			ActionRecord actionRecord = (ActionRecord) actionRecords.get(i);
-			Set customSet = actionRecord.customSet;
-			Set defaultSet = actionRecord.defaultSet;
-			int difference = DIFFERENCE_NONE;
-			String actionId = null;
-			boolean actionConflict = false;
-			String alternateActionId = null;
-			boolean alternateActionConflict = false;
-	
-			if (customSet.isEmpty()) {
-				if (defaultSet.contains(actionRecord.actionId)) {												
-					actionId = actionRecord.actionId;
-					actionConflict = actionRecord.defaultConflict;					
-				}
-			} else {
-				if (defaultSet.isEmpty()) {									
-					if (customSet.contains(actionRecord.actionId)) {													
-						difference = DIFFERENCE_ADD;
-						actionId = actionRecord.actionId;
-						actionConflict = actionRecord.customConflict;
-					}
-				} else {
-					if (customSet.contains(actionRecord.actionId)) {
-						difference = DIFFERENCE_CHANGE;
-						actionId = actionRecord.actionId;
-						actionConflict = actionRecord.customConflict;		
-						alternateActionId = actionRecord.defaultActionId;
-						alternateActionConflict = actionRecord.defaultConflict;
-					} else {
-						if (defaultSet.contains(actionRecord.actionId)) {	
-							difference = DIFFERENCE_MINUS;
-							actionId = actionRecord.actionId;
-							actionConflict = actionRecord.defaultConflict;		
-							alternateActionId = actionRecord.customActionId;
-							alternateActionConflict = actionRecord.customConflict;
-						}
-					}
-				}								
-			}
-
-			TableItem tableItem = new TableItem(tableAction, SWT.NULL);					
-
-			switch (difference) {
-				case DIFFERENCE_ADD:
-					tableItem.setImage(0, IMAGE_PLUS);
-					break;
-
-				case DIFFERENCE_CHANGE:
-					tableItem.setImage(0, IMAGE_CHANGE);
-					break;
-
-				case DIFFERENCE_MINUS:
-					tableItem.setImage(0, IMAGE_MINUS);
-					break;
-
-				case DIFFERENCE_NONE:
-					break;				
-			}
-
-			boolean conflict = actionConflict || alternateActionConflict;
-			StringBuffer stringBuffer = new StringBuffer();
-
-			if (actionRecord.keySequence != null)
-				stringBuffer.append(keyManager.getTextForKeySequence(actionRecord.keySequence));
-
-			if (actionConflict)
-				stringBuffer.append(" " + ACTION_CONFLICT);
-
-			if (difference == DIFFERENCE_CHANGE) {
-				stringBuffer.append(" (was: ");
-				String alternateActionName = null;
-				
-				if (alternateActionId == null) 
-					alternateActionName = ACTION_UNDEFINED;
-				else {
-					Item action = (Item) registryActionMap.get(alternateActionId);
-					
-					if (action != null)
-						alternateActionName = action.getName();
-					else
-						alternateActionName = "[" + alternateActionId + "]";
-				}
-								
-				stringBuffer.append(alternateActionName);
-
-				if (alternateActionConflict)
-					stringBuffer.append(" " + ACTION_CONFLICT);
-
-				stringBuffer.append(')');
-			} else if (difference == DIFFERENCE_MINUS) {
-				stringBuffer.append(" (now: ");
-				
-				String alternateActionName = null;
-				
-				if (alternateActionId == null) 
-					alternateActionName = ACTION_UNDEFINED;
-				else {
-					Item action = (Item) registryActionMap.get(alternateActionId);
-					
-					if (action != null)
-						alternateActionName = action.getName();
-					else
-						alternateActionName = "[" + alternateActionId + "]";
-				}
-								
-				stringBuffer.append(alternateActionName);
-				
-				if (alternateActionConflict)
-					stringBuffer.append(" " + ACTION_CONFLICT);
-
-				stringBuffer.append(')');
-			}
-
-			tableItem.setText(1, stringBuffer.toString());				
-			Item scope = (Item) registryScopeMap.get(actionRecord.scopeId);
-			tableItem.setText(2, scope != null ? scope.getName() : "[" + actionRecord.scopeId + "]");
-			Item configuration = (Item) registryConfigurationMap.get(actionRecord.configurationId);			
-			tableItem.setText(3, configuration != null ? configuration.getName() : "[" + actionRecord.configurationId + "]");
-
-			if (difference == DIFFERENCE_MINUS) {
-				if (conflict)
-					tableItem.setForeground(new Color(getShell().getDisplay(), RGB_CONFLICT_MINUS));	
-				else 
-					tableItem.setForeground(new Color(getShell().getDisplay(), RGB_MINUS));	
-			} else if (conflict)
-				tableItem.setForeground(new Color(getShell().getDisplay(), RGB_CONFLICT));	
-		}			
-	}
-	
-	private void buildTableKeySequence() {
-		tableKeySequence.removeAll();
-	
-		for (int i = 0; i < keySequenceRecords.size(); i++) {
-			KeySequenceRecord keySequenceRecord = (KeySequenceRecord) keySequenceRecords.get(i);
-			int difference = DIFFERENCE_NONE;
-			String actionId = null;
-			boolean actionConflict = false;
-			String alternateActionId = null;
-			boolean alternateActionConflict = false;
-
-			if (keySequenceRecord.customSet.isEmpty()) {
-				actionId = keySequenceRecord.defaultActionId;															
-				actionConflict = keySequenceRecord.defaultConflict;
-			} else {
-				actionId = keySequenceRecord.customActionId;															
-				actionConflict = keySequenceRecord.customConflict;						
-
-				if (keySequenceRecord.defaultSet.isEmpty())
-					difference = DIFFERENCE_ADD;
-				else {
-					difference = DIFFERENCE_CHANGE;									
-					alternateActionId = keySequenceRecord.defaultActionId;
-					alternateActionConflict = keySequenceRecord.defaultConflict;																		
-				}
-			}
-
-			TableItem tableItem = new TableItem(tableKeySequence, SWT.NULL);					
-
-			switch (difference) {
-				case DIFFERENCE_ADD:
-					tableItem.setImage(0, IMAGE_PLUS);
-					break;
-	
-				case DIFFERENCE_CHANGE:
-					tableItem.setImage(0, IMAGE_CHANGE);
-					break;
-	
-				case DIFFERENCE_MINUS:
-					tableItem.setImage(0, IMAGE_MINUS);
-					break;
-	
-				case DIFFERENCE_NONE:
-					break;				
-			}
-
-			boolean conflict = actionConflict || alternateActionConflict;
-			StringBuffer stringBuffer = new StringBuffer();
-			String actionName = null;
-					
-			if (actionId == null) 
-				actionName = ACTION_UNDEFINED;
-			else {
-				Item action = (Item) registryActionMap.get(actionId);
-						
-				if (action != null)
-					actionName = action.getName();
-				else
-					actionName = "[" + actionId + "]";
-			}
-			
-			stringBuffer.append(actionName);
-
-			if (actionConflict)
-				stringBuffer.append(" " + ACTION_CONFLICT);
-
-			if (difference == DIFFERENCE_CHANGE) {
-				stringBuffer.append(" (was: ");
-				String alternateActionName = null;
-					
-				if (alternateActionId == null) 
-					alternateActionName = ACTION_UNDEFINED;
-				else {
-					Item action = (Item) registryActionMap.get(alternateActionId);
-						
-					if (action != null)
-						alternateActionName = action.getName();
-					else
-						alternateActionName = "[" + alternateActionId + "]";
-				}
-									
-				stringBuffer.append(alternateActionName);
-	
-				if (alternateActionConflict)
-					stringBuffer.append(" " + ACTION_CONFLICT);
-	
-				stringBuffer.append(')');
-			}
-	
-			tableItem.setText(1, stringBuffer.toString());
-			Item scope = (Item) registryScopeMap.get(keySequenceRecord.scopeId);
-			tableItem.setText(2, scope != null ? scope.getName() : "[" + keySequenceRecord.scopeId + "]");
-			Item configuration = (Item) registryConfigurationMap.get(keySequenceRecord.configurationId);			
-			tableItem.setText(3, configuration != null ? configuration.getName() : "[" + keySequenceRecord.configurationId + "]");
-
-			if (difference == DIFFERENCE_MINUS) {
-				if (conflict)
-					tableItem.setForeground(new Color(getShell().getDisplay(), RGB_CONFLICT_MINUS));	
-				else 
-					tableItem.setForeground(new Color(getShell().getDisplay(), RGB_MINUS));	
-			} else if (conflict)
-				tableItem.setForeground(new Color(getShell().getDisplay(), RGB_CONFLICT));	
-		}
-	}
-
-	private GridLayout createGridLayout() {
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.horizontalSpacing = SPACE;
-		gridLayout.marginHeight = SPACE;
-		gridLayout.marginWidth = SPACE;
-		gridLayout.verticalSpacing = SPACE;
-		return gridLayout;
-	}		
-		
-	private void createUI(Composite composite) {
-		Font font = composite.getFont();
-		GridLayout gridLayout = createGridLayout();
-		composite.setLayout(gridLayout);
-
-		Group groupBrowseAction = new Group(composite, SWT.NULL);	
-		groupBrowseAction.setFont(font);
-		gridLayout = createGridLayout();
-		gridLayout.numColumns = 3;		
-		groupBrowseAction.setLayout(gridLayout);
-		groupBrowseAction.setLayoutData(new GridData(GridData.FILL_BOTH));
-		groupBrowseAction.setText(Util.getString(resourceBundle, "GroupBrowseAction")); //$NON-NLS-1$	
-
-		labelAction = new Label(groupBrowseAction, SWT.LEFT);
-		labelAction.setFont(font);
-		labelAction.setText(Util.getString(resourceBundle, "LabelAction")); //$NON-NLS-1$
-
-		comboAction = new Combo(groupBrowseAction, SWT.READ_ONLY);
-		comboAction.setFont(font);
-		GridData gridData = new GridData();
-		gridData.widthHint = 250;
-		comboAction.setLayoutData(gridData);
-		
-		Label spacer = new Label(groupBrowseAction, SWT.NULL);
-		spacer.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));				
-
-		tableAction = new Table(groupBrowseAction, SWT.BORDER | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
-		tableAction.setHeaderVisible(true);
-		gridData = new GridData(GridData.FILL_BOTH);
-		gridData.heightHint = 75;		
-		gridData.horizontalSpan = 3;		
-		tableAction.setLayoutData(gridData);
-		tableAction.setFont(font);
-
-		TableColumn tableColumn = new TableColumn(tableAction, SWT.NULL, 0);
-		tableColumn.setResizable(false);
-		tableColumn.setText(ZERO_LENGTH_STRING);
-		tableColumn.setWidth(20);
-
-		tableColumn = new TableColumn(tableAction, SWT.NULL, 1);
-		tableColumn.setResizable(true);
-		tableColumn.setText(Util.getString(resourceBundle, "HeaderKeySequence")); //$NON-NLS-1$
-		tableColumn.setWidth(350);	
-
-		tableColumn = new TableColumn(tableAction, SWT.NULL, 2);
-		tableColumn.setResizable(true);
-		tableColumn.setText(Util.getString(resourceBundle, "HeaderScope")); //$NON-NLS-1$
-		tableColumn.setWidth(100);
-
-		tableColumn = new TableColumn(tableAction, SWT.NULL, 3);
-		tableColumn.setResizable(true);
-		tableColumn.setText(Util.getString(resourceBundle, "HeaderConfiguration")); //$NON-NLS-1$
-		tableColumn.setWidth(100);
-
-		/*
-		buttonDetails = new Button(groupBrowseAction, SWT.CENTER | SWT.PUSH);
-		buttonDetails(font);
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		gridData.heightHint = convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-		gridData.horizontalSpan = 3;				
-		int widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		buttonDetails.setText(Util.getString(resourceBundle, "ButtonDetails")); //$NON-NLS-1$
-		gridData.widthHint = Math.max(widthHint, buttonDetails.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x) + SPACE;
-		buttonDetails.setLayoutData(gridData);		
-		*/
-
-		Group groupBrowseKeySequence = new Group(composite, SWT.NULL);	
-		groupBrowseKeySequence.setFont(font);
-		gridLayout = createGridLayout();
-		gridLayout.numColumns = 3;		
-		groupBrowseKeySequence.setLayout(gridLayout);
-		groupBrowseKeySequence.setLayoutData(new GridData(GridData.FILL_BOTH));
-		groupBrowseKeySequence.setText(Util.getString(resourceBundle, "GroupBrowseKeySequence")); //$NON-NLS-1$	
-
-		labelKeySequence = new Label(groupBrowseKeySequence, SWT.LEFT);
-		labelKeySequence.setFont(font);
-		labelKeySequence.setText(Util.getString(resourceBundle, "LabelKeySequence")); //$NON-NLS-1$
-
-		comboKeySequence = new Combo(groupBrowseKeySequence, SWT.NULL);
-		comboKeySequence.setFont(font);
-		gridData = new GridData();
-		gridData.widthHint = 250;
-		comboKeySequence.setLayoutData(gridData);
-		
-		spacer = new Label(groupBrowseKeySequence, SWT.NULL);
-		spacer.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));				
-
-		tableKeySequence = new Table(groupBrowseKeySequence, SWT.BORDER | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
-		tableKeySequence.setHeaderVisible(true);
-		gridData = new GridData(GridData.FILL_BOTH);
-		gridData.heightHint = 75;		
-		gridData.horizontalSpan = 3;		
-		tableKeySequence.setLayoutData(gridData);
-		tableKeySequence.setFont(font);
-
-		tableColumn = new TableColumn(tableKeySequence, SWT.NULL, 0);
-		tableColumn.setResizable(false);
-		tableColumn.setText(ZERO_LENGTH_STRING);
-		tableColumn.setWidth(20);
-
-		tableColumn = new TableColumn(tableKeySequence, SWT.NULL, 1);
-		tableColumn.setResizable(true);
-		tableColumn.setText(Util.getString(resourceBundle, "HeaderAction")); //$NON-NLS-1$
-		tableColumn.setWidth(350);	
-		
-		tableColumn = new TableColumn(tableKeySequence, SWT.NULL, 2);
-		tableColumn.setResizable(true);
-		tableColumn.setText(Util.getString(resourceBundle, "HeaderScope")); //$NON-NLS-1$
-		tableColumn.setWidth(100);
-
-		tableColumn = new TableColumn(tableKeySequence, SWT.NULL, 3);
-		tableColumn.setResizable(true);
-		tableColumn.setText(Util.getString(resourceBundle, "HeaderConfiguration")); //$NON-NLS-1$
-		tableColumn.setWidth(100);
-
-		/*
-		buttonBrowseSelectedAction = new Button(groupBrowseKeySequence, SWT.CENTER | SWT.PUSH);
-		buttonBrowseSelectedAction.setFont(font);
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		gridData.heightHint = convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-		gridData.horizontalSpan = 3;				
-		int widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		buttonBrowseSelectedAction.setText(Util.getString(resourceBundle, "ButtonBrowseSelectedAction")); //$NON-NLS-1$
-		gridData.widthHint = Math.max(widthHint, buttonBrowseSelectedAction.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x) + SPACE;
-		buttonBrowseSelectedAction.setLayoutData(gridData);		
-		*/
-		
-		Composite compositeStateAndAction = new Composite(groupBrowseKeySequence, SWT.NULL);
-		gridLayout = createGridLayout();
-		gridLayout.marginHeight = 0;
-		gridLayout.marginWidth = 0;		
-		gridLayout.numColumns = 2;
-		compositeStateAndAction.setLayout(gridLayout);
-		gridData = new GridData(GridData.FILL_HORIZONTAL);
-		gridData.horizontalSpan = 3;
-		compositeStateAndAction.setLayoutData(gridData);
-
-		groupState = new Group(compositeStateAndAction, SWT.NULL);	
-		groupState.setFont(font);
-		gridLayout = createGridLayout();
-		gridLayout.numColumns = 2;		
-		groupState.setLayout(gridLayout);
-		groupState.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		groupState.setText(Util.getString(resourceBundle, "GroupState")); //$NON-NLS-1$
-
-		labelScope = new Label(groupState, SWT.LEFT);
-		labelScope.setFont(font);
-		labelScope.setText(Util.getString(resourceBundle, "LabelScope")); //$NON-NLS-1$
-
-		comboScope = new Combo(groupState, SWT.READ_ONLY);
-		comboScope.setFont(font);
-		gridData = new GridData(GridData.FILL_HORIZONTAL);
-		gridData.widthHint = 100;
-		comboScope.setLayoutData(gridData);
-
-		labelConfiguration = new Label(groupState, SWT.LEFT);
-		labelConfiguration.setFont(font);
-		labelConfiguration.setText(Util.getString(resourceBundle, "LabelConfiguration")); //$NON-NLS-1$
-
-		comboConfiguration = new Combo(groupState, SWT.READ_ONLY);
-		comboConfiguration.setFont(font);
-		gridData = new GridData(GridData.FILL_HORIZONTAL);
-		gridData.widthHint = 100;
-		comboConfiguration.setLayoutData(gridData);
-
-		groupAction = new Group(compositeStateAndAction, SWT.NULL);	
-		groupAction.setFont(font);
-		gridLayout = createGridLayout();
-		gridLayout.numColumns = 2;		
-		groupAction.setLayout(gridLayout);
-		groupAction.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		groupAction.setText(Util.getString(resourceBundle, "GroupAction")); //$NON-NLS-1$
-
-		buttonDefault = new Button(groupAction, SWT.LEFT | SWT.RADIO);
-		buttonDefault.setFont(font);
-		buttonDefault.setText(Util.getString(resourceBundle, "ButtonDefault")); //$NON-NLS-1$
-
-		textDefault = new Text(groupAction, SWT.BORDER | SWT.READ_ONLY);
-		textDefault.setFont(font);
-		gridData = new GridData(GridData.FILL_HORIZONTAL);
-		gridData.widthHint = 250;
-		textDefault.setLayoutData(gridData);
-
-		buttonCustom = new Button(groupAction, SWT.LEFT | SWT.RADIO);
-		buttonCustom.setFont(font);
-		buttonCustom.setText(Util.getString(resourceBundle, "ButtonCustom")); //$NON-NLS-1$
-
-		comboCustom = new Combo(groupAction, SWT.READ_ONLY);
-		comboCustom.setFont(font);
-		gridData = new GridData(GridData.FILL_HORIZONTAL);
-		gridData.widthHint = 250;
-		comboCustom.setLayoutData(gridData);
-
-		comboAction.setItems(actionNames);
-		comboKeySequence.setItems(getKeySequences());
-		comboScope.setItems(scopeNames);
-		comboConfiguration.setItems(configurationNames);
-		comboCustom.setItems(actionNames);
-
-		setConfigurationId(defaultConfigurationId);
-		setScopeId(defaultScopeId);
-		setAction(Collections.EMPTY_SET, Collections.EMPTY_SET);
-
-		comboAction.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectedComboAction();
-			}	
-		});
-
-		tableAction.addMouseListener(new MouseAdapter() {
-			public void mouseDoubleClick(MouseEvent e) {
-				selectedButtonDetails();	
-			}			
-		});		
-
-		tableAction.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectedTableAction();
-			}	
-		});
-
-		/*
-		buttonDetails.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectedButtonDetails();
-			}	
-		});
-		*/		
-
-		comboKeySequence.addModifyListener(new ModifyListener() {			
-			public void modifyText(ModifyEvent e) {
-				modifiedComboKeySequence();
-			}	
-		});
-
-		comboKeySequence.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectedComboKeySequence();
-			}	
-		});
-
-		tableKeySequence.addMouseListener(new MouseAdapter() {
-			public void mouseDoubleClick(MouseEvent e) {
-				selectedButtonBrowseSelectedAction();	
-			}			
-		});		
-
-		tableKeySequence.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {			
-				selectedTableKeySequence();
-			}	
-		});
-
-		/*
-		buttonBrowseSelectedAction.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectedButtonBrowseSelectedAction();
-			}	
-		});
-		*/
-
-		comboScope.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectedComboScope();
-			}	
-		});
-
-		comboConfiguration.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectedComboConfiguration();
-			}	
-		});
-
-		buttonDefault.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectedButtonDefault();
-			}	
-		});
-
-		buttonCustom.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectedButtonCustom();
-			}	
-		});
-		
-		comboCustom.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectedComboCustom();
-			}	
-		});
-
-		update();
-	}
-
-	private ActionRecord getSelectedActionRecord() {		
-		int selection = tableAction.getSelectionIndex();
-		
-		if (selection >= 0 && selection < actionRecords.size() && tableAction.getSelectionCount() == 1)
-			return (ActionRecord) actionRecords.get(selection);
-		else
-			return null;
-	}
-
-	private KeySequenceRecord getSelectedKeySequenceRecord() {		
-		int selection = tableKeySequence.getSelectionIndex();
-		
-		if (selection >= 0 && selection < keySequenceRecords.size() && tableKeySequence.getSelectionCount() == 1)
-			return (KeySequenceRecord) keySequenceRecords.get(selection);
-		else
-			return null;
-	}
-
-	private void selectTableAction(String scopeId, String configurationId, KeySequence keySequence) {	
-		int selection = -1;
-		
-		for (int i = 0; i < actionRecords.size(); i++) {
-			ActionRecord actionRecord = (ActionRecord) actionRecords.get(i);			
-			
-			if (Util.equals(scopeId, actionRecord.scopeId) && Util.equals(configurationId, actionRecord.configurationId) && 
-				Util.equals(keySequence, actionRecord.keySequence)) {
-				selection = i;
-				break;			
-			}			
-		}
-
-		if (tableAction.getSelectionCount() > 1)
-			tableAction.deselectAll();
-
-		if (selection != tableAction.getSelectionIndex()) {
-			if (selection == -1 || selection >= tableAction.getItemCount())
-				tableAction.deselectAll();
-			else
-				tableAction.select(selection);
-		}
-	}
-
-	private void selectTableKeySequence(String scopeId, String configurationId) {		
-		int selection = -1;
-		
-		for (int i = 0; i < keySequenceRecords.size(); i++) {
-			KeySequenceRecord keySequenceRecord = (KeySequenceRecord) keySequenceRecords.get(i);			
-			
-			if (Util.equals(scopeId, keySequenceRecord.scopeId) && Util.equals(configurationId, keySequenceRecord.configurationId)) {
-				selection = i;
-				break;			
-			}			
-		}
-
-		if (tableKeySequence.getSelectionCount() > 1)
-			tableKeySequence.deselectAll();
-
-		if (selection != tableKeySequence.getSelectionIndex()) {
-			if (selection == -1 || selection >= tableKeySequence.getItemCount())
-				tableKeySequence.deselectAll();
-			else
-				tableKeySequence.select(selection);
-		}
-	}
-
-	private void clear(SortedMap tree, KeySequence keySequence, String scope, String configuration) {			
-		Map scopeMap = (Map) tree.get(keySequence);
-		
-		if (scopeMap != null) {
-			Map configurationMap = (Map) scopeMap.get(scope);
-		
-			if (configurationMap != null) {
-				Map pluginMap = (Map) configurationMap.get(configuration);
-	
-				if (pluginMap != null) {
-					pluginMap.remove(null);
-					
-					if (pluginMap.isEmpty()) {
-						configurationMap.remove(configuration);
-						
-						if (configurationMap.isEmpty()) {
-							scopeMap.remove(scope);	
-
-							if (scopeMap.isEmpty()) {
-								tree.remove(keySequence);	
-							}							
-						}	
-					}	
-				}	
-			}
-		}
-	}
-
-	private void set(SortedMap tree, Binding binding, boolean consolidate) {			
-		Map scopeMap = (Map) tree.get(binding.getKeySequence());
-		
-		if (scopeMap == null) {
-			scopeMap = new TreeMap();	
-			tree.put(binding.getKeySequence(), scopeMap);
-		}
-
-		Map configurationMap = (Map) scopeMap.get(binding.getScope());
-		
-		if (configurationMap == null) {
-			configurationMap = new TreeMap();	
-			scopeMap.put(binding.getScope(), configurationMap);
-		}
-		
-		Map pluginMap = (Map) configurationMap.get(binding.getConfiguration());
-		
-		if (pluginMap == null) {
-			pluginMap = new HashMap();	
-			configurationMap.put(binding.getConfiguration(), pluginMap);
-		}
-
-		Map actionMap = consolidate ? null : (Map) pluginMap.get(binding.getPlugin());
-		
-		if (actionMap == null) {
-			actionMap = new HashMap();	
-			pluginMap.put(binding.getPlugin(), actionMap);
-		}
-
-		Set bindingSet = (Set) actionMap.get(binding.getAction());
-		
-		if (bindingSet == null) {
-			bindingSet = new TreeSet();
-			actionMap.put(binding.getAction(), bindingSet);	
-		}
-
-		if (consolidate)
-			bindingSet.clear();
-		
-		bindingSet.add(binding);
-	}
-
-	private SortedSet solve(SortedMap tree) {
-		SortedSet bindingSet = new TreeSet();
-		Iterator iterator = tree.values().iterator();
-		
-		while (iterator.hasNext()) {
-			Map scopeMap = (Map) iterator.next();
-			Iterator iterator2 = scopeMap.values().iterator();
-			
-			while (iterator2.hasNext()) {
-				Map configurationMap = (Map) iterator2.next();
-				Iterator iterator3 = configurationMap.values().iterator();
-				
-				while (iterator3.hasNext()) {
-					Map pluginMap = (Map) iterator3.next();
-					Map actionMap = (Map) pluginMap.get(null);
-					
-					if (actionMap != null) {
-						Iterator iterator4 = actionMap.values().iterator();
-						
-						while (iterator4.hasNext())
-							bindingSet.addAll((Set) iterator4.next());
-					}
-				}
-			}		
-		}
-		
-		return bindingSet;
-	}
-
-	private String getScopeId() {
-		int selection = comboScope.getSelectionIndex();
-		
-		if (selection >= 0 && selection < scopes.size()) {
-			Item scope = (Item) scopes.get(selection);
-			return scope.getId();				
-		}
-		
-		return null;
-	}
-
-	private void setScopeId(String scopeId) {				
-		comboScope.clearSelection();
-		comboScope.deselectAll();
-		
-		if (scopeId != null)	
-			for (int i = 0; i < scopes.size(); i++) {
-				Item scope = (Item) scopes.get(i);		
-				
-				if (scope.getId().equals(scopeId)) {
-					comboScope.select(i);
-					break;		
-				}
-			}
-	}
-
-	private String getConfigurationId() {
-		int selection = comboConfiguration.getSelectionIndex();
-		
-		if (selection >= 0 && selection < configurations.size()) {
-			Item configuration = (Item) configurations.get(selection);
-			return configuration.getId();				
-		}
-		
-		return null;
-	}
-
-	private void setConfigurationId(String configurationId) {				
-		comboConfiguration.clearSelection();
-		comboConfiguration.deselectAll();
-		
-		if (configurationId != null)	
-			for (int i = 0; i < configurations.size(); i++) {
-				Item configuration = (Item) configurations.get(i);		
-				
-				if (configuration.getId().equals(configurationId)) {
-					comboConfiguration.select(i);
-					break;		
-				}
-			}
-	}	
-	
-	private void setAction(Set customSet, Set defaultSet) {	
-		boolean customConflict = false;
-		String customActionId = null;
-		boolean defaultConflict = false;
-		String defaultActionId = null;	
-
-		if (customSet.size() > 1)
-			customConflict = true;
-		else if (!customSet.isEmpty())				
-			customActionId = (String) customSet.iterator().next();
-	
-		if (defaultSet.size() > 1)
-			defaultConflict = true;
-		else if (!defaultSet.isEmpty())				
-			defaultActionId = (String) defaultSet.iterator().next();
-
-		buttonDefault.setSelection(customSet.isEmpty());
-		textDefault.setText(defaultActionId != null ? defaultActionId : ZERO_LENGTH_STRING);
-
-		if (defaultConflict)
-			textDefault.setText(ACTION_CONFLICT);
-		else {
-			if (defaultActionId == null)
-				textDefault.setText(ACTION_UNDEFINED);
-			else {
-				for (int j = 0; j < actions.size(); j++) {
-					Item action = (Item) actions.get(j);		
-								
-					if (action.getId().equals(defaultActionId)) {
-						textDefault.setText(action.getName());
-						break;		
-					}
-				}
-			}
-		}	
-
-		buttonCustom.setSelection(!customSet.isEmpty());
-		comboCustom.deselectAll();
-		comboCustom.setText(customActionId != null ? customActionId : ZERO_LENGTH_STRING);
-		
-		if (!customSet.isEmpty()) {
-			if (customConflict)
-				comboCustom.setText(ACTION_CONFLICT);
-			else {			
-				if (customActionId == null)
-					comboCustom.select(0);
-				else
-					for (int i = 0; i < actions.size(); i++) {
-						Item action = (Item) actions.get(i);		
-								
-						if (action.getId().equals(customActionId)) {
-							comboCustom.select(i + 1);
-							break;		
-						}
-					}			
-			}
-		}
-	}
-
-	private String[] getKeySequences() {
-		String[] items = (String[]) nameToKeySequenceMap.keySet().toArray(new String[nameToKeySequenceMap.size()]);
-		Arrays.sort(items, Collator.getInstance());
-		return items;
-	}
-
-	private void selectedComboAction() {
-		actionRecords.clear();
-		int selection = comboAction.getSelectionIndex();
-
-		if (selection >= 0 && selection <= actions.size() && tree != null) {		
-			String actionId = null;				
-			
-			if (selection > 0) {
-				Item action = (Item) actions.get(selection - 1);
-				actionId = action.getId();
-			}
-
-			buildActionRecords(tree, actionId, actionRecords);
-		} 
-
-		buildTableAction();
-		update();
-	}
-
-	private void selectedTableAction() {
-		int i = tableAction.getSelectionIndex();
-
-		if (i >= 0) {
-			ActionRecord actionRecord = (ActionRecord) actionRecords.get(i);						
-					
-			if (actionRecord != null) {
-				comboKeySequence.clearSelection();
-				comboKeySequence.deselectAll();
-		
-				if (actionRecord.keySequence != null) {
-					String name = keyManager.getTextForKeySequence(actionRecord.keySequence);
-			
-					if (name != null)
-						comboKeySequence.setText(name);
-				}	
-
-				keySequenceRecords.clear();
-				buildKeySequenceRecords(tree, actionRecord.keySequence, keySequenceRecords);
-				buildTableKeySequence();
-				selectTableKeySequence(actionRecord.scopeId, actionRecord.configurationId);				
-				setScopeId(actionRecord.scopeId);
-				setConfigurationId(actionRecord.configurationId);
-				setAction(actionRecord.customSet, actionRecord.defaultSet);			
-			}
-		}
-
-		update();
-	}	
-	
-	private void selectedButtonDetails() {
-		// TBD add dialog to display the plugin map for selected row in tableAction
-	}
-
-	private void modifiedComboKeySequence() {
-		selectedComboKeySequence();
-	}
-	
-	private void selectedComboKeySequence() {			
-		KeySequence keySequence = null;
-		String name = comboKeySequence.getText();		
-		keySequence = (KeySequence) nameToKeySequenceMap.get(name);
-			
-		if (keySequence == null)
-			// TBD review. still not strict enough. convertAccelerator says 'Ctrl+Ax' is valid.				
-			keySequence = KeyManager.parseKeySequenceStrict(name);
-
-		keySequenceRecords.clear();
-		buildKeySequenceRecords(tree, keySequence, keySequenceRecords);
-		buildTableKeySequence();
-		String scopeId = getScopeId();
-		String configurationId = getConfigurationId();
-		selectTableKeySequence(scopeId, configurationId);		
-		KeySequenceRecord keySequenceRecord = (KeySequenceRecord) getSelectedKeySequenceRecord();
-		
-		if (keySequenceRecord != null)
-			setAction(keySequenceRecord.customSet, keySequenceRecord.defaultSet);
-		else
-			setAction(Collections.EMPTY_SET, Collections.EMPTY_SET);	
-
-		update();
-	}	
-	
-	private void selectedTableKeySequence() {
-		KeySequenceRecord keySequenceRecord = (KeySequenceRecord) getSelectedKeySequenceRecord();
-		
-		if (keySequenceRecord != null) {
-			setScopeId(keySequenceRecord.scopeId);
-			setConfigurationId(keySequenceRecord.configurationId);				
-			setAction(keySequenceRecord.customSet, keySequenceRecord.defaultSet);
-		} else
-			setAction(Collections.EMPTY_SET, Collections.EMPTY_SET);	
-
-		update();
-	}
-	
-	private void selectedButtonBrowseSelectedAction() {
-		/*
-		KeySequenceRecord keySequenceRecord = getSelectedKeySequenceRecord();
-		
-		if (keySequenceRecord != null) {
-
-			if (!actionConflict) {
-				comboAction.deselectAll();
-
-				for (int i = 0; )				
-
-				browseAction(actionId);
-				return;
-			}		
-		} 
-		
-		unbrowseAction();
-		*/	
-	
-		update();
-	}
-
-	private void selectedComboScope() {
-		selectedComboState();	
-	}
-
-	private void selectedComboConfiguration() {	
-		selectedComboState();
-	}
-
-	private void selectedComboState() {
-		selectTableKeySequence(getScopeId(), getConfigurationId());
-		KeySequenceRecord keySequenceRecord = (KeySequenceRecord) getSelectedKeySequenceRecord();
-		
-		if (keySequenceRecord != null)		
-			setAction(keySequenceRecord.customSet, keySequenceRecord.defaultSet);
-		else
-			setAction(Collections.EMPTY_SET, Collections.EMPTY_SET);
-
-		update();
-	}
-
-	private void selectedButtonDefault() {
-		change(false);
-	}
-
-	private void selectedButtonCustom() {		
-		change(true);
-	}
-
-	private void selectedComboCustom() {
-		change(true);
-	}
-
-	private void change(boolean custom) {
-		int selection = comboCustom.getSelectionIndex();
-				
-		if (selection < 0)
-			comboCustom.select(comboAction.getSelectionIndex());
-
-		KeySequence keySequence = null;
-		String name = comboKeySequence.getText();
-		
-		if (name != null || name.length() > 0) {
-			keySequence = (KeySequence) nameToKeySequenceMap.get(name);
-			
-			if (keySequence == null)
-				keySequence = KeyManager.parseKeySequenceStrict(name);
-		}				
-
-		String scopeId = getScopeId();
-		String configurationId = getConfigurationId();
-
-		if (keySequence != null) {
-			if (!custom)
-				clear(tree, keySequence, scopeId, configurationId);						
-			else { 
-				String actionId = null;				
-				selection = comboCustom.getSelectionIndex();
-				
-				if (selection < 0)
-					selection = comboAction.getSelectionIndex();
-		
-				selection--;
-			
-				if (selection >= 0 && selection < actions.size()) {
-					Item action = (Item) actions.get(selection);
-					actionId = action.getId();
-				}				
-
-				set(tree, Binding.create(actionId, configurationId, keySequence, null, 0, scopeId), true);				
-				/*
-				name = keyManager.getTextForKeySequence(keySequence);			
-				
-				if (!nameToKeySequenceMap.containsKey(name))
-					nameToKeySequenceMap.put(name, keySequence);
-	
-				comboKeySequence.setItems(getKeySequences());
-				*/					
-			}
-		}
-
-		selectedComboAction();
-		keySequenceRecords.clear();
-		
-		if (keySequence != null)	
-			buildKeySequenceRecords(tree, keySequence, keySequenceRecords);
-		
-		buildTableKeySequence();
-		selectTableKeySequence(scopeId, configurationId);
-		update();
-	}
-
-	private void update() {
-		boolean bValidAction = comboAction.getSelectionIndex() >= 0;
-		tableAction.setEnabled(bValidAction);
-
-		KeySequence keySequence = null;
-		String name = comboKeySequence.getText();
-		
-		if (name != null || name.length() > 0) {
-			keySequence = (KeySequence) nameToKeySequenceMap.get(name);
-			
-			if (keySequence == null)
-				keySequence = KeyManager.parseKeySequenceStrict(name);
-		}				
-
-		boolean bValidKeySequence = keySequence != null && keySequence.getKeyStrokes().size() >= 1;
-		tableKeySequence.setEnabled(bValidKeySequence);		
-		//buttonBrowseSelectedAction.setEnabled(bValidKeySequence); //TBD + table has selection
-		groupState.setEnabled(bValidKeySequence);
-		labelScope.setEnabled(bValidKeySequence);
-		comboScope.setEnabled(bValidKeySequence);
-		labelConfiguration.setEnabled(bValidKeySequence);
-		comboConfiguration.setEnabled(bValidKeySequence);
-		groupAction.setEnabled(bValidKeySequence);
-		buttonDefault.setEnabled(bValidKeySequence);
-		textDefault.setEnabled(bValidKeySequence);
-		buttonCustom.setEnabled(bValidKeySequence);
-		comboCustom.setEnabled(bValidKeySequence);
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/DialogCustomize.properties b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/DialogCustomize.properties
deleted file mode 100644
index c22c6ab..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/DialogCustomize.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-ActionConflict=<conflict>
-ActionUndefined=<undefined>
-ButtonBrowseSelectedAction=&Browse Selected Action
-ButtonCustom=Cus&tom:
-ButtonDefault=&Default:
-ButtonDetails=De&tails...
-GroupAction=Action
-GroupBrowseAction=Browse By Action
-GroupBrowseKeySequence=Browse Or Customize By Key Sequence
-GroupState=When
-HeaderAction=Action
-HeaderConfiguration=Configuration
-HeaderKeySequence=Key Sequence
-HeaderScope=Scope
-LabelAction=&Action:
-LabelConfiguration=&Configuration:
-LabelKeySequence=&Key Sequence:
-LabelScope=&Scope:
-Title=Key Bindings
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/ImageFactory.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/ImageFactory.java
deleted file mode 100644
index a7ca156..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/ImageFactory.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands.keys;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.PlatformUI;
-
-final class ImageFactory {
-
-	private static ImageRegistry imageRegistry = new ImageRegistry();
-	private static Map map = new HashMap();
-	
-	static {
-		put("change", "icons/full/commands/change.gif"); //$NON-NLS-1$//$NON-NLS-2$
-		put("exclamation", "icons/full/commands/exclamation.gif"); //$NON-NLS-1$//$NON-NLS-2$
-		put("minus", "icons/full/commands/minus.gif"); //$NON-NLS-1$//$NON-NLS-2$
-		put("plus", "icons/full/commands/plus.gif"); //$NON-NLS-1$//$NON-NLS-2$
-	}
-
-	private static ImageDescriptor create(String path) {
-		try {
-			URL url = Platform.getPlugin(PlatformUI.PLUGIN_ID).getDescriptor().getInstallURL();
-			url = new URL(url, path);
-			return ImageDescriptor.createFromURL(url);
-		} catch (MalformedURLException eMalformedURL) {
-			return null;
-		}
-	}
-
-	private static void put(String key, String value) {
-		map.put(key, create(value));	
-	}
-
-	static Image getImage(String key) {
-		Image image = (Image) imageRegistry.get(key);
-
-		if (image == null) {
-			ImageDescriptor imageDescriptor = getImageDescriptor(key);
-
-			if (imageDescriptor != null) {
-				image = imageDescriptor.createImage(false);
-
-				if (image == null)
-					System.err.println(ImageFactory.class + ": error creating image for " + key); //$NON-NLS-1$
-
-				imageRegistry.put(key, image);
-			}
-		}
-
-		return image;
-	}
-
-	static ImageDescriptor getImageDescriptor(String key) {
-		ImageDescriptor imageDescriptor = (ImageDescriptor) map.get(key);
-
-		if (imageDescriptor == null)
-			System.err.println(ImageFactory.class + ": no image descriptor for " + key); //$NON-NLS-1$
-
-		return imageDescriptor;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/KeyMachine.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/KeyMachine.java
deleted file mode 100644
index cd4a653..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/KeyMachine.java
+++ /dev/null
@@ -1,316 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands.keys;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.SortedMap;
-import java.util.SortedSet;
-import java.util.TreeMap;
-import java.util.TreeSet;
-
-public final class KeyMachine {
-
-	public static KeyMachine create() {
-		return new KeyMachine();
-	}
-
-	private Map actionMap;
-	private Map actionMapForMode;
-	private SortedSet bindingSet;
-	private String configuration;
-	private SortedMap configurationMap;
-	private Map keySequenceMap;
-	private Map keySequenceMapForMode;
-	private SortedSet matchSet;	
-	private SortedSet matchSetForMode;
-	private KeySequence mode;
-	private SortedMap scopeMap;
-	private String[] scopes;
-	private boolean solved;
-	private SortedMap tree;
-
-	private KeyMachine() {
-		super();
-		configurationMap = new TreeMap();
-		scopeMap = new TreeMap();
-		bindingSet = new TreeSet();		
-		configuration = "org.eclipse.ui.defaultConfiguration";
-		scopes = new String[] { "org.eclipse.ui.globalScope" };
-		mode = KeySequence.create();	
-	}
-
-	public Map getActionMap() {
-		if (actionMap == null)
-			actionMap = Collections.unmodifiableMap(Node.toActionMap(getMatchSet()));				
-		
-		return actionMap;
-	}
-	
-	public Map getActionMapForMode() {
-		if (actionMapForMode == null)
-			actionMapForMode = Collections.unmodifiableMap(Node.toActionMap(getMatchSetForMode()));				
-		
-		return actionMapForMode;
-	}
-
-	public SortedSet getBindingSet() {
-		return bindingSet;	
-	}
-
-	public String getConfiguration() {
-		return configuration;
-	}		
-
-	public SortedMap getConfigurationMap() {
-		return configurationMap;	
-	}
-
-	public Map getKeySequenceMap() {
-		if (keySequenceMap == null)
-			keySequenceMap = Collections.unmodifiableMap(Node.toKeySequenceMap(getMatchSet()));				
-		
-		return keySequenceMap;
-	}
-
-	public Map getKeySequenceMapForMode() {
-		if (keySequenceMapForMode == null)
-			keySequenceMapForMode = Collections.unmodifiableMap(Node.toKeySequenceMap(getMatchSetForMode()));				
-		
-		return keySequenceMapForMode;
-	}
-
-	public SortedSet getMatchSet() {
-		if (matchSet == null) {
-			solve();
-			SortedSet matchSet = new TreeSet();			
-			Node.toMatchSet(tree, matchSet);
-			this.matchSet = Collections.unmodifiableSortedSet(matchSet);
-		}
-		
-		return matchSet;
-	}
-
-	public SortedSet getMatchSetForMode() {
-		if (matchSetForMode == null) {
-			SortedSet matchSetForMode = new TreeSet();
-			Iterator iterator = getMatchSet().iterator();
-			
-			while (iterator.hasNext()) {
-				Match match = (Match) iterator.next();
-
-				if (match.getBinding().getKeySequence().isChildOf(mode, false))
-					matchSetForMode.add(match);				
-			}
-
-			this.matchSetForMode = Collections.unmodifiableSortedSet(matchSetForMode);
-		}
-		
-		return matchSetForMode;
-	}
-
-	public KeySequence getMode() {
-		return mode;	
-	}	
-
-	public SortedMap getScopeMap() {
-		return scopeMap;	
-	}	
-	
-	public String[] getScopes() {
-		return (String[]) scopes.clone();
-	}		
-
-	public boolean setBindingSet(SortedSet bindingSet)
-		throws IllegalArgumentException {
-		if (bindingSet == null)
-			throw new IllegalArgumentException();
-		
-		bindingSet = new TreeSet(bindingSet);
-		Iterator iterator = bindingSet.iterator();
-		
-		while (iterator.hasNext())
-			if (!(iterator.next() instanceof Binding))
-				throw new IllegalArgumentException();
-
-		if (this.bindingSet.equals(bindingSet))
-			return false;
-		
-		this.bindingSet = Collections.unmodifiableSortedSet(bindingSet);
-		invalidateTree();
-		return true;
-	}
-
-	public boolean setConfiguration(String configuration) {
-		if (configuration == null)
-			throw new IllegalArgumentException();
-			
-		if (this.configuration.equals(configuration))
-			return false;
-		
-		this.configuration = configuration;
-		invalidateSolution();
-		return true;
-	}
-
-	public boolean setConfigurationMap(SortedMap configurationMap)
-		throws IllegalArgumentException {
-		if (configurationMap == null)
-			throw new IllegalArgumentException();
-			
-		configurationMap = new TreeMap(configurationMap);
-		Iterator iterator = configurationMap.entrySet().iterator();
-		
-		while (iterator.hasNext()) {
-			Map.Entry entry = (Map.Entry) iterator.next();
-			
-			if (!(entry.getKey() instanceof String) || !(entry.getValue() instanceof Path))
-				throw new IllegalArgumentException();			
-		}
-
-		if (this.configurationMap.equals(configurationMap))
-			return false;
-					
-		this.configurationMap = Collections.unmodifiableSortedMap(configurationMap);
-		invalidateTree();
-		return true;
-	}
-
-	public boolean setMode(KeySequence mode)
-		throws IllegalArgumentException {
-		if (mode == null)
-			throw new IllegalArgumentException();
-			
-		if (this.mode.equals(mode))
-			return false;
-		
-		this.mode = mode;
-		invalidateMode();
-		return true;
-	}
-	
-	public boolean setScopeMap(SortedMap scopeMap)
-		throws IllegalArgumentException {
-		if (scopeMap == null)
-			throw new IllegalArgumentException();
-			
-		scopeMap = new TreeMap(scopeMap);
-		Iterator iterator = scopeMap.entrySet().iterator();
-		
-		while (iterator.hasNext()) {
-			Map.Entry entry = (Map.Entry) iterator.next();
-			
-			if (!(entry.getKey() instanceof String) || !(entry.getValue() instanceof Path))
-				throw new IllegalArgumentException();			
-		}
-		
-		if (this.scopeMap.equals(scopeMap))
-			return false;
-				
-		this.scopeMap = Collections.unmodifiableSortedMap(scopeMap);
-		invalidateTree();
-		return true;
-	}	
-	
-	public boolean setScopes(String[] scopes)
-		throws IllegalArgumentException {
-		if (scopes == null || scopes.length == 0)
-			throw new IllegalArgumentException();
-
-		scopes = (String[]) scopes.clone();
-		
-		for (int i = 0; i < scopes.length; i++)
-			if (scopes[i] == null)
-				throw new IllegalArgumentException();	
-		
-		if (Arrays.equals(this.scopes, scopes))
-			return false;
-		
-		this.scopes = scopes;
-		invalidateSolution();
-		return true;		
-	}	
-
-	private void build() {
-		if (tree == null) {		
-			tree = new TreeMap();		
-			Iterator iterator = bindingSet.iterator();
-		
-			while (iterator.hasNext()) {
-				Binding binding = (Binding) iterator.next();
-				Path scope = (Path) scopeMap.get(binding.getScope());
-		
-				if (scope == null)
-					continue;
-
-				Path configuration = (Path) configurationMap.get(binding.getConfiguration());
-					
-				if (configuration == null)
-					continue;
-	
-				List listPaths = new ArrayList();
-				listPaths.add(scope);
-				listPaths.add(configuration);					
-				Node.add(tree, binding, State.create(listPaths));
-			}
-		}
-	}
-
-	private void invalidateMode() {
-		actionMapForMode = null;
-		keySequenceMapForMode = null;
-		matchSetForMode = null;
-	}
-
-	private void invalidateSolution() {
-		solved = false;
-		actionMap = null;	
-		keySequenceMap = null;
-		matchSet = null;
-		invalidateMode();
-	}
-	
-	private void invalidateTree() {
-		tree = null;
-		invalidateSolution();
-	}
-	
-	private void solve() {
-		if (!solved) {
-			build();
-			State[] states = new State[scopes.length];
-			Path configuration = (Path) configurationMap.get(this.configuration);
-			
-			if (configuration == null)
-				configuration = Path.create();
-							
-			for (int i = 0; i < scopes.length; i++) {
-				Path scope = (Path) scopeMap.get(scopes[i]);
-			
-				if (scope == null)
-					scope = Path.create();
-
-				List paths = new ArrayList();
-				paths.add(scope);			
-				paths.add(configuration);					
-				states[i] = State.create(paths);
-			}
-			
-			Node.solve(tree, states);
-			solved = true;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/KeyManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/KeyManager.java
deleted file mode 100644
index f978e4a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/KeyManager.java
+++ /dev/null
@@ -1,591 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands.keys;
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.SortedMap;
-import java.util.SortedSet;
-import java.util.StringTokenizer;
-import java.util.TreeMap;
-import java.util.TreeSet;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.XMLMemento;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.commands.Item;
-
-public class KeyManager {
-
-	private final static java.util.Locale systemLocale = java.util.Locale.getDefault();
-	private final static String systemPlatform = SWT.getPlatform(); // "carbon"
-
-	private final static String KEY_SEQUENCE_SEPARATOR = ", "; //$NON-NLS-1$
-	private final static String KEY_STROKE_SEPARATOR = " "; //$NON-NLS-1$
-	private final static String LOCALE_SEPARATOR = "_"; //$NON-NLS-1$
-	private final static String OR_SEPARATOR = "||"; //$NON-NLS-1$
-
-	private static KeyManager instance;
-
-	public static KeyManager getInstance() {
-		if (instance == null)
-			instance = new KeyManager();
-			
-		return instance;	
-	}
-
-	public static List parseKeySequences(String keys) {
-		List keySequences = null;
-		
-		if (keys != null) {
-			keySequences = new ArrayList();
-			StringTokenizer orTokenizer = new StringTokenizer(keys, OR_SEPARATOR); 
-			
-			while (orTokenizer.hasMoreTokens()) {
-				List keyStrokes = new ArrayList();
-				StringTokenizer spaceTokenizer = new StringTokenizer(orTokenizer.nextToken());
-				
-				while (spaceTokenizer.hasMoreTokens()) {
-					int accelerator = Action.convertAccelerator(spaceTokenizer.nextToken());
-					
-					if (accelerator != 0)
-						keyStrokes.add(KeyStroke.create(accelerator));
-				}
-				
-				if (keyStrokes.size() >= 1)
-					keySequences.add(KeySequence.create(keyStrokes));		
-			}
-		}
-
-		return keySequences;
-	}
-
-	public static KeySequence parseKeySequenceStrict(String keys) {
-		if (keys != null) {
-			List keyStrokes = new ArrayList();
-			StringTokenizer spaceTokenizer = new StringTokenizer(keys);
-				
-			while (spaceTokenizer.hasMoreTokens()) {
-				int accelerator = Action.convertAccelerator(spaceTokenizer.nextToken());
-					
-				if (accelerator != 0)
-					keyStrokes.add(KeyStroke.create(accelerator));
-				else
-					return null;
-			}
-
-			return KeySequence.create(keyStrokes);
-		}
-		
-		return null;
-	}		
-
-	private static Path pathForConfiguration(String id, Map configurationMap) {
-		Path path = null;
-
-		if (id != null) {
-			List pathItems = new ArrayList();
-
-			while (id != null) {	
-				if (pathItems.contains(id))
-					return null;
-							
-				Item configuration = (Item) configurationMap.get(id);
-				
-				if (configuration == null)
-					return null;
-							
-				pathItems.add(0, id);
-				id = configuration.getParent();
-			}
-		
-			path = Path.create(pathItems);
-		}
-		
-		return path;			
-	}	
-	
-	private static Path pathForScope(String id, Map scopeMap) {
-		Path path = null;
-		
-		if (id != null) {
-			List pathItems = new ArrayList();
-
-			while (id != null) {	
-				if (pathItems.contains(id))
-					return null;
-							
-				Item scope = (Item) scopeMap.get(id);
-				
-				if (scope == null)
-					return null;
-							
-				pathItems.add(0, id);
-				id = scope.getParent();
-			}
-		
-			path = Path.create(pathItems);
-		}
-		
-		return path;	
-	}			
-	
-	private static Path pathForLocale(String locale) {
-		Path path = null;
-
-		if (locale != null) {
-			List pathItems = new ArrayList();				
-			locale = locale.trim();
-			
-			if (locale.length() > 0) {
-				StringTokenizer st = new StringTokenizer(locale, LOCALE_SEPARATOR);
-						
-				while (st.hasMoreElements()) {
-					String value = ((String) st.nextElement()).trim();
-					
-					if (value != null)
-						pathItems.add(value);
-				}
-			}
-
-			path = Path.create(pathItems);
-		}
-			
-		return path;		
-	}
-
-	private static Path pathForPlatform(String platform) {
-		Path path = null;
-
-		if (platform != null) {
-			List pathItems = new ArrayList();				
-			platform = platform.trim();
-			
-			if (platform.length() > 0)
-				pathItems.add(platform);
-
-			path = Path.create(pathItems);
-		}
-			
-		return path;		
-	}
-
-	private static Path systemLocale() {
-		return systemLocale != null ? pathForLocale(systemLocale.toString()) : null;
-	}
-
-	private static Path systemPlatform() {
-		return pathForPlatform(systemPlatform);
-	}
-	
-	private static SortedMap buildConfigurationMap(SortedMap registryConfigurationMap) {
-		SortedMap configurationMap = new TreeMap();
-		Iterator iterator = registryConfigurationMap.keySet().iterator();
-
-		while (iterator.hasNext()) {
-			String id = (String) iterator.next();
-			
-			if (id != null) {			
-				Path path = pathForConfiguration(id, registryConfigurationMap);
-			
-				if (path != null)
-					configurationMap.put(id, path);
-			}			
-		}
-
-		return configurationMap;		
-	}
-
-	private static SortedMap buildScopeMap(Map registryScopeMap) {
-		SortedMap scopeMap = new TreeMap();
-		Iterator iterator = registryScopeMap.keySet().iterator();
-
-		while (iterator.hasNext()) {
-			String id = (String) iterator.next();
-			
-			if (id != null) {
-				Path path = pathForScope(id, registryScopeMap);
-			
-				if (path != null)
-					scopeMap.put(id, path);
-			}
-		}
-
-		return scopeMap;		
-	}
-
-	public static SortedSet readBindingSet(IMemento memento)
-		throws IllegalArgumentException {
-		if (memento == null)
-			throw new IllegalArgumentException();			
-		
-		IMemento[] mementos = memento.getChildren(Binding.ELEMENT);
-		
-		if (mementos == null)
-			throw new IllegalArgumentException();
-		
-		SortedSet bindingSet = new TreeSet();
-		
-		for (int i = 0; i < mementos.length; i++)
-			bindingSet.add(Binding.read(mementos[i]));
-		
-		return bindingSet;		
-	}
-
-	public static void writeBindingSet(IMemento memento, SortedSet bindingSet)
-		throws IllegalArgumentException {
-		if (memento == null || bindingSet == null)
-			throw new IllegalArgumentException();
-			
-		Iterator iterator = bindingSet.iterator();
-		
-		while (iterator.hasNext())
-			((Binding) iterator.next()).write(memento.createChild(Binding.ELEMENT)); 
-	}
-
-	public static SortedSet readRegionalBindingSet(IMemento memento)
-		throws IllegalArgumentException {
-		if (memento == null)
-			throw new IllegalArgumentException();			
-		
-		IMemento[] mementos = memento.getChildren(RegionalBinding.ELEMENT);
-		
-		if (mementos == null)
-			throw new IllegalArgumentException();
-		
-		SortedSet regionalBindingSet = new TreeSet();
-		
-		for (int i = 0; i < mementos.length; i++)
-			regionalBindingSet.add(RegionalBinding.read(mementos[i]));
-		
-		return regionalBindingSet;		
-	}
-
-	public static void writeRegionalBindingSet(IMemento memento, SortedSet regionalBindingSet)
-		throws IllegalArgumentException {
-		if (memento == null || regionalBindingSet == null)
-			throw new IllegalArgumentException();
-			
-		Iterator iterator = regionalBindingSet.iterator();
-		
-		while (iterator.hasNext())
-			((RegionalBinding) iterator.next()).write(memento.createChild(RegionalBinding.ELEMENT)); 
-	}
-
-	private SortedSet solveRegionalBindingSet(SortedSet regionalBindingSet, State[] states) {
-		class Key implements Comparable {		
-			private final static int HASH_INITIAL = 17;
-			private final static int HASH_FACTOR = 27;
-			
-			KeySequence keySequence;
-			String configuration;
-			String scope;
-
-			public int compareTo(Object object) {
-				Key key = (Key) object;
-				int compareTo = keySequence.compareTo(key.keySequence);
-		
-				if (compareTo == 0) {
-					compareTo = configuration.compareTo(key.configuration);
-		
-					if (compareTo == 0)
-						compareTo = scope.compareTo(key.scope);
-				}
-				
-				return compareTo;
-			}
-		
-			public boolean equals(Object object) {
-				if (!(object instanceof Key))
-					return false;
-				
-				Key key = (Key) object;
-				return keySequence.equals(key.keySequence) && configuration.equals(key.configuration) && scope.equals(key.scope);
-			}
-
-			public int hashCode() {
-				int result = HASH_INITIAL;
-				result = result * HASH_FACTOR + keySequence.hashCode();		
-				result = result * HASH_FACTOR + configuration.hashCode();		
-				result = result * HASH_FACTOR + scope.hashCode();		
-				return result;
-			}
-		}
-
-		SortedSet bindingSet = new TreeSet();
-		Map map = new TreeMap();
-		Iterator iterator = regionalBindingSet.iterator();
-		
-		while (iterator.hasNext()) {
-			RegionalBinding regionalBinding = (RegionalBinding) iterator.next();
-			Binding binding = regionalBinding.getBinding();
-			List pathItems = new ArrayList();
-			pathItems.add(pathForPlatform(regionalBinding.getPlatform()));
-			pathItems.add(pathForLocale(regionalBinding.getLocale()));
-			State state = State.create(pathItems);
-			Key key = new Key();
-			key.keySequence = binding.getKeySequence();
-			key.configuration = binding.getConfiguration();
-			key.scope = binding.getScope();
-			Map stateMap = (Map) map.get(key);
-			
-			if (stateMap == null) {
-				stateMap = new TreeMap();
-				map.put(key, stateMap);
-			}
-			
-			List bindings = (List) stateMap.get(state);
-			
-			if (bindings == null) {
-				bindings = new ArrayList();
-				stateMap.put(state, bindings);	
-			}			
-		
-			bindings.add(binding);		
-		}
-
-		Iterator iterator2 = map.values().iterator();
-
-		while (iterator2.hasNext()) {
-			Map stateMap = (Map) iterator2.next();				
-			int bestMatch = -1;
-			List bindings = null;
-			Iterator iterator3 = stateMap.entrySet().iterator();
-
-			while (iterator3.hasNext()) {
-				Map.Entry entry = (Map.Entry) iterator3.next();
-				State testState = (State) entry.getKey();
-				List testBindingSet = (List) entry.getValue();
-							
-				int testMatch = testState.match(states[0]);
-				
-				if (testMatch >= 0) {
-					if (bindings == null || testMatch < bestMatch) {
-						bindings = testBindingSet;
-						bestMatch = testMatch;
-					}
-					
-					if (bestMatch == 0)
-						break;
-				}
-			}				
-
-			if (bindings != null) {
-				Iterator iterator4 = bindings.iterator();
-				
-				while (iterator4.hasNext()) {
-					Binding binding = (Binding) iterator4.next();
-					bindingSet.add(Binding.create(binding.getAction(), binding.getConfiguration(), binding.getKeySequence(), binding.getPlugin(),
-						binding.getRank() + bestMatch, binding.getScope()));								
-				}				
-			}
-		}					
-
-		return bindingSet;
-	}
-
-/*
-	private SortedSet solveRegionalBindingSet(SortedSet regionalBindingSet, State[] states) {
-		SortedMap tree = new TreeMap();
-		Iterator iterator = regionalBindingSet.iterator();
-		
-		while (iterator.hasNext()) {
-			RegionalBinding regionalBinding = (RegionalBinding) iterator.next();
-			Binding binding = regionalBinding.getBinding();
-			List pathItems = new ArrayList();
-			pathItems.add(pathForPlatform(regionalBinding.getPlatform()));
-			pathItems.add(pathForLocale(regionalBinding.getLocale()));
-			Node.add(tree, binding, State.create(pathItems));
-		}
-
-		Node.solve(tree, states);
-		SortedSet matchSet = new TreeSet();
-		Node.toMatchSet(tree, matchSet);
-		SortedSet bindingSet = new TreeSet();
-		iterator = matchSet.iterator();
-		
-		while (iterator.hasNext())
-			bindingSet.add(((Match) iterator.next()).getBinding());							
-
-		return bindingSet;
-	}
-*/
-
-	private KeyMachine keyMachine;	
-	private SortedSet preferenceBindingSet;
-	private SortedMap registryConfigurationMap;
-	private SortedMap registryScopeMap;
-	private SortedSet registryRegionalBindingSet;
-	private SortedSet registryBindingSet;	
-	
-	private KeyManager() {
-		super();
-		keyMachine = KeyMachine.create();
-		loadPreference();
-		loadRegistry();
-		update();		
-	}
-
-	public KeyMachine getKeyMachine() {
-		return keyMachine;
-	}
-
-	public SortedSet getPreferenceBindingSet() {
-		return preferenceBindingSet;
-	}
-
-	public SortedSet getRegistryBindingSet() {
-		return registryBindingSet;	
-	}
-
-	public SortedMap getRegistryConfigurationMap() {
-		return registryConfigurationMap;	
-	}	
-
-	public SortedSet getRegistryRegionalBindingSet() {
-		return registryRegionalBindingSet;	
-	}
-	
-	public SortedMap getRegistryScopeMap() {
-		return registryScopeMap;	
-	}
-
-	public void loadPreference() {	
-		preferenceBindingSet = Collections.unmodifiableSortedSet(new TreeSet());
-		
-		IPreferenceStore preferenceStore = WorkbenchPlugin.getDefault().getPreferenceStore();
-		String preferenceString = preferenceStore.getString("org.eclipse.ui.keybindings");
-		
-		if (preferenceString != null && preferenceString.length() != 0) {
-			StringReader stringReader = new StringReader(preferenceString);
-
-			try {
-				XMLMemento xmlMemento = XMLMemento.createReadRoot(stringReader);
-				IMemento memento = xmlMemento.getChild("bindings");
-			
-				if (memento != null) 
-					preferenceBindingSet = Collections.unmodifiableSortedSet(readBindingSet(memento));
-			} catch (WorkbenchException eWorkbench) {
-			}
-		}
-	}
-
-	public void loadRegistry() {		
-		Registry registry = Registry.getInstance();	
-		registryConfigurationMap = Collections.unmodifiableSortedMap(registry.getConfigurationMap());
-		registryScopeMap = Collections.unmodifiableSortedMap(registry.getScopeMap());
-		registryRegionalBindingSet = Collections.unmodifiableSortedSet(registry.getRegionalBindingSet());	
-		List pathItems = new ArrayList();
-		pathItems.add(systemPlatform());
-		pathItems.add(systemLocale());
-		State[] states = new State[] { State.create(pathItems) };		
-		registryBindingSet = Collections.unmodifiableSortedSet(solveRegionalBindingSet(registryRegionalBindingSet, states));
-	}
-
-	public void savePreference() {		
-		XMLMemento xmlMemento = XMLMemento.createWriteRoot("org.eclipse.ui.keybindings");
-		IMemento memento = xmlMemento.createChild("bindings");
-		writeBindingSet(memento, preferenceBindingSet);
-		StringWriter stringWriter = new StringWriter();
-		String preferenceString = null;
-		
-		try {
-			xmlMemento.save(stringWriter);
-			preferenceString = stringWriter.toString();
-		} catch (IOException eIO) {
-		}
-
-		IPreferenceStore preferenceStore = WorkbenchPlugin.getDefault().getPreferenceStore();
-		preferenceStore.setValue("org.eclipse.ui.keybindings", preferenceString);
-	}
-
-	public boolean setPreferenceBindingSet(SortedSet preferenceBindingSet)
-		throws IllegalArgumentException {			
-		if (preferenceBindingSet == null)
-			throw new IllegalArgumentException();
-		
-		preferenceBindingSet = new TreeSet(preferenceBindingSet);
-		Iterator iterator = preferenceBindingSet.iterator();
-		
-		while (iterator.hasNext())
-			if (!(iterator.next() instanceof Binding))
-				throw new IllegalArgumentException();
-	
-		if (this.preferenceBindingSet.equals(preferenceBindingSet))
-			return false;
-					
-		this.preferenceBindingSet = Collections.unmodifiableSortedSet(preferenceBindingSet);
-		return true;
-	}
-
-	public void update() {
-		SortedMap configurationMap = buildConfigurationMap(registryConfigurationMap);
-		SortedMap scopeMap = buildScopeMap(registryScopeMap);
-		SortedSet bindingSet = new TreeSet();
-		bindingSet.addAll(preferenceBindingSet);
-		bindingSet.addAll(registryBindingSet);
-		keyMachine.setConfigurationMap(configurationMap);
-		keyMachine.setScopeMap(scopeMap);
-		keyMachine.setBindingSet(bindingSet);		
-	}
-
-	public String getTextForAction(String action)
-		throws IllegalArgumentException {
-		if (action == null)
-			throw new IllegalArgumentException();					
-
-		String text = null;
-		Map actionMap = getKeyMachine().getActionMap();		
-		SortedSet matchSet = (SortedSet) actionMap.get(action);
-		
-		if (matchSet != null && !matchSet.isEmpty()) {
-			Match match = (Match) matchSet.first();
-		
-			if (match != null)
-				text = getTextForKeySequence(match.getBinding().getKeySequence());
-		}
-		
-		return text;
-	}
-
-	public String getTextForKeySequence(KeySequence keySequence)
-		throws IllegalArgumentException {
-		if (keySequence == null)
-			throw new IllegalArgumentException();		
-	
-	    StringBuffer stringBuffer = new StringBuffer();
-		Iterator iterator = keySequence.getKeyStrokes().iterator();
-		int i = 0;
-		
-		while (iterator.hasNext()) {					
-			if (i != 0)
-				stringBuffer.append(KEY_STROKE_SEPARATOR);
-
-			KeyStroke keyStroke = (KeyStroke) iterator.next();
-			int accelerator = keyStroke.getAccelerator();
-			stringBuffer.append(Action.convertAccelerator(accelerator));					
-			i++;
-		}
-
-		return stringBuffer.toString();
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/KeySequence.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/KeySequence.java
deleted file mode 100644
index d5c79fc..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/KeySequence.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands.keys;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.internal.commands.Util;
-
-public final class KeySequence implements Comparable {
-
-	public final static String ELEMENT = "keysequence"; //$NON-NLS-1$
-	private final static int HASH_INITIAL = 47;
-	private final static int HASH_FACTOR = 57;
-
-	public static KeySequence create() {
-		return new KeySequence(Collections.EMPTY_LIST);
-	}
-
-	public static KeySequence create(KeyStroke keyStroke)
-		throws IllegalArgumentException {
-		return new KeySequence(Collections.singletonList(keyStroke));
-	}
-
-	public static KeySequence create(KeyStroke[] keyStrokes)
-		throws IllegalArgumentException {
-		return new KeySequence(Arrays.asList(keyStrokes));
-	}
-	
-	public static KeySequence create(List keyStrokes)
-		throws IllegalArgumentException {
-		return new KeySequence(keyStrokes);
-	}
-	
-	public static KeySequence read(IMemento memento)
-		throws IllegalArgumentException {
-		if (memento == null)
-			throw new IllegalArgumentException();
-			
-		IMemento[] mementos = memento.getChildren(KeyStroke.ELEMENT);
-		
-		if (mementos == null)
-			throw new IllegalArgumentException();
-		
-		List keyStrokes = new ArrayList(mementos.length);
-		
-		for (int i = 0; i < mementos.length; i++)
-			keyStrokes.add(KeyStroke.read(mementos[i]));
-		
-		return KeySequence.create(keyStrokes);
-	}
-
-	private List keyStrokes;
-
-	private KeySequence(List keyStrokes)
-		throws IllegalArgumentException {
-		super();
-		
-		if (keyStrokes == null)
-			throw new IllegalArgumentException();
-			
-		this.keyStrokes = Collections.unmodifiableList(new ArrayList(keyStrokes));
-		Iterator iterator = this.keyStrokes.iterator();
-		
-		while (iterator.hasNext())
-			if (!(iterator.next() instanceof KeyStroke))
-				throw new IllegalArgumentException();
-	}
-
-	public List getKeyStrokes() {
-		return keyStrokes;
-	}
-
-	public boolean isChildOf(KeySequence keySequence, boolean equals) {
-		if (keySequence == null)
-			return false;
-		
-		return Util.isChildOf(keyStrokes, keySequence.keyStrokes, equals);
-	}
-
-	public void write(IMemento memento)
-		throws IllegalArgumentException {
-		if (memento == null)
-			throw new IllegalArgumentException();
-			
-		Iterator iterator = keyStrokes.iterator();
-		
-		while (iterator.hasNext())
-			((KeyStroke) iterator.next()).write(memento.createChild(KeyStroke.ELEMENT));
-	}
-
-	public int compareTo(Object object) {
-		return Util.compare(keyStrokes, ((KeySequence) object).keyStrokes);
-	}
-	
-	public boolean equals(Object object) {
-		return object instanceof KeySequence && keyStrokes.equals(((KeySequence) object).keyStrokes);
-	}
-
-	public int hashCode() {
-		int result = HASH_INITIAL;
-		Iterator iterator = keyStrokes.iterator();
-		
-		while (iterator.hasNext())
-			result = result * HASH_FACTOR + ((KeyStroke) iterator.next()).hashCode();
-
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/KeyStroke.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/KeyStroke.java
deleted file mode 100644
index d59219e..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/KeyStroke.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands.keys;
-
-import org.eclipse.ui.IMemento;
-
-public final class KeyStroke implements Comparable {
-
-	public final static String ELEMENT = "keystroke"; //$NON-NLS-1$
-	private final static String ATTRIBUTE_ACCELERATOR = "accelerator"; //$NON-NLS-1$
-
-	public static KeyStroke create(int accelerator) {
-		return new KeyStroke(accelerator);
-	}
-
-	public static KeyStroke[] create(int[] accelerators)
-		throws IllegalArgumentException {
-		if (accelerators == null)
-			throw new IllegalArgumentException();
-					
-		KeyStroke[] keyStrokes = new KeyStroke[accelerators.length];
-			
-		for (int i = 0; i < accelerators.length; i++)
-			keyStrokes[i] = create(accelerators[i]);
-		
-		return keyStrokes;			
-	}
-
-	public static KeyStroke read(IMemento memento)
-		throws IllegalArgumentException {
-		if (memento == null)
-			throw new IllegalArgumentException();
-
-		Integer accelerator = memento.getInteger(ATTRIBUTE_ACCELERATOR);
-		
-		if (accelerator == null)
-			throw new IllegalArgumentException();
-		
-		return KeyStroke.create(accelerator.intValue());
-	}
-
-	private int accelerator;
-
-	private KeyStroke(int accelerator) {
-		super();
-		this.accelerator = accelerator;
-	}
-
-	public int getAccelerator() {
-		return accelerator;
-	}
-
-	public void write(IMemento memento)
-		throws IllegalArgumentException {
-		if (memento == null)
-			throw new IllegalArgumentException();
-			
-		memento.putInteger(ATTRIBUTE_ACCELERATOR, accelerator);
-	}
-	
-	public int compareTo(Object object) {
-		return accelerator - ((KeyStroke) object).accelerator;
-	}
-	
-	public boolean equals(Object object) {
-		return object instanceof KeyStroke && accelerator == ((KeyStroke) object).accelerator;	
-	}
-
-	public int hashCode() {
-		return accelerator;	
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/Match.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/Match.java
deleted file mode 100644
index 53097ef..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/Match.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands.keys;
-
-public final class Match implements Comparable {
-
-	private final static int HASH_INITIAL = 57;
-	private final static int HASH_FACTOR = 67;
-
-	static Match create(Binding binding, int value)
-		throws IllegalArgumentException {
-		return new Match(binding, value);
-	}
-	
-	private Binding binding;
-	private int value;
-
-	private Match(Binding binding, int value)
-		throws IllegalArgumentException {
-		if (binding == null || value < 0)
-			throw new IllegalArgumentException();
-			
-		this.binding = binding;
-		this.value = value;
-	}
-
-	public Binding getBinding() {
-		return binding;	
-	}
-	
-	public int getValue() {
-		return value;	
-	}	
-
-	public int compareTo(Object object) {
-		Match match = (Match) object;
-		int compareTo = binding.compareTo(match.binding);
-		
-		if (compareTo == 0)
-			compareTo = value - match.value;
-
-		return compareTo;	
-	}
-	
-	public boolean equals(Object object) {
-		if (!(object instanceof Match))
-			return false;
-
-		Match match = (Match) object;		
-		return binding.equals(match.binding) && value == match.value;
-	}
-
-	public int hashCode() {
-		int result = HASH_INITIAL;
-		result = result * HASH_FACTOR + binding.hashCode();
-		result = result * HASH_FACTOR + value;
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/Node.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/Node.java
deleted file mode 100644
index 1cba2ea..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/Node.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands.keys;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.SortedMap;
-import java.util.SortedSet;
-import java.util.TreeMap;
-import java.util.TreeSet;
-
-final class Node {
-
-	static void add(SortedMap tree, Binding binding, State state) {
-		List keyStrokes = binding.getKeySequence().getKeyStrokes();		
-		SortedMap root = tree;
-		Node node = null;
-	
-		for (int i = 0; i < keyStrokes.size(); i++) {
-			KeyStroke keyStroke = (KeyStroke) keyStrokes.get(i);
-			node = (Node) root.get(keyStroke);
-			
-			if (node == null) {
-				node = new Node();	
-				root.put(keyStroke, node);
-			}
-			
-			root = node.childMap;
-		}
-
-		if (node != null)
-			node.add(binding, state);
-	}
-
-	static SortedMap find(SortedMap tree, KeySequence prefix) {	
-		Iterator iterator = prefix.getKeyStrokes().iterator();
-	
-		while (iterator.hasNext()) {
-			Node node = (Node) tree.get(iterator.next());
-			
-			if (node == null)
-				return null;
-				
-			tree = node.childMap;
-		}		
-		
-		return tree;			
-	}
-
-	static void remove(SortedMap tree, Binding binding, State state) {
-		List keyStrokes = binding.getKeySequence().getKeyStrokes();		
-		SortedMap root = tree;
-		Node node = null;
-	
-		for (int i = 0; i < keyStrokes.size(); i++) {
-			KeyStroke keyStroke = (KeyStroke) keyStrokes.get(i);
-			node = (Node) root.get(keyStroke);
-			
-			if (node == null)
-				break;
-			
-			root = node.childMap;
-		}
-
-		if (node != null)
-			node.remove(binding, state);
-	}
-
-	static void solve(SortedMap tree, State[] stack) {
-		Iterator iterator = tree.values().iterator();	
-		
-		while (iterator.hasNext()) {
-			Node node = (Node) iterator.next();			
-			node.match = solveStateMap(node.stateMap, stack);
-			solve(node.childMap, stack);								
-			node.bestChildMatch = null;			
-			Iterator iterator2 = node.childMap.values().iterator();	
-			
-			while (iterator2.hasNext()) {
-				Node child = (Node) iterator2.next();
-				Match childMatch = child.match;				
-				
-				if (childMatch != null && (node.bestChildMatch == null || childMatch.getValue() < node.bestChildMatch.getValue())) 
-					node.bestChildMatch = childMatch;
-			}
-		}		
-	}
-
-	static Binding solveActionMap(Map actionMap) {	
-		Set bindingSet = (Set) actionMap.get(null);
-			
-		if (bindingSet == null) {
-			bindingSet = new TreeSet();
-			Iterator iterator = actionMap.values().iterator();
-		
-			while (iterator.hasNext())
-				bindingSet.addAll((Set) iterator.next());
-		}
-
-		return bindingSet.size() == 1 ? (Binding) bindingSet.iterator().next() : null;		
-	}
-
-	static Binding solvePluginMap(Map pluginMap) {	
-		Map actionMap = (Map) pluginMap.get(null);
-		
-		if (actionMap != null)
-			return solveActionMap(actionMap);
-		else {
-			Set bindingSet = new TreeSet();
-			Iterator iterator = pluginMap.values().iterator();
-		
-			while (iterator.hasNext())
-				bindingSet.add(solveActionMap((Map) iterator.next()));	
-			
-			return bindingSet.size() == 1 ? (Binding) bindingSet.iterator().next() : null;	
-		}			
-	}
-	
-	static Match solveStateMap(SortedMap stateMap, State state) {
-		Match match = null;
-		Iterator iterator = stateMap.entrySet().iterator();
-		
-		while (iterator.hasNext()) {
-			Map.Entry entry = (Map.Entry) iterator.next();
-			State testState = (State) entry.getKey();
-			Map testPluginMap = (Map) entry.getValue();
-
-			if (testPluginMap != null) {
-				Binding testBinding = solvePluginMap(testPluginMap);
-			
-				if (testBinding != null) {
-					int testMatch = testState.match(state);
-					
-					if (testMatch >= 0) {
-						if (testMatch == 0)
-							return Match.create(testBinding, 0);
-						else if (match == null || testMatch < match.getValue())
-							match = Match.create(testBinding, testMatch);
-					}
-				}
-			}
-		}
-			
-		return match;	
-	}
-
-	static Match solveStateMap(SortedMap stateMap, State[] stack) {
-		for (int i = 0; i < stack.length; i++) {
-			Match match = solveStateMap(stateMap, stack[i]);
-				
-			if (match != null)
-				return match;
-		}
-		
-		return null;
-	}
-
-	static Map toActionMap(Set matches) {
-		Map actionMap = new HashMap();
-		Iterator iterator = matches.iterator();
-		
-		while (iterator.hasNext()) {
-			Match match = (Match) iterator.next();
-			String action = match.getBinding().getAction();
-			Set matchSet = (Set) actionMap.get(action);
-			
-			if (matchSet == null) {
-				matchSet = new TreeSet();
-				actionMap.put(action, matchSet);
-			}
-
-			matchSet.add(match);
-		}
-		
-		return actionMap;
-	}
-
-	static void toBindingSet(SortedMap tree, Set bindingSet) {
-		Iterator iterator = tree.values().iterator();	
-			
-		while (iterator.hasNext())
-			toBindingSet((Node) iterator.next(), bindingSet);
-	}
-
-	static void toBindingSet(Node node, Set bindingSet) {
-		toBindingSet(node.childMap, bindingSet);		
-		Iterator iterator = node.stateMap.values().iterator();
-		
-		while (iterator.hasNext()) {
-			Map pluginMap = (Map) iterator.next();
-			Iterator iterator2 = pluginMap.values().iterator();
-			
-			while (iterator2.hasNext()) {
-				Map actionMap = (Map) iterator2.next();
-				Iterator iterator3 = actionMap.values().iterator();
-				
-				while (iterator3.hasNext())
-					bindingSet.addAll((Set) iterator3.next());
-			}
-		}
-	}
-
-	static void toMatchSet(SortedMap tree, SortedSet matchSet) {
-		Iterator iterator = tree.values().iterator();	
-			
-		while (iterator.hasNext())
-			toMatchSet((Node) iterator.next(), matchSet);		
-	}
-
-	static void toMatchSet(Node node, SortedSet matchSet) {
-		if (node.bestChildMatch != null && (node.match == null || node.bestChildMatch.getValue() < node.match.getValue()))
-			toMatchSet(node.childMap, matchSet);
-		else if (node.match != null)
-			matchSet.add(node.match);
-	}
-
-	static Map toKeySequenceMap(Set matches) {
-		Map keySequenceMap = new TreeMap();
-		Iterator iterator = matches.iterator();
-		
-		while (iterator.hasNext()) {
-			Match match = (Match) iterator.next();
-			KeySequence keySequence = match.getBinding().getKeySequence();
-			Set matchSet = (Set) keySequenceMap.get(keySequence);
-			
-			if (matchSet == null) {
-				matchSet = new TreeSet();
-				keySequenceMap.put(keySequence, matchSet);
-			}
-
-			matchSet.add(match);
-		}
-		
-		return keySequenceMap;
-	}
-
-	Match bestChildMatch = null;
-	SortedMap childMap = new TreeMap();	
-	Match match = null;
-	SortedMap stateMap = new TreeMap();
-	
-	private Node() {
-		super();
-	}
-
-	void add(Binding binding, State state) {			
-		Map pluginMap = (Map) stateMap.get(state);
-		
-		if (pluginMap == null) {
-			pluginMap = new HashMap();	
-			stateMap.put(state, pluginMap);
-		}
-
-		String plugin = binding.getPlugin();
-		Map actionMap = (Map) pluginMap.get(plugin);
-		
-		if (actionMap == null) {
-			actionMap = new HashMap();
-			pluginMap.put(plugin, actionMap);
-		}	
-	
-		String action = binding.getAction();
-		Set bindingSet = (Set) actionMap.get(action);
-		
-		if (bindingSet == null) {
-			bindingSet = new TreeSet();
-			actionMap.put(action, bindingSet);
-		}
-		
-		bindingSet.add(binding);
-	}
-
-	void remove(Binding binding, State state) {		
-		Map pluginMap = (Map) stateMap.get(state);
-		
-		if (pluginMap != null) {
-			String plugin = binding.getPlugin();
-			Map actionMap = (Map) pluginMap.get(plugin);
-			
-			if (actionMap != null) {
-				String action = binding.getAction();
-				Set bindingSet = (Set) actionMap.get(action);
-				
-				if (bindingSet != null) {
-					bindingSet.remove(binding);
-					
-					if (bindingSet.isEmpty()) {
-						actionMap.remove(action);
-						
-						if (actionMap.isEmpty()) {
-							pluginMap.remove(plugin);	
-							
-							if (pluginMap.isEmpty())
-								stateMap.remove(state);	
-						}						
-					}
-				}
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/Path.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/Path.java
deleted file mode 100644
index c404599..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/Path.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands.keys;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.ui.internal.commands.Util;
-
-public final class Path implements Comparable {
-
-	final static int MAXIMUM_PATH_ITEMS = 16;
-	private final static int HASH_INITIAL = 87;
-	private final static int HASH_FACTOR = 97;
-	
-	static Path create() {
-		return new Path(Collections.EMPTY_LIST);
-	}
-
-	static Path create(String pathItem)
-		throws IllegalArgumentException {
-		return new Path(Collections.singletonList(pathItem));
-	}
-
-	static Path create(String[] pathItems)
-		throws IllegalArgumentException {
-		return new Path(Arrays.asList(pathItems));
-	}
-
-	static Path create(List pathItems)
-		throws IllegalArgumentException {
-		return new Path(pathItems);
-	}
-
-	private List pathItems;
-
-	private Path(List pathItems)
-		throws IllegalArgumentException {
-		super();
-		
-		if (pathItems == null)
-			throw new IllegalArgumentException();
-		
-		this.pathItems = Collections.unmodifiableList(new ArrayList(pathItems));
-
-		if (this.pathItems.size() >= MAXIMUM_PATH_ITEMS)
-			throw new IllegalArgumentException();
-		
-		Iterator iterator = this.pathItems.iterator();
-		
-		while (iterator.hasNext())
-			if (!(iterator.next() instanceof String))
-				throw new IllegalArgumentException();
-	}
-
-	public List getPathItems() {
-		return pathItems;
-	}
-
-	public boolean isChildOf(Path path, boolean equals) {
-		if (path == null)
-			return false;
-
-		return Util.isChildOf(pathItems, path.pathItems, equals);
-	}
-
-	public int match(Path path)
-		throws IllegalArgumentException {
-		if (path == null)
-			throw new IllegalArgumentException();
-			
-		if (path.isChildOf(this, true)) 
-			return path.pathItems.size() - pathItems.size();
-		else 
-			return -1;
-	}
-
-	public int compareTo(Object object) {
-		return Util.compare(pathItems, ((Path) object).pathItems);
-	}
-	
-	public boolean equals(Object object) {
-		return object instanceof Path && pathItems.equals(((Path) object).pathItems);
-	}
-
-	public int hashCode() {
-		int result = HASH_INITIAL;
-		Iterator iterator = pathItems.iterator();
-		
-		while (iterator.hasNext())
-			result = result * HASH_FACTOR + iterator.next().hashCode();
-
-		return result;
-	}
-
-	public String toString() {
-		return pathItems.toString();	
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/PreferencePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/PreferencePage.java
deleted file mode 100644
index 018d849..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/PreferencePage.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands.keys;
-
-import java.text.Collator;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.SortedMap;
-import java.util.SortedSet;
-import java.util.TreeSet;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-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.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.internal.IWorkbenchConstants;
-import org.eclipse.ui.internal.Workbench;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.commands.Item;
-
-public class PreferencePage extends org.eclipse.jface.preference.PreferencePage
-	implements IWorkbenchPreferencePage {
-	
-	private final static String ZERO_LENGTH_STRING = ""; //$NON-NLS-1$
-	
-	private Button buttonCustomize;
-	private Combo comboConfiguration;
-	private String configurationId;
-	private HashMap nameToConfigurationMap;
-	private KeyManager keyManager;
-	private SortedSet preferenceBindingSet;
-	private IPreferenceStore preferenceStore;
-	private SortedSet registryBindingSet;
-	private SortedMap registryConfigurationMap;
-	private SortedMap registryScopeMap;
-	private IWorkbench workbench;
-
-	protected Control createContents(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NULL);
-		composite.setFont(parent.getFont());
-		GridLayout gridLayoutComposite = new GridLayout();
-		gridLayoutComposite.marginWidth = 0;
-		gridLayoutComposite.marginHeight = 0;
-		composite.setLayout(gridLayoutComposite);
-
-		Label label = new Label(composite, SWT.LEFT);
-		label.setFont(composite.getFont());
-		label.setText("Active Configuration:");
-
-		comboConfiguration = new Combo(composite, SWT.READ_ONLY);
-		comboConfiguration.setFont(composite.getFont());
-		GridData gridData = new GridData();
-		gridData.widthHint = 200;
-		comboConfiguration.setLayoutData(gridData);
-
-		if (nameToConfigurationMap.isEmpty())
-			comboConfiguration.setEnabled(false);
-		else {
-			String[] items = (String[]) nameToConfigurationMap.keySet().toArray(new String[nameToConfigurationMap.size()]);
-			Arrays.sort(items, Collator.getInstance());
-			comboConfiguration.setItems(items);
-			Item configuration = (Item) registryConfigurationMap.get(configurationId);
-
-			if (configuration != null)
-				comboConfiguration.select(comboConfiguration.indexOf(configuration.getName()));
-		}
-
-		buttonCustomize = new Button(composite, SWT.CENTER | SWT.PUSH);
-		buttonCustomize.setFont(composite.getFont());
-		buttonCustomize.setText("Customize Key Bindings...");
-		gridData = setButtonLayoutData(buttonCustomize);
-		gridData.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
-		gridData.widthHint += 8;
-
-		buttonCustomize.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				DialogCustomize dialogCustomize = new DialogCustomize(getShell(), IWorkbenchConstants.DEFAULT_ACCELERATOR_CONFIGURATION_ID, 
-					IWorkbenchConstants.DEFAULT_ACCELERATOR_SCOPE_ID, preferenceBindingSet);
-				
-				if (dialogCustomize.open() == DialogCustomize.OK) {
-					preferenceBindingSet = dialogCustomize.getPreferenceBindingSet();	
-				}
-				
-				//TBD: doesn't this have to be disposed somehow?
-			}	
-		});
-
-		//TBD: WorkbenchHelp.setHelp(parent, IHelpContextIds.WORKBENCH_KEYBINDINGS_PREFERENCE_PAGE);
-
-		return composite;	
-	}
-
-	public void init(IWorkbench workbench) {
-		this.workbench = workbench;
-		preferenceStore = getPreferenceStore();
-		configurationId = loadConfiguration();		
-		keyManager = KeyManager.getInstance();
-		preferenceBindingSet = keyManager.getPreferenceBindingSet();
-		registryBindingSet = keyManager.getRegistryBindingSet();
-		registryConfigurationMap = keyManager.getRegistryConfigurationMap();
-		registryScopeMap = keyManager.getRegistryScopeMap();	
-		nameToConfigurationMap = new HashMap();	
-		Collection configurations = registryConfigurationMap.values();
-		Iterator iterator = configurations.iterator();
-
-		while (iterator.hasNext()) {
-			Item configuration = (Item) iterator.next();
-			String name = configuration.getName();
-			
-			if (!nameToConfigurationMap.containsKey(name))
-				nameToConfigurationMap.put(name, configuration);
-		}	
-	}
-	
-	protected void performDefaults() {
-		int result = SWT.YES;
-		
-		if (!preferenceBindingSet.isEmpty()) {		
-			MessageBox messageBox = new MessageBox(getShell(), SWT.YES | SWT.NO | SWT.ICON_WARNING | SWT.APPLICATION_MODAL);
-			messageBox.setText("Restore Defaults");
-			messageBox.setMessage("This will clear all of your customized key bindings.\r\nAre you sure you want to do this?");
-			result = messageBox.open();
-		}
-		
-		if (result == SWT.YES) {			
-			if (comboConfiguration != null && comboConfiguration.isEnabled()) {
-				comboConfiguration.clearSelection();
-				comboConfiguration.deselectAll();
-				configurationId = preferenceStore.getDefaultString(IWorkbenchConstants.ACCELERATOR_CONFIGURATION_ID);
-				Item configuration = (Item) registryConfigurationMap.get(configurationId);
-
-				if (configuration != null)
-					comboConfiguration.select(comboConfiguration.indexOf(configuration.getName()));
-			}
-
-			preferenceBindingSet = new TreeSet();
-		}
-	}	
-	
-	public boolean performOk() {
-		if (comboConfiguration != null && comboConfiguration.isEnabled()) {
-			int i = comboConfiguration.getSelectionIndex();
-			
-			if (i >= 0 && i < comboConfiguration.getItemCount()) {			
-				String configurationName = comboConfiguration.getItem(i);
-				
-				if (configurationName != null) {				
-					Item configuration = (Item) nameToConfigurationMap.get(configurationName);
-					
-					if (configuration != null) {
-						configurationId = configuration.getId();
-						saveConfiguration(configurationId);					
-	
-						keyManager.setPreferenceBindingSet(preferenceBindingSet);
-						keyManager.savePreference();					
-						keyManager.update();
-	
-						if (workbench instanceof Workbench) {
-							Workbench workbench = (Workbench) this.workbench;
-							workbench.setActiveAcceleratorConfiguration(configuration);
-						}
-					}
-				}
-			}
-		}
-		
-		return super.performOk();
-	}
-	
-	protected IPreferenceStore doGetPreferenceStore() {
-		return WorkbenchPlugin.getDefault().getPreferenceStore();
-	}
-	
-	private String loadConfiguration() {
-		String configuration = preferenceStore.getString(IWorkbenchConstants.ACCELERATOR_CONFIGURATION_ID);
-
-		if (configuration == null || configuration.length() == 0)
-			configuration = preferenceStore.getDefaultString(IWorkbenchConstants.ACCELERATOR_CONFIGURATION_ID);
-
-		if (configuration == null)
-			configuration = ZERO_LENGTH_STRING;
-
-		return configuration;
-	}
-	
-	private void saveConfiguration(String configuration)
-		throws IllegalArgumentException {
-		if (configuration == null)
-			throw new IllegalArgumentException();
-
-		preferenceStore.setValue(IWorkbenchConstants.ACCELERATOR_CONFIGURATION_ID, configuration);
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/RegionalBinding.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/RegionalBinding.java
deleted file mode 100644
index d99a6cf..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/RegionalBinding.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands.keys;
-
-import org.eclipse.ui.IMemento;
-
-public final class RegionalBinding implements Comparable {
-
-	public final static String ELEMENT = "regionalBinding"; //$NON-NLS-1$
-	private final static int HASH_INITIAL = 97;
-	private final static int HASH_FACTOR = 107;
-	private final static String ATTRIBUTE_LOCALE = "locale"; //$NON-NLS-1$		
-	private final static String ATTRIBUTE_PLATFORM = "platform"; //$NON-NLS-1$		
-	private final static String ZERO_LENGTH_STRING = ""; //$NON-NLS-1$
-
-	public static RegionalBinding create(Binding binding, String locale, String platform)
-		throws IllegalArgumentException {
-		return new RegionalBinding(binding, locale, platform);
-	}
-
-	public static RegionalBinding read(IMemento memento)
-		throws IllegalArgumentException {
-		if (memento == null)
-			throw new IllegalArgumentException();
-
-		IMemento mementoBinding = memento.getChild(Binding.ELEMENT);
-		
-		if (mementoBinding == null)
-			throw new IllegalArgumentException();
-			
-		Binding binding = Binding.read(mementoBinding);
-		String locale = memento.getString(ATTRIBUTE_LOCALE);
-		
-		if (locale == null)
-			locale = ZERO_LENGTH_STRING;
-
-		String platform = memento.getString(ATTRIBUTE_PLATFORM);
-
-		if (platform == null)
-			platform = ZERO_LENGTH_STRING;
-
-		return RegionalBinding.create(binding, locale, platform);
-	}
-	
-	private Binding binding;
-	private String locale;
-	private String platform;	
-
-	private RegionalBinding(Binding binding, String locale, String platform)
-		throws IllegalArgumentException {
-		super();
-		
-		if (binding == null || locale == null || platform == null) 
-			throw new IllegalArgumentException();	
-		
-		this.binding = binding;
-		this.locale = locale;
-		this.platform = platform;
-	}
-
-	public Binding getBinding() {
-		return binding;	
-	}
-
-	public String getLocale() {
-		return locale;
-	}
-	
-	public String getPlatform() {
-		return platform;
-	}
-
-	public void write(IMemento memento)
-		throws IllegalArgumentException {
-		if (memento == null)
-			throw new IllegalArgumentException();
-
-		binding.write(memento.createChild(Binding.ELEMENT));
-		memento.putString(ATTRIBUTE_LOCALE, locale);
-		memento.putString(ATTRIBUTE_PLATFORM, platform);
-	}
-
-	public int compareTo(Object object) {
-		RegionalBinding regionalBinding = (RegionalBinding) object;
-		int compareTo = binding.compareTo(regionalBinding.binding);
-
-		if (compareTo == 0) {
-			compareTo = locale.compareTo(regionalBinding.locale);
-
-			if (compareTo == 0)
-				compareTo = platform.compareTo(regionalBinding.platform);
-		}
-
-		return compareTo;
-	}
-	
-	public boolean equals(Object object) {
-		if (!(object instanceof RegionalBinding))
-			return false;
-		
-		RegionalBinding regionalBinding = (RegionalBinding) object;
-		return binding.equals(regionalBinding.binding) && locale.equals(regionalBinding.locale) && platform.equals(regionalBinding.platform);
-	}
-
-	public int hashCode() {
-		int result = HASH_INITIAL;
-		result = result * HASH_FACTOR + binding.hashCode();		
-		result = result * HASH_FACTOR + locale.hashCode();
-		result = result * HASH_FACTOR + platform.hashCode();
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/Registry.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/Registry.java
deleted file mode 100644
index 0f22f3b..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/Registry.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands.keys;
-
-import java.util.Collections;
-import java.util.SortedMap;
-import java.util.SortedSet;
-import java.util.TreeMap;
-import java.util.TreeSet;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ui.internal.commands.Item;
-
-public final class Registry {
-	
-	public static Registry instance;
-	
-	public static Registry getInstance() {
-		if (instance == null)
-			instance = new Registry();
-	
-		return instance;
-	}
-	
-	private SortedMap configurationMap;
-	private SortedSet regionalBindingSet;
-	private SortedMap scopeMap;
-	
-	private Registry() {
-		super();
-		configurationMap = new TreeMap();
-		regionalBindingSet = new TreeSet();
-		scopeMap = new TreeMap();
-		(new RegistryReader()).read(Platform.getPluginRegistry(), this);
-	}
-
-	public SortedMap getConfigurationMap() {
-		return Collections.unmodifiableSortedMap(configurationMap);			
-	}
-
-	public SortedSet getRegionalBindingSet() {
-		return Collections.unmodifiableSortedSet(regionalBindingSet);		
-	}	
-	
-	public SortedMap getScopeMap() {
-		return Collections.unmodifiableSortedMap(scopeMap);			
-	}
-
-	void addConfiguration(Item item)
-		throws IllegalArgumentException {
-		if (item == null)
-			throw new IllegalArgumentException();
-		
-		configurationMap.put(item.getId(), item);	
-	}
-
-	void addRegionalBinding(RegionalBinding regionalBinding)
-		throws IllegalArgumentException {
-		if (regionalBinding == null)
-			throw new IllegalArgumentException();
-		
-		regionalBindingSet.add(regionalBinding);
-	}
-
-	void addScope(Item item)
-		throws IllegalArgumentException {
-		if (item == null)
-			throw new IllegalArgumentException();
-		
-		scopeMap.put(item.getId(), item);
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/RegistryReader.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/RegistryReader.java
deleted file mode 100644
index 8125320..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/RegistryReader.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands.keys;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.IWorkbenchConstants;
-import org.eclipse.ui.internal.commands.Item;
-
-final class RegistryReader extends org.eclipse.ui.internal.registry.RegistryReader {
-
-	private final static String ATTRIBUTE_CONFIGURATION_ID = "configurationId"; //$NON-NLS-1$		
-	private final static String ATTRIBUTE_DESCRIPTION = "description"; //$NON-NLS-1$
-	private final static String ATTRIBUTE_ICON = "icon"; //$NON-NLS-1$
-	private final static String ATTRIBUTE_ID = "id"; //$NON-NLS-1$
-	private final static String ATTRIBUTE_KEY = "key"; //$NON-NLS-1$
-	private final static String ATTRIBUTE_LOCALE = "locale"; //$NON-NLS-1$
-	private final static String ATTRIBUTE_NAME = "name"; //$NON-NLS-1$
-	private final static String ATTRIBUTE_PARENT = "parent"; //$NON-NLS-1$
-	private final static String ATTRIBUTE_PLATFORM = "platform"; //$NON-NLS-1$
-	private final static String ATTRIBUTE_RANK = "rank"; //$NON-NLS-1$
-	private final static String ATTRIBUTE_SCOPE_ID = "scopeId"; //$NON-NLS-1$	
-	private final static String ELEMENT_ACCELERATOR = "accelerator"; //$NON-NLS-1$
-	private final static String ELEMENT_ACCELERATOR_CONFIGURATION = "acceleratorConfiguration"; //$NON-NLS-1$
-	private final static String ELEMENT_ACCELERATOR_SCOPE = "acceleratorScope"; //$NON-NLS-1$
-	private final static String ELEMENT_ACCELERATOR_SET = "acceleratorSet"; //$NON-NLS-1$
-	private final static String ZERO_LENGTH_STRING = ""; //$NON-NLS-1$
-	
-	private String configuration;
-	private Registry registry;
-	private String scope;
-	
-	RegistryReader() {
-		super();	
-	}
-
-	void read(IPluginRegistry pluginRegistry, Registry registry) {
-		this.registry = registry;
-
-		if (this.registry != null) {
-			readRegistry(pluginRegistry, PlatformUI.PLUGIN_ID, IWorkbenchConstants.PL_ACCELERATOR_CONFIGURATIONS);
-			readRegistry(pluginRegistry, PlatformUI.PLUGIN_ID, IWorkbenchConstants.PL_ACCELERATOR_SCOPES);
-			readRegistry(pluginRegistry, PlatformUI.PLUGIN_ID, IWorkbenchConstants.PL_ACCELERATOR_SETS);
-		}
-	}
-
-	protected boolean readElement(IConfigurationElement element) {
-		String name = element.getName();
-
-		if (ELEMENT_ACCELERATOR.equals(name))
-			return readAccelerator(element);
-		
-		if (ELEMENT_ACCELERATOR_CONFIGURATION.equals(name))
-			return readConfiguration(element);
-		
-		if (ELEMENT_ACCELERATOR_SCOPE.equals(name))
-			return readScope(element);
-		
-		if (ELEMENT_ACCELERATOR_SET.equals(name))
-			return readAcceleratorSet(element);
-				
-		return false;
-	}
-
-	private String getPlugin(IConfigurationElement element) {
-		String plugin = null;	
-		
-		if (element != null) {	
-			IExtension extension = element.getDeclaringExtension();
-			
-			if (extension != null) {
-				IPluginDescriptor pluginDescriptor = extension.getDeclaringPluginDescriptor();
-				
-				if (pluginDescriptor != null) 
-					plugin = pluginDescriptor.getUniqueIdentifier();				
-			}
-		}
-
-		return plugin;
-	}
-
-	private boolean readAccelerator(IConfigurationElement element) {
-		if (configuration == null || scope == null)
-			return false;
-
-		String id = element.getAttribute(ATTRIBUTE_ID);
-		String key = element.getAttribute(ATTRIBUTE_KEY);
-
-		if (key == null) {
-			logMissingAttribute(element, ATTRIBUTE_KEY);
-			return true;
-		}	
-
-		List keySequences = KeyManager.parseKeySequences(key);
-		
-		if (keySequences.size() <= 0)
-			return true;
-
-		String locale = element.getAttribute(ATTRIBUTE_LOCALE);
-
-		if (locale == null)
-			locale = ZERO_LENGTH_STRING;
-
-		String platform = element.getAttribute(ATTRIBUTE_PLATFORM);
-
-		if (platform == null)
-			platform = ZERO_LENGTH_STRING;
-
-		String plugin = getPlugin(element);		
-		int rank = 0;
-		
-		try {
-			rank = Integer.valueOf(element.getAttribute(ATTRIBUTE_RANK)).intValue();		
-		} catch (NumberFormatException eNumberFormat) {
-		}
-			
-		Iterator iterator = keySequences.iterator();
-		
-		while (iterator.hasNext()) {
-			KeySequence keySequence = (KeySequence) iterator.next();			
-			Binding binding = Binding.create(id, configuration, keySequence, plugin, rank, scope);	
-			registry.addRegionalBinding(RegionalBinding.create(binding, locale, platform));
-		}
-
-		return true;
-	}
-
-	private boolean readAcceleratorSet(IConfigurationElement element) {
-		configuration = element.getAttribute(ATTRIBUTE_CONFIGURATION_ID);
-		scope = element.getAttribute(ATTRIBUTE_SCOPE_ID);
-			
-		if (configuration == null) {
-			logMissingAttribute(element, ATTRIBUTE_CONFIGURATION_ID);
-			return true;
-		}
-		
-		if (scope == null) {
-			logMissingAttribute(element, ATTRIBUTE_SCOPE_ID);
-			return true;
-		}
-
-		readElementChildren(element);
-		configuration = null;
-		scope = null;
-		return true;	
-	}
-
-	private boolean readConfiguration(IConfigurationElement element) {
-		Item item = readItem(element);
-		
-		if (item != null)
-			registry.addConfiguration(item);
-			
-		return true;
-	}
-
-	private Item readItem(IConfigurationElement element) {
-		String description = element.getAttribute(ATTRIBUTE_DESCRIPTION);
-		String icon = element.getAttribute(ATTRIBUTE_ICON);
-		String id = element.getAttribute(ATTRIBUTE_ID);
-
-		if (id == null) {
-			logMissingAttribute(element, ATTRIBUTE_ID);
-			return null;
-		}
-
-		String name = element.getAttribute(ATTRIBUTE_NAME);
-		
-		if (name == null) {
-			logMissingAttribute(element, ATTRIBUTE_NAME);
-			return null;
-		}
-
-		String parent = element.getAttribute(ATTRIBUTE_PARENT);		
-		String plugin = getPlugin(element);
-		return Item.create(description, icon, id, name, parent, plugin);			
-	}
-	
-	private boolean readScope(IConfigurationElement element) {
-		Item item = readItem(element);
-		
-		if (item != null)
-			registry.addScope(item);
-			
-		return true;
-	}				
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/State.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/State.java
deleted file mode 100644
index ded1ce1..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/keys/State.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.commands.keys;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.ui.internal.commands.Util;
-
-public final class State implements Comparable {
-
-	final static int MAXIMUM_PATHS = 8;
-	private final static int HASH_INITIAL = 117;
-	private final static int HASH_FACTOR = 127;
-
-	static State create(List paths)
-		throws IllegalArgumentException {
-		return new State(paths);
-	}
-
-	private List paths;
-
-	private State(List paths)
-		throws IllegalArgumentException {
-		super();
-		
-		if (paths == null)
-			throw new IllegalArgumentException();
-		
-		this.paths = Collections.unmodifiableList(new ArrayList(paths));
-		
-		if (this.paths.size() >= MAXIMUM_PATHS)
-			throw new IllegalArgumentException();
-		
-		Iterator iterator = this.paths.iterator();
-		
-		while (iterator.hasNext())
-			if (!(iterator.next() instanceof Path))
-				throw new IllegalArgumentException();
-	}
-
-	public List getPaths() {
-		return paths;	
-	}
-
-	public int match(State state) {
-		if (paths.size() != state.paths.size())
-			return -1;
-		
-		int match = 0;
-
-		for (int i = 0; i < paths.size(); i++) {
-			int path = ((Path) paths.get(i)).match((Path) state.paths.get(i)); 
-			
-			if (path == -1 || path >= 16)
-				return -1;	
-			else 
-				match += path << (MAXIMUM_PATHS - 1 - i) * 4;
-		}		
-		
-		return match;
-	}
-
-	public int compareTo(Object object) {
-		return Util.compare(paths, ((State) object).paths);
-	}
-	
-	public boolean equals(Object object) {
-		if (!(object instanceof State)) 
-			return false;
-		
-		return paths.equals(((State) object).paths); 
-	}
-
-	public int hashCode() {
-		int result = HASH_INITIAL;
-		Iterator iterator = paths.iterator();
-		
-		while (iterator.hasNext())
-			result = result * HASH_FACTOR + ((Path) iterator.next()).hashCode();
-
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DeclarativeDecorator.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DeclarativeDecorator.java
deleted file mode 100644
index 25dd086..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DeclarativeDecorator.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.eclipse.ui.internal.decorators;
-
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ILightweightLabelDecorator;
-
-/**
- * The DeclarativeDecorator is a decorator that is made entirely
- * from an XML specification.
- */
-
-public class DeclarativeDecorator implements ILightweightLabelDecorator {
-
-	private String iconLocation;
-	private IConfigurationElement configElement;
-	private ImageDescriptor descriptor;
-
-	DeclarativeDecorator(
-		IConfigurationElement definingElement,
-		String iconPath) {
-		this.iconLocation = iconPath;
-		this.configElement = definingElement;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) {
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ILightweightLabelDecorator#decorate(java.lang.Object, org.eclipse.jface.viewers.IDecoration)
-	 */
-	public void decorate(Object element, IDecoration decoration) {
-
-		if (descriptor == null) {
-			URL source =
-				configElement
-					.getDeclaringExtension()
-					.getDeclaringPluginDescriptor()
-					.getInstallURL();
-			try {
-				decoration.addOverlay(
-					ImageDescriptor.createFromURL(
-						new URL(source, iconLocation)));
-			} catch (MalformedURLException exception) {
-				return;
-			}
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationBuilder.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationBuilder.java
deleted file mode 100644
index ae411f2..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationBuilder.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package org.eclipse.ui.internal.decorators;
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IDecoration;
-
-/** 
- * The Decoration builder is the object that builds
- * a decoration.
- */
-class DecorationBuilder implements IDecoration {
-
-	private static int DECORATOR_ARRAY_SIZE = 5;
-
-	private List prefixes = new ArrayList();
-	private List suffixes = new ArrayList();
-	private ImageDescriptor[] descriptors =
-		new ImageDescriptor[DECORATOR_ARRAY_SIZE];
-	LightweightDecoratorDefinition currentDefinition;
-
-	//A flag set if a value has been added
-	private boolean valueSet = false;
-
-	DecorationBuilder() {
-	}
-
-
-	/**
-	 * Set the value of the definition we are currently 
-	 * working on.
-	 * @param definition
-	 */
-	void setCurrentDefinition(LightweightDecoratorDefinition definition) {
-		this.currentDefinition = definition;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IDecoration#addOverlay(org.eclipse.jface.resource.ImageDescriptor)
-	 */
-	public void addOverlay(ImageDescriptor overlay) {
-		int quadrant = currentDefinition.getQuadrant();
-		if (descriptors[quadrant] == null)
-			descriptors[quadrant] = overlay;
-		valueSet = true;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IDecoration#addPrefix(java.lang.String)
-	 */
-	public void addPrefix(String prefixString) {
-		prefixes.add(prefixString);
-		valueSet = true;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IDecoration#addSuffix(java.lang.String)
-	 */
-	public void addSuffix(String suffixString) {
-		suffixes.add(suffixString);
-		valueSet = true;
-	}
-
-	/**
-	 * Clear the current values and return a DecorationResult.
-	 */
-	DecorationResult createResult() {
-		DecorationResult newResult =
-			new DecorationResult(
-				new ArrayList(prefixes),
-				new ArrayList(suffixes),
-				descriptors);
-
-		return newResult;
-	}
-
-
-	/**
-	 * Clear the contents of the result so it can be reused.
-	 */
-	void clearContents() {
-		this.prefixes.clear();
-		this.suffixes.clear();
-		this.descriptors = new ImageDescriptor[DECORATOR_ARRAY_SIZE];
-		valueSet = false;
-	}
-
-	/**
-	 * Return whether or not a value has been set.
-	 * @return boolean
-	 */
-	boolean hasValue() {
-		return valueSet;
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationReference.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationReference.java
deleted file mode 100644
index 78787d1..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationReference.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.eclipse.ui.internal.decorators;
-
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-
-/**
- * A DecorationReference is a class that holds onto the starting
- * text and image of a decoration.
- */
-class DecorationReference {
-
-	Object element;
-	Object adaptedElement;
-
-	DecorationReference(Object object) {
-		element = object;
-	}
-
-	DecorationReference(Object object, Object adaptedObject) {
-		this(object);
-		this.adaptedElement = adaptedObject;
-	}
-
-	/**
-	 * Returns the adaptedElement.
-	 * @return Object
-	 */
-	public Object getAdaptedElement() {
-		return adaptedElement;
-	}
-
-	/**
-	 * Returns the element.
-	 * @return Object
-	 */
-	public Object getElement() {
-		return element;
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationResult.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationResult.java
deleted file mode 100644
index 302169d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationResult.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.ui.internal.decorators;
-
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-import java.util.List;
-import java.util.ListIterator;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-
-/** 
- * The Decoration Result is the result of a decoration.
- */
-class DecorationResult {
-
-	private List prefixes;
-	private List suffixes;
-	private ImageDescriptor[] descriptors;
-
-	DecorationResult(
-		List prefixList,
-		List suffixList,
-		ImageDescriptor[] imageDescriptors) {
-		prefixes = prefixList;
-		suffixes = suffixList;
-		descriptors = imageDescriptors;
-	}
-
-
-	/**
-	 * Decorate the Image supplied with the overlays.
-	 */
-	Image decorateWithOverlays(Image image, OverlayCache overlayCache) {
-
-		//Do not try to do anything if there is no source or overlays
-		if (image == null || descriptors == null)
-			return image;
-
-		return overlayCache.applyDescriptors(image, descriptors);
-	}
-
-	/**
-	 * Decorate the String supplied with the prefixes and suffixes.
-	 */
-	String decorateWithText(String text) {
-
-		if (prefixes.isEmpty() && suffixes.isEmpty())
-			return text;
-
-		StringBuffer result = new StringBuffer();
-
-		ListIterator prefixIterator = prefixes.listIterator();
-
-		while (prefixIterator.hasNext()) {
-			result.append(prefixIterator.next());
-		}
-
-		result.append(text);
-
-		ListIterator suffixIterator = suffixes.listIterator();
-
-		while (suffixIterator.hasNext()) {
-			result.append(suffixIterator.next());
-		}
-
-		return result.toString();
-	}
-
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationScheduler.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationScheduler.java
deleted file mode 100644
index 8176d9c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecorationScheduler.java
+++ /dev/null
@@ -1,332 +0,0 @@
-package org.eclipse.ui.internal.decorators;
-
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation 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 - Initial implementation
- ******************************************************************************/
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.LabelProviderChangedEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * The DecorationScheduler is the class that handles the
- * decoration of elements using a background thread.
- */
-public class DecorationScheduler implements IResourceChangeListener {
-
-	// When decorations are computed they are added to this cache via decorated() method
-	private Map resultCache = Collections.synchronizedMap(new HashMap());
-
-	// Objects that need an icon and text computed for display to the user
-	private List awaitingDecoration = new ArrayList();
-
-	// Objects that are awaiting a label update.
-	private List pendingUpdate = new ArrayList();
-
-	private Map awaitingDecorationValues = new HashMap();
-
-	private DecoratorManager decoratorManager;
-
-	private boolean shutdown = false;
-
-	private Thread decoratorUpdateThread;
-
-	//The number of results to batch before the label changed is sent
-	private final int NUM_TO_BATCH = 50;
-
-	/**
-	 * Return a new instance of the receiver configured for
-	 * the supplied DecoratorManager.
-	 * @param manager
-	 */
-	DecorationScheduler(DecoratorManager manager) {
-		decoratorManager = manager;
-
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
-	}
-
-	/**
-	* Decorate the text for the receiver. If it has already
-	* been done then return the result, otherwise queue
-	* it for decoration.
-	* 
-	* @return String
-	* @param text
-	* @param element
-	* @param adaptedElement. The adapted value of element. May be null.
-	*/
-
-	public String decorateWithText(
-		String text,
-		Object element,
-		Object adaptedElement) {
-
-		//We do not support decoration of null
-		if (element == null)
-			return text;
-
-		DecorationResult decoration =
-			(DecorationResult) resultCache.get(element);
-
-		if (decoration == null) {
-			queueForDecoration(element, adaptedElement);
-			return text;
-		} else
-			return decoration.decorateWithText(text);
-
-	}
-	/**
-	 * Queue the element and its adapted value if it has not been
-	 * already.
-	 * @param element
-	 * @param adaptedElement. The adapted value of element. May be null.
-	 */
-
-	private synchronized void queueForDecoration(
-		Object element,
-		Object adaptedElement) {
-
-		//Lazily create the thread that calculates the decoration for a resource
-		if (decoratorUpdateThread == null) {
-			createDecoratorThread();
-			decoratorUpdateThread.start();
-		}
-
-		if (!awaitingDecorationValues.containsKey(element)) {
-			DecorationReference reference =
-				new DecorationReference(element, adaptedElement);
-			awaitingDecorationValues.put(element, reference);
-			awaitingDecoration.add(element);
-			//Notify the receiver as the next method is
-			//synchronized on the receiver.
-			notify();
-		}
-
-	}
-
-	/**
-	 * Decorate the supplied image, element and its adapted value.
-	 * 
-	 * @return Image
-	 * @param image
-	 * @param element
-	 * @param adaptedElement. The adapted value of element. May be null.
-	 * 
-	 */
-	public Image decorateWithOverlays(
-		Image image,
-		Object element,
-		Object adaptedElement) {
-
-		//We do not support decoration of null
-		if (element == null)
-			return image;
-
-		DecorationResult decoration =
-			(DecorationResult) resultCache.get(element);
-
-		if (decoration == null) {
-			queueForDecoration(element, adaptedElement);
-			return image;
-		} else
-			return decoration.decorateWithOverlays(
-				image,
-				decoratorManager.getLightweightManager().getOverlayCache());
-	}
-
-	/**
-	 * Execute a label update using the pending decorations.
-	 * @param resources
-	 * @param decorationResults
-	 */
-	public void decorated() {
-
-		//Don't bother if we are shutdown now
-		if (!shutdown) {
-			Display.getDefault().asyncExec(new Runnable() {
-				public void run() {
-
-					if (pendingUpdate.isEmpty())
-						return;
-					//Get the elements awaiting update and then
-					//clear the list
-					Object[] elements =
-						pendingUpdate.toArray(new Object[pendingUpdate.size()]);
-					pendingUpdate.clear();
-					decoratorManager.labelProviderChanged(
-						new LabelProviderChangedEvent(
-							decoratorManager,
-							elements));
-					resultCache.clear();
-				}
-			});
-
-		}
-	}
-
-	/**
-	 * Shutdown the decoration thread.
-	 */
-	void shutdown() {
-		shutdown = true;
-		// Wake the thread up if it is asleep.
-		synchronized (this) {
-			notifyAll();
-		}
-		try {
-			if (decoratorUpdateThread != null)
-				// Wait for the decorator thread to finish before returning.
-				decoratorUpdateThread.join();
-		} catch (InterruptedException e) {
-		}
-	}
-
-	/**
-	 * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		IResourceDelta delta = event.getDelta();
-		if (delta != null) {
-			try {
-				final List changedObjects = new ArrayList();
-				delta.accept(new IResourceDeltaVisitor() {
-					public boolean visit(IResourceDelta delta)
-						throws CoreException {
-						IResource resource = delta.getResource();
-
-						if (resource.getType() == IResource.ROOT) {
-							// continue with the delta
-							return true;
-						}
-
-						switch (delta.getKind()) {
-							case IResourceDelta.REMOVED :
-								// remove the cached decoration for any removed resource
-								resultCache.remove(resource);
-								break;
-							case IResourceDelta.CHANGED :
-								// for changed resources remove the result as it will need to 
-								//be recalculated.
-								resultCache.remove(resource);
-						}
-
-						return true;
-					}
-				});
-
-				changedObjects.clear();
-			} catch (CoreException exception) {
-				WorkbenchPlugin.getDefault().getLog().log(
-					exception.getStatus());
-			}
-		}
-	}
-
-	/**
-	 * Get the next resource to be decorated.
-	 * @return IResource
-	 */
-	synchronized DecorationReference next() {
-		try {
-			if (shutdown)
-				return null;
-
-			if (awaitingDecoration.isEmpty()) {
-				wait();
-			}
-			// We were awakened.
-			if (shutdown) {
-				// The decorator was awakened by the plug-in as it was shutting down.
-				return null;
-			}
-			Object element = awaitingDecoration.remove(0);
-
-			return (DecorationReference) awaitingDecorationValues.remove(
-				element);
-		} catch (InterruptedException e) {
-		}
-		return null;
-	}
-
-	/**
-	 * Create the Thread used for running decoration.
-	 */
-	private void createDecoratorThread() {
-		Runnable decorationRunnable = new Runnable() {
-			/* @see Runnable#run()
-				*/
-			public void run() {
-				while (true) {
-					// will block if there are no resources to be decorated
-					DecorationReference reference = next();
-					DecorationBuilder cacheResult = new DecorationBuilder();
-
-					// if next() returned null, we are done and should shut down.
-					if (reference == null) {
-						return;
-					}
-
-					//Don't decorate if there is already a pending result
-					if (!resultCache.containsKey(reference.getElement())) {
-
-						//Just build for the resource first
-						Object adapted = reference.getAdaptedElement();
-
-						if (adapted != null) {
-							decoratorManager
-								.getLightweightManager()
-								.getDecorations(
-								adapted,
-								cacheResult);
-							if (cacheResult.hasValue()) {
-								resultCache.put(
-									adapted,
-									cacheResult.createResult());
-
-							}
-						}
-
-						//Now add in the results for the main object
-
-						decoratorManager
-							.getLightweightManager()
-							.getDecorations(
-							reference.getElement(),
-							cacheResult);
-
-						if (cacheResult.hasValue()) {
-							resultCache.put(
-								reference.getElement(),
-								cacheResult.createResult());
-
-							//Add an update for only the original element to 
-							//prevent multiple updates and clear the cache.
-							pendingUpdate.add(reference.getElement());
-							cacheResult.clearContents();
-						};
-					}
-
-					// notify that decoration is ready
-					if (awaitingDecoration.isEmpty()) {
-						decorated();
-					}
-				}
-			};
-		};
-
-		decoratorUpdateThread = new Thread(decorationRunnable, "Decoration");
-		decoratorUpdateThread.setPriority(Thread.MIN_PRIORITY);
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecoratorDefinition.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecoratorDefinition.java
deleted file mode 100644
index e389b9b..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecoratorDefinition.java
+++ /dev/null
@@ -1,207 +0,0 @@
-package org.eclipse.ui.internal.decorators;
-
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation 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 - Initial implementation
- ******************************************************************************/
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.viewers.IBaseLabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.ui.internal.ActionExpression;
-
-/**
- * The DecoratorDefinition is the class that holds onto
- * the label decorator, the name and the name of the
- * class a decorator definition applies to,
- */
-
-public abstract class DecoratorDefinition {
-
-	private String name;
-	private String description;
-	private ActionExpression enablement;
-	private boolean adaptable;
-	protected boolean enabled;
-	private boolean defaultEnabled;
-	private String id;
-	protected IConfigurationElement definingElement;
-
-	//A flag that is set if there is an error creating the decorator
-	protected boolean labelProviderCreationFailed = false;
-
-	/**
-	 * Create a new instance of the receiver with the
-	 * supplied values.
-	 */
-
-	DecoratorDefinition(
-		String identifier,
-		String label,
-		String decoratorDescription,
-		ActionExpression expression,
-		boolean isAdaptable,
-		boolean initEnabled,
-		IConfigurationElement element) {
-
-		this.id = identifier;
-		this.name = label;
-		this.enablement = expression;
-		this.adaptable = isAdaptable;
-		this.description = decoratorDescription;
-		this.enabled = initEnabled;
-		this.defaultEnabled = initEnabled;
-		this.definingElement = element;
-	}
-
-	/**
-	 * Gets the name.
-	 * @return Returns a String
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * Returns the description.
-	 * @return String
-	 */
-	public String getDescription() {
-		return this.description;
-	}
-
-	/**
-	 * Gets the enabled.
-	 * @return Returns a boolean
-	 */
-	public boolean isEnabled() {
-		return enabled;
-	}
-
-	/**
-	 * Sets the enabled flag and adds or removes the decorator
-	 * manager as a listener as appropriate.
-	 * @param enabled The enabled to set
-	 */
-	public void setEnabled(boolean newState) {
-
-		//Only refresh if there has been a change
-		if (this.enabled != newState) {
-			this.enabled = newState;
-		}
-	}
-
-	/**
-	 * Sets the enabled flag and adds or removes the decorator
-	 * manager as a listener as appropriate. Handle any exceptions
-	 * within this class
-	 * @param enabled The enabled to set
-	 */
-	public void setEnabledWithErrorHandling(boolean newState) {
-
-		setEnabled(newState);
-	}
-
-	/**
-	 * Return whether or not this decorator should be 
-	 * applied to adapted types.
-	 */
-
-	public boolean isAdaptable() {
-		return adaptable;
-	}
-	/**
-	 * Gets the id.
-	 * @return Returns a String
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * Return the default value for this type - this value
-	 * is the value read from the element description.
-	 */
-	public boolean getDefaultValue() {
-		return defaultEnabled;
-	}
-
-	/**
-	 * Returns the enablement.
-	 * @return ActionExpression
-	 */
-	public ActionExpression getEnablement() {
-		return enablement;
-	}
-
-	/**
-	 * Add a listener for the decorator.If there is an exception
-	 * then inform the user and disable the receiver.
-	 * This method should not be called unless a check for
-	 * isEnabled() has been done first.
-	 */
-	void addListener(ILabelProviderListener listener) {
-		try {
-			//Internal decorator might be null so be prepared
-			IBaseLabelProvider currentDecorator = internalGetLabelProvider();
-			if (currentDecorator != null)
-				currentDecorator.addListener(listener);
-		} catch (CoreException exception) {
-			handleCoreException(exception);
-		}
-	}
-
-	/**
-	* Return whether or not the decorator registered for element
-	* has a label property called property name. If there is an 
-	* exception disable the receiver and return false.
-	* This method should not be called unless a check for
-	* isEnabled() has been done first.
-	*/
-	boolean isLabelProperty(Object element, String property) {
-		try { //Internal decorator might be null so be prepared
-			IBaseLabelProvider currentDecorator = internalGetLabelProvider();
-			if (currentDecorator != null)
-				return currentDecorator.isLabelProperty(element, property);
-		} catch (CoreException exception) {
-			handleCoreException(exception);
-			return false;
-		}
-		return false;
-	}
-
-	/**
-	 * Gets the label provider and creates it if it does not exist yet. 
-	 * Throws a CoreException if there is a problem
-	 * creating the labelProvider.
-	 * This method should not be called unless a check for
-	 * enabled to be true is done first.
-	 * @return Returns a ILabelDecorator
-	 */
-	protected abstract IBaseLabelProvider internalGetLabelProvider()
-		throws CoreException;
-
-	/** 
-	* A CoreException has occured. Inform the user and disable
-	* the receiver.
-	*/
-
-	protected void handleCoreException(CoreException exception) {
-
-		//If there is an error then reset the enabling to false
-		InternalPlatform.getRuntimePlugin().getLog().log(exception.getStatus());		
-		this.enabled = false;
-	}
-
-	/**
-	 * Return whether or not this is a full or lightweight definition.
-	 */
-	public abstract boolean isFull();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecoratorManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecoratorManager.java
deleted file mode 100644
index f642efd..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecoratorManager.java
+++ /dev/null
@@ -1,686 +0,0 @@
-package org.eclipse.ui.internal.decorators;
-
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IContributorResourceAdapter;
-import org.eclipse.ui.IDecoratorManager;
-import org.eclipse.ui.internal.*;
-
-/**
- * The DecoratorManager is the class that handles all of the
- * decorators defined in the image.
- * 
- * @since 2.0
- */
-public class DecoratorManager
-	implements ILabelDecorator, ILabelProviderListener, IDecoratorManager {
-
-	private DecorationScheduler scheduler;
-
-	private LightweightDecoratorManager lightweightManager;
-
-	//Hold onto the list of listeners to be told if a change has occured
-	private ListenerList listeners = new ListenerList();
-
-	//The cachedDecorators are a 1-many mapping of type to full decorator.
-	private HashMap cachedFullDecorators = new HashMap();
-	//The full definitions read from the registry
-	private FullDecoratorDefinition[] fullDefinitions;
-
-	private static final FullDecoratorDefinition[] EMPTY_FULL_DEF =
-		new FullDecoratorDefinition[0];
-
-	private final String PREFERENCE_SEPARATOR = ","; //$NON-NLS-1$
-	private final String VALUE_SEPARATOR = ":"; //$NON-NLS-1$
-	private final String P_TRUE = "true"; //$NON-NLS-1$
-	private final String P_FALSE = "false"; //$NON-NLS-1$
-
-	/**
-	 * Create a new instance of the receiver and load the
-	 * settings from the installed plug-ins.
-	 */
-	public DecoratorManager() {
-		DecoratorRegistryReader reader = new DecoratorRegistryReader();
-		Collection values = reader.readRegistry(Platform.getPluginRegistry());
-
-		ArrayList full = new ArrayList();
-		ArrayList lightweight = new ArrayList();
-		Iterator allDefinitions = values.iterator();
-		while (allDefinitions.hasNext()) {
-			DecoratorDefinition nextDefinition =
-				(DecoratorDefinition) allDefinitions.next();
-			if (nextDefinition.isFull())
-				full.add(nextDefinition);
-			else
-				lightweight.add(nextDefinition);
-		}
-
-		fullDefinitions = new FullDecoratorDefinition[full.size()];
-		full.toArray(fullDefinitions);
-
-		LightweightDecoratorDefinition[] lightweightDefinitions =
-			new LightweightDecoratorDefinition[lightweight.size()];
-		lightweight.toArray(lightweightDefinitions);
-
-		lightweightManager =
-			new LightweightDecoratorManager(lightweightDefinitions);
-
-		scheduler = new DecorationScheduler(this);
-	}
-
-	/**
-	 * See if the supplied decorator cache has a value for the
-	 * element. If not calculate it from the enabledDefinitions and
-	 * update the cache.
-	 * @return Collection of DecoratorDefinition.
-	 * @param element. The element being tested.
-	 * @param cachedDecorators. The cache for decorator lookup.
-	 * @param enabledDefinitions. The definitions currently defined for this decorator.
-	 */
-
-	static Collection getDecoratorsFor(
-		Object element,
-		DecoratorDefinition[] enabledDefinitions) {
-
-		ArrayList decorators = new ArrayList();
-
-		for (int i = 0; i < enabledDefinitions.length; i++) {
-			if (enabledDefinitions[i]
-				.getEnablement()
-				.isEnabledForExpression(
-					element,
-					ActionExpression.EXP_TYPE_OBJECT_CLASS))
-				decorators.add(enabledDefinitions[i]);
-		}
-
-		return decorators;
-
-	}
-
-	/**
-	 * Restore the stored values from the preference
-	 * store and register the receiver as a listener
-	 * for all of the enabled decorators.
-	 */
-
-	public void restoreListeners() {
-		applyDecoratorsPreference();
-	}
-
-	/**
-	 * Add the listener to the list of listeners.
-	 */
-	public void addListener(ILabelProviderListener listener) {
-		listeners.add(listener);
-	}
-
-	/**
-	 * Remove the listener from the list.
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-		listeners.remove(listener);
-	}
-
-	/**
-	 * Inform all of the listeners that require an update
-	 */
-	private void fireListeners(final LabelProviderChangedEvent event) {
-		Object [] array = listeners.getListeners();
-		for (int i = 0; i < array.length; i ++) {
-			final ILabelProviderListener l = (ILabelProviderListener)array[i];
-			Platform.run(new SafeRunnable() {
-				public void run() {
-					l.labelProviderChanged(event);
-				}
-				public void handleException(Throwable e) {
-					super.handleException(e);
-					//If and unexpected exception happens, remove it
-					//to make sure the workbench keeps running.
-					removeListener(l);
-				}
-			});
-		}		
-	}
-
-	/**
-	 * Decorate the image provided for the element type.
-	 * Then look for an IResource that adapts to it an apply
-	 * all of the adaptable decorators.
-	 * @return String or null if there are none defined for this type.
-	 * @param Image
-	 * @param Object
-	 */
-	public String decorateText(String text, Object element) {
-
-		//Get any adaptions to IResource
-		Object adapted = getResourceAdapter(element);
-		String result = scheduler.decorateWithText(text, element, adapted);
-		FullDecoratorDefinition[] decorators = getDecoratorsFor(element);
-		for (int i = 0; i < decorators.length; i++) {
-			if (decorators[i].getEnablement().isEnabledFor(element)) {
-				String newResult = decorators[i].decorateText(result, element);
-				if (newResult != null)
-					result = newResult;
-			}
-		}
-
-		if (adapted != null) {
-			decorators = getDecoratorsFor(adapted);
-			for (int i = 0; i < decorators.length; i++) {
-				if (decorators[i].isAdaptable()
-					&& decorators[i].getEnablement().isEnabledFor(adapted)) {
-					String newResult =
-						decorators[i].decorateText(result, adapted);
-					if (newResult != null)
-						result = newResult;
-				}
-			}
-		}
-
-		return result;
-	}
-
-	/**
-	 * Decorate the image provided for the element type.
-	 * Then look for an IResource that adapts to it an apply
-	 * all of the adaptable decorators.
-	 * @return Image or null if there are none defined for this type.
-	 * @param Image
-	 * @param Object
-	 */
-	public Image decorateImage(Image image, Object element) {
-
-		Object adapted = getResourceAdapter(element);
-		Image result = scheduler.decorateWithOverlays(image, element, adapted);
-		FullDecoratorDefinition[] decorators = getDecoratorsFor(element);
-
-		for (int i = 0; i < decorators.length; i++) {
-			if (decorators[i].getEnablement().isEnabledFor(element)) {
-				Image newResult = decorators[i].decorateImage(result, element);
-				if (newResult != null)
-					result = newResult;
-			}
-		}
-
-		//Get any adaptions to IResource
-
-		if (adapted != null) {
-			decorators = getDecoratorsFor(adapted);
-			for (int i = 0; i < decorators.length; i++) {
-				if (decorators[i].isAdaptable()
-					&& decorators[i].getEnablement().isEnabledFor(adapted)) {
-					Image newResult =
-						decorators[i].decorateImage(result, adapted);
-					if (newResult != null)
-						result = newResult;
-				}
-			}
-		}
-
-		return result;
-	}
-
-	/**
-	 * Get the resource adapted object for the supplied
-	 * element. Return null if there isn't one.
-	 */
-	private Object getResourceAdapter(Object element) {
-
-		//Get any adaptions to IResource
-		if (element instanceof IAdaptable) {
-			IAdaptable adaptable = (IAdaptable) element;
-			Object resourceAdapter =
-				adaptable.getAdapter(IContributorResourceAdapter.class);
-			if (resourceAdapter == null)
-				resourceAdapter =
-					DefaultContributorResourceAdapter.getDefault();
-
-			Object adapted =
-				(
-					(
-						IContributorResourceAdapter) resourceAdapter)
-							.getAdaptedResource(
-					adaptable);
-			if (adapted != element)
-				return adapted; //Avoid applying decorator twice
-		}
-		return null;
-	}
-
-	/**
-	* Return whether or not the decorator registered for element
-	* has a label property called property name.
-	*/
-	public boolean isLabelProperty(Object element, String property) {
-		return isLabelProperty(element, property, true);
-	}
-
-	/**
-	* Return whether or not the decorator registered for element
-	* has a label property called property name.
-	* Check for an adapted resource if checkAdapted is true.
-	*/
-	public boolean isLabelProperty(
-		Object element,
-		String property,
-		boolean checkAdapted) {
-		boolean fullCheck =
-			isLabelProperty(element, property, getDecoratorsFor(element));
-
-		if (fullCheck)
-			return fullCheck;
-
-		boolean lightweightCheck =
-			isLabelProperty(
-				element,
-				property,
-				lightweightManager.getDecoratorsFor(element));
-
-		if (lightweightCheck)
-			return true;
-
-		if (checkAdapted) {
-			//Get any adaptions to IResource
-			Object adapted = getResourceAdapter(element);
-			if (adapted == null || adapted == element)
-				return false;
-
-			fullCheck =
-				isLabelProperty(adapted, property, getDecoratorsFor(adapted));
-			if (fullCheck)
-				return fullCheck;
-
-			return isLabelProperty(
-				adapted,
-				property,
-				lightweightManager.getDecoratorsFor(adapted));
-		}
-		return false;
-	}
-
-	private boolean isLabelProperty(
-		Object element,
-		String property,
-		DecoratorDefinition[] decorators) {
-		for (int i = 0; i < decorators.length; i++) {
-			if (decorators[i].getEnablement().isEnabledFor(element)
-				&& decorators[i].isLabelProperty(element, property))
-				return true;
-		}
-
-		return false;
-	}
-
-	/**
-	* Returns the class search order starting with <code>extensibleClass</code>.
-	* The search order is defined in this class' comment.
-	*/
-	private Vector computeClassOrder(Class extensibleClass) {
-		Vector result = new Vector(4);
-		Class clazz = extensibleClass;
-		while (clazz != null) {
-			result.addElement(clazz);
-			clazz = clazz.getSuperclass();
-		}
-		return result;
-	}
-	/**
-	 * Returns the interface search order for the class hierarchy described
-	 * by <code>classList</code>.
-	 * The search order is defined in this class' comment.
-	 */
-	private List computeInterfaceOrder(List classList) {
-		List result = new ArrayList(4);
-		Map seen = new HashMap(4);
-		for (Iterator list = classList.iterator(); list.hasNext();) {
-			Class[] interfaces = ((Class) list.next()).getInterfaces();
-			internalComputeInterfaceOrder(interfaces, result, seen);
-		}
-		return result;
-	}
-
-	/**
-	 * Add interface Class objects to the result list based
-	 * on the class hierarchy. Interfaces will be searched
-	 * based on their position in the result list.
-	 */
-	private void internalComputeInterfaceOrder(
-		Class[] interfaces,
-		List result,
-		Map seen) {
-		List newInterfaces = new ArrayList(seen.size());
-		for (int i = 0; i < interfaces.length; i++) {
-			Class interfac = interfaces[i];
-			if (seen.get(interfac) == null) {
-				result.add(interfac);
-				seen.put(interfac, interfac);
-				newInterfaces.add(interfac);
-			}
-		}
-		for (Iterator newList = newInterfaces.iterator(); newList.hasNext();)
-			internalComputeInterfaceOrder(
-				((Class) newList.next()).getInterfaces(),
-				result,
-				seen);
-	}
-
-	/**
-	 * Return the enabled full decorator definitions.
-	 * @return FullDecoratorDefinition[]
-	 */
-	private FullDecoratorDefinition[] enabledFullDefinitions() {
-		ArrayList result = new ArrayList();
-		for (int i = 0; i < fullDefinitions.length; i++) {
-			if (fullDefinitions[i].isEnabled())
-				result.add(fullDefinitions[i]);
-		}
-		FullDecoratorDefinition[] returnArray =
-			new FullDecoratorDefinition[result.size()];
-		result.toArray(returnArray);
-		return returnArray;
-	}
-
-	/*
-	 * @see IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		//Do nothing as this is not viewer dependant
-	}
-
-	/*
-	 * @see IDecoratorManager.reset()
-	 */
-	public void reset() {
-		cachedFullDecorators = new HashMap();
-		lightweightManager.reset();
-		fireListeners(new LabelProviderChangedEvent(this));
-		writeDecoratorsPreference();
-	}
-
-	/**
-	 * Get the DecoratorDefinitions defined on the receiver.
-	 */
-	public DecoratorDefinition[] getAllDecoratorDefinitions() {
-		LightweightDecoratorDefinition[] lightweightDefinitions =
-			lightweightManager.getDefinitions();
-		DecoratorDefinition[] returnValue =
-			new DecoratorDefinition[fullDefinitions.length
-				+ lightweightDefinitions.length];
-		System.arraycopy(
-			fullDefinitions,
-			0,
-			returnValue,
-			0,
-			fullDefinitions.length);
-		System.arraycopy(
-			lightweightDefinitions,
-			0,
-			returnValue,
-			fullDefinitions.length,
-			lightweightDefinitions.length);
-		return returnValue;
-	}
-
-	/*
-	 * @see ILabelProviderListener#labelProviderChanged(LabelProviderChangedEvent)
-	 */
-	public void labelProviderChanged(LabelProviderChangedEvent event) {
-		fireListeners(event);
-	}
-
-	/**
-	 * Store the currently enabled decorators in
-	 * preference store.
-	 */
-	private void writeDecoratorsPreference() {
-		StringBuffer enabledIds = new StringBuffer();
-		writeDecoratorsPreference(enabledIds, fullDefinitions);
-		writeDecoratorsPreference(
-			enabledIds,
-			lightweightManager.getDefinitions());
-
-		WorkbenchPlugin.getDefault().getPreferenceStore().setValue(
-			IPreferenceConstants.ENABLED_DECORATORS,
-			enabledIds.toString());
-	}
-
-	private void writeDecoratorsPreference(
-		StringBuffer enabledIds,
-		DecoratorDefinition[] definitions) {
-		for (int i = 0; i < definitions.length; i++) {
-			enabledIds.append(definitions[i].getId());
-			enabledIds.append(VALUE_SEPARATOR);
-			if (definitions[i].isEnabled())
-				enabledIds.append(P_TRUE);
-			else
-				enabledIds.append(P_FALSE);
-
-			enabledIds.append(PREFERENCE_SEPARATOR);
-		}
-	}
-
-	/**
-	 * Get the currently enabled decorators in
-	 * preference store and set the state of the
-	 * current definitions accordingly.
-	 */
-	private void applyDecoratorsPreference() {
-
-		String preferenceValue =
-			WorkbenchPlugin.getDefault().getPreferenceStore().getString(
-				IPreferenceConstants.ENABLED_DECORATORS);
-
-		StringTokenizer tokenizer =
-			new StringTokenizer(preferenceValue, PREFERENCE_SEPARATOR);
-		Set enabledIds = new HashSet();
-		Set disabledIds = new HashSet();
-		while (tokenizer.hasMoreTokens()) {
-			String nextValuePair = tokenizer.nextToken();
-
-			//Strip out the true or false to get the id
-			String id =
-				nextValuePair.substring(
-					0,
-					nextValuePair.indexOf(VALUE_SEPARATOR));
-			if (nextValuePair.endsWith(P_TRUE))
-				enabledIds.add(id);
-			else
-				disabledIds.add(id);
-		}
-
-		for (int i = 0; i < fullDefinitions.length; i++) {
-			String id = fullDefinitions[i].getId();
-			if (enabledIds.contains(id))
-				fullDefinitions[i].setEnabledWithErrorHandling(true);
-			else {
-				if (disabledIds.contains(id))
-					fullDefinitions[i].setEnabledWithErrorHandling(false);
-			}
-		}
-
-		LightweightDecoratorDefinition[] lightweightDefinitions =
-			lightweightManager.getDefinitions();
-		for (int i = 0; i < lightweightDefinitions.length; i++) {
-			String id = lightweightDefinitions[i].getId();
-			if (enabledIds.contains(id))
-				lightweightDefinitions[i].setEnabledWithErrorHandling(true);
-			else {
-				if (disabledIds.contains(id))
-					lightweightDefinitions[i].setEnabledWithErrorHandling(
-						false);
-			}
-		}
-
-	}
-
-	/**
-	 * Shutdown the decorator manager by disabling all
-	 * of the decorators so that dispose() will be called
-	 * on them.
-	 */
-	public void shutdown() {
-		//Disable all fo the enabled decorators 
-		//so as to force a dispose of thier decorators
-		for (int i = 0; i < fullDefinitions.length; i++) {
-			if (fullDefinitions[i].isEnabled())
-				fullDefinitions[i].setEnabledWithErrorHandling(false);
-		}
-		lightweightManager.shutdown();
-		scheduler.shutdown();
-	}
-	/**
-	 * @see IDecoratorManager#getEnabled(String)
-	 */
-	public boolean getEnabled(String decoratorId) {
-		DecoratorDefinition definition = getDecoratorDefinition(decoratorId);
-		if (definition == null)
-			return false;
-		else
-			return definition.isEnabled();
-	}
-
-	/**
-	 * @see IDecoratorManager#getLabelDecorator()
-	 */
-	public ILabelDecorator getLabelDecorator() {
-		return this;
-	}
-
-	/**
-	 * @see IDecoratorManager#setEnabled(String, boolean)
-	 */
-	public void setEnabled(String decoratorId, boolean enabled)
-		throws CoreException {
-		DecoratorDefinition definition = getDecoratorDefinition(decoratorId);
-		if (definition != null)
-			definition.setEnabled(enabled);
-	}
-
-	/*
-	 * @see IDecoratorManager#getBaseLabelProvider(String)
- 	 */
- 	public IBaseLabelProvider getBaseLabelProvider(String decoratorId) {
-		IBaseLabelProvider fullProvider = getLabelDecorator(decoratorId);
-		if (fullProvider == null)
-			return getLightweightLabelDecorator(decoratorId);
-		else
-			return fullProvider;
-	}
-
-	/*
-	 * @see IDecoratorManager#getLabelDecorator(String)
-	 */
-	public ILabelDecorator getLabelDecorator(String decoratorId) {
-		FullDecoratorDefinition definition =
-			getFullDecoratorDefinition(decoratorId);
-
-		//Do not return for a disabled decorator
-		if (definition != null && definition.isEnabled()) {
-			return definition.getDecorator();
-		}
-		return null;
-	}
-
-	/*
-	 * @see IDecoratorManager#getLightweightLabelDecorator(String)
-	 */
-	public ILightweightLabelDecorator getLightweightLabelDecorator(String decoratorId) {
-		LightweightDecoratorDefinition definition =
-			lightweightManager.getDecoratorDefinition(decoratorId);
-		//Do not return for a disabled decorator
-		if (definition != null && definition.isEnabled()) {
-			return definition.getDecorator();
-		}
-		return null;
-	}
-
-	/**
-	 * Get the DecoratorDefinition with the supplied id
-	 * @return DecoratorDefinition or <code>null</code> if it is not found
-	 * @param decoratorId String
-	 */
-	private DecoratorDefinition getDecoratorDefinition(String decoratorId) {
-		DecoratorDefinition returnValue =
-			getFullDecoratorDefinition(decoratorId);
-		if (returnValue == null)
-			return lightweightManager.getDecoratorDefinition(decoratorId);
-		else
-			return returnValue;
-	}
-
-	/**
-	 * Get the FullDecoratorDefinition with the supplied id
-	 * @return FullDecoratorDefinition or <code>null</code> if it is not found
-	 * @param decoratorId String
-	 */
-	private FullDecoratorDefinition getFullDecoratorDefinition(String decoratorId) {
-		for (int i = 0; i < fullDefinitions.length; i++) {
-			if (fullDefinitions[i].getId().equals(decoratorId))
-				return fullDefinitions[i];
-		}
-		return null;
-	}
-
-	/**
-	 * Get the full decorator definitions registered for elements of this type.
-	 */
-	private FullDecoratorDefinition[] getDecoratorsFor(Object element) {
-
-		if (element == null)
-			return EMPTY_FULL_DEF;
-
-		String className = element.getClass().getName();
-		FullDecoratorDefinition[] decoratorArray =
-			(FullDecoratorDefinition[]) cachedFullDecorators.get(className);
-		if (decoratorArray != null) {
-			return decoratorArray;
-		}
-
-		Collection decorators =
-			getDecoratorsFor(element, enabledFullDefinitions());
-
-		if (decorators.size() == 0)
-			decoratorArray = EMPTY_FULL_DEF;
-		else {
-			decoratorArray = new FullDecoratorDefinition[decorators.size()];
-			decorators.toArray(decoratorArray);
-		}
-
-		cachedFullDecorators.put(className, decoratorArray);
-		return decoratorArray;
-	}
-
-	/**
-	 * Returns the lightweightManager.
-	 * @return LightweightDecoratorManager
-	 */
-	LightweightDecoratorManager getLightweightManager() {
-		return lightweightManager;
-	}
-
-	/**
-	 * @see org.eclipse.ui.IDecoratorManager#update(java.lang.String)
-	 */
-	public void update(String decoratorId) {
-
-		IBaseLabelProvider provider = getBaseLabelProvider(decoratorId);
-		if(provider != null)
-			fireListeners(new LabelProviderChangedEvent(provider));
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecoratorOverlayIcon.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecoratorOverlayIcon.java
deleted file mode 100644
index 4f6d421..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecoratorOverlayIcon.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation 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 - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.ui.internal.decorators;
-
-import java.util.Arrays;
-
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.*;
-
-/**
- * An DecoratorOverlayIcon consists of a main icon and several adornments.
- */
-class DecoratorOverlayIcon extends CompositeImageDescriptor {
-	// the base image
-	private Image base;
-	// the overlay images
-	private ImageDescriptor[] overlays;
-	// the size
-	private Point size;
-
-	public static final int TOP_LEFT = 0;
-	public static final int TOP_RIGHT = 1;
-	public static final int BOTTOM_LEFT = 2;
-	public static final int BOTTOM_RIGHT = 3;
-
-	/**
-	 * OverlayIcon constructor.
-	 * 
-	 * @param base the base image
-	 * @param overlays the overlay images
-	 * @param locations the location of each image
-	 * @param size the size
-	 */
-	public DecoratorOverlayIcon(
-		Image base,
-		ImageDescriptor[] overlays,
-		Point size) {
-		this.base = base;
-		this.overlays = overlays;
-		this.size = size;
-	}
-	/**
-	 * Draw the overlays for the reciever.
-	 */
-	protected void drawOverlays(ImageDescriptor[] overlays) {
-		Point size = getSize();	
-			
-		for (int i = 0; i < overlays.length; i++) {
-			ImageDescriptor overlay = overlays[i];
-			if (overlay == null)
-				continue;
-			ImageData overlayData = overlay.getImageData();
-			//Use the missing descriptor if it is not there.
-			if(overlayData == null)
-				overlayData = ImageDescriptor.getMissingImageDescriptor().getImageData(); 
-			switch (i) {
-				case TOP_LEFT :
-					drawImage(overlayData, 0, 0);
-					break;
-				case TOP_RIGHT :
-					drawImage(overlayData, size.x - overlayData.width, 0);
-					break;
-				case BOTTOM_LEFT :
-					drawImage(overlayData, 0, size.y - overlayData.height);
-					break;
-				case BOTTOM_RIGHT :
-					drawImage(
-						overlayData,
-						size.x - overlayData.width,
-						size.y - overlayData.height);
-					break;
-			}
-		}
-	}
-
-	public boolean equals(Object o) {
-		if (!(o instanceof DecoratorOverlayIcon))
-			return false;
-		DecoratorOverlayIcon other = (DecoratorOverlayIcon) o;
-		return base.equals(other.base)
-			&& Arrays.equals(overlays, other.overlays);
-	}
-
-	public int hashCode() {
-		int code = base.hashCode();
-		for (int i = 0; i < overlays.length; i++) {
-			if(overlays[i] != null)	
-				code ^= overlays[i].hashCode();
-		}
-		return code;
-	}
-
-	protected void drawCompositeImage(int width, int height) {
-		ImageDescriptor underlay = overlays[DecoratorRegistryReader.UNDERLAY];
-		if(underlay != null)
-			drawImage(underlay.getImageData(),0,0);
-		drawImage(base.getImageData(), 0, 0);
-		drawOverlays(overlays);
-	}
-
-	protected Point getSize() {
-		return size;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecoratorRegistryReader.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecoratorRegistryReader.java
deleted file mode 100644
index 915936c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/DecoratorRegistryReader.java
+++ /dev/null
@@ -1,194 +0,0 @@
-package org.eclipse.ui.internal.decorators;
-
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ActionExpression;
-import org.eclipse.ui.internal.registry.RegistryReader;
-import org.eclipse.ui.internal.registry.WizardsRegistryReader;
-
-/**
- * The DecoratorRegistryReader is the class that reads the
- * decorator descriptions from the registry
- */
-
-class DecoratorRegistryReader extends RegistryReader {
-
-	//The registry values are the ones read from the registry
-	static Collection values;
-	static Collection ids;
-
-	private static String EXTENSION_ID = "decorators"; //$NON-NLS-1$
-	private static String ATT_LABEL = "label"; //$NON-NLS-1$
-	private static String ATT_ADAPTABLE = "adaptable"; //$NON-NLS-1$
-	private static String ATT_ID = "id"; //$NON-NLS-1$
-	private static String ATT_DESCRIPTION = "description"; //$NON-NLS-1$
-	private static String ATT_ICON = "icon"; //$NON-NLS-1$
-	private static String ATT_QUADRANT = "quadrant"; //$NON-NLS-1$
-	private static String ATT_LOCATION = "location"; //$NON-NLS-1$
-	private static String ATT_ENABLED = "state"; //$NON-NLS-1$
-	private static String CHILD_ENABLEMENT = "enablement"; //$NON-NLS-1$
-	private static String P_TRUE = "true"; //$NON-NLS-1$
-	private static String ATT_OBJECT_CLASS = "objectClass"; //$NON-NLS-1$
-	private static String ATT_LIGHTWEIGHT = "lightweight"; //$NON-NLS-1$
-
-	//Constants for quadrants
-	public static final int TOP_LEFT = 0;
-	public static final int TOP_RIGHT = 1;
-	public static final int BOTTOM_LEFT = 2;
-	public static final int BOTTOM_RIGHT = 3;
-	public static final int UNDERLAY = 4;
-
-	//Constants for quadrants
-	private static final String TOP_LEFT_STRING = "TOP_LEFT";
-	private static final String TOP_RIGHT_STRING = "TOP_RIGHT";
-	private static final String BOTTOM_LEFT_STRING = "BOTTOM_LEFT";
-	private static final String BOTTOM_RIGHT_STRING = "BOTTOM_RIGHT";
-	private static final String UNDERLAY_STRING = "UNDERLAY";
-
-	/**
-	 * Constructor for DecoratorRegistryReader.
-	 */
-	protected DecoratorRegistryReader() {
-		super();
-	}
-
-	/*
-	 * @see RegistryReader#readElement(IConfigurationElement)
-	 */
-	protected boolean readElement(IConfigurationElement element) {
-
-		String name = element.getAttribute(ATT_LABEL);
-
-		String id = element.getAttribute(ATT_ID);
-		if(ids.contains(id)){
-			logDuplicateId(element);
-			return false;
-		}
-		ids.add(id);
-
-		String description = ""; //$NON-NLS-1$
-
-		IConfigurationElement[] descriptions =
-			element.getChildren(ATT_DESCRIPTION);
-
-		if (descriptions.length > 0)
-			description = descriptions[0].getValue();
-
-		boolean adaptable = P_TRUE.equals(element.getAttribute(ATT_ADAPTABLE));
-
-		boolean enabled = P_TRUE.equals(element.getAttribute(ATT_ENABLED));
-
-		ActionExpression enablementExpression;
-
-		IConfigurationElement[] enablement =
-			element.getChildren(CHILD_ENABLEMENT);
-		if (enablement.length == 0) {
-			String className = element.getAttribute(ATT_OBJECT_CLASS);
-			if (className == null) {
-				logMissingElement(element, CHILD_ENABLEMENT);
-				return false;
-			} else
-				enablementExpression =
-					new ActionExpression(ATT_OBJECT_CLASS, className);
-		} else
-			enablementExpression = new ActionExpression(enablement[0]);
-
-		boolean noClass =
-			element.getAttribute(WizardsRegistryReader.ATT_CLASS) == null;
-
-		//Lightweight or Full? It is lightweight if it is declared lightweight or if there is no class
-		if (P_TRUE.equals(element.getAttribute(ATT_LIGHTWEIGHT)) || noClass) {
-
-			int quadrant =
-				getLocationConstant(element.getAttribute(ATT_LOCATION),element);
-			String iconPath = element.getAttribute(ATT_ICON);
-			
-			if (noClass && iconPath == null) {
-				logMissingElement(element, ATT_ICON);
-				return false;
-			}
-
-			values.add(
-				new LightweightDecoratorDefinition(
-					id,
-					name,
-					description,
-					enablementExpression,
-					adaptable,
-					enabled,
-					quadrant,
-					iconPath,
-					element));
-		} else {
-			values.add(
-				new FullDecoratorDefinition(
-					id,
-					name,
-					description,
-					enablementExpression,
-					adaptable,
-					enabled,
-					element));
-		}
-
-		return true;
-
-	}
-
-	/**
-	 * Read the decorator extensions within a registry and set 
-	 * up the registry values.
-	 */
-	Collection readRegistry(IPluginRegistry in) {
-		values = new ArrayList();
-		ids = new HashSet();
-		readRegistry(in, PlatformUI.PLUGIN_ID, EXTENSION_ID);
-		return values;
-	}
-
-	/**
-	 * Get the constant value based on the location supplied. Default to bottom
-	 * right.
-	 */
-	private int getLocationConstant(String locationDefinition, IConfigurationElement element) {
-		
-		//Backwards compatibility
-		if(locationDefinition == null)
-			locationDefinition = element.getAttribute(ATT_QUADRANT);
-			
-		if (TOP_RIGHT_STRING.equals(locationDefinition))
-			return TOP_RIGHT;
-		if (TOP_LEFT_STRING.equals(locationDefinition))
-			return TOP_LEFT;
-		if (BOTTOM_LEFT_STRING.equals(locationDefinition))
-			return BOTTOM_LEFT;
-		if (UNDERLAY_STRING.equals(locationDefinition))
-			return UNDERLAY;
-		return BOTTOM_RIGHT;
-
-	}
-	
-	/**
-	 * Logs a registry error when the configuration element is unknown.
-	 */
-	protected void logDuplicateId(IConfigurationElement element) {
-		logError(element, "Duplicate id found: " + element.getAttribute(ATT_ID));//$NON-NLS-1$
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/FullDecoratorDefinition.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/FullDecoratorDefinition.java
deleted file mode 100644
index 19e8cb3..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/FullDecoratorDefinition.java
+++ /dev/null
@@ -1,198 +0,0 @@
-package org.eclipse.ui.internal.decorators;
-
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation 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 - Initial implementation
- ******************************************************************************/
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.registry.WizardsRegistryReader;
-
-/**
- * The RunnableDecoratorDefinition is the definition for 
- * decorators that have an ILabelDecorator class to instantiate.
- */
-
-class FullDecoratorDefinition extends DecoratorDefinition {
-	
-	private ILabelDecorator decorator;
-
-	/**
-	 * Create a new instance of the receiver with the
-	 * supplied values.
-	 */
-
-	FullDecoratorDefinition(
-		String identifier,
-		String label,
-		String decoratorDescription,
-		ActionExpression expression,
-		boolean isAdaptable,
-		boolean initEnabled,
-		IConfigurationElement element) {
-		super(
-			identifier,
-			label,
-			decoratorDescription,
-			expression,
-			isAdaptable,
-			initEnabled,
-			element);
-	}
-	/**
-	 * Gets the decorator and creates it if it does
-	 * not exist yet. Throws a CoreException if there is a problem
-	 * creating the decorator.
-	 * This method should not be called unless a check for
-	 * enabled to be true is done first.
-	 * @return Returns a ILabelDecorator
-	 */
-	protected ILabelDecorator internalGetDecorator() throws CoreException {
-		if (labelProviderCreationFailed)
-			return null;
-
-		final CoreException[] exceptions = new CoreException[1];
-
-		if (decorator == null) {
-			Platform.run(new SafeRunnable(WorkbenchMessages.format("DecoratorManager.ErrorActivatingDecorator", new String[] { getName()})) { //$NON-NLS-1$
-				public void run() {
-					try {
-						decorator =
-							(ILabelDecorator) WorkbenchPlugin.createExtension(
-								definingElement,
-								WizardsRegistryReader.ATT_CLASS);
-						decorator.addListener(WorkbenchPlugin.getDefault().getDecoratorManager());
-					} catch (CoreException exception) {
-						exceptions[0] = exception;
-					}
-				}
-			});
-		}
-		else
-			return decorator;
-
-		if (decorator == null) {
-			this.labelProviderCreationFailed = true;
-			setEnabled(false);
-		}
-
-		if (exceptions[0] != null)
-			throw exceptions[0];
-
-		return decorator;
-	}
-	/**
-	 * Refresh the current decorator based on our enable
-	 * state.
-	 */
-
-	private void refreshDecorator() throws CoreException {
-		DecoratorManager manager =
-			(DecoratorManager) WorkbenchPlugin
-				.getDefault()
-				.getDecoratorManager();
-		//Only do something if disabled so as to prevent
-		//gratutitous activation
-		if (!this.enabled) {
-			if (decorator != null) {
-				ILabelDecorator cached = decorator;
-				cached.removeListener(manager);
-				//Clear the decorator before disposing
-				decorator = null;
-				cached.dispose();
-			}
-		}
-
-	}
-
-	/**
-	 * Sets the enabled flag and adds or removes the decorator
-	 * manager as a listener as appropriate.
-	 * @param enabled The enabled to set
-	 */
-	public void setEnabled(boolean newState) {
-
-		//Only refresh if there has been a change
-		if (this.enabled != newState) {
-			this.enabled = newState;
-			try {
-				refreshDecorator();
-			} catch (CoreException exception) {
-				handleCoreException(exception);
-			}
-
-		}
-	}
-	/**
-	 * Decorate the image provided for the element type.
-	 * This method should not be called unless a check for
-	 * isEnabled() has been done first.
-	 * Return null if there is no image or if an error occurs.
-	 */
-	Image decorateImage(Image image, Object element) {
-		try {
-			//Internal decorator might be null so be prepared
-			ILabelDecorator currentDecorator = internalGetDecorator();
-			if (currentDecorator != null)
-				return currentDecorator.decorateImage(image, element);
-
-		} catch (CoreException exception) {
-			handleCoreException(exception);
-		}
-		return null;
-	}
-
-	/**
-	 * Decorate the text provided for the element type.
-	 * This method should not be called unless a check for
-	 * isEnabled() has been done first.
-	 * Return null if there is no text or if there is an exception.
-	 */
-	String decorateText(String text, Object element) {
-		try {
-			//Internal decorator might be null so be prepared
-			ILabelDecorator currentDecorator = internalGetDecorator();
-			if (currentDecorator != null)
-				return currentDecorator.decorateText(text, element);
-		} catch (CoreException exception) {
-			handleCoreException(exception);
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the decorator, or <code>null</code> if not enabled.
-	 * 
-	 * @return the decorator, or <code>null</code> if not enabled
-	 */
-	public ILabelDecorator getDecorator() {
-		return decorator;
-	}
-
-	/**
-	 * @see org.eclipse.ui.internal.DecoratorDefinition#internalGetLabelProvider()
-	 */
-	protected IBaseLabelProvider internalGetLabelProvider()
-		throws CoreException {
-		return internalGetDecorator();
-	}
-
-	/**
-	 * @see org.eclipse.ui.internal.DecoratorDefinition#isFull()
-	 */
-	public boolean isFull() {
-		return true;
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/LightweightActionDescriptor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/LightweightActionDescriptor.java
deleted file mode 100644
index 3835b59..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/LightweightActionDescriptor.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package org.eclipse.ui.internal.decorators;
-
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.internal.ActionDescriptor;
-import org.eclipse.ui.internal.WorkbenchImages;
-import org.eclipse.ui.internal.dialogs.DialogUtil;
-import org.eclipse.ui.internal.model.WorkbenchAdapter;
-import org.eclipse.ui.model.*;
-import org.eclipse.jface.resource.*;
-
-/**
- * Represent the description of an action within
- * an action set. It does not create an action.
- *
- * [Issue: This class overlaps with ActionDescriptor
- *		and should be reviewed to determine if code
- *		reuse if possible.]
- */
-public class LightweightActionDescriptor extends WorkbenchAdapter
-	implements IAdaptable
-{
-	private String id;
-	private String label;
-	private String description;
-	private ImageDescriptor image;
-public LightweightActionDescriptor(IConfigurationElement actionElement) {
-	super();
-
-	this.id = actionElement.getAttribute(ActionDescriptor.ATT_ID);
-	this.label = actionElement.getAttribute(ActionDescriptor.ATT_LABEL);
-	this.description = actionElement.getAttribute(ActionDescriptor.ATT_DESCRIPTION);
-
-	String iconName = actionElement.getAttribute(ActionDescriptor.ATT_ICON);
-	if (iconName != null) {
-		this.image = WorkbenchImages.getImageDescriptorFromExtension(actionElement.getDeclaringExtension(), iconName);
-	}
-}
-/**
- * Returns an object which is an instance of the given class
- * associated with this object. Returns <code>null</code> if
- * no such object can be found.
- */
-public Object getAdapter(Class adapter) {
-	if (adapter == IWorkbenchAdapter.class) 
-		return this;
-	return null;
-}
-/**
- * Returns the action's description.
- */
-public String getDescription() {
-	return description;
-}
-/**
- * Returns the action's id.
- */
-public String getId() {
-	return id;
-}
-/**
- * Returns the action's image descriptor.
- */
-public ImageDescriptor getImageDescriptor() {
-	return image;
-}
-/**
- * @see IWorkbenchAdapter#getImageDescriptor
- */
-public ImageDescriptor getImageDescriptor(Object o) {
-	if (o == this)
-		return getImageDescriptor();
-	return super.getImageDescriptor(o);
-}
-/**
- * Returns the action's label.
- */
-public String getLabel() {
-	return label;
-}
-/**
- * @see IWorkbenchAdapter#getLabel
- */
-public String getLabel(Object o) {
-	if (o == this) {
-		String text = getLabel();
-		int end = text.lastIndexOf('@');
-		if(end >= 0)
-			text = text.substring(0, end);
-		return DialogUtil.removeAccel(text);		
-	}
-	return super.getLabel(o);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/LightweightDecoratorDefinition.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/LightweightDecoratorDefinition.java
deleted file mode 100644
index 426bb21..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/LightweightDecoratorDefinition.java
+++ /dev/null
@@ -1,169 +0,0 @@
-package org.eclipse.ui.internal.decorators;
-
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation 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 - Initial implementation
- ******************************************************************************/
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.registry.WizardsRegistryReader;
-
-/**
- * The DeclarativeDecoratorDefinition is a decorator 
- * definition that is defined entirely from xml and
- * will not require the activation of its defining 
- * plug-in.
- */
-class LightweightDecoratorDefinition extends DecoratorDefinition {
-
-	/**
-	 * The DeclarativeDecorator is the internal decorator
-	 * supplied by the decorator definition.
-	 */
-	private ILightweightLabelDecorator decorator;
-	private int quadrant;
-	private String iconLocation;
-	private String decoratorClass;
-
-	LightweightDecoratorDefinition(
-		String identifier,
-		String label,
-		String decoratorDescription,
-		ActionExpression expression,
-		boolean isAdaptable,
-		boolean initEnabled,
-		int quadrantValue,
-		String iconPath,
-		IConfigurationElement element) {
-		super(
-			identifier,
-			label,
-			decoratorDescription,
-			expression,
-			isAdaptable,
-			initEnabled,
-			element);
-		this.iconLocation = iconPath;
-		this.quadrant = quadrantValue;
-	}
-
-	/**
-	 * Gets the decorator and creates it if it does
-	 * not exist yet. Throws a CoreException if there is a problem
-	 * creating the decorator.
-	 * This method should not be called unless a check for
-	 * enabled to be true is done first.
-	 * @return Returns a ILabelDecorator
-	 */
-	protected ILightweightLabelDecorator internalGetDecorator()
-		throws CoreException {
-		if (labelProviderCreationFailed)
-			return null;
-
-		final CoreException[] exceptions = new CoreException[1];
-
-		if (decorator == null) {
-
-			if (definingElement.getAttribute(WizardsRegistryReader.ATT_CLASS)
-				== null)
-				decorator =
-					new DeclarativeDecorator(definingElement, iconLocation);
-			else {
-
-				Platform.run(new SafeRunnable(WorkbenchMessages.format("DecoratorManager.ErrorActivatingDecorator", new String[] { getName()})) { //$NON-NLS-1$
-					public void run() {
-						try {
-							decorator =
-								(
-									ILightweightLabelDecorator) WorkbenchPlugin
-										.createExtension(
-									definingElement,
-									WizardsRegistryReader.ATT_CLASS);
-							decorator.addListener(
-								WorkbenchPlugin
-									.getDefault()
-									.getDecoratorManager());
-						} catch (CoreException exception) {
-							exceptions[0] = exception;
-						}
-					}
-				});
-			}
-		} else
-			return decorator;
-
-		if (decorator == null) {
-			this.labelProviderCreationFailed = true;
-			setEnabled(false);
-		}
-
-		if (exceptions[0] != null)
-			throw exceptions[0];
-
-		return decorator;
-	}
-
-	/**
-	 * @see org.eclipse.ui.internal.DecoratorDefinition#internalGetLabelProvider()
-	 */
-	protected IBaseLabelProvider internalGetLabelProvider()
-		throws CoreException {
-		return internalGetDecorator();
-	}
-
-	/**
-	 * @see org.eclipse.ui.internal.DecoratorDefinition#isFull()
-	 */
-	public boolean isFull() {
-		return false;
-	}
-
-	/**
-	 * Returns the quadrant.One of the following constants in
-	 * DecoratorRegistryReader:
-	 * 	TOP_LEFT 
-	 *  TOP_RIGHT
-	 *  BOTTOM_LEFT
-	 *  BOTTOM_RIGHT
-	 *  UNDERLAY
-	 * @return int
-	 */
-	public int getQuadrant() {
-		return quadrant;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ILightweightLabelDecorator#getOverlay(java.lang.Object)
-	 */
-	public void decorate(Object element, IDecoration decoration) {
-		try {
-			//Internal decorator might be null so be prepared
-			ILightweightLabelDecorator currentDecorator =
-				internalGetDecorator();
-			if (currentDecorator != null)
-				currentDecorator.decorate(element, decoration);
-		} catch (CoreException exception) {
-			handleCoreException(exception);
-		}
-
-	}
-
-	/**
-	 * Returns the lightweight decorator, or <code>null</code> if not enabled.
-	 * 
-	 * @return the lightweight decorator, or <code>null</code> if not enabled
-	 */
-	public ILightweightLabelDecorator getDecorator() {
-		return decorator;
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/LightweightDecoratorManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/LightweightDecoratorManager.java
deleted file mode 100644
index 998fa04..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/LightweightDecoratorManager.java
+++ /dev/null
@@ -1,220 +0,0 @@
-package org.eclipse.ui.internal.decorators;
-
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation 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 - Initial implementation
- ******************************************************************************/
-
-import java.util.*;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.Platform;
-
-/*
- * (c) Copyright IBM Corp. 2002.
- * All Rights Reserved.
- */
-
-/**
- * The LightweightDecoratorManager is a decorator manager
- * that encapsulates the behavior for the lightweight decorators.
- */
-class LightweightDecoratorManager {
-
-	/**
-	 * The runnable is the object used to run the decorations
-	 * so that an error in someones decorator will not kill the thread.
-	 * It is implemented here to prevent aborting of decoration
-	 * i.e. successful decorations will still be applied.
-	 */
-
-	private class LightweightRunnable implements ISafeRunnable {
-		private Object element;
-		private DecorationBuilder decoration;
-		private LightweightDecoratorDefinition decorator;
-
-		private void setValues(
-			Object object,
-			DecorationBuilder builder,
-			LightweightDecoratorDefinition definition) {
-			element = object;
-			decoration = builder;
-			decorator = definition;
-
-		}
-		/*
-		 * @see ISafeRunnable.handleException(Throwable).
-		 */
-		public void handleException(Throwable exception) {
-		}
-		/*
-		 * @see ISafeRunnable.run
-		 */
-		public void run() throws Exception {
-			decorator.decorate(element, decoration);
-		}
-	}
-
-	private LightweightRunnable runnable = new LightweightRunnable();
-
-	//The cachedDecorators are a 1-many mapping of type to full decorator.
-	private HashMap cachedLightweightDecorators = new HashMap();
-
-	//The lightweight definitionsread from the registry
-	private LightweightDecoratorDefinition[] lightweightDefinitions;
-
-	private static final LightweightDecoratorDefinition[] EMPTY_LIGHTWEIGHT_DEF =
-		new LightweightDecoratorDefinition[0];
-
-	private OverlayCache overlayCache = new OverlayCache();
-
-	LightweightDecoratorManager(LightweightDecoratorDefinition[] definitions) {
-		super();
-		lightweightDefinitions = definitions;
-	}
-
-	/**
-	 * Get the lightweight definitions for the receiver.
-	 * @return LightweightDecoratorDefinition[]
-	 */
-	LightweightDecoratorDefinition[] getDefinitions() {
-		return lightweightDefinitions;
-	}
-
-	/**
-	 * Return the enabled lightweight decorator definitions.
-	 * @return LightweightDecoratorDefinition[]
-	 */
-	LightweightDecoratorDefinition[] enabledDefinitions() {
-		ArrayList result = new ArrayList();
-		for (int i = 0; i < lightweightDefinitions.length; i++) {
-			if (lightweightDefinitions[i].isEnabled())
-				result.add(lightweightDefinitions[i]);
-		}
-		LightweightDecoratorDefinition[] returnArray =
-			new LightweightDecoratorDefinition[result.size()];
-		result.toArray(returnArray);
-		return returnArray;
-	}
-
-	/**
-	 * Reset any cached values.
-	 */
-	void reset() {
-		cachedLightweightDecorators = new HashMap();
-	}
-
-	/**
-	* Shutdown the decorator manager by disabling all
-	* of the decorators so that dispose() will be called
-	* on them.
-	*/
-	void shutdown() {
-		//Disable all fo the enabled decorators 
-		//so as to force a dispose of thier decorators
-		for (int i = 0; i < lightweightDefinitions.length; i++) {
-			if (lightweightDefinitions[i].isEnabled())
-				lightweightDefinitions[i].setEnabledWithErrorHandling(false);
-		}
-		overlayCache.disposeAll();
-	}
-
-	/**
-	 * Get the LightweightDecoratorDefinition with the supplied id
-	 * @return LightweightDecoratorDefinition or <code>null</code> if it is not found
-	 * @param decoratorId String
-	 */
-	LightweightDecoratorDefinition getDecoratorDefinition(String decoratorId) {
-		for (int i = 0; i < lightweightDefinitions.length; i++) {
-			if (lightweightDefinitions[i].getId().equals(decoratorId))
-				return lightweightDefinitions[i];
-		}
-		return null;
-	}
-
-	/**
-	* Get the lightweight  registered for elements of this type.
-	*/
-	LightweightDecoratorDefinition[] getDecoratorsFor(Object element) {
-
-		if (element == null)
-			return EMPTY_LIGHTWEIGHT_DEF;
-
-		String className = element.getClass().getName();
-		LightweightDecoratorDefinition[] decoratorArray =
-			(LightweightDecoratorDefinition[]) cachedLightweightDecorators.get(
-				className);
-		if (decoratorArray != null) {
-			return decoratorArray;
-		}
-
-		Collection decorators =
-			DecoratorManager.getDecoratorsFor(element, enabledDefinitions());
-
-		if (decorators.size() == 0)
-			decoratorArray = EMPTY_LIGHTWEIGHT_DEF;
-		else {
-			decoratorArray =
-				new LightweightDecoratorDefinition[decorators.size()];
-			decorators.toArray(decoratorArray);
-		}
-
-		cachedLightweightDecorators.put(className, decoratorArray);
-		return decoratorArray;
-	}
-
-	/**
-	* Fill the decoration with all of the results of the 
-	* decorators.
-	* 
-	* @param element The source element
-	* @param adapted The adapted value of element or null
-	* @param decoration. The DecorationResult we are working on.
-	*/
-
-	void getDecorations(
-		Object element,
-		DecorationBuilder decoration) {
-
-		LightweightDecoratorDefinition[] decorators = getDecoratorsFor(element);
-
-		for (int i = 0; i < decorators.length; i++) {
-			if (decorators[i].getEnablement().isEnabledFor(element)) {
-				decoration.setCurrentDefinition(decorators[i]);
-				decorate(element, decoration, decorators[i]);
-			}
-		}
-
-
-	}
-
-	/**
-	 * Decorate the element receiver in a SafeRunnable.
-	 * @param element. The Object to be decorated
-	 * @param decoration. The object building decorations.
-	 * @param decorator. The decorator being applied.
-	 */
-	private void decorate(
-		Object element,
-		DecorationBuilder decoration,
-		LightweightDecoratorDefinition decorator) {
-
-		runnable.setValues(element, decoration, decorator);
-		Platform.run(runnable);
-
-	}
-	/**
-	 * Returns the overlayCache.
-	 * @return OverlayCache
-	 */
-	OverlayCache getOverlayCache() {
-		return overlayCache;
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/OverlayCache.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/OverlayCache.java
deleted file mode 100644
index 3224afa..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/decorators/OverlayCache.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.ui.internal.decorators;
-
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation 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 - Initial implementation
- ******************************************************************************/
-
-import java.util.*;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.*;
-
-/**
- * The OverlayCache is a helper class used by the DecoratorManger
- * to manage the lifecycle of overlaid images.
- */
-class OverlayCache {
-	private Map cache = new HashMap(); /*from OverlayIcon to Image*/
-
-	/**
-	 * Returns and caches an image corresponding to the specified icon.
-	 * @param icon the icon
-	 * @return the image
-	 */
-	Image getImageFor(DecoratorOverlayIcon icon) {
-		Image image = (Image) cache.get(icon);
-		if (image == null) {
-			image = icon.createImage();
-			cache.put(icon, image);
-		}
-		return image;
-	}
-
-	/**
-	 * Disposes of all images in the cache.
-	 */
-	void disposeAll() {
-		for (Iterator it = cache.values().iterator(); it.hasNext();) {
-			Image image = (Image) it.next();
-			image.dispose();
-		}
-		cache.clear();
-	}
-
-	/**
-	 * Apply the descriptors for the receiver to the supplied
-	 * image.
-	 * @param source
-	 * @param descriptors
-	 * @return Image
-	 */
-
-	Image applyDescriptors(Image source, ImageDescriptor[] descriptors) {
-		Rectangle bounds = source.getBounds();
-		Point size = new Point(bounds.width, bounds.height);
-		DecoratorOverlayIcon icon =
-			new DecoratorOverlayIcon(source, descriptors, size);
-		return getImageFor(icon);
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/AboutDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/AboutDialog.java
deleted file mode 100644
index feee533..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/AboutDialog.java
+++ /dev/null
@@ -1,301 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-package org.eclipse.ui.internal.dialogs;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-
-/**
- * Displays information about the product.
- *
- * @private
- *		This class is internal to the workbench and must not be called outside the workbench
- */
-public class AboutDialog extends ProductInfoDialog {
-	private	Image 			image;	//image to display on dialog
-	private  	AboutInfo     	aboutInfo;
-	private 	ArrayList images = new ArrayList();
-	private 	StyledText text;
-	private final static	int MAX_IMAGE_WIDTH_FOR_TEXT = 250;
-	private final static int FEATURES_ID = IDialogConstants.CLIENT_ID + 1;
-	private final static int PLUGINS_ID = IDialogConstants.CLIENT_ID + 2;
-	private final static int INFO_ID = IDialogConstants.CLIENT_ID + 3;
-
-/**
- * Create an instance of the AboutDialog
- */
-public AboutDialog(Shell parentShell) {
-	super(parentShell);
-	Workbench workbench = (Workbench)PlatformUI.getWorkbench();
-	aboutInfo = workbench.getConfigurationInfo().getAboutInfo();
-}
-/* (non-Javadoc)
- * Method declared on Dialog.
- */
-protected void buttonPressed(int buttonId) {
-	switch (buttonId) {
-		case FEATURES_ID : {
-			new AboutFeaturesDialog(getShell()).open();
-			return;
-		}
-		case PLUGINS_ID : {
-			new AboutPluginsDialog(getShell()).open();
-			return;
-		}
-		case INFO_ID : {
-			BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
-				public void run() {
-					((Workbench)PlatformUI.getWorkbench()).getConfigurationInfo().openSystemSummaryEditor();
-				}
-			});
-			close();
-			return;
-		}
-	}
-	super.buttonPressed(buttonId);
-}
-
-public boolean close() {
-	//get rid of the image that was displayed on the left-hand side of the Welcome dialog
-	if (image != null)
-		image.dispose();
-	for (int i = 0; i < images.size(); i++) {
-		((Image)images.get(i)).dispose();
-	}
-	return super.close();
-}
-/* (non-Javadoc)
- * Method declared on Window.
- */
-protected void configureShell(Shell newShell) {
-	super.configureShell(newShell);
-	String name = aboutInfo.getProductName();
-	if (name != null)
-		newShell.setText(WorkbenchMessages.format("AboutDialog.shellTitle", new Object[] {name})); //$NON-NLS-1$
-	WorkbenchHelp.setHelp(newShell, IHelpContextIds.ABOUT_DIALOG);
-}
-/**
- * Add buttons to the dialog's button bar.
- *
- * Subclasses should override.
- *
- * @param parent the button bar composite
- */
-protected void createButtonsForButtonBar(Composite parent) {
-	parent.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	
-	createButton(parent, FEATURES_ID, WorkbenchMessages.getString("AboutDialog.featureInfo"), false); //$NON-NLS-1$
-	createButton(parent, PLUGINS_ID, WorkbenchMessages.getString("AboutDialog.pluginInfo"), false); //$NON-NLS-1$
-	createButton(parent, INFO_ID, WorkbenchMessages.getString("AboutDialog.systemInfo"), false); //$NON-NLS-1$
-
-	Label l = new Label(parent, SWT.NONE);
-	l.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	GridLayout layout = (GridLayout)parent.getLayout();
-	layout.numColumns++;
-	layout.makeColumnsEqualWidth = false;
-
-	Button b = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-	b.setFocus();
-}
-/**
- * Creates and returns the contents of the upper part 
- * of the dialog (above the button bar).
- *
- * Subclasses should overide.
- *
- * @param the parent composite to contain the dialog area
- * @return the dialog area control
- */
-protected Control createDialogArea(Composite parent) {
-	setHandCursor(new Cursor(parent.getDisplay(), SWT.CURSOR_HAND));
-	setBusyCursor(new Cursor(parent.getDisplay(), SWT.CURSOR_WAIT));
-	getShell().addDisposeListener(new DisposeListener() {
-		public void widgetDisposed(DisposeEvent e) {
-			if (getHandCursor() != null)
-				getHandCursor().dispose();
-			if (getBusyCursor() != null)
-				getBusyCursor().dispose();
-		}
-	});
-	
-	ImageDescriptor imageDescriptor =  aboutInfo.getAboutImage();	// may be null
-	if (imageDescriptor != null) 
-		image = imageDescriptor.createImage();
-	if (image == null || image.getBounds().width <= MAX_IMAGE_WIDTH_FOR_TEXT) {
-		// show text
-		String aboutText = aboutInfo.getAboutText();
-		if (aboutText != null) {
-			// get an about item
-			setItem(scan(aboutText));
-		}
-	}
-						
-	// page group
-	Composite outer = (Composite)super.createDialogArea(parent);
-	outer.setSize(outer.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-	GridLayout layout = new GridLayout();
-	outer.setLayout(layout);
-	outer.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-	// the image & text	
-	Composite topContainer = new Composite(outer, SWT.NONE);
-	layout = new GridLayout();
-	layout.numColumns = (image == null || getItem() == null ? 1 : 2);
-	layout.marginWidth = 0;
-	topContainer.setLayout(layout);
-	GridData data = new GridData();
-	data.horizontalAlignment = GridData.FILL;
-	data.grabExcessHorizontalSpace = true;
-	topContainer.setLayoutData(data);
-
-	//image on left side of dialog
-	if (image != null) {
-		Label imageLabel = new Label(topContainer, SWT.NONE);
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.verticalAlignment = GridData.BEGINNING;
-		data.grabExcessHorizontalSpace = false;
-		imageLabel.setLayoutData(data);
-		imageLabel.setImage(image);
-	}
-	
-	if (getItem() != null) {
-		// text on the right
-		text = new StyledText(topContainer, SWT.MULTI | SWT.READ_ONLY);
-		text.setCaret(null);
-		text.setFont(parent.getFont());
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.verticalAlignment = GridData.BEGINNING;
-		data.grabExcessHorizontalSpace = true;
-		text.setText(getItem().getText());
-		text.setLayoutData(data);
-		text.setCursor(null);
-		text.setBackground(topContainer.getBackground());
-		setLinkRanges(text, getItem().getLinkRanges());
-		addListeners(text);
-	}
-
-	// horizontal bar
-	Label bar =  new Label(outer, SWT.HORIZONTAL | SWT.SEPARATOR);
-	data = new GridData();
-	data.horizontalAlignment = GridData.FILL;
-	bar.setLayoutData(data);
-	
-	// feature images
-	Composite featureContainer = new Composite(outer, SWT.NONE);
-	RowLayout rowLayout = new RowLayout();
-	rowLayout.wrap = true;
-	featureContainer.setLayout(rowLayout);
-	data = new GridData();
-	data.horizontalAlignment = GridData.FILL;
-	featureContainer.setLayoutData(data);
-	
-	final AboutInfo[] infoArray = getFeaturesInfo();
-	for (int i = 0; i < infoArray.length; i++) {
-		ImageDescriptor desc = infoArray[i].getFeatureImage();
-		Image image = null;
-		if (desc != null) {
-			Button button = new Button(featureContainer, SWT.FLAT | SWT.PUSH);
-			button.setData(infoArray[i]);
-			image = desc.createImage();
-			images.add(image);
-			button.setImage(image);
-			String name = infoArray[i].getProviderName();
-			if (name == null)
-				name = "";
-			button.setToolTipText(name);
-			button.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent event) {
-					AboutFeaturesDialog d = new AboutFeaturesDialog(getShell());
-					d.setInitialSelection((AboutInfo)event.widget.getData());
-					d.open();
-				}
-			});
-		}
-	}
-	
-	// spacer
-	bar =  new Label(outer, SWT.NONE);
-	data = new GridData();
-	data.horizontalAlignment = GridData.FILL;
-	bar.setLayoutData(data);
-	
-	return outer;
-}
-
-
-/**
- * Returns the feature infos.
- * They are grouped by provider and image.
- */
-private AboutInfo[] getFeaturesInfo() {
-	AboutInfo[] rawArray = ((Workbench)PlatformUI.getWorkbench()).getConfigurationInfo().getFeaturesInfo();
-	// quickly exclude any that do not have a provider name and image
-	ArrayList infoList = new ArrayList();
-	for (int i = 0; i < rawArray.length; i++) {
-		if (rawArray[i].getProviderName() != null &&
-			rawArray[i].getFeatureImageName() != null)
-			infoList.add(rawArray[i]); 
-	}
-	AboutInfo[] infoArray = (AboutInfo[])infoList.toArray(new AboutInfo[infoList.size()]);
-	
-	// now exclude those with duplicate images
-	infoList = new ArrayList();
-	for (int i = 0; i < infoArray.length; i++) {
-		// check for identical provider
-		boolean add = true;
-		for (int j = 0; j < infoList.size(); j++) {
-			AboutInfo current = (AboutInfo)infoList.get(j);
-			if (current.getProviderName().equals(infoArray[i].getProviderName())) {
-				// check for identical image
-				if (current.getFeatureImageName().equals(infoArray[i].getFeatureImageName())) {
-					// same name
-					// we have to check if the CRC's are identical
-					Long crc1 = current.getFeatureImageCRC();
-					Long crc2 = infoArray[i].getFeatureImageCRC();
-					if (crc1 == null ? false : crc1.equals(crc2)) {
-						// duplicate
-						add = false;
-						break;
-					}
-				}
-			}
-		}
-		if (add)
-			infoList.add(infoArray[i]);
-	}	
-	infoList.remove(aboutInfo);
-	return (AboutInfo[])infoList.toArray(new AboutInfo[infoList.size()]);
-}
-
-
-/**
- * Answer the product text to show on the right side of the dialog.
- */ 
-private String getAboutText() {
-	return aboutInfo.getAboutText();
-}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/AboutFeaturesDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/AboutFeaturesDialog.java
deleted file mode 100644
index 3ff97fb..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/AboutFeaturesDialog.java
+++ /dev/null
@@ -1,689 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002. All Rights Reserved.
- * Contributors:  Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog
- * font should be activated and used by other components.
- */
-
-import java.text.Collator;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.core.*;
-
-/**
- * Displays information about the product plugins.
- *
- * @private
- *		This class is internal to the workbench and must not be called outside the workbench
- */
-public class AboutFeaturesDialog extends ProductInfoDialog {
-	
-	/**
-	 * Table height in dialog units (value 150).
-	 */
-	private static final int TABLE_HEIGHT = 150;
-	private static final int INFO_HEIGHT = 100;
-
-	private final static int MORE_ID = IDialogConstants.CLIENT_ID + 1;
-	private final static int PLUGINS_ID = IDialogConstants.CLIENT_ID + 2;
-	
-	private Table table;
-	private Label imageLabel;	
-	private StyledText text;
-	private Composite infoArea;
-	
-	private Map cachedImages = new HashMap();
-
-	private String columnTitles[] =
-		{ WorkbenchMessages.getString("AboutFeaturesDialog.provider"), //$NON-NLS-1$
-		WorkbenchMessages.getString("AboutFeaturesDialog.featureName"), //$NON-NLS-1$
-		WorkbenchMessages.getString("AboutFeaturesDialog.version"), //$NON-NLS-1$
-	};
-
-	private AboutInfo[] featuresInfo;
-	private AboutInfo aboutInfo;
-	
-	private int lastColumnChosen = 0;	// initially sort by provider
-	private boolean reverseSort = false;	// initially sort ascending
-	private AboutInfo lastSelection = null;
-	private Button moreButton;
-	private Button pluginsButton;
-	
-	private static Map featuresMap;
-
-	/**
-	 * Constructor for AboutFeaturesDialog
-	 */
-	public AboutFeaturesDialog(Shell parentShell) {
-		super(parentShell);
-		Workbench workbench = (Workbench)PlatformUI.getWorkbench();
-		aboutInfo = workbench.getConfigurationInfo().getAboutInfo();
-		featuresInfo = workbench.getConfigurationInfo().getFeaturesInfo();
-		sortByProvider();
-	}
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void buttonPressed(int buttonId) {
-		switch (buttonId) {
-			case MORE_ID : {
-				TableItem[] items = table.getSelection();
-				if (items.length > 0) {
-					AboutInfo info = (AboutInfo)items[0].getData();
-					IFeature feature = getFeatureFor(info);
-					if (feature != null) {
-						IURLEntry entry = feature.getLicense();
-						if (entry != null) {
-							openLink(entry.getURL().toString());
-							return;
-						}
-					}
-					MessageDialog.openInformation(
-						getShell(), 
-						WorkbenchMessages.getString("AboutFeaturesDialog.noInfoTitle"), //$NON-NLS-1$
-						WorkbenchMessages.getString("AboutFeaturesDialog.noInformation")); //$NON-NLS-1$
-				}
-				return;
-			}
-			case PLUGINS_ID : {
-				TableItem[] items = table.getSelection();
-				if (items.length > 0) {
-					AboutInfo info = (AboutInfo)items[0].getData();
-					IFeature feature = getFeatureFor(info);
-					IPluginDescriptor[] descriptors;
-					if (feature == null)
-						descriptors = new IPluginDescriptor[0];	
-					else
-						descriptors = getPluginsFor(feature);
-					AboutPluginsDialog d = 
-						new AboutPluginsDialog(
-							getShell(), 
-							descriptors,
-							WorkbenchMessages.getString("AboutFeaturesDialog.pluginInfoTitle"), //$NON-NLS-1$
-							WorkbenchMessages.format("AboutFeaturesDialog.pluginInfoMessage",	new Object[] {info.getFeatureLabel()})); //$NON-NLS-1$
-					d.open();
-				}				
-				return;
-			}
-		}
-		super.buttonPressed(buttonId);
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on Window.
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		String title = aboutInfo.getProductName();
-		if (title != null) { 
-		newShell.setText(
-			WorkbenchMessages.format(
-				"AboutFeaturesDialog.shellTitle",	//$NON-NLS-1$
-				new Object[] {title}));
-		}
-		WorkbenchHelp.setHelp(
-			newShell,
-			IHelpContextIds.ABOUT_FEATURES_DIALOG);
-	} 
-	/**
-	 * Add buttons to the dialog's button bar.
-	 *
-	 * Subclasses should override.
-	 *
-	 * @param parent the button bar composite
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		parent.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	
-		moreButton = createButton(parent, MORE_ID, WorkbenchMessages.getString("AboutFeaturesDialog.moreInfo"), false);
-		pluginsButton = createButton(parent, PLUGINS_ID, WorkbenchMessages.getString("AboutFeaturesDialog.pluginsInfo"), false);
-
-		Label l = new Label(parent, SWT.NONE);
-		l.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		GridLayout layout = (GridLayout)parent.getLayout();
-		layout.numColumns++;
-		layout.makeColumnsEqualWidth = false;
-	
-		Button b = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		b.setFocus();
-		
-		TableItem[] items = table.getSelection();
-		if (items.length > 0) 
-			updateButtons((AboutInfo)items[0].getData());
-	}
-
-	/**
-	 * Create the contents of the dialog (above the button bar).
-	 *
-	 * Subclasses should overide.
-	 *
-	 * @param the parent composite to contain the dialog area
-	 * @return the dialog area control
-	 */
-	protected Control createDialogArea(Composite parent) {
-		setHandCursor(new Cursor(parent.getDisplay(), SWT.CURSOR_HAND));
-		setBusyCursor(new Cursor(parent.getDisplay(), SWT.CURSOR_WAIT));
-		getShell().addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				if (getHandCursor() != null)
-					getHandCursor().dispose();
-				if (getBusyCursor() != null)
-					getBusyCursor().dispose();
-			}
-		});
-
-		Composite outer = (Composite) super.createDialogArea(parent);
-
-		createTable(outer);
-		createColumns();
-		createInfoArea(outer);
-
-		GridData gridData =
-			new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		gridData.grabExcessVerticalSpace = true;
-		gridData.grabExcessHorizontalSpace = true;
-
-		// suggest a height for the table
-		gridData.heightHint = convertVerticalDLUsToPixels(TABLE_HEIGHT);
-		table.setLayoutData(gridData);
-
-		return outer;
-	}
-	/** 
-	 * Create the info area containing the image and text
-	 */
-	protected void createInfoArea(Composite parent) {
-		Font font = parent.getFont();
-		
-		infoArea = new Composite(parent, SWT.NULL);
-		GridLayout layout= new GridLayout();
-		layout.numColumns = 2; 
-		infoArea.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.heightHint = convertVerticalDLUsToPixels(INFO_HEIGHT);
-		infoArea.setLayoutData(data);
-		
-		imageLabel = new Label(infoArea, SWT.NONE);
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.verticalAlignment = GridData.BEGINNING;
-		data.heightHint = 32;
-		data.widthHint = 32;
-		imageLabel.setLayoutData(data);
-		imageLabel.setFont(font);
-		
-		// text on the right
-		text = new StyledText(infoArea, SWT.MULTI | SWT.READ_ONLY);
-		text.setCaret(null);
-		text.setFont(parent.getFont());
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.verticalAlignment = GridData.BEGINNING;
-		data.grabExcessHorizontalSpace = true;
-		text.setLayoutData(data);
-		text.setFont(font);
-		text.setCursor(null);
-		text.setBackground(infoArea.getBackground());
-		addListeners(text);
-		
-		TableItem[] items = table.getSelection();
-		if (items.length > 0) 
-			updateInfoArea((AboutInfo)items[0].getData());
-	}		
-	
-	/**
-	 * Create the table part of the dialog.
-	 *
-	 * @param the parent composite to contain the dialog area
-	 */
-	protected void createTable(Composite parent) {
-		table =
-			new Table(
-				parent,
-				SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER);
-		table.setHeaderVisible(true);
-		table.setLinesVisible(true);
-		table.setFont(parent.getFont());
-		
-		SelectionListener listener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				AboutInfo info = (AboutInfo)e.item.getData();
-				updateInfoArea(info);
-				updateButtons(info);
-			}
-		};
-		table.addSelectionListener(listener);
-	}
-	/**
-	 * @see Window#close()
-	 */
-	public boolean close() {
-		Collection values = cachedImages.values();
-		for (Iterator iter = values.iterator(); iter.hasNext();) {
-			Image image = (Image) iter.next();
-			image.dispose();
-		}
-		return super.close();
-	}
-	/**
-	 * Returns a mapping from feature id to feature
-	 */
-	private Map getFeaturesMap() {
-		if (featuresMap != null) 
-			return featuresMap;
-			
-		featuresMap = new HashMap();
-
-		IPluginRegistry reg = Platform.getPluginRegistry();
-		if (reg == null) {
-			MessageDialog.openError(
-				getShell(), 
-				WorkbenchMessages.getString("AboutFeaturesDialog.errorTitle"), //$NON-NLS-1$
-				WorkbenchMessages.getString("AboutFeaturesDialog.unableToObtainFeatureInfo")); //$NON-NLS-1$
-			return featuresMap;
-		}
-		
-		final ILocalSite[] localSiteArray = new ILocalSite[1];
-		BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
-			public void run() {
-				// this may take a few seconds
-				try {
-					localSiteArray[0] = SiteManager.getLocalSite();
-				} catch (CoreException e) {
-					MessageDialog.openError(
-						getShell(), 
-						WorkbenchMessages.getString("AboutFeaturesDialog.errorTitle"), //$NON-NLS-1$
-						WorkbenchMessages.getString("AboutFeaturesDialog.unableToObtainFeatureInfo")); //$NON-NLS-1$
-				}
-			}
-		});
-		if (localSiteArray[0] == null)
-			return featuresMap;
-		
-		IInstallConfiguration installConfiguration = localSiteArray[0].getCurrentConfiguration(); 
-		IConfiguredSite[] configuredSites = installConfiguration.getConfiguredSites();
-
-		for (int i = 0; i < configuredSites.length; i++) {
-			IFeatureReference[] featureReferences = configuredSites[i].getConfiguredFeatures();
-			for (int j = 0; j < featureReferences.length; j++) {
-				IFeature feature;
-				try {
-					feature = featureReferences[j].getFeature();
-				} catch (CoreException e) {
-					// just skip it
-					break;
-				}
-				String key = feature.getVersionedIdentifier().toString();
-				featuresMap.put(key, feature);
-			}
-		}
-		return featuresMap;
-	}
-
-	/**
-	 * Return the feature for the given info
-	 */
-	private IFeature getFeatureFor(AboutInfo info) {
-		Map map = getFeaturesMap();
-		if (map == null) 
-			return null;
-		String key = info.getFeatureId() + "_" + info.getVersion();
-		return (IFeature)map.get(key);
-	}
-
-	
-	/**
-	 * Return the plugins for the given feature
-	 */
-	private IPluginDescriptor[] getPluginsFor(IFeature feature) {
-		IPluginRegistry reg = Platform.getPluginRegistry();
-		if (reg == null)
-			return new IPluginDescriptor[0];
-		IPluginEntry[] pluginEntries = feature.getPluginEntries();	
-		ArrayList plugins = new ArrayList();
-		for (int k = 0; k < pluginEntries.length; k++) {
-			VersionedIdentifier id = pluginEntries[k].getVersionedIdentifier();
-
-			IPluginDescriptor desc = reg.getPluginDescriptor(id.getIdentifier(), id.getVersion());
-			if (desc != null)
-				plugins.add(desc);
-		}
-		return (IPluginDescriptor[])plugins.toArray(new IPluginDescriptor[plugins.size()]);	
-	}
-		
-
-
-	/**
-	 * Update the button enablement
-	 */
-	private void updateButtons(AboutInfo info) {
-		if (info == null) {
-			moreButton.setEnabled(false);
-			pluginsButton.setEnabled(false);
-			return;
-		}
-		boolean shouldEnable = true; // by default enable
-		// Avoid creating the map just to determine enablement
-		if (featuresMap != null) {
-			IFeature feature = getFeatureFor(info);
-			shouldEnable = feature != null && feature.getLicense() != null;
-		}
-		moreButton.setEnabled(shouldEnable);		
-				
-		// Assume there is at least one plugin		
-		shouldEnable = true; // by default enable
-		if (featuresMap != null) {
-			IFeature feature = getFeatureFor(info);
-			shouldEnable = feature != null;
-		}
-		pluginsButton.setEnabled(shouldEnable);
-	}
-
-	/**
-	 * Update the info area
-	 */
-	private void updateInfoArea(AboutInfo info) {
-		if (info == null) {
-			imageLabel.setImage(null);
-			text.setText(""); //$NON-NLS-1$
-			return;
-		}
-		ImageDescriptor desc = info.getFeatureImage();
-		Image image =  (Image)cachedImages.get(desc);
-		if (image == null && desc != null) {
-			image = desc.createImage();
-			cachedImages.put(desc, image);
-		}
-		imageLabel.setImage(image);
-		String aboutText = info.getAboutText();
-		setItem(null);
-		if (aboutText != null) {
-			// get an about item
-			setItem(scan(aboutText));
-		}
-		if (getItem() == null)
-			text.setText(WorkbenchMessages.getString("AboutFeaturesDialog.noInformation"));
-		else {
-			text.setText(getItem().getText());	
-			text.setCursor(null);
-			setLinkRanges(text, getItem().getLinkRanges());
-		}
-	}
-	
-		/** 
-	 * Select the initial selection
-	 * 
-	 */
-	public void setInitialSelection(AboutInfo info) {
-		lastSelection = info;
-	}	
-	
-	/**
-	 * Populate the table with plugin info obtained from the registry.
-	 *
-	 * @param the parent composite to contain the dialog area
-	 */
-	protected void createColumns() {
-		/* create table headers */
-		int[] columnWidths =
-			{
-				convertHorizontalDLUsToPixels(125),
-				convertHorizontalDLUsToPixels(190),
-				convertHorizontalDLUsToPixels(110)};
-		for (int i = 0; i < columnTitles.length; i++) {
-			TableColumn tableColumn = new TableColumn(table, SWT.NULL);
-			tableColumn.setWidth(columnWidths[i]);
-			tableColumn.setText(columnTitles[i]);
-			final int columnIndex = i;
-			tableColumn.addSelectionListener(new SelectionAdapter() {		
-				public void widgetSelected(SelectionEvent e) {
-					sort(columnIndex);
-				}
-			});
-		
-		}
-
-		int initialSelectionIndex = 0;
-		/* fill each row of the table with feature info */
-		for (int i = 0; i < featuresInfo.length; i++) {
-			if (featuresInfo[i] == lastSelection)
-				initialSelectionIndex = i;
-			String provider = featuresInfo[i].getProviderName();
-			String featureName = featuresInfo[i].getFeatureLabel();
-			String version = featuresInfo[i].getVersion();
-			if (provider == null)
-				provider = "";
-			if (featureName == null)
-				featureName = "";
-			if (version == null)
-				version = "";
-			String[] row = { provider, featureName, version };
-			TableItem item = new TableItem(table, SWT.NULL);
-			item.setText(row);
-			item.setData(featuresInfo[i]);
-		}
-		
-		// set initial selection
-		if (featuresInfo.length > 0) {
-			table.setSelection(initialSelectionIndex);
-		}
-	}
-
-	
-	/**
-	 * Sort the rows of the table based on the selected column.
-	 *
-	 * @param column index of table column selected as sort criteria
-	 */
-	private void sort(int column) {
-		// Choose new sort algorithm
-		if (lastColumnChosen == column){
-			reverseSort = !reverseSort;
-		}
-		else{
-			reverseSort = false;
-			lastColumnChosen = column;
-		}
-		
-		if(table.getItemCount() <= 1)	return;
-
-		// Remember the last selection
-		int idx = table.getSelectionIndex();
-		if (idx != -1)
-			lastSelection = featuresInfo[idx];
-			
-		switch (column){
-			case 0:
-				sortByProvider();
-				break;
-			case 1:
-				sortByName();
-				break;
-			case 2:
-				sortByVersion();
-				break;
-		}
-
-		refreshTable(column);
-	}
-
-	/**
-	 * Refresh the rows of the table based on the selected column.
-	 * Maintain selection from before sort action request.
-	 *
-	 * @param items the old state table items 
-	 */
-	private void refreshTable(int col){
-		TableItem[] items = table.getItems();
-		int idx = -1;	// the new index of the selection
-		// Create new order of table items
-		for(int i = 0; i < items.length; i++) {
-			String provider = featuresInfo[i].getProviderName();
-			String featureName = featuresInfo[i].getFeatureLabel();
-			String version = featuresInfo[i].getVersion();
-			if (provider == null)
-				provider = "";
-			if (featureName == null)
-				featureName = "";
-			if (version == null)
-				version = "";
-			String[] row = { provider, featureName, version };
-			items[i].setText(row);
-			items[i].setData(featuresInfo[i]);
-		}
-		// Maintain the original selection
-		if (lastSelection != null){
-			for (int k = 0; k < featuresInfo.length; k++){
-				if (lastSelection == featuresInfo[k])
-					idx = k;
-			}	
-			table.setSelection(idx);
-			table.showSelection();
-		}
-
-		updateInfoArea(lastSelection);
-	}
-	/**
-	 * Sort the rows of the table based on the plugin provider.
-	 * Secondary criteria is unique plugin id.
-	 */
-	private void sortByProvider(){
-		/* If sorting in reverse, info array is already sorted forward by
-		 * key so the info array simply needs to be reversed.
-		 */
-		if (reverseSort){
-			java.util.List infoList = Arrays.asList(featuresInfo);
-			Collections.reverse(infoList);
-			for (int i=0; i< featuresInfo.length; i++){
-				featuresInfo[i] = (AboutInfo)infoList.get(i);
-			}
-		}
-		else {
-			// Sort ascending
-			Arrays.sort(featuresInfo, new Comparator() {
-				Collator coll = Collator.getInstance(Locale.getDefault());
-				public int compare(Object a, Object b) {
-					AboutInfo i1, i2;
-					String provider1, provider2, name1, name2;
-					i1 = (AboutInfo)a;
-					provider1 = i1.getProviderName();
-					name1 = i1.getFeatureLabel();
-					if (provider1 == null)
-						provider1 = "";
-					if (name1 == null)
-						name1 = "";
-					i2 = (AboutInfo)b;
-					provider2 = i2.getProviderName();
-					name2 = i2.getFeatureLabel();
-					if (provider2 == null)
-						provider2 = "";
-					if (name2 == null)
-						name2 = "";
-					if (provider1.equals(provider2))
-						return coll.compare(name1, name2);
-					else
-						return coll.compare(provider1, provider2);
-				}
-			});
-		}
-	}
-	/**
-	 * Sort the rows of the table based on unique plugin id.
-	 */	
-	private void sortByName(){
-		/* If sorting in reverse, info array is already sorted forward by
-		 * key so the info array simply needs to be reversed.
-		 */
-		if (reverseSort){
-			java.util.List infoList = Arrays.asList(featuresInfo);
-			Collections.reverse(infoList);
-			for (int i=0; i< featuresInfo.length; i++){
-				featuresInfo[i] = (AboutInfo)infoList.get(i);
-			}
-		}
-		else {
-			// Sort ascending
-			Arrays.sort(featuresInfo, new Comparator() {
-				Collator coll = Collator.getInstance(Locale.getDefault());
-				public int compare(Object a, Object b) {
-					AboutInfo i1, i2;
-					String name1, name2;
-					i1 = (AboutInfo)a;
-					name1 = i1.getFeatureLabel();
-					i2 = (AboutInfo)b;
-					name2 = i2.getFeatureLabel();
-					if (name1 == null)
-						name1 = "";
-					if (name2 == null)
-						name2 = "";
-					return coll.compare(name1, name2);
-				}
-			});
-		}
-	
-	}
-	/**
-	 * Sort the rows of the table based on the plugin version.
-	 * Secondary criteria is unique plugin id.
-	 */
-	private void sortByVersion(){
-		/* If sorting in reverse, info array is already sorted forward by
-		 * key so the info array simply needs to be reversed.
-		 */		
-		if (reverseSort){
-			java.util.List infoList = Arrays.asList(featuresInfo);
-			Collections.reverse(infoList);
-			for (int i=0; i< featuresInfo.length; i++){
-				featuresInfo[i] = (AboutInfo)infoList.get(i);
-			}
-		}
-		else {
-			// Sort ascending
-			Arrays.sort(featuresInfo, new Comparator() {
-				Collator coll = Collator.getInstance(Locale.getDefault());
-				public int compare(Object a, Object b) {
-					AboutInfo i1, i2;
-					String version1, version2, name1, name2;
-					i1 = (AboutInfo)a;
-					version1 = i1.getVersion();
-					name1 = i1.getFeatureLabel();
-					if (version1 == null)
-						version1 = "";
-					if (name1 == null)
-						name1 = "";
-					i2 = (AboutInfo)b;
-					version2 = i2.getVersion();
-					name2 = i2.getFeatureLabel();
-					if (version2 == null)
-						version2 = "";
-					if (name2 == null)
-						name2 = "";
-					if (version1.equals(version2))
-						return coll.compare(name1, name2);
-					else
-						return coll.compare(version1, version2);
-				}
-			});
-		}
-	}
-	
-			}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/AboutPluginsDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/AboutPluginsDialog.java
deleted file mode 100644
index 5126c52..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/AboutPluginsDialog.java
+++ /dev/null
@@ -1,478 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002. All Rights Reserved.
- * Contributors:  Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog
- * font should be activated and used by other components.
- */
-
-import java.net.URL;
-import java.text.Collator;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-
-/**
- * Displays information about the product plugins.
- *
- * @private
- *		This class is internal to the workbench and must not be called outside the workbench
- */
-public class AboutPluginsDialog extends ProductInfoDialog {
-
-	/**
-	 * Table height in dialog units (value 200).
-	 */
-	private static final int TABLE_HEIGHT = 200;
-
-	private static final String PLUGININFO = "about.html";	//$NON-NLS-1$
-	
-	private final static int MORE_ID = IDialogConstants.CLIENT_ID + 1;
-	
-	private boolean webBrowserOpened = false;
-
-	private Table vendorInfo;
-	private Button moreInfo;
-	
-	private String title;
-	private String message;
-
-	private String columnTitles[] =
-		{ WorkbenchMessages.getString("AboutPluginsDialog.provider"), //$NON-NLS-1$
-		WorkbenchMessages.getString("AboutPluginsDialog.pluginName"), //$NON-NLS-1$
-		WorkbenchMessages.getString("AboutPluginsDialog.version"), //$NON-NLS-1$
-	};
-
-	private IPluginDescriptor[] info;
-
-	private AboutInfo aboutInfo;
-	
-	private int lastColumnChosen = 0;	// initially sort by provider
-	private boolean reverseSort = false;	// initially sort ascending
-	private IPluginDescriptor lastSelection = null;
-	
-	/**
-	 * Constructor for AboutPluginsDialog
-	 */
-	public AboutPluginsDialog(Shell parentShell) {
-		this(
-			parentShell, 
-			Platform.getPluginRegistry().getPluginDescriptors(),
-			null,
-			null);
-	}
-
-	/**
-	 * Constructor for AboutPluginsDialog
-	 */
-	public AboutPluginsDialog(Shell parentShell, IPluginDescriptor[] descriptors, String title, String msg) {
-		super(parentShell);
-		info = descriptors;
-		this.title = title;
-		message = msg;
-		sortByProvider();
-		aboutInfo = ((Workbench) PlatformUI.getWorkbench()).getConfigurationInfo().getAboutInfo();
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void buttonPressed(int buttonId) {
-		switch (buttonId) {
-			case MORE_ID : {
-				handleMoreInfoPressed();
-				return;
-			}
-		}
-		super.buttonPressed(buttonId);
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on Window.
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		if (title == null) {
-			title = aboutInfo.getProductName();
-			if (title != null) { 
-				title = WorkbenchMessages.format(
-						"AboutPluginsDialog.shellTitle",	//$NON-NLS-1$
-						new Object[] {title});
-			}
-		} 
-		if (title != null)
-			newShell.setText(title);
-
-		WorkbenchHelp.setHelp(
-			newShell,
-			IHelpContextIds.ABOUT_PLUGINS_DIALOG);
-	}
-	/**
-	 * Add buttons to the dialog's button bar.
-	 *
-	 * Subclasses should override.
-	 *
-	 * @param parent the button bar composite
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		parent.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	
-		moreInfo = createButton(parent, MORE_ID, WorkbenchMessages.getString("AboutPluginsDialog.moreInfo"), false); //$NON-NLS-1$
-
-		// set initial enablement
-		moreInfo.setEnabled(tableHasSelection() & selectionHasInfo());
-
-		Label l = new Label(parent, SWT.NONE);
-		l.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		GridLayout layout = (GridLayout)parent.getLayout();
-		layout.numColumns++;
-		layout.makeColumnsEqualWidth = false;
-	
-		createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-	}
-
-
-	/**
-	 * Create the contents of the dialog (above the button bar).
-	 *
-	 * Subclasses should overide.
-	 *
-	 * @param the parent composite to contain the dialog area
-	 * @return the dialog area control
-	 */
-	protected Control createDialogArea(Composite parent) {
-
-		Composite outer = (Composite) super.createDialogArea(parent);
-		
-		if (message != null) {
-			Label label = new Label(outer, SWT.NONE);
-			label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-			label.setFont(parent.getFont());
-			label.setText(message);
-		}
-
-		createTable(outer);
-		createColumns();
-
-		GridData gridData =
-			new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		gridData.grabExcessVerticalSpace = true;
-		gridData.grabExcessHorizontalSpace = true;
-
-		// suggest a height for the table
-		gridData.heightHint = convertVerticalDLUsToPixels(TABLE_HEIGHT);
-		vendorInfo.setLayoutData(gridData);
-
-		return outer;
-	}
-	/**
-	 * Create the table part of the dialog.
-	 *
-	 * @param the parent composite to contain the dialog area
-	 */
-	protected void createTable(Composite parent) {
-		vendorInfo =
-			new Table(
-				parent,
-				SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER);
-		vendorInfo.setHeaderVisible(true);
-		vendorInfo.setLinesVisible(true);
-		vendorInfo.setFont(parent.getFont());
-		
-		SelectionListener listener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				setMoreButtonEnablement(e.item != null);
-			}
-		};
-		vendorInfo.addSelectionListener(listener);
-	}
-	/**
-	 * Populate the table with plugin info obtained from the registry.
-	 *
-	 * @param the parent composite to contain the dialog area
-	 */
-	protected void createColumns() {
-		/* create table headers */
-		int[] columnWidths =
-			{
-				convertHorizontalDLUsToPixels(120),
-				convertHorizontalDLUsToPixels(180),
-				convertHorizontalDLUsToPixels(105)};
-		for (int i = 0; i < columnTitles.length; i++) {
-			TableColumn tableColumn = new TableColumn(vendorInfo, SWT.NULL);
-			tableColumn.setWidth(columnWidths[i]);
-			tableColumn.setText(columnTitles[i]);
-			final int columnIndex = i;
-			tableColumn.addSelectionListener(new SelectionAdapter() {		
-				public void widgetSelected(SelectionEvent e) {
-					sort(columnIndex);
-				}
-			});
-		
-		}
-
-		/* fill each row of the table with plugin registry info */
-		for (int i = 0; i < info.length; i++) {
-			String provider = info[i].getProviderName();
-			String pluginName = info[i].getLabel();
-			String version = info[i].getVersionIdentifier().toString();
-			String[] row = { provider, pluginName, version };
-			TableItem item = new TableItem(vendorInfo, SWT.NULL);
-			item.setText(row);
-		}
-	}
-	/**
-	 * Set enablement of moreInfo button based on whether or not 
-	 * there is a selection in the table and if there is any additional
-	 * info to show for that plugin.
-	 *
-	 * @param isSelected whether there is a selection in the table
-	 */
-	protected void setMoreButtonEnablement(boolean isSelected) {
-		moreInfo.setEnabled(isSelected && selectionHasInfo());
-	}
-
-	/**
-	 * Check if the currently selected plugin has additional
-	 * information to show.
-	 * 
-	 * @return true if the selected plugin has additional info available to display
-	 */
-	private boolean selectionHasInfo(){
-			TableItem[] items = vendorInfo.getSelection();
-			if (items.length == 0)
-				return false;
-			int i = vendorInfo.getSelectionIndex();
-			IPluginDescriptor desc = info[i];
-			URL infoURL = desc.find(new Path(PLUGININFO));
-			if (infoURL == null && WorkbenchPlugin.DEBUG) {
-				// only report ini problems if the -debug command line argument is used
-				WorkbenchPlugin.log("Problem reading plugin info for: " + desc.getLabel()); //$NON-NLS-1$
-			} 
-			return infoURL != null;
-	}
-
-	/**
-	 * Create the button to provide more info on the selected plugin.
-	 *
-	 * @return true if there is an item selected in the table, false otherwise
-	 */
-	private boolean tableHasSelection() {
-		if (vendorInfo == null)
-			return false;
-		return (vendorInfo.getSelectionCount() > 0);
-
-	}
-
-	/** 
-	 * Respond to moreInfo button pressed.
-	 * 
-	 */
-	protected void handleMoreInfoPressed() {
-		TableItem[] items = vendorInfo.getSelection();
-		if (items.length == 0)
-			return;
-		int i = vendorInfo.getSelectionIndex();
-		IPluginDescriptor desc = info[i];
-		openMoreInfo(desc);
-	}
-	/** 
-	 * Open html file containing additional info about the selected
-	 * plugin.
-	 * 
-	 */
-	private void openMoreInfo(IPluginDescriptor desc) {
-		URL infoURL = desc.find(new Path(PLUGININFO));
-		if (infoURL == null) {
-			MessageDialog.openError(
-				getShell(), 
-				WorkbenchMessages.getString("AboutPluginsDialog.errorTitle"), //$NON-NLS-1$
-				WorkbenchMessages.format("AboutPluginsDialog.unableToOpenFile", new Object[] {PLUGININFO, desc.getUniqueIdentifier()})); //$NON-NLS-1$
-			return;
-		}
-
-		openLink(infoURL.toString());
-	}
-	
-	/**
-	 * Sort the rows of the table based on the selected column.
-	 *
-	 * @param column index of table column selected as sort criteria
-	 */
-	private void sort(int column) {
-		// Choose new sort algorithm
-		if (lastColumnChosen == column){
-			reverseSort = !reverseSort;
-		}
-		else{
-			reverseSort = false;
-			lastColumnChosen = column;
-		}
-		
-		if(vendorInfo.getItemCount() <= 1)	return;
-
-		// Remember the last selection
-		int idx = vendorInfo.getSelectionIndex();
-		if (idx != -1)
-			lastSelection = info[idx];
-			
-		switch (column){
-			case 0:
-				sortByProvider();
-				break;
-			case 1:
-				sortById();
-				break;
-			case 2:
-				sortByVersion();
-				break;
-		}
-
-		refreshTable(column);
-	}
-
-	/**
-	 * Refresh the rows of the table based on the selected column.
-	 * Maintain selection from before sort action request.
-	 *
-	 * @param items the old state table items 
-	 */
-	private void refreshTable(int col){
-		TableItem[] items = vendorInfo.getItems();
-		int idx = -1;	// the new index of the selection
-		// Create new order of table items
-		for(int i = 0; i < items.length; i++) {
-			String provider = info[i].getProviderName();
-			String pluginName = info[i].getLabel();
-			String version = info[i].getVersionIdentifier().toString();
-			String [] row = { provider, pluginName, version };
-			items[i].setText(row);
-		}
-		// Maintain the original selection
-		if (lastSelection != null){
-			String oldId = lastSelection.getUniqueIdentifier();
-			for (int k = 0; k < info.length; k++){
-				if (oldId.equalsIgnoreCase(info[k].getUniqueIdentifier()))
-					idx = k;
-			}	
-			vendorInfo.setSelection(idx);
-			vendorInfo.showSelection();
-		}
-
-		moreInfo.setEnabled(tableHasSelection() && selectionHasInfo());
-	}
-	/**
-	 * Sort the rows of the table based on the plugin provider.
-	 * Secondary criteria is unique plugin id.
-	 */
-	private void sortByProvider(){
-		/* If sorting in reverse, info array is already sorted forward by
-		 * key so the info array simply needs to be reversed.
-		 */
-		if (reverseSort){
-			java.util.List infoList = Arrays.asList(info);
-			Collections.reverse(infoList);
-			for (int i=0; i< info.length; i++){
-				info[i] = (IPluginDescriptor)infoList.get(i);
-			}
-		}
-		else {
-			// Sort ascending
-			Arrays.sort(info, new Comparator() {
-				Collator coll = Collator.getInstance(Locale.getDefault());
-				public int compare(Object a, Object b) {
-					IPluginDescriptor d1, d2;
-					String provider1, provider2, pluginId1, pluginId2;
-					d1 = (IPluginDescriptor) a;
-					provider1 = d1.getProviderName();
-					pluginId1 = d1.getLabel();
-					d2 = (IPluginDescriptor) b;
-					provider2 = d2.getProviderName();
-					pluginId2 = d2.getLabel();
-					if (provider1.equals(provider2))
-						return coll.compare(pluginId1, pluginId2);
-					else
-						return coll.compare(provider1, provider2);
-				}
-			});
-		}
-	}
-	/**
-	 * Sort the rows of the table based on unique plugin id.
-	 */	
-	private void sortById(){
-		/* If sorting in reverse, info array is already sorted forward by
-		 * key so the info array simply needs to be reversed.
-		 */
-		if (reverseSort){
-			java.util.List infoList = Arrays.asList(info);
-			Collections.reverse(infoList);
-			for (int i=0; i< info.length; i++){
-				info[i] = (IPluginDescriptor)infoList.get(i);
-			}
-		}
-		else {
-			// Sort ascending
-			Arrays.sort(info, new Comparator() {
-				Collator coll = Collator.getInstance(Locale.getDefault());
-				public int compare(Object a, Object b) {
-					IPluginDescriptor d1, d2;
-					String pluginId1, pluginId2;
-					d1 = (IPluginDescriptor) a;
-					pluginId1 = d1.getLabel();
-					d2 = (IPluginDescriptor) b;
-					pluginId2 = d2.getLabel();
-					return coll.compare(pluginId1, pluginId2);
-				}
-			});
-		}
-	
-	}
-	/**
-	 * Sort the rows of the table based on the plugin version.
-	 * Secondary criteria is unique plugin id.
-	 */
-	private void sortByVersion(){
-		/* If sorting in reverse, info array is already sorted forward by
-		 * key so the info array simply needs to be reversed.
-		 */		
-		if (reverseSort){
-			java.util.List infoList = Arrays.asList(info);
-			Collections.reverse(infoList);
-			for (int i=0; i< info.length; i++){
-				info[i] = (IPluginDescriptor)infoList.get(i);
-			}
-		}
-		else {
-			// Sort ascending
-			Arrays.sort(info, new Comparator() {
-				Collator coll = Collator.getInstance(Locale.getDefault());
-				public int compare(Object a, Object b) {
-					IPluginDescriptor d1, d2;
-					String version1, version2, pluginId1, pluginId2;
-					d1 = (IPluginDescriptor) a;
-					version1 = d1.getVersionIdentifier().toString();
-					pluginId1 = d1.getLabel();
-					d2 = (IPluginDescriptor) b;
-					version2 = d2.getVersionIdentifier().toString();
-					pluginId2 = d2.getLabel();
-					if (version1.equals(version2))
-						return coll.compare(pluginId1, pluginId2);
-					else
-						return coll.compare(version1, version2);
-				}
-			});
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ActionSetContentProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ActionSetContentProvider.java
deleted file mode 100644
index d6f648b..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ActionSetContentProvider.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.ArrayList;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.internal.registry.ActionSetCategory;
-import org.eclipse.ui.internal.registry.IActionSetDescriptor;
-
-public class ActionSetContentProvider implements ITreeContentProvider {
-	private ActionSetDialogInput input;
-/**
- * ActionSetRegistryContentProvider constructor comment.
- */
-public ActionSetContentProvider() {
-	super();
-}
-public void dispose() {
-	input = null;
-}
-/**
- * Returns the child elements of the given parent element.
- */
-public Object[] getChildren(Object element) {
-	if (element instanceof ActionSetDialogInput) {
-		return ((ActionSetDialogInput)element).getCategories();
-	}
-	if (element instanceof ActionSetCategory) {
-		ActionSetCategory cat = (ActionSetCategory)element;
-		ArrayList list = cat.getActionSets();
-		if (list == null)
-			return new Object[0];
-		else
-			return list.toArray();
-	}
-	return new Object[0];
-}
-/**
- * Return the children of an element.
- */
-public Object[] getElements(Object element) {
-	return getChildren(element);
-}
-/**
- * Returns the parent for the given element, or <code>null</code> 
- * indicating that the parent can't be computed. 
- */
-public Object getParent(Object element) {
-	if (element instanceof ActionSetCategory)
-		return input;
-	if (element instanceof IActionSetDescriptor) {
-		IActionSetDescriptor desc = (IActionSetDescriptor)element;
-		if (input != null) {
-			return input.findCategory(desc.getCategory());
-		}
-	}
-	return null;
-}
-/**
- * Returns whether the given element has children.
- */
-public boolean hasChildren(Object element) {
-	if (element instanceof ActionSetDialogInput)
-		return true;
-	if (element instanceof ActionSetCategory)
-		return true;
-	return false;
-}
-/**
- * Sets the input.
- */
-public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-	if (newInput instanceof ActionSetDialogInput) {
-		input = (ActionSetDialogInput)newInput;
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ActionSetDialogInput.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ActionSetDialogInput.java
deleted file mode 100644
index 802f2ba..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ActionSetDialogInput.java
+++ /dev/null
@@ -1,157 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveRegistry;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.registry.*;
-
-/**
- * This class collates the input for an action set dialog.  There
- * are a number of sources:
- *		- the action sets
- *		- the views
- *		- the perspectives
- *		- the new wizards
- */
-public class ActionSetDialogInput {
-	private ArrayList categories = new ArrayList(10);
-	private final static String ID_VIEW = "org.eclipse.ui.views"; //$NON-NLS-1$
-	private final static String ID_WIZARD = "org.eclipse.ui.wizards"; //$NON-NLS-1$
-	private final static String ID_PERSP = "org.eclipse.ui.perspectives"; //$NON-NLS-1$
-	private FakeActionSetCategory viewCat;
-	private FakeActionSetCategory perspCat;
-	private FakeActionSetCategory wizardCat;
-/**
- * ActionSetContent constructor comment.
- */
-public ActionSetDialogInput() {
-	super();
-	initActionSets();
-	initViews();
-	initNewWizards();
- 	initPerspectives();
-}
-
-/**
- * Add the action sets for the given categories
- */
-private void addActionSets(Object[] cats) {
-	for (int nX = 0; nX < cats.length; nX ++) {
-		WizardCollectionElement cat = (WizardCollectionElement)cats[nX];
-		Object [] wizards = cat.getWizards();
-		for (int nY = 0; nY < wizards.length; nY ++) {
-			WorkbenchWizardElement wiz = (WorkbenchWizardElement)wizards[nY];
-			FakeWizardActionSet actionSet = new FakeWizardActionSet(wiz);
-			wizardCat.addActionSet(actionSet);
-		}
-		Object[] subCats = cat.getChildren();
-		addActionSets(subCats);
-	}
-}
-
-
-/**
- * Returns the category with a given id.
- */
-public ActionSetCategory findCategory(String id) {
-	if (id == null)
-		return null;
-	Iterator iter = categories.iterator();
-	while (iter.hasNext()) {
-		ActionSetCategory cat = (ActionSetCategory)iter.next();
-		if (cat.getId().equals(id))
-			return cat;
-	}
-	return null;
-}
-/**
- * Returns the categories.
- */
-public Object [] getCategories() {
-	return categories.toArray();
-}
-/**
- * Returns the fake persp action for a particular id.
- */
-public FakePerspectiveActionSet getPerspectiveActionSet(String id) {
-	return (FakePerspectiveActionSet)perspCat.findActionSet(id);
-}
-/**
- * Returns the fake view action for a particular id.
- */
-public FakeViewActionSet getViewActionSet(String id) {
-	return (FakeViewActionSet)viewCat.findActionSet(id);
-}
-/**
- * Returns the fake wizard action for a particular id.
- */
-public FakeWizardActionSet getWizardActionSet(String id) {
-	return (FakeWizardActionSet)wizardCat.findActionSet(id);
-}
-/**
- * Initialize the registered action sets.
- */
-private void initActionSets() {
-	ActionSetRegistry reg = WorkbenchPlugin.getDefault().getActionSetRegistry();
-	ActionSetCategory [] cats = reg.getCategories();
-	for (int nX = 0; nX < cats.length; nX ++) {
-		categories.add(cats[nX]);
-	}
-}
-/**
- * Initialize the new wizard action sets.
- */
-private void initNewWizards() {
-	// Create fake category.
-	wizardCat = new FakeActionSetCategory(ID_WIZARD, 
-		WorkbenchMessages.getString("ActionSetDialogInput.wizardCategory")); //$NON-NLS-1$
-	categories.add(wizardCat);
-	// Get wizards categories.
-	NewWizardsRegistryReader rdr = new NewWizardsRegistryReader();
-	WizardCollectionElement wizardCollection = (WizardCollectionElement)rdr.getWizards();
-	Object [] cats = wizardCollection.getChildren();
-	addActionSets(cats);
-}
-/**
- * Initialize the perspective action sets.
- */
-private void initPerspectives() {
-	// Create fake category.
-	perspCat = new FakeActionSetCategory(ID_PERSP,		
-		WorkbenchMessages.getString("ActionSetDialogInput.perspectiveCategory")); //$NON-NLS-1$
-	categories.add(perspCat);
-
-	// Add elements.
-	IPerspectiveRegistry perspReg = WorkbenchPlugin.getDefault().getPerspectiveRegistry();
-	IPerspectiveDescriptor [] persps = perspReg.getPerspectives();
-	for (int nX = 0; nX < persps.length; nX ++) {
-		FakePerspectiveActionSet actionSet = new FakePerspectiveActionSet(persps[nX]);
-		perspCat.addActionSet(actionSet);
-	}
-}
-/**
- * Initialize the view action sets.
- */
-private void initViews() {
-	// Create fake category.
-	viewCat = new FakeActionSetCategory(ID_VIEW, 
-		WorkbenchMessages.getString("ActionSetDialogInput.viewCategory")); //$NON-NLS-1$
-	categories.add(viewCat);
-
-	// Add views.
-	IViewRegistry viewReg = WorkbenchPlugin.getDefault().getViewRegistry();
-	IViewDescriptor [] views = viewReg.getViews();
-	for (int nX = 0; nX < views.length; nX ++) {
-		FakeViewActionSet actionSet = new FakeViewActionSet(views[nX]);
-		viewCat.addActionSet(actionSet);
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ActionSetLabelProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ActionSetLabelProvider.java
deleted file mode 100644
index 4813e72..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ActionSetLabelProvider.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.viewers.LabelProvider;
-
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.dialogs.DialogUtil;
-import org.eclipse.ui.internal.registry.ActionSetCategory;
-import org.eclipse.ui.internal.registry.IActionSetDescriptor;
-
-/**
- * Label provider for action sets in the ActionSetSelectionDialog.
- */
-public class ActionSetLabelProvider extends LabelProvider {
-
-	private String UNKNOWN = WorkbenchMessages.getString("ActionSetLabelProvider.Unknown"); //$NON-NLS-1$
-
-	public ActionSetLabelProvider() {
-		super();
-	}
-	
-	public String getText(Object element) {
-		String label = UNKNOWN;
-		if (element instanceof ActionSetCategory)
-			label = ((ActionSetCategory) element).getLabel();
-		else if (element instanceof IActionSetDescriptor)
-			label = ((IActionSetDescriptor) element).getLabel();
-		return DialogUtil.removeAccel(label);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ActionSetSelectionDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ActionSetSelectionDialog.java
deleted file mode 100644
index 6458adb..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ActionSetSelectionDialog.java
+++ /dev/null
@@ -1,309 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002. All Rights Reserved.
- * Contributors:  Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog
- * font should be activated and used by other components.
- */
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.registry.*;
-import org.eclipse.ui.model.*;
-
-/**
- * Dialog to display the available action sets, and
- * solicits a list of selections from the user.
- */
-public class ActionSetSelectionDialog extends Dialog {
-	// input data.
-	private Perspective perspective;
-	private ActionSetDialogInput input;
-	
-	// widgets.
-	private CheckboxTreeViewer actionSetViewer;
-	private Label actionLabel;
-	private TableViewer actionViewer;
-	
-	// sizing constants
-	private final static int SIZING_SELECTION_WIDGET_HEIGHT = 300;
-	private final static int SIZING_SELECTION_WIDGET_WIDTH = 300;
-/**
- * Creates an action set selection dialog.
- */
-public ActionSetSelectionDialog(
-		Shell parentShell,
-		Perspective persp)
-{
-	super(parentShell);
-	perspective = persp;
-	input = new ActionSetDialogInput();
-}
-/**
- * Visually checks the previously-specified elements.
- */
-private void checkInitialSelections() {
-	IActionSetDescriptor [] actionSets = perspective.getActionSets();
-	if (actionSets != null) {
-		for (int i = 0; i < actionSets.length; i++)
-			actionSetViewer.setChecked(actionSets[i],true);
-	}
-
-	ArrayList actions = perspective.getShowViewActionIds();
-	if (actions != null) {
-		for (int nX = 0; nX < actions.size(); nX ++) {
-			String id = (String)actions.get(nX);
-			actionSetViewer.setChecked(input.getViewActionSet(id), true);
-		}
-	}
-
-	actions = perspective.getPerspectiveActionIds();
-	if (actions != null) {
-		for (int nX = 0; nX < actions.size(); nX ++) {
-			String id = (String)actions.get(nX);
-			actionSetViewer.setChecked(input.getPerspectiveActionSet(id), true);
-		}
-	}
-
-	actions = perspective.getNewWizardActionIds();
-	if (actions != null) {
-		for (int nX = 0; nX < actions.size(); nX ++) {
-			String id = (String)actions.get(nX);
-			actionSetViewer.setChecked(input.getWizardActionSet(id), true);
-		}
-	}
-
-	Object[] categories = input.getCategories();
-	for (int i = 0; i < categories.length; i++) {
-		ActionSetCategory cat = (ActionSetCategory)categories[i];
-		ArrayList sets = cat.getActionSets();
-		if (sets != null && sets.size() > 0) {
-			boolean baseChildState = actionSetViewer.getChecked(sets.get(0));
-			updateCategoryState(cat, baseChildState);
-		}
-	}
-}
-/* (non-Javadoc)
- * Method declared in Window.
- */
-protected void configureShell(Shell shell) {
-	super.configureShell(shell);
-	shell.setText(WorkbenchMessages.getString("ActionSetSelection.customize")); //$NON-NLS-1$
-	WorkbenchHelp.setHelp(shell, IHelpContextIds.ACTION_SET_SELECTION_DIALOG);
-}
-/* (non-Javadoc)
- * Method declared on Dialog.
- */
-protected Control createDialogArea(Composite parent) {
-	Composite composite = (Composite)super.createDialogArea(parent);
-	GridLayout layout = (GridLayout)composite.getLayout();
-	layout.numColumns = 2;
-	layout.makeColumnsEqualWidth = true;
-	
-	GridData data;
-	Font font = parent.getFont();
-
-	// description
-	Label descLabel = new Label(composite, SWT.WRAP);
-	descLabel.setText(WorkbenchMessages.format("ActionSetSelection.selectLabel", new Object[] {perspective.getDesc().getLabel()})); //$NON-NLS-1$
-	descLabel.setFont(font);
-	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);
-	actionSetGroup.setFont(font);
-	
-	// ...second the label
-	Label selectionLabel = new Label(actionSetGroup,SWT.NONE);
-	selectionLabel.setText(WorkbenchMessages.getString("ActionSetSelection.available")); //$NON-NLS-1$
-	selectionLabel.setFont(font);
-
-	// ...third the checkbox list
-	actionSetViewer = new CheckboxTreeViewer(actionSetGroup, SWT.BORDER);
-	data = new GridData(GridData.FILL_BOTH);
-	data.heightHint = SIZING_SELECTION_WIDGET_HEIGHT;
-	data.widthHint = SIZING_SELECTION_WIDGET_WIDTH;
-	actionSetViewer.getTree().setLayoutData(data);
-	actionSetViewer.getTree().setFont(font);
-	actionSetViewer.setLabelProvider(new ActionSetLabelProvider());
-	actionSetViewer.setContentProvider(new ActionSetContentProvider());
-	actionSetViewer.setInput(input);
-	actionSetViewer.setSorter(new ActionSetSorter());
-	actionSetViewer.addSelectionChangedListener(
-		new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				IStructuredSelection sel = (IStructuredSelection)event.getSelection();
-				IActionSetDescriptor actionSet = null;
-				if (sel.getFirstElement() instanceof IActionSetDescriptor)
-					actionSet = (IActionSetDescriptor)sel.getFirstElement();
-				if (actionSet != actionViewer.getInput()) {
-					actionViewer.setInput(actionSet);
-				}
-			}
-		});
-	actionSetViewer.addCheckStateListener(new ICheckStateListener() {
-		public void checkStateChanged(CheckStateChangedEvent event) {
-			handleActionSetChecked(event);
-		}
-	});
-
-	// 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);
-	actionGroup.setFont(font);
-	
-	// ...second the label
-	actionLabel = new Label(actionGroup, SWT.NONE);
-	actionLabel.setText(WorkbenchMessages.getString("ActionSetSelection.details")); //$NON-NLS-1$
-	actionLabel.setFont(font);
-
-	// ...third the list of actions
-	Table actionTable = new Table(actionGroup, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-	actionTable.setBackground(WorkbenchColors.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
-	data = new GridData(GridData.FILL_BOTH);
-	data.heightHint = SIZING_SELECTION_WIDGET_HEIGHT;
-	data.widthHint = SIZING_SELECTION_WIDGET_WIDTH;
-	actionTable.setLayoutData(data);
-	actionTable.setFont(font);
-
-	actionViewer = new TableViewer(actionTable);
-	actionViewer.setLabelProvider(new WorkbenchLabelProvider());
-	actionViewer.setContentProvider(new WorkbenchContentProvider());
-	actionViewer.setSorter(new WorkbenchViewerSorter());
-	
-	// initialize page
-	checkInitialSelections();
-
-	return composite;
-}
-/**
- * Checked event handler for the action set tree.
- */
-private void handleActionSetChecked(CheckStateChangedEvent event) {
-	// On action set category check/uncheck. Category can be
-	// in three states:
-	//		1) all children unchecked -> category unchecked
-	//		2) some children checked  -> category checked & grayed
-	//		3) all children checked   -> category checked 
-	if (event.getElement() instanceof ActionSetCategory) {
-		// On check, check all its children also
-		if (event.getChecked()) {
-			actionSetViewer.setSubtreeChecked(event.getElement(), true);
-			return;
-		}
-		// On uncheck & gray, remain check but ungray
-		// and check all its children
-		if (actionSetViewer.getGrayed(event.getElement())) {
-			actionSetViewer.setChecked(event.getElement(), true);
-			actionSetViewer.setGrayed(event.getElement(), false);
-			actionSetViewer.setSubtreeChecked(event.getElement(), true);
-			return;
-		}
-		// On uncheck & not gray, uncheck all its children
-		actionSetViewer.setSubtreeChecked(event.getElement(), false);
-		return;
-	}
-
-	// On action set check/uncheck
-	if (event.getElement() instanceof IActionSetDescriptor) {
-		IActionSetDescriptor desc = (IActionSetDescriptor)event.getElement();
-		ActionSetCategory cat = input.findCategory(desc.getCategory());
-		updateCategoryState(cat, event.getChecked());
-		return;
-	}
-}
-/**
- * The <code>ActionSetSelectionDialog</code> implementation of this 
- * <code>Dialog</code> method builds a list of the selected elements for later
- * retrieval by the client and closes this dialog.
- */
-protected void okPressed() {
-	// Prepare result arrays.
-	ArrayList actionSets = new ArrayList();
-	ArrayList viewActions = new ArrayList();
-	ArrayList perspActions = new ArrayList();
-	ArrayList wizardActions = new ArrayList();
-
-	// Fill result arrays.
-	Object[] selected = actionSetViewer.getCheckedElements();
-	for (int nX = 0; nX < selected.length; nX ++) {
-		Object obj = selected[nX];
-		if (obj instanceof FakeViewActionSet) {
-			viewActions.add(((FakeViewActionSet)obj).getView().getID());
-		} else if (obj instanceof FakePerspectiveActionSet) {
-			perspActions.add(((FakePerspectiveActionSet)obj).getPerspective().getId());
-		} else if (obj instanceof FakeWizardActionSet) {
-			wizardActions.add(((FakeWizardActionSet)obj).getWizard().getID());
-		} else if (obj instanceof ActionSetDescriptor) {
-			actionSets.add(obj);
-		}
-	}
-
-	perspective.setShowViewActionIds(viewActions);
-	perspective.setPerspectiveActionIds(perspActions);
-	perspective.setNewWizardActionIds(wizardActions);
-
-	IActionSetDescriptor [] actionSetArray = new IActionSetDescriptor[actionSets.size()];
-	actionSetArray = (IActionSetDescriptor [])actionSets.toArray(actionSetArray);
-	perspective.setActionSets(actionSetArray);
-	
-	super.okPressed();
-}
-/**
- * Update the check and gray state of a category
- * Category can be in three states:
- * 	1) all children uncheck -> category uncheck
- * 	2) some children check  -> category check & gray
- * 	3) all children check   -> category check
- */
-private void updateCategoryState(ActionSetCategory cat, boolean baseChildState) {
-	// Check if all the action sets of the category are all
-	// in the same state at the action set of the event
-	boolean allSameState = true;
-	Iterator enum = cat.getActionSets().iterator();
-	while (enum.hasNext()) {
-		if (actionSetViewer.getChecked(enum.next()) != baseChildState) {
-			allSameState = false;
-			break;
-		}
-	}
-
-	// On all the same state, ungray the category and
-	// set the category's state to be the same
-	if (allSameState) {
-		actionSetViewer.setGrayed(cat, false);
-		actionSetViewer.setChecked(cat, baseChildState);
-		return;
-	}
-
-	// On all different state, gray the category and
-	// check the category
-	actionSetViewer.setGrayed(cat, true);
-	actionSetViewer.setChecked(cat, true);
-	return;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ActionSetSorter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ActionSetSorter.java
deleted file mode 100644
index 368c3de..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ActionSetSorter.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.internal.registry.*;
-import org.eclipse.jface.viewers.*;
-
-/**
- * This is used to sort action sets in the perspective customization dialog.
- */
-public class ActionSetSorter extends ViewerSorter {
-
-/**
- * Creates a new sorter.
- */
-public ActionSetSorter() {
-}
-
-/**
- * Returns a negative, zero, or positive number depending on whether
- * the first element is less than, equal to, or greater than
- * the second element.
- */
-public int compare(Viewer viewer, Object e1, Object e2) {
-	if (e1 instanceof IActionSetDescriptor) {
-		String str1 = DialogUtil.removeAccel(((IActionSetDescriptor)e1).getLabel());
-		String str2 = DialogUtil.removeAccel(((IActionSetDescriptor)e2).getLabel());
-		return collator.compare(str1, str2);
-	} else if (e1 instanceof ActionSetCategory) {
-		ActionSetCategory cat1 = (ActionSetCategory)e1;
-		ActionSetCategory cat2 = (ActionSetCategory)e2;
-		if (cat1.getId().equals(ActionSetRegistry.OTHER_CATEGORY))
-			return 1;
-		if (cat2.getId().equals(ActionSetRegistry.OTHER_CATEGORY))
-			return -1;
-		String str1 = cat1.getLabel();
-		String str2 = cat2.getLabel();
-		return collator.compare(str1, str2);
-	}
-	return 0;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/BuildOrderPreferencePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/BuildOrderPreferencePage.java
deleted file mode 100644
index 3818be3..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/BuildOrderPreferencePage.java
+++ /dev/null
@@ -1,507 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are 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
- * 
- * Contributors: 
- * IBM - Initial implementation
- ***********************************************************************/
-package org.eclipse.ui.internal.dialogs;
-
-import java.util.TreeSet;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.actions.GlobalBuildAction;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * The BuildOrderPage is the page that is used to determine what order projects
- * will be built in by the workspace.
- */
-public class BuildOrderPreferencePage
-	extends PreferencePage
-	implements IWorkbenchPreferencePage {
-		
-	private IWorkbench workbench;
-		
-	private Button defaultOrderButton;
-	private Label buildLabel;
-	private List buildList;
-	private Composite buttonComposite;
-	private Label noteLabel;
-	
-	private String[] defaultBuildOrder;
-	private String[] customBuildOrder;
-	
-	//Boolean to indicate if we have looked it up
-	private boolean notCheckedBuildOrder = true;
-
-	private static final String UP_LABEL = WorkbenchMessages.getString("BuildOrderPreference.up"); //$NON-NLS-1$
-	private static final String DOWN_LABEL = WorkbenchMessages.getString("BuildOrderPreference.down"); //$NON-NLS-1$
-	private static final String ADD_LABEL = WorkbenchMessages.getString("BuildOrderPreference.add"); //$NON-NLS-1$
-	private static final String REMOVE_LABEL = WorkbenchMessages.getString("BuildOrderPreference.remove"); //$NON-NLS-1$
-	private static final String UNSELECTED_PROJECTS = WorkbenchMessages.getString("BuildOrderPreference.selectProject"); //$NON-NLS-1$
-	private static final String PROJECT_SELECTION_MESSAGE = WorkbenchMessages.getString("BuildOrderPreference.selectOtherProjects"); //$NON-NLS-1$
-	private static final String DEFAULTS_LABEL = WorkbenchMessages.getString("BuildOrderPreference.useDefaults"); //$NON-NLS-1$
-	private static final String LIST_LABEL = WorkbenchMessages.getString("BuildOrderPreference.projectBuildOrder"); //$NON-NLS-1$
-	private static final String NOTE_LABEL = WorkbenchMessages.getString("Preference.note"); //$NON-NLS-1$
-	private static final String REMOVE_MESSAGE = WorkbenchMessages.getString("BuildOrderPreference.removeNote"); //$NON-NLS-1$
-	
-	// marks projects with unspecified build orders
-	private static final String MARKER = "*"; //$NON-NLS-1$
-	
-	// whether or not the use defaults option was selected when Apply (or OK) was last pressed
-	// (or when the preference page was opened). This represents the most recent applied state.
-	private boolean defaultOrderInitiallySelected;
-	
-/**
- * Add another project to the list at the end.
- */
-private void addProject() {
-
-	String[] currentItems = this.buildList.getItems();
-
-	IProject[] allProjects = getWorkspace().getRoot().getProjects();
-	
-	ILabelProvider labelProvider = new LabelProvider() {
-		public String getText(Object element) {
-			return (String) element;
-		}
-	};
-
-	SimpleListContentProvider contentsProvider = new SimpleListContentProvider();
-	contentsProvider.setElements(sortedDifference(allProjects, currentItems));
-
-	ListSelectionDialog dialog =
-		new ListSelectionDialog(
-			this.getShell(),
-			this,
-			contentsProvider,
-			labelProvider,
-			PROJECT_SELECTION_MESSAGE);
-
-	if (dialog.open() != Dialog.OK)
-		return;
-
-	Object[] result = dialog.getResult();
-
-	int currentItemsLength = currentItems.length;
-	int resultLength = result.length;
-	String[] newItems = new String[currentItemsLength + resultLength];
-
-	System.arraycopy(currentItems, 0, newItems, 0, currentItemsLength);
-	System.arraycopy(
-		result,
-		0,
-		newItems,
-		currentItemsLength,
-		result.length);
-	this.buildList.setItems(newItems);
-}
-/**
- * Create the list of build paths. If the current build order is empty make the list empty
- * and disable it.
- * @param composite - the parent to create the list in
- * @param - enabled - the boolean that indcates if the list will be sensitive initially or not
- */
-private void createBuildOrderList(Composite composite, boolean enabled) {
-	
-	Font font = composite.getFont();
-
-	this.buildLabel = new Label(composite, SWT.NONE);
-	this.buildLabel.setText(LIST_LABEL);
-	this.buildLabel.setEnabled(enabled);
-	GridData gridData = new GridData();
-	gridData.horizontalAlignment = GridData.FILL;
-	gridData.horizontalSpan = 2;
-	this.buildLabel.setLayoutData(gridData);
-	this.buildLabel.setFont(font);
-	
-	this.buildList = new List(composite, SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-	this.buildList.setEnabled(enabled);
-	GridData data = new GridData();
-	//Set heightHint with a small value so the list size will be defined by 
-	//the space available in the dialog instead of resizing the dialog to
-	//fit all the items in the list.
-	data.heightHint = buildList.getItemHeight();
-	data.verticalAlignment = GridData.FILL;
-	data.horizontalAlignment = GridData.FILL;
-	data.grabExcessHorizontalSpace = true;
-	data.grabExcessVerticalSpace = true;
-	this.buildList.setLayoutData(data);
-	this.buildList.setFont(font);
-}
-/**
- * Create the widgets that are used to determine the build order.
- *
- * @param parent the parent composite
- * @return the new control
- */
-protected Control createContents(Composite parent) {
-
-	WorkbenchHelp.setHelp(parent, IHelpContextIds.BUILD_ORDER_PREFERENCE_PAGE);
-	
-	Font font = parent.getFont();
-
-	//The main composite
-	Composite composite = new Composite(parent, SWT.NULL);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 2;
-	layout.marginWidth = 0;
-	layout.marginHeight = 0;
-	composite.setLayout(layout);
-	GridData data = new GridData();
-	data.verticalAlignment = GridData.FILL;
-	data.horizontalAlignment = GridData.FILL;
-	composite.setLayoutData(data);
-	composite.setFont(font);
-
-	String[] buildOrder = getCurrentBuildOrder();
-	boolean useDefault = (buildOrder == null);
-	
-	createDefaultPathButton(composite, useDefault);
-	// List always enabled so user can scroll list.
-	// Only the buttons need to be disabled.
-	createBuildOrderList(composite, true);
-	createListButtons(composite, !useDefault);
-	
-	Composite noteComposite =
-		createNoteComposite(font, composite, NOTE_LABEL, REMOVE_MESSAGE);
-	GridData noteData = new GridData();
-	noteData.horizontalSpan = 2;
-	noteComposite.setLayoutData(noteData);
-	
-	//Add in a spacer
-	
-	Label spacer = new Label(composite, SWT.NONE);
-	GridData spacerData = new GridData();
-	spacerData.horizontalSpan = 2;
-	spacer.setLayoutData(spacerData);
-	
-	if (useDefault) {
-		this.buildList.setItems(getDefaultProjectOrder());
-	} else {
-		this.buildList.setItems(buildOrder);
-	}
-	
-	return composite;
-
-}
-/**
- * Create the default path button. Set it to selected based on the current workspace
- * build path.
- * @param composite org.eclipse.swt.widgets.Composite
- * @param selected - the boolean that indicates the buttons initial state
- */
-private void createDefaultPathButton(Composite composite, boolean selected) {
-
-	defaultOrderInitiallySelected = selected;
-
-	this.defaultOrderButton = new Button(composite, SWT.LEFT | SWT.CHECK);
-	this.defaultOrderButton.setSelection(selected);
-	this.defaultOrderButton.setText(DEFAULTS_LABEL);
-	SelectionListener listener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			defaultsButtonSelected(defaultOrderButton.getSelection());
-		}
-	};
-	this.defaultOrderButton.addSelectionListener(listener);
-
-	GridData gridData = new GridData();
-	gridData.horizontalAlignment = GridData.FILL;
-	gridData.horizontalSpan = 2;
-	this.defaultOrderButton.setLayoutData(gridData);
-	this.defaultOrderButton.setFont(composite.getFont());
-}
-/**
- * Create the buttons used to manipulate the list. These Add, Remove and Move Up or Down
- * the list items.
- * @param composite the parent of the buttons
- * @param enableComposite - boolean that indicates if a composite should be enabled
- */
-private void createListButtons(Composite composite, boolean enableComposite) {
-	
-	Font font = composite.getFont();
-
-	//Create an intermeditate composite to keep the buttons in the same column
-	this.buttonComposite = new Composite(composite, SWT.RIGHT);
-	GridLayout layout = new GridLayout();
-	layout.marginWidth = 0;
-	layout.marginHeight = 0;
-	this.buttonComposite.setLayout(layout);
-	GridData gridData = new GridData();
-	gridData.verticalAlignment = GridData.FILL;
-	gridData.horizontalAlignment = GridData.FILL;
-	this.buttonComposite.setLayoutData(gridData);
-	this.buttonComposite.setFont(font);
-
-	Button upButton = new Button(this.buttonComposite, SWT.CENTER | SWT.PUSH);
-	upButton.setText(UP_LABEL);
-	upButton.setEnabled(enableComposite);
-	upButton.setFont(font);
-	setButtonLayoutData(upButton);
-	
-	SelectionListener listener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			moveSelectionUp();
-		}
-	};
-	upButton.addSelectionListener(listener);
-
-	Button downButton = new Button(this.buttonComposite, SWT.CENTER | SWT.PUSH);
-	downButton.setText(DOWN_LABEL);
-	downButton.setEnabled(enableComposite);
-	listener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			moveSelectionDown();
-		}
-	};
-	downButton.addSelectionListener(listener);
-	downButton.setFont(font);
-	setButtonLayoutData(downButton);
-
-	Button addButton = new Button(this.buttonComposite, SWT.CENTER | SWT.PUSH);
-	addButton.setText(ADD_LABEL);
-	listener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			addProject();
-		}
-	};
-	addButton.addSelectionListener(listener);
-	addButton.setEnabled(enableComposite);
-	addButton.setFont(font);
-	setButtonLayoutData(addButton);
-
-	Button removeButton = new Button(this.buttonComposite, SWT.CENTER | SWT.PUSH);
-	removeButton.setText(REMOVE_LABEL);
-	listener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			removeSelection();
-		}
-	};
-	removeButton.addSelectionListener(listener);
-	removeButton.setEnabled(enableComposite);
-	removeButton.setFont(font);
-	setButtonLayoutData(removeButton);
-
-}
-/**
- * The defaults button has been selected - update the other widgets as required.
- * @param selected - whether or not the defaults button got selected
- */
-private void defaultsButtonSelected(boolean selected) {
-	if (selected) {
-		setBuildOrderWidgetsEnablement(false);
-		
-	}
-	else {
-		setBuildOrderWidgetsEnablement(true);
-		String[] buildOrder = getCurrentBuildOrder();
-		if (buildOrder == null) 
-			buildList.setItems(getDefaultProjectOrder());
-		else 
-			buildList.setItems(buildOrder);
-	}
-}
-/**
- * Get the project names for the current custom build
- * order stored in the workspace description.
- * 
- * @return java.lang.String[] or null if there is no setting
- */
-private String[] getCurrentBuildOrder() {
-	if (notCheckedBuildOrder) {
-		customBuildOrder = getWorkspace().getDescription().getBuildOrder();
-		notCheckedBuildOrder = false;
-	}
-	
-	return customBuildOrder;
-}
-/**
- * Get the project names in the default build order
- * based on the current Workspace settings.
- * 
- * @return java.lang.String[]
- */
-private String[] getDefaultProjectOrder() {
-	if (defaultBuildOrder == null) {
-		IWorkspace workspace = getWorkspace();
-		IWorkspace.ProjectOrder projectOrder =
-			getWorkspace().computeProjectOrder(workspace.getRoot().getProjects());
-		IProject[] foundProjects = projectOrder.projects;
-		defaultBuildOrder = new String[foundProjects.length];
-		int foundSize = foundProjects.length;
-		for (int i = 0; i < foundSize; i++) {
-			defaultBuildOrder[i] = foundProjects[i].getName();
-		}
-	}
-	
-	return defaultBuildOrder;
-}
-/**
- * Return the Workspace the build order is from.
- * @return org.eclipse.core.resources.IWorkspace
- */
-private IWorkspace getWorkspace() {
-	return ResourcesPlugin.getWorkspace();
-}
-/**
- * Return whether or not searchElement is in testArray.
- */
-private boolean includes(String[] testArray, String searchElement) {
-
-	for (int i = 0; i < testArray.length; i++) {
-		if (searchElement.equals(testArray[i]))
-			return true;
-	}
-	return false;
-
-}
-/**
- * See IWorkbenchPreferencePage. This class does nothing with he Workbench.
- */
-public void init(IWorkbench workbench) {
-	this.workbench = workbench;
-}
-/**
- * Move the current selection in the build list down.
- */
-private void moveSelectionDown() {
-
-	//Only do this operation on a single selection
-	if (this.buildList.getSelectionCount() == 1) {
-		int currentIndex = this.buildList.getSelectionIndex();
-		if (currentIndex < this.buildList.getItemCount() - 1) {
-			String elementToMove = this.buildList.getItem(currentIndex);
-			this.buildList.remove(currentIndex);
-			this.buildList.add(elementToMove, currentIndex + 1);
-			this.buildList.select(currentIndex + 1);
-		}
-	}
-}
-/**
- * Move the current selection in the build list up.
- */
-private void moveSelectionUp() {
-
-	int currentIndex = this.buildList.getSelectionIndex();
-
-	//Only do this operation on a single selection
-	if (currentIndex > 0 && this.buildList.getSelectionCount() == 1) {
-		String elementToMove = this.buildList.getItem(currentIndex);
-		this.buildList.remove(currentIndex);
-		this.buildList.add(elementToMove, currentIndex - 1);
-		this.buildList.select(currentIndex - 1);
-	}
-}
-/**
- * Performs special processing when this page's Defaults button has been pressed.
- * In this case change the defaultOrderButton to have it's selection set to true.
- */
-protected void performDefaults() {
-	this.defaultOrderButton.setSelection(true);
-	defaultsButtonSelected(true);
-	super.performDefaults();
-}
-/** 
- * OK has been pressed. If the defualt button is pressed then reset the build order to false;
- * otherwise set it to the contents of the list.
- */
-public boolean performOk() {
-
-	String[] buildOrder = null;
-	boolean useDefault = defaultOrderButton.getSelection();
-
-	// if use defaults is turned off
-	if (!useDefault)
-		buildOrder = buildList.getItems();
-
-	//Get a copy of the description from the workspace, set the build order and then
-	//apply it to the workspace.
-	IWorkspaceDescription description = getWorkspace().getDescription();
-	description.setBuildOrder(buildOrder);
-	try {
-		getWorkspace().setDescription(description);
-	} catch (CoreException exception) {
-		//failed - return false
-		return false;
-	}
-	
-	// Perform auto-build if use default is off (because
-	// order could have changed) or if use default setting
-	// was changed.
-	if (!useDefault || (useDefault != defaultOrderInitiallySelected)) {
-		defaultOrderInitiallySelected = useDefault;
-		// If auto build is turned on, then do a global incremental
-		// build on all the projects.
-		if (ResourcesPlugin.getWorkspace().isAutoBuilding()) {
-			GlobalBuildAction action = new GlobalBuildAction(workbench, getShell(), IncrementalProjectBuilder.INCREMENTAL_BUILD);
-			action.doBuild();
-		}	
-	}
-
-	// Clear the custom build order cache
-	customBuildOrder = null;
-	
-	return true;
-}
-/**
- * Remove the current selection in the build list.
- */
-private void removeSelection() {
-
-	this.buildList.remove(this.buildList.getSelectionIndices());
-}
-/**
- * Set the widgets that select build order to be enabled or diabled.
- * @param value boolean
- */
-private void setBuildOrderWidgetsEnablement(boolean value) {
-
-	// Only change enablement of buttons. Leave list alone
-	// because you can't scroll it when disabled.
-	Control[] children = this.buttonComposite.getChildren();
-	for (int i = 0; i < children.length; i++) {
-		children[i].setEnabled(value);
-	}
-}
-
-/**
- * Return a sorted array of the names of the projects that are already in the currently 
- * displayed names.
- * @return String[]
- * @param allProjects - all of the projects in the workspace 
- * @param currentlyDisplayed - the names of the projects already being displayed
- */
-private String[] sortedDifference(IProject[] allProjects, String[] currentlyDisplayed) {
-
-	TreeSet difference = new TreeSet();
-
-	for(int i = 0; i < allProjects.length; i ++){
-		if(!includes(currentlyDisplayed,allProjects[i].getName()))
-			difference.add(allProjects[i].getName());
-	}
-
-	String [] returnValue = new String[difference.size()];
-	difference.toArray(returnValue);
-	return returnValue;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/CheckboxSingleListGroup.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/CheckboxSingleListGroup.java
deleted file mode 100644
index ecc65e7..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/CheckboxSingleListGroup.java
+++ /dev/null
@@ -1,333 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002. All Rights Reserved.
- * Contributors:  Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog
- * font should be activated and used by other components.
- */
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import java.util.*;
-import java.util.List;
-/**
- *	This class implements the identical API to CheckboxDoubleListGroup, but
- *	only displays a single checkbox list. 
- */
-class CheckboxSingleListGroup extends Composite implements ICheckStateListener, ISelectionChangedListener {
-	private	Object			root;
-	private	Object			currentList1Selection;
-	private	Map				checkedStateStore = new HashMap(9);
-	private	ListenerList	listeners = new ListenerList();
-	private	boolean			singleList1Check = false;
-	private	boolean			singleList2Check = false;
-	
-	private	IStructuredContentProvider	list1ContentProvider;
-	private	IStructuredContentProvider	list2ContentProvider;
-	private ILabelProvider				list1LabelProvider;
-	private ILabelProvider				list2LabelProvider;
-	
-	// widgets
-	private	CheckboxTableViewer	list1Viewer;
-/**
- *	Create an instance of this class.  Use this constructor if you want
- *	the combined widget to act like others w.r.t. sizing and set its
- *	size according to whatever is required to fill its context.
- *
- *	@param parent org.eclipse.swt.widgets.Composite
- *	@param style int
- *  @param rootObject java.lang.Object
- *	@param childPropertyName java.lang.String
- *	@param parentPropertyName java.lang.String
- *	@param listPropertyName java.lang.String
- */
-public CheckboxSingleListGroup(
-	Composite parent,Object rootObject,
-	IStructuredContentProvider list1ContentProvider,ILabelProvider list1LabelProvider,
-	IStructuredContentProvider list2ContentProvider,ILabelProvider list2LabelProvider,
-	int style) {
-		
-	this(
-		parent,rootObject,
-		list1ContentProvider,list1LabelProvider,
-		list2ContentProvider,list2LabelProvider,
-		style,-1,-1);
-}
-/**
- *	Create an instance of this class.  Use this constructor if you wish to specify
- *	the width and/or height of the combined widget (to only hardcode one of the
- *	sizing dimensions, specify the other dimension's value as -1)
- *
- *	@param parent org.eclipse.swt.widgets.Composite
- *	@param style int
- *  @param rootObject java.lang.Object
- *	@param childPropertyName java.lang.String
- *	@param parentPropertyName java.lang.String
- *	@param listPropertyName java.lang.String
- *	@param width int
- *	@param height int
- */
-public CheckboxSingleListGroup(
-	Composite parent,Object rootObject,
-	IStructuredContentProvider list1ContentProvider,ILabelProvider list1LabelProvider,
-	IStructuredContentProvider list2ContentProvider,ILabelProvider list2LabelProvider,
-	int style,int width,int height) {
-
-	super(parent,style);
-	root = rootObject;
-	this.list1ContentProvider = list1ContentProvider;
-	this.list2ContentProvider = list2ContentProvider;
-	this.list1LabelProvider = list1LabelProvider;
-	this.list2LabelProvider = list2LabelProvider;
-	createContents(parent,width,height);
-}
-/**
- *	Add the passed listener to self's collection of clients
- *	that listen for changes to element checked states
- *
- *	@param listener ICheckStateListener
- */
-public void addCheckStateListener(ICheckStateListener listener) {
-	listeners.add(listener);
-}
-/**
- *	An item was checked in one of self's two views.  Determine which
- *	view this occurred in and delegate appropriately
- *
- *	@param event CheckStateChangedEvent
- */
-public void checkStateChanged(CheckStateChangedEvent event) {
-	list1ItemChecked(event.getElement(),event.getChecked());
-	notifyCheckStateChangeListeners(event);
-}
-/**
- *	Compute the preferred size.
- *
- *	@return org.eclipse.swt.graphics.Point
- *	@param wHint int
- *	@param hHint int
- *	@param changed boolean
- */
-public Point computeSize(int wHint,int hHint,boolean changed) {
-	return new Point(-1,-1);
-}
-/**
- *	Lay out and initialize self's visual components.
- *
- *	@param parent org.eclipse.swt.widgets.Composite
- *	@param width int
- *	@param height int
- */
-protected void createContents(Composite parent,int width,int height) {
-	Font font = parent.getFont();
-	// group pane
-	Composite composite = new Composite(parent,SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 2;
-	GridData spec = new GridData();
-	spec.grabExcessHorizontalSpace = true;
-	spec.grabExcessVerticalSpace = true;
-	spec.horizontalAlignment = GridData.FILL;
-	spec.verticalAlignment = GridData.FILL;
-	composite.setLayout(layout);
-	composite.setLayoutData(spec);
-	composite.setFont(font);
-	
-	// list 1 view pane.  Add a border to the pane.
-	Composite pane = createViewPane(composite, width/2, height/2);
-	
-	// list 1 viewer
-	list1Viewer = CheckboxTableViewer.newCheckList(pane, SWT.NONE);
-	list1Viewer.setContentProvider(list1ContentProvider);
-	list1Viewer.setLabelProvider(list1LabelProvider);
-	list1Viewer.addCheckStateListener(this);
-	list1Viewer.addSelectionChangedListener(this);
-	list1Viewer.getTable().setFont(font);
-
-	// this has to be done after the viewers have been laid out
-	list1Viewer.setInput(root);
-}
-/**
- *	Create a viewer pane in this group for the passed viewer.
- *
- *	@param parent org.eclipse.swt.widgets.Composite
- *	@param width int
- *	@param height int
- */
-protected Composite createViewPane(Composite parent, int width, int height) {
-	Composite pane = new Composite(parent, SWT.BORDER);
-	GridData spec = new GridData(GridData.FILL_BOTH);
-	spec.widthHint = width;
-	spec.heightHint = height;
-	pane.setLayoutData(spec);
-	pane.setLayout(new FillLayout());
-	return pane;
-}
-/**
- *	Answer a collection of all of the checked elements in the list 1
- *	portion of self
- *
- *	@return java.util.Vector
- */
-public Set getAllCheckedList1Items() {
-	return checkedStateStore.keySet();
-}
-/**
- *	Answer a flat collection of all of the checked elements in the
- *	list 2 portion of self
- *
- *	@return java.util.List
- */
-public List getAllCheckedList2Items() {
-	List result = new ArrayList();
-	Iterator listCollectionsEnum = checkedStateStore.values().iterator();
-	
-	while (listCollectionsEnum.hasNext()) {
-		Iterator currentCollection = ((List)listCollectionsEnum.next()).iterator();
-		while (currentCollection.hasNext())
-			result.add(currentCollection.next());
-	}
-	
-	return result;
-}
-/**
- *	Answer the number of elements that have been checked by the
- *	user.
- *
- *	@return int
- */
-public int getCheckedElementCount() {
-	return checkedStateStore.size();
-}
-/**
- *	Set the checked state of the passed list 1 element, as well
- *	as its associated list 2 elements
- */
-public void initialCheckList1Item(Object element) {
-	checkedStateStore.put(element,new Vector());
-	list1Viewer.setChecked(element,true);
-}
-/**
- *	Handle the checking of a list 1 item
- */
-protected void list1ItemChecked(Object listElement,boolean state) {
-
-	if (state) {
-		// if only one list 1 item can be checked at a time then clear the
-		// previous checked list 1 item, if any
-		if (singleList1Check) {
-			checkedStateStore = new Hashtable(9);
-			list1Viewer.setAllChecked(false);
-		}
-
-		checkedStateStore.put(listElement,new Vector());
-		
-	} else
-		checkedStateStore.remove(listElement);
-
-	// the following may seem redundant, but it allows other methods to invoke
-	// this method in order to fully simulate the user clicking a list 1 item
-	list1Viewer.setChecked(listElement,state);
-}
-/**
- *	Notify all checked state listeners that the passed element has had
- *	its checked state changed to the passed state
- */
-protected void notifyCheckStateChangeListeners(final CheckStateChangedEvent event) {
-	Object[] array = listeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final ICheckStateListener l = (ICheckStateListener)array[i];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.checkStateChanged(event);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removeCheckStateListener(l);
-			}
-		});
-	}		
-}
-/**
- *	Remove the passed listener from self's collection of clients
- *	that listen for changes to element checked states
- *
- *	@param listener ICheckStateListener
- */
-public void removeCheckStateListener(ICheckStateListener listener) {
-	listeners.remove(listener);
-}
-/**
- *	Handle the selection of a list 1 item
- *
- *	@param selection ISelection
- */
-public void selectionChanged(SelectionChangedEvent event) {
-	IStructuredSelection selection = (IStructuredSelection) event.getSelection();
-	currentList1Selection = selection.getFirstElement();
-}
-/**
- *	Change the list 1 viewer's providers to those passed
- *
- *	@param contentProvider ITreeContentProvider
- *	@param labelProvider ILabelProvider
- */
-public void setList1Providers(IStructuredContentProvider contentProvider, ILabelProvider labelProvider) {
-	list1Viewer.setContentProvider(contentProvider);
-	list1Viewer.setLabelProvider(labelProvider);
-}
-/**
- *	Set the sorter that is to be applied to self's list 1 viewer
- */
-public void setList1Sorter(ViewerSorter sorter) {
-	list1Viewer.setSorter(sorter);
-}
-/**
- *	Change the list 2 viewer's providers to those passed
- *
- *	@param contentProvider ITreeContentProvider
- *	@param labelProvider ILabelProvider
- */
-public void setList2Providers(IStructuredContentProvider contentProvider, ILabelProvider labelProvider) {
-}
-/**
- *	Set the sorter that is to be applied to self's list 2 viewer
- *
- *	@param sorter ViewerSorter
- */
-public void setList2Sorter(ViewerSorter sorter) {
-}
-/**
- *	Set the root element that determines the content of list viewer 1
- */
-public void setRoot(Object rootElement) {
-	root = rootElement;
-	checkedStateStore = new Hashtable(9);
-	list1Viewer.setInput(rootElement);
-}
-/**
- *	If this is set to true then only one list 1 item can be
- *	checked at a time.  The default value for this is false.
- *
- *	@param value boolean
- */
-public void setSingleList1Check(boolean value) {
-	singleList1Check = value;
-}
-/**
- *	If this is set to true then only one list 2 item can be
- *	checked at a time.  The default value for this is false.
- *
- *	@param value boolean
- */
-public void setSingleList2Check(boolean value) {
-	singleList2Check = value;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ContainerCheckedTreeViewer.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ContainerCheckedTreeViewer.java
deleted file mode 100644
index f330288..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ContainerCheckedTreeViewer.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * (c) Copyright IBM Corp. 2000, 2001, 2002.
- * All Rights Reserved.
- */
-package org.eclipse.ui.internal.dialogs;
-
-
-import java.util.ArrayList;
-
-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;
-
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ITreeViewerListener;
-import org.eclipse.jface.viewers.TreeExpansionEvent;
-
-
-/**
- * CheckboxTreeViewer with special behaviour of the checked / gray state on 
- * container (non-leaf) nodes:
- * The grayed state is used to visualize the checked state of its children.
- * Containers are checked and non-gary if all contained leafs are checked. The
- * container is grayed if some but not all leafs are checked.
- */
-public class ContainerCheckedTreeViewer extends CheckboxTreeViewer {
-	
-	/**
-	 * Constructor for ContainerCheckedTreeViewer.
-	 * @see CheckboxTreeViewer#CheckboxTreeViewer(Composite)
-	 */
-	public ContainerCheckedTreeViewer(Composite parent) {
-		super(parent);
-		initViewer();
-	}
-	
-	/**
-	 * Constructor for ContainerCheckedTreeViewer.
-	 * @see CheckboxTreeViewer#CheckboxTreeViewer(Composite,int)
-	 */
-	public ContainerCheckedTreeViewer(Composite parent, int style) {
-		super(parent, style);
-		initViewer();
-	}
-
-	/**
-	 * Constructor for ContainerCheckedTreeViewer.
-	 * @see CheckboxTreeViewer#CheckboxTreeViewer(Tree)
-	 */
-	public ContainerCheckedTreeViewer(Tree tree) {
-		super(tree);
-		initViewer();
-	}
-	
-	private void initViewer() {
-		setUseHashlookup(true);
-		addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				doCheckStateChanged(event.getElement());
-			}
-		});
-		addTreeListener(new ITreeViewerListener() {
-			public void treeCollapsed(TreeExpansionEvent event) {
-			}
-			public void treeExpanded(TreeExpansionEvent event) {
-				Widget item= findItem(event.getElement());
-				if (item instanceof TreeItem) {
-					initializeItem((TreeItem) item);
-				}
-			}
-		});
-	}		
-	
-	protected void doCheckStateChanged(Object element) {
-		Widget item= findItem(element);
-		if (item instanceof TreeItem) {
-			TreeItem treeItem= (TreeItem) item;
-			treeItem.setGrayed(false);
-			updateChildrenItems(treeItem);
-			updateParentItems(treeItem.getParentItem());
-		}
-	}
-	
-	/**
-	 * The item has expanded. Updates the checked state of its children. 
-	 */
-	private void initializeItem(TreeItem item) {
-		if (item.getChecked() && !item.getGrayed()) {
-			updateChildrenItems((TreeItem) item);
-		}
-	}
-
-	/**
-	 * Updates the check state of all created children
-	 */	
-	private void updateChildrenItems(TreeItem parent) {
-		Item[] children= getChildren(parent);
-		boolean state= parent.getChecked();
-		for (int i= 0; i < children.length; i++) {
-			TreeItem curr= (TreeItem) children[i];
-			if (curr.getData() != null && ((curr.getChecked() != state) || curr.getGrayed())) {
-				curr.setChecked(state);
-				curr.setGrayed(false);
-				updateChildrenItems(curr);
-			}
-		}
-	}
-	
-	/**
-	 * Updates the check / gray state of all parent items
-	 */
-	private void updateParentItems(TreeItem item) {
-		if (item != null) {
-			Item[] children= getChildren(item);
-			boolean containsChecked= false;
-			boolean containsUnchecked= false;
-			for (int i= 0; i < children.length; i++) {
-				TreeItem curr= (TreeItem) children[i];
-				containsChecked |= curr.getChecked();
-				containsUnchecked |= (!curr.getChecked() || curr.getGrayed());
-			}
-			item.setChecked(containsChecked);
-			item.setGrayed(containsChecked && containsUnchecked);
-			updateParentItems(item.getParentItem());
-		}
-	}
-
-	/*
-	 * @see ICheckable#setChecked(Object, boolean)
-	 */
-	public boolean setChecked(Object element, boolean state) {
-		if (super.setChecked(element, state)) {
-			doCheckStateChanged(element);
-			return true;
-		}
-		return false;
-	}
-
-	/*
-	 * @see CheckboxTreeViewer#setCheckedElements(Object[])
-	 */
-	public void setCheckedElements(Object[] elements) {
-		super.setCheckedElements(elements);
-		for (int i= 0; i < elements.length; i++) {
-			doCheckStateChanged(elements[i]);
-		}
-	}
-	
-	/*
-	 * @see AbstractTreeViewer#setExpanded(Item, boolean)
-	 */
-	protected void setExpanded(Item item, boolean expand) {
-		super.setExpanded(item, expand);
-		if (expand && item instanceof TreeItem) {
-			initializeItem((TreeItem) item);
-		}
-	}
-
-	/*
-	 * @see CheckboxTreeViewer#getCheckedElements()
-	 */
-	public Object[] getCheckedElements() {
-		Object[] checked= super.getCheckedElements();
-		// add all items that are children of a checked node but not created yet
-		ArrayList result= new ArrayList();
-		for (int i= 0; i < checked.length; i++) {
-			Object curr= checked[i];
-			result.add(curr);
-			Widget item= findItem(curr);
-			if (item != null) {
-				Item[] children= getChildren(item);
-				// check if contains the dummy node
-				if (children.length == 1 && children[0].getData() == null) {
-					// not yet created
-					collectChildren(curr, result);
-				}
-			}
-		}
-		return result.toArray();
-	}
-	
-	private void collectChildren(Object element, ArrayList result) {
-		Object[] filteredChildren= getFilteredChildren(element);
-		for (int i= 0; i < filteredChildren.length; i++) {
-			Object curr= filteredChildren[i];
-			result.add(curr);
-			collectChildren(curr, result);
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/CreateLinkedResourceGroup.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/CreateLinkedResourceGroup.java
deleted file mode 100644
index 27ca09b..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/CreateLinkedResourceGroup.java
+++ /dev/null
@@ -1,396 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.dialogs;
-
-import java.io.File;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.internal.*;
-
-/**
- * Widget group for specifying a linked file or folder target.
- * 
- * @since 2.1
- */
-public class CreateLinkedResourceGroup {	
-	private Listener listener;
-	private String initialLinkTarget;
-	private int type;
-	private boolean createLink = false;
-
-	// used to compute layout sizes
-	private FontMetrics fontMetrics;
-
-	// widgets
-	private Composite groupComposite;
-	private Button linkButton;
-	private Text linkTargetField;
-	private Button browseButton;
-	private Button variablesButton;
-	private Label resolvedPathLabelText;
-	private Label resolvedPathLabelData;
- 
-/**
- * Creates a link target group 
- *
- * @param type specifies the type of resource to link to. 
- * 	<code>IResource.FILE</code> or <code>IResource.FOLDER</code>
- * @param listener listener to notify when one of the widgets'
- * 	value is changed.
- */ 
-public CreateLinkedResourceGroup(int type, Listener listener) {
-	this.type = type;
-	this.listener = listener;
-}
-/**
- * Creates the widgets 
- * 
- * @param parent parent composite of the widget group
- * @return the widget group
- */
-public Composite createContents(Composite parent) {
-	Font font = parent.getFont();
-	initializeDialogUnits(parent);
-	// top level group
-	groupComposite = new Composite(parent,SWT.NONE);
-	GridLayout layout = new GridLayout();
-	groupComposite.setLayout(layout);
-	groupComposite.setLayoutData(new GridData(
-		GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL));
-	groupComposite.setFont(font);
-
-	final Button createLinkButton = new Button(groupComposite, SWT.CHECK);
-	if (type == IResource.FILE)
-		createLinkButton.setText(WorkbenchMessages.getString("CreateLinkedResourceGroup.linkFileButton")); //$NON-NLS-1$
-	else
-		createLinkButton.setText(WorkbenchMessages.getString("CreateLinkedResourceGroup.linkFolderButton")); //$NON-NLS-1$
-	createLinkButton.setSelection(createLink);
-	createLinkButton.setFont(font);
-	SelectionListener selectionListener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			createLink = createLinkButton.getSelection();
-			browseButton.setEnabled(createLink);
-			variablesButton.setEnabled(createLink);
-			linkTargetField.setEnabled(createLink);
-			if (listener != null)
-				listener.handleEvent(new Event());
-		}
-	};
-	createLinkButton.addSelectionListener(selectionListener);
-
-	createLinkLocationGroup(groupComposite, createLink);
-	return groupComposite;
-}
-/**
- * Creates the link target location widgets.
- *
- * @param locationGroup the parent composite
- * @param enabled sets the initial enabled state of the widgets
- */
-private void createLinkLocationGroup(Composite locationGroup, boolean enabled) {
-	Font font = locationGroup.getFont();
-	Button button = new Button(locationGroup, SWT.CHECK);
-	int indent = button.computeSize(SWT.DEFAULT, SWT.DEFAULT).x;
-	
-	button.dispose();
-
-	// linkTargetGroup is necessary to decouple layout from 
-	// resolvedPathGroup layout
-	Composite linkTargetGroup = new Composite(locationGroup, SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 3;
-	layout.marginHeight = 0;
-	layout.marginWidth = 0;
-	linkTargetGroup.setLayout(layout);
-	GridData data = new GridData(GridData.FILL_HORIZONTAL);
-	data.horizontalIndent = indent;
-	linkTargetGroup.setLayoutData(data);
-	linkTargetGroup.setFont(font);
-	
-	// link target location entry field
-	linkTargetField = new Text(linkTargetGroup, SWT.BORDER);
-	data = new GridData(GridData.FILL_HORIZONTAL);
-	data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-	linkTargetField.setLayoutData(data);
-	linkTargetField.setFont(font);
-	linkTargetField.setEnabled(enabled);
-	linkTargetField.addModifyListener(new ModifyListener() {
-		public void modifyText(ModifyEvent e) {
-			resolveVariable();
-			if (listener != null)
-				listener.handleEvent(new Event());
-		}
-	});
-	if (initialLinkTarget != null) {
-		linkTargetField.setText(initialLinkTarget);
-	}
-
-	// browse button
-	browseButton = new Button(linkTargetGroup, SWT.PUSH);
-	setButtonLayoutData(browseButton);
-	browseButton.setFont(font);
-	browseButton.setText(WorkbenchMessages.getString("CreateLinkedResourceGroup.browseButton")); //$NON-NLS-1$
-	browseButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			handleLinkTargetBrowseButtonPressed();
-		}
-	});
-	browseButton.setEnabled(enabled);
-
-	// variables button
-	variablesButton = new Button(linkTargetGroup, SWT.PUSH);
-	setButtonLayoutData(variablesButton);
-	variablesButton.setFont(font);
-	variablesButton.setText(WorkbenchMessages.getString("CreateLinkedResourceGroup.variablesButton")); //$NON-NLS-1$
-	variablesButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			handleVariablesButtonPressed();
-		}
-	});
-	variablesButton.setEnabled(enabled);
-
-	Composite resolvedPathGroup = new Composite(locationGroup, SWT.NONE);
-	layout = new GridLayout();
-	layout.numColumns = 2;
-	layout.marginHeight = 0;
-	layout.marginWidth = 0;
-	resolvedPathGroup.setLayout(layout);
-	data = new GridData(GridData.FILL_HORIZONTAL);
-	data.horizontalIndent = indent;
-	resolvedPathGroup.setLayoutData(data);
-	resolvedPathGroup.setFont(font);
-
-	resolvedPathLabelText = new Label(resolvedPathGroup, SWT.SINGLE);
-	resolvedPathLabelText.setText(WorkbenchMessages.getString("CreateLinkedResourceGroup.resolvedPathLabel")); //$NON-NLS-1$
-
-	resolvedPathLabelData = new Label(resolvedPathGroup, SWT.SINGLE);
-	data = new GridData(GridData.FILL_HORIZONTAL);
-	resolvedPathLabelData.setLayoutData(data);
-}
-/**
- * Returns a new status object with the given severity and message.
- * 
- * @return a new status object with the given severity and message.
- */
-private IStatus createStatus(int severity, String message) {
-	return new Status(
-		severity,
-		WorkbenchPlugin.getDefault().getDescriptor().getUniqueIdentifier(),
-		severity,
-		message,	
-		null);
-}	
-/**
- * Disposes the group's widgets. 
- */
-public void dispose() {
-	if (groupComposite != null && groupComposite.isDisposed() == false)
-	 	groupComposite.dispose();
-}
-/**
- * Returns the link target location entered by the user. 
- *
- * @return the link target location entered by the user. null if the user
- * 	chose not to create a link.
- */
-public String getLinkTarget() {
-	if (createLink && linkTargetField != null && linkTargetField.isDisposed() == false) {
-		return linkTargetField.getText();
-	}
-	return null;
-}
-/**
- * Opens a file or directory browser depending on the link type.
- */
-private void handleLinkTargetBrowseButtonPressed() {
-	String linkTargetName = linkTargetField.getText();
-	File file = null;
-	String selection = null;
-	
-	if ("".equals(linkTargetName) == false) {	//$NON-NLS-1$
-		file = new File(linkTargetName);
-		if (file.exists() == false) {
-			file = null;
-		}
-	}
-	if (type == IResource.FILE) {
-		FileDialog dialog = new FileDialog(linkTargetField.getShell());
-		if (file != null) {
-			if (file.isFile()) {
-				dialog.setFileName(linkTargetName);
-			}
-			else {
-				dialog.setFilterPath(linkTargetName);
-			}
-		}
-		selection = dialog.open();		
-	}
-	else {
-		DirectoryDialog dialog = new DirectoryDialog(linkTargetField.getShell());
-		if (file != null) {
-			if (file.isFile()) {
-				linkTargetName = file.getParent();
-			}
-			if (linkTargetName != null) {
-				dialog.setFilterPath(linkTargetName);
-			}
-		}
-		dialog.setMessage(WorkbenchMessages.getString("CreateLinkedResourceGroup.targetSelectionLabel")); //$NON-NLS-1$
-		selection = dialog.open();
-	}					
-	if (selection != null) {
-		linkTargetField.setText(selection);
-	}
-}
-/**
- * Opens a path variable selection dialog
- */
-private void handleVariablesButtonPressed() {
-	PathVariableSelectionDialog dialog = 
-		new PathVariableSelectionDialog(linkTargetField.getShell(), IResource.FILE | IResource.FOLDER);
-	
-	if (dialog.open() == IDialogConstants.OK_ID) {
-		String[] variableNames = (String[]) dialog.getResult();
-				
-		if (variableNames != null) {
-			linkTargetField.setText(variableNames[0]);
-		}
-	}
-}
-/**
- * Initializes the computation of horizontal and vertical dialog units
- * based on the size of current font.
- * <p>
- * This method must be called before <code>setButtonLayoutData</code> 
- * is called.
- * </p>
- *
- * @param control a control from which to obtain the current font
- */
-protected void initializeDialogUnits(Control control) {
-	// Compute and store a font metric
-	GC gc = new GC(control);
-	gc.setFont(control.getFont());
-	fontMetrics = gc.getFontMetrics();
-	gc.dispose();
-}
-/**
- * Tries to resolve the value entered in the link target field as 
- * a variable, if the value is a relative path.
- * Displays the resolved value if the entered value is a variable.
- */
-private void resolveVariable() {
-	IPath path = new Path(linkTargetField.getText());
-	
-	if (path.isAbsolute() == false) {
-		IPathVariableManager pathVariableManager = ResourcesPlugin.getWorkspace().getPathVariableManager();
-		
-		path = pathVariableManager.resolvePath(path);
-	}
-	resolvedPathLabelData.setText(path.toOSString());
-}
-/**
- * Sets the <code>GridData</code> on the specified button to
- * be one that is spaced for the current dialog page units. The
- * method <code>initializeDialogUnits</code> must be called once
- * before calling this method for the first time.
- *
- * @param button the button to set the <code>GridData</code>
- * @return the <code>GridData</code> set on the specified button
- */
-private GridData setButtonLayoutData(Button button) {
-	GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-	data.heightHint = Dialog.convertVerticalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_HEIGHT);
-	int widthHint = Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_WIDTH);
-	data.widthHint = Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-	button.setLayoutData(data);
-	return data;
-}
-/**
- * Sets the value of the link target field
- * 
- * @param target the value of the link target field
- */
-public void setLinkTarget(String target) {
-	initialLinkTarget = target;
-	if (linkTargetField != null && linkTargetField.isDisposed() == false) {
-		linkTargetField.setText(target);
-	}
-}
-/**
- * Validates the type of the given file against the link type specified
- * in the constructor.
- * 
- * @param linkTargetFile file to validate
- * @return IStatus indicating the validation result. IStatus.OK if the 
- * 	given file is valid.
- */
-private IStatus validateFileType(File linkTargetFile) {
-	if (type == IResource.FILE && linkTargetFile.isFile() == false) {
-		return createStatus(
-			IStatus.ERROR,
-			WorkbenchMessages.getString("CreateLinkedResourceGroup.linkTargetNotFile"));	//$NON-NLS-1$
-	}
-	else
-	if (type == IResource.FOLDER && linkTargetFile.isDirectory() == false) {
-		return createStatus(
-			IStatus.ERROR,
-			WorkbenchMessages.getString("CreateLinkedResourceGroup.linkTargetNotFolder"));	//$NON-NLS-1$
-	}
-	return createStatus(IStatus.OK, "");
-}
-/**
- * Validates this page's controls.
- *
- * @return IStatus indicating the validation result. IStatus.OK if the 
- * 	specified link target is valid given the linkHandle.
- */
-public IStatus validateLinkLocation(IResource linkHandle) {
-	if (linkTargetField == null || linkTargetField.isDisposed())
-		return createStatus(IStatus.OK, "");	//$NON-NLS-1$
-	
-	IWorkspace workspace = WorkbenchPlugin.getPluginWorkspace();
-	String linkTargetName = linkTargetField.getText();
-	IPath path = new Path(linkTargetName);
-	
-	if (createLink == false)
-		return createStatus(IStatus.OK, "");
-
-	IStatus locationStatus = workspace.validateLinkLocation(linkHandle,	path);
-	if (locationStatus.getSeverity() != IStatus.OK) {
-		return locationStatus;
-	}
-	// use the resolved link target name
-	linkTargetName = resolvedPathLabelData.getText();
-	path = new Path(linkTargetName);
-	File linkTargetFile = new Path(linkTargetName).toFile();
-	if (linkTargetFile.exists() == false) {
-		return createStatus(
-			IStatus.WARNING,
-			WorkbenchMessages.getString("CreateLinkedResourceGroup.linkTargetNonExistent"));	//$NON-NLS-1$
-	}
-	IStatus fileTypeStatus = validateFileType(linkTargetFile);
-	if (fileTypeStatus.isOK() == false) {
-		return fileTypeStatus;
-	}
-	return locationStatus;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/CreateProjectStep.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/CreateProjectStep.java
deleted file mode 100644
index adbd9fb..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/CreateProjectStep.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/**********************************************************************
-Copyright (c) 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:
-**********************************************************************/
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * Represents the create project step in a multi-step
- * wizard.
- */
-public class CreateProjectStep extends WizardStep {
-	private CreateProjectWizard stepWizard;
-	
-	/**
-	 * Creates the project creation step
-	 * 
-	 * @param number the step order number
-	 * @param page the wizard page containing the new project name and location
-	 * @param wizard the multi-step wizard for collecting new project information
-	 */
-	public CreateProjectStep(int number, WizardNewProjectNameAndLocationPage page, NewProjectWizard wizard) {
-		super(number);
-		stepWizard = new CreateProjectWizard(page, wizard);
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on WizardStep.
-	 */
-	public String getLabel() {
-		return WorkbenchMessages.getString("CreateProjectStep.label"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on WizardStep.
-	 */
-	public String getDetails() {
-		return WorkbenchMessages.format("CreateProjectStep.details", new Object[] {stepWizard.getProjectName()}); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on WizardStep.
-	 */
-	public IWizard getWizard() {
-		return stepWizard;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/CreateProjectWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/CreateProjectWizard.java
deleted file mode 100644
index 766b017..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/CreateProjectWizard.java
+++ /dev/null
@@ -1,173 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/**********************************************************************
-Copyright (c) 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:
-**********************************************************************/
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResourceStatus;
-import org.eclipse.core.resources.IWorkspace;
-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.OperationCanceledException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * Internal workbench wizard to create a project
- * resource in the workspace. This project will have
- * no capabilities when created. This wizard is intended
- * to be used by the CreateProjectStep class only.
- */
-public class CreateProjectWizard extends Wizard {
-	private NewProjectWizard wizard;
-	private WizardNewProjectNameAndLocationPage page;
-
-	/**
-	 * Creates an empty wizard for creating a new project
-	 * in the workspace.
-	 */
-	/* package */ CreateProjectWizard(WizardNewProjectNameAndLocationPage page, NewProjectWizard wizard) {
-		super();
-		this.page = page;
-		this.wizard = wizard;
-	}
-
-	/**
-	 * Creates a new project resource with the entered name.
-	 *
-	 * @return the created project resource, or <code>null</code> if the project
-	 *    was not created
-	 */
-	private IProject createNewProject() {
-		// get a project handle
-		final IProject newProjectHandle = page.getProjectHandle();
-	
-		// get a project descriptor
-		IPath defaultPath = Platform.getLocation();
-		IPath newPath = page.getLocationPath();
-		if (defaultPath.equals(newPath))
-			newPath = null;
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		final IProjectDescription description = workspace.newProjectDescription(newProjectHandle.getName());
-		description.setLocation(newPath);
-	
-		// define the operation to create a new project
-		WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-			protected void execute(IProgressMonitor monitor) throws CoreException {
-				createProject(description, newProjectHandle, monitor);
-			}
-		};
-	
-		// run the operation to create a new project
-		try {
-			getContainer().run(true, true, op);
-		}
-		catch (InterruptedException e) {
-			return null;
-		}
-		catch (InvocationTargetException e) {
-			Throwable t = e.getTargetException();
-			if (t instanceof CoreException) {
-				if (((CoreException)t).getStatus().getCode() == IResourceStatus.CASE_VARIANT_EXISTS) {
-					MessageDialog.openError(
-						getShell(), 
-						WorkbenchMessages.getString("CreateProjectWizard.errorTitle"),  //$NON-NLS-1$
-						WorkbenchMessages.getString("CreateProjectWizard.caseVariantExistsError")  //$NON-NLS-1$,
-						);	
-				} else {
-					ErrorDialog.openError(
-						getShell(), 
-						WorkbenchMessages.getString("CreateProjectWizard.errorTitle"),  //$NON-NLS-1$
-						null, // no special message
-				 		((CoreException) t).getStatus());
-				}
-			} else {
-				// Unexpected runtime exceptions and errors may still occur.
-				Platform.getPlugin(PlatformUI.PLUGIN_ID).getLog().log(
-					new Status(
-						Status.ERROR, 
-						PlatformUI.PLUGIN_ID, 
-						0, 
-						t.toString(),
-						t));
-				MessageDialog.openError(
-					getShell(),
-					WorkbenchMessages.getString("CreateProjectWizard.errorTitle"),  //$NON-NLS-1$
-					WorkbenchMessages.format("CreateProjectWizard.internalError", new Object[] {t.getMessage()})); //$NON-NLS-1$
-			}
-			return null;
-		}
-	
-		return newProjectHandle;
-	}
-	
-	/**
-	 * Creates a project resource given the project handle and description.
-	 *
-	 * @param description the project description to create a project resource for
-	 * @param projectHandle the project handle to create a project resource for
-	 * @param monitor the progress monitor to show visual progress with
-	 *
-	 * @exception CoreException if the operation fails
-	 * @exception OperationCanceledException if the operation is canceled
-	 */
-	private void createProject(IProjectDescription description, IProject projectHandle, IProgressMonitor monitor) throws CoreException, OperationCanceledException {
-		try {
-			monitor.beginTask("", 2000); //$NON-NLS-1$
-	
-			projectHandle.create(description, new SubProgressMonitor(monitor,1000));
-	
-			if (monitor.isCanceled())
-				throw new OperationCanceledException();
-	
-			projectHandle.open(new SubProgressMonitor(monitor,1000));
-	
-		} finally {
-			monitor.done();
-		}
-	}
-
-	/**
-	 * Returns the current project name.
-	 *
-	 * @return the project name or <code>null</code>
-	 *   if no project name is known
-	 */
-	/* package */ String getProjectName() {
-		return page.getProjectName();
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IWizard.
-	 */
-	public boolean performFinish() {
-		if (wizard.getNewProject() != null)
-			return true;
-			
-		IProject project = createNewProject();
-		if (project != null) {
-			wizard.setNewProject(project);
-			return true;
-		} else {
-			return false;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/DecoratorsPreferencePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/DecoratorsPreferencePage.java
deleted file mode 100644
index bfc3522..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/DecoratorsPreferencePage.java
+++ /dev/null
@@ -1,259 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.
-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:
-**********************************************************************/
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.decorators.*;
-import org.eclipse.ui.internal.misc.Sorter;
-
-/**
- * The DecoratorsPreferencePage is the preference page for enabling and disabling
- * the decorators in the image and for giving the user a description of the decorator.
- */
-public class DecoratorsPreferencePage
-	extends PreferencePage
-	implements IWorkbenchPreferencePage {
-
-	private Text descriptionText;
-	private CheckboxTableViewer checkboxViewer;
-
-	/**
-	 * @see PreferencePage#createContents(Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		
-		Font font = parent.getFont();
-		
-		WorkbenchHelp.setHelp(parent, IHelpContextIds.DECORATORS_PREFERENCE_PAGE);
-
-		Composite mainComposite = new Composite(parent, SWT.NONE);
-		mainComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		mainComposite.setFont(font);
-
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.verticalSpacing = 10;
-		mainComposite.setLayout(layout);
-
-		Label topLabel = new Label(mainComposite, SWT.NONE);
-		topLabel.setText(
-			WorkbenchMessages.getString("DecoratorsPreferencePage.explanation")); //$NON-NLS-1$
-		topLabel.setFont(font);
-		
-		createDecoratorsArea(mainComposite);
-		createDescriptionArea(mainComposite);
-		populateDecorators();
-
-		return mainComposite;
-	}
-
-	/** 
-	 * Creates the widgets for the list of decorators.
-	 */
-	private void createDecoratorsArea(Composite mainComposite) {
-		
-		Font mainFont = mainComposite.getFont();
-		Composite decoratorsComposite = new Composite(mainComposite, SWT.NONE);
-		decoratorsComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		GridLayout decoratorsLayout = new GridLayout();
-		decoratorsLayout.marginWidth = 0;
-		decoratorsLayout.marginHeight = 0;
-		decoratorsComposite.setLayout(decoratorsLayout);
-		decoratorsComposite.setFont(mainFont);
-		
-		Label decoratorsLabel = new Label(decoratorsComposite, SWT.NONE);
-		decoratorsLabel.setText(
-			WorkbenchMessages.getString("DecoratorsPreferencePage.decoratorsLabel")); //$NON-NLS-1$
-		decoratorsLabel.setFont(mainFont);
-		
-		// Checkbox table viewer of decorators
-		checkboxViewer =
-			CheckboxTableViewer.newCheckList(
-				decoratorsComposite,
-				SWT.SINGLE | SWT.TOP | SWT.BORDER);
-		checkboxViewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
-		checkboxViewer.getTable().setFont(decoratorsComposite.getFont());
-		checkboxViewer.setLabelProvider(new LabelProvider() {
-			public String getText(Object element) {
-				return ((DecoratorDefinition) element).getName();
-			}
-		});
-		checkboxViewer.getTable().setFont(mainFont);
-		
-		checkboxViewer.setContentProvider(new IStructuredContentProvider() {
-			
-			Sorter sorter = new Sorter(){
-				/*
-				 * @see Sorter.compare(element,element)
-				 */
-				public boolean compare(Object elementOne, Object elementTwo){
-					return ((DecoratorDefinition) elementTwo).getName().compareTo(((DecoratorDefinition) elementOne).getName()) > 0;
-				}
-			};
-			
-			public void dispose() {
-				//Nothing to do on dispose
-			}
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			}
-			public Object[] getElements(Object inputElement) {
-				//Make an entry for each decorator definition
-				return sorter.sort((Object[]) inputElement);
-			}
-		
-		});
-		
-		checkboxViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				if (event.getSelection() instanceof IStructuredSelection) {
-					IStructuredSelection sel = (IStructuredSelection) event.getSelection();
-					DecoratorDefinition definition = 
-						(DecoratorDefinition) sel.getFirstElement();
-					if (definition == null)
-						clearDescription();
-					else
-						showDescription(definition);
-				}
-			}
-		});
-		
-		checkboxViewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				checkboxViewer.setSelection(
-					new StructuredSelection(event.getElement()));
-			}
-		});
-	}
-
-	/** 
-	 * Creates the widgets for the description.
-	 */
-	private void createDescriptionArea(Composite mainComposite) {
-		
-		Font mainFont = mainComposite.getFont();
-		Composite textComposite = new Composite(mainComposite, SWT.NONE);
-		textComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		GridLayout textLayout = new GridLayout();
-		textLayout.marginWidth = 0;
-		textLayout.marginHeight = 0;
-		textComposite.setLayout(textLayout);
-		textComposite.setFont(mainFont);
-		
-		Label descriptionLabel = new Label(textComposite, SWT.NONE);
-		descriptionLabel.setText(
-			WorkbenchMessages.getString("DecoratorsPreferencePage.description")); //$NON-NLS-1$
-		descriptionLabel.setFont(mainFont);
-		
-		descriptionText =
-			new Text(textComposite, SWT.MULTI | SWT.WRAP | SWT.READ_ONLY | SWT.BORDER | SWT.H_SCROLL);
-		descriptionText.setLayoutData(new GridData(GridData.FILL_BOTH));
-		descriptionText.setFont(mainFont);
-	}
-
-	/**
-	 * Populates the list of decorators.
-	 */
-	private void populateDecorators() {
-		DecoratorDefinition[] definitions = getAllDefinitions();
-		checkboxViewer.setInput(definitions);
-		for (int i = 0; i < definitions.length; i++) {
-			checkboxViewer.setChecked(definitions[i], definitions[i].isEnabled());
-		}
-	}
-
-	/**
-	 * Show the selected description in the text.
-	 */
-	private void showDescription(DecoratorDefinition definition) {
-		if (descriptionText == null || descriptionText.isDisposed()) {
-			return;
-		}
-		String text = definition.getDescription();
-		if (text == null || text.length() == 0)
-			descriptionText.setText(
-				WorkbenchMessages.getString(
-					"PreferencePage.noDescription")); //$NON-NLS-1$
-		else
-			descriptionText.setText(text);
-	}
-
-	/**
-	 * Clear the selected description in the text.
-	 */
-	private void clearDescription() {
-		if (descriptionText == null || descriptionText.isDisposed()) {
-			return;
-		}
-		descriptionText.setText(""); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		super.performDefaults();
-		DecoratorManager manager = (DecoratorManager) WorkbenchPlugin.getDefault().getDecoratorManager();
-		DecoratorDefinition[] definitions = manager.getAllDecoratorDefinitions();
-		for (int i = 0; i < definitions.length; i++) {
-			checkboxViewer.setChecked(definitions[i],definitions[i].getDefaultValue());
-		}
-	}
-
-	/**
-	 * @see IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		if (super.performOk()) {
-			DecoratorManager manager = getDecoratorManager();
-			DecoratorDefinition[] definitions = manager.getAllDecoratorDefinitions();
-			for (int i = 0; i < definitions.length; i++) {
-				boolean checked = checkboxViewer.getChecked(definitions[i]);
-				definitions[i].setEnabledWithErrorHandling(checked);
-				
-			}
-			manager.reset();
-			return true;
-		}
-		return false;
-	}
-
-	/**
-	 * @see IWorkbenchPreferencePage#init(IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-
-	/**
-	 * Get the decorator definitions for the workbench.
-	 */
-	private DecoratorDefinition[] getAllDefinitions() {
-		return getDecoratorManager().getAllDecoratorDefinitions();
-	}
-	
-	/**
-	 * Get the DecoratorManager being used for this
-	 */
-	
-	private DecoratorManager getDecoratorManager(){
-		return (DecoratorManager) WorkbenchPlugin
-			.getDefault()
-			.getDecoratorManager();
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/DialogUtil.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/DialogUtil.java
deleted file mode 100644
index 5e1f160..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/DialogUtil.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Utility class to help with dialogs.
- */
-public class DialogUtil {
-	
-/**
- * Prevent instantiation.
- */
-private DialogUtil() {
-}
-
-/**
- * Open an error style dialog for PartInitException by
- * including any extra information from the nested
- * CoreException if present.
- */
-public static void openError(Shell parent, String title, String message, PartInitException exception) {
-	// Check for a nested CoreException
-	CoreException nestedException = null;
-	IStatus status = exception.getStatus();
-	if (status != null && status.getException() instanceof CoreException)
-		nestedException = (CoreException)status.getException();
-
-	if (nestedException != null) {
-		// Open an error dialog and include the extra
-		// status information from the nested CoreException
-		ErrorDialog.openError(
-			parent,
-			title,
-			message,
-			nestedException.getStatus());
-	}
-	else {
-		// Open a regular error dialog since there is no
-		// extra information to display
-		MessageDialog.openError(
-			parent,
-			title,
-			message);
-	}
-}
-
-/**
- * Removes the '&' accelerator indicator from a label, if any.
- * Also removes the () accelerators which are used in Asian
- * languages.
- */
-public static String removeAccel(String label) {
-	
-	int startBracket = label.indexOf("(&");
-	//Non latin accelerator?
-	if(startBracket >= 0){
-		int endBracket = label.indexOf(')');
-		
-		//If there is more than one character it is not an accelerator
-		if((endBracket - startBracket) == 3)
-			return label.substring(0, startBracket) + label.substring(endBracket+1);
-	}
-	
-	int i = label.indexOf('&');
-	if (i >= 0)
-		label = label.substring(0, i) + label.substring(i+1);
-		
-	return label;
-}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/EditorSelectionDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/EditorSelectionDialog.java
deleted file mode 100644
index c4f7237..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/EditorSelectionDialog.java
+++ /dev/null
@@ -1,423 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002. All Rights Reserved.
- * Contributors:  Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog
- * font should be activated and used by other components.
- */
-
-import org.eclipse.ui.internal.registry.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.misc.ProgramImageDescriptor;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import java.util.*;
-import java.io.File;
-
-
-/**
- * This class is used to allow the user to select a dialog from the set of
- * internal and external editors.
- *
- * @private
- *      This class is internal to the workbench and must not be called outside the workbench
-*/
-
-public class EditorSelectionDialog extends Dialog implements Listener {
-	private EditorDescriptor selectedEditor;
-	private Button externalButton;
-	private Table editorTable;
-	private Button browseExternalEditorsButton;
-	private Button internalButton;
-	private Button okButton;
-	private Button cancelButton;
-	private static final String EditorSelectionDialog = "FileSystemExportPage1.CreateDirectoriesForSelectedContainers";//$NON-NLS-1$
-	private static final String STORE_ID_INTERNAL_EXTERNAL = "EditorSelectionDialog.STORE_ID_INTERNAL_EXTERNAL";//$NON-NLS-1$
-	private String message = WorkbenchMessages.getString("EditorSelection.chooseAnEditor"); //$NON-NLS-1$
-	// collection of IEditorDescriptor
-	private IEditorDescriptor[] externalEditors;
-	private IEditorDescriptor[] internalEditors;
-	private Image[] externalEditorImages;
-	private Image[] internalEditorImages;
-	private IEditorDescriptor[] editorsToFilter;
-	private static final String [] Executable_Filters;
-	private static final int TABLE_WIDTH = 200;
-	static {
-		if(SWT.getPlatform().equals("win32")) {//$NON-NLS-1$
-			Executable_Filters = new String[] { "*.exe", "*.bat", "*.*"};//$NON-NLS-1$
-		} else {
-			Executable_Filters = new String[] {"*"};	//$NON-NLS-1$
-		}
-	}
-public EditorSelectionDialog(Shell parentShell) {
-	super(parentShell);
-}
-
-/**
- * This method is called if a button has been pressed.
- */
-protected void buttonPressed(int buttonId) {
-	if (buttonId == IDialogConstants.OK_ID) 
-		saveWidgetValues();
-	super.buttonPressed(buttonId); 
-}
-/**
- * Close the window.
- */
-public boolean close() {
-	if (internalEditorImages != null) {
-		for (int i = 0; i < internalEditorImages.length; i++) {
-			internalEditorImages[i].dispose();
-		}
-		internalEditorImages = null;
-	}
-	if (externalEditorImages != null) {
-		for (int i = 0; i < externalEditorImages.length; i++) {
-			externalEditorImages[i].dispose();
-		}
-		externalEditorImages = null;
-	}       
-	return super.close();
-}
-/* (non-Javadoc)
- * Method declared in Window.
- */
-protected void configureShell(Shell shell) {
-	super.configureShell(shell);
-	shell.setText(WorkbenchMessages.getString("EditorSelection.title")); //$NON-NLS-1$
-	WorkbenchHelp.setHelp(shell, IHelpContextIds.EDITOR_SELECTION_DIALOG);
-}
-/**
- * Creates and returns the contents of the upper part 
- * of the dialog (above the button bar).
- *
- * Subclasses should overide.
- *
- * @param the parent composite to contain the dialog area
- * @return the dialog area control
- */
-protected Control createDialogArea(Composite parent) {
-	Font font = parent.getFont();
-	// create main group
-	Composite contents = (Composite)super.createDialogArea(parent);
-	((GridLayout)contents.getLayout()).numColumns = 2;
-
-	// begin the layout
-	Label textLabel = new Label(contents,SWT.NONE);
-	textLabel.setText(message);
-	GridData data = new GridData();
-	data.horizontalSpan = 2;
-	textLabel.setLayoutData(data);
-	textLabel.setFont(font);
-
-	internalButton = new Button(contents, SWT.RADIO | SWT.LEFT);
-	internalButton.setText(WorkbenchMessages.getString("EditorSelection.internal")); //$NON-NLS-1$
-	internalButton.addListener(SWT.Selection, this);
-	data = new GridData();
-	data.horizontalSpan = 1;
-	internalButton.setLayoutData(data);
-	internalButton.setFont(font);
-
-	externalButton = new Button(contents, SWT.RADIO | SWT.LEFT);
-	externalButton.setText(WorkbenchMessages.getString("EditorSelection.external")); //$NON-NLS-1$
-	externalButton.addListener(SWT.Selection, this);
-	data = new GridData();
-	data.horizontalSpan = 1;
-	externalButton.setLayoutData(data);
-	externalButton.setFont(font);
-		
-	editorTable = new Table(contents, SWT.SINGLE | SWT.BORDER);
-	editorTable.addListener(SWT.Selection, this);
-	editorTable.addListener(SWT.DefaultSelection, this);
-	editorTable.addListener(SWT.MouseDoubleClick, this);
-	data = new GridData();
-	data.widthHint = convertHorizontalDLUsToPixels(TABLE_WIDTH);
-	data.horizontalAlignment= GridData.FILL;
-	data.grabExcessHorizontalSpace= true;
-	data.verticalAlignment= GridData.FILL;
-	data.grabExcessVerticalSpace= true;
-	data.horizontalSpan = 2;
-	editorTable.setLayoutData(data);
-	editorTable.setFont(font);
-	data.heightHint = editorTable.getItemHeight()*12;
-	
-	browseExternalEditorsButton = new Button(contents, SWT.PUSH);
-	browseExternalEditorsButton.setText(WorkbenchMessages.getString("EditorSelection.browse")); //$NON-NLS-1$
-	browseExternalEditorsButton.addListener(SWT.Selection, this);
-	data = new GridData();
-	data.heightHint = convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-	int widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-	data.widthHint = Math.max(widthHint, browseExternalEditorsButton.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-	browseExternalEditorsButton.setLayoutData(data);
-	browseExternalEditorsButton.setFont(font);
-	
-	restoreWidgetValues();  // Place buttons to the appropriate state
-	
-	fillEditorTable();
-
-	updateEnableState();
-	
-	return contents;
-}
-protected void fillEditorTable() {
-	editorTable.removeAll();
-	editorTable.update();
-	IEditorDescriptor[] editors;
-	Image[] images;
-	if (internalButton.getSelection()) {
-		editors = getInternalEditors();
-		images = internalEditorImages;
-	} else {
-		editors = getExternalEditors();
-		images = externalEditorImages;
-	}
-
-	// 1FWHIEX: ITPUI:WINNT - Need to call setRedraw
-	editorTable.setRedraw(false);
-	for (int i = 0; i < editors.length; i++) {
-		TableItem item = new TableItem(editorTable, SWT.NULL);
-		item.setData(editors[i]);
-		item.setText(editors[i].getLabel());
-		item.setImage(images[i]);
-	}
-	editorTable.setRedraw(true);
-}
-/**
- * Return the dialog store to cache values into
- */
- 
-protected IDialogSettings getDialogSettings() {
-	IDialogSettings workbenchSettings = WorkbenchPlugin.getDefault().getDialogSettings();
-	IDialogSettings section = workbenchSettings.getSection("EditorSelectionDialog");//$NON-NLS-1$
-	if(section == null)
-		section = workbenchSettings.addNewSection("EditorSelectionDialog");//$NON-NLS-1$
-	return section;
-}
-/**
- * Get a list of registered programs from the OS
- */
-protected IEditorDescriptor[] getExternalEditors() {
-	if (externalEditors == null) {
-		// Since this can take a while, show the busy
-		// cursor. If the dialog is not yet visible,
-		// then use the parent shell.
-		Control shell = getShell();
-		if (!shell.isVisible()) {
-			Control topShell = shell.getParent();
-			if (topShell != null)
-				shell = topShell;
-		}
-		Cursor busy = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
-		shell.setCursor(busy);
-		// Get the external editors available
-		EditorRegistry reg = (EditorRegistry)WorkbenchPlugin.getDefault().getEditorRegistry();
-		externalEditors = reg.getSortedEditorsFromOS();
-		externalEditors = filterEditors(externalEditors);
-		externalEditorImages = getImages(externalEditors);
-		// Clean up
-		shell.setCursor(null);
-		busy.dispose();
-	}
-	return externalEditors;
-}
-/**
- * Returns an array of editors which have been filtered according to 
- * the array of editors in the editorsToFilter instance variable.
- * 
- * @param editorsToFilter an array of editors to filter 
- * @return a filtered array of editors
- */
-protected IEditorDescriptor[] filterEditors(IEditorDescriptor[] editors){
-	if ((editors == null) || (editors.length < 1))
-		return editors;
-
-	if ((editorsToFilter == null) || (editorsToFilter.length < 1))
-		return editors;
-	
-	ArrayList filteredList = new ArrayList();
-	for (int i = 0; i < editors.length; i++) {
-		boolean add = true;
-		for (int j = 0; j < editorsToFilter.length; j++) {
-			if (editors[i].getId().equals(editorsToFilter[j].getId())) {
-				add = false;
-			}
-		}
-		if (add) 
-			filteredList.add(editors[i]);
-	}
-
-	return (IEditorDescriptor[]) filteredList.toArray(new IEditorDescriptor[filteredList.size()]);
-}
-
-/**
- * Returns an array of images for the given array of editors
- */
-protected Image[] getImages(IEditorDescriptor[] editors) {
-	Image[] images = new Image[editors.length];
-	for (int i = 0; i < editors.length; i++) {
-		images[i] = editors[i].getImageDescriptor().createImage();
-	}
-	return images;
-}
-/**
- * Returns the internal editors
- */
-protected IEditorDescriptor[] getInternalEditors() {
-	if (internalEditors == null) {
-		EditorRegistry reg = (EditorRegistry)WorkbenchPlugin.getDefault().getEditorRegistry();
-		internalEditors = reg.getSortedEditorsFromPlugins();
-		internalEditors = filterEditors(internalEditors);
-		internalEditorImages = getImages(internalEditors);
-	}
-	return internalEditors;
-}
-/**
- * Return the editor the user selected
- */
-public IEditorDescriptor getSelectedEditor() {
-	return selectedEditor;
-}
-public void handleEvent(Event event) {
-	if (event.type == SWT.MouseDoubleClick){
-		handleDoubleClickEvent();
-		return;
-	}
-	if (event.widget == externalButton) {
-		fillEditorTable();
-	} else if (event.widget == browseExternalEditorsButton) {
-		promptForExternalEditor();
-	} else if (event.widget == editorTable) {
-		if (editorTable.getSelectionIndex() != -1){
-			selectedEditor = (EditorDescriptor)editorTable.getSelection()[0].getData();	
-		} else {
-			selectedEditor = null;
-			okButton.setEnabled(false);
-		}
-	}
-	updateEnableState();
-}
-protected void promptForExternalEditor() {
-	FileDialog dialog = new FileDialog(getShell(), SWT.OPEN | SWT.PRIMARY_MODAL);
-	dialog.setFilterExtensions(Executable_Filters);
-	String result = dialog.open();
-	if (result != null) {
-		EditorDescriptor editor = new EditorDescriptor();
-		editor.setFileName(result);
-		editor.setID(result);
-		//Isolate the program name (no directory or extension)
-		int start = result.lastIndexOf(File.separator);
-		String name;
-		if (start != -1) {
-			name = result.substring(start + 1);
-		} else {
-			name = result;
-		}
-		int end = name.lastIndexOf('.');
-		if (end != -1) {
-			name = name.substring(0, end);
-		}
-		editor.setName(name);
-		// get the program icon without storing it in the registry
-		ImageDescriptor imageDescriptor = new ProgramImageDescriptor(result, 0);
-		editor.setImageDescriptor(imageDescriptor);
-		// pretend we had obtained it from the list of os registered editors
-		TableItem ti = new TableItem(editorTable, SWT.NULL);
-		ti.setData(editor);
-		ti.setText(editor.getLabel());
-		Image image = editor.getImageDescriptor().createImage();
-		ti.setImage(image);
-
-		// need to pass an array to setSelection -- 1FSKYVO: SWT:ALL - inconsistent setSelection api on Table 
-		editorTable.setSelection(new TableItem[] {ti});
-		editorTable.showSelection();
-		editorTable.setFocus(); 
-		selectedEditor = editor;
-
-		/* add to our collection of cached external editors in case the user
-		flips back and forth between internal/external */
-		IEditorDescriptor[] newEditors = new IEditorDescriptor[externalEditors.length + 1];
-		System.arraycopy(externalEditors,0,newEditors,0,externalEditors.length);
-		newEditors[newEditors.length-1] = editor;
-		externalEditors = newEditors;
-		
-		Image[] newImages = new Image[externalEditorImages.length+1];
-		System.arraycopy(externalEditorImages, 0, newImages, 0, externalEditorImages.length);
-		newImages[newImages.length-1] = image;
-		externalEditorImages = newImages;
-	}
-}
-/**
- * Handle a double click event on the list
- */
-protected void handleDoubleClickEvent() {
-	buttonPressed(IDialogConstants.OK_ID);
-}
-/**
- *  Use the dialog store to restore widget values to the values that they held
- *  last time this wizard was used to completion
- */
-protected void restoreWidgetValues() {
-	IDialogSettings settings = getDialogSettings();
-	boolean wasExternal = settings.getBoolean(STORE_ID_INTERNAL_EXTERNAL);  
-	internalButton.setSelection(!wasExternal);
-	externalButton.setSelection(wasExternal);
-}
-/**
- *  Since Finish was pressed, write widget values to the dialog store so that they
- *  will persist into the next invocation of this wizard page
- */
-protected void saveWidgetValues() {
-	IDialogSettings settings = getDialogSettings();
-	// record whether use was viewing internal or external editors
-	settings.put(STORE_ID_INTERNAL_EXTERNAL,!internalButton.getSelection());
-}
-/**
- * Set the message displayed by this message dialog
- */
-public void setMessage(String aMessage) {
-	message = aMessage;
-}
-/**
- * Set the editors which will not appear in the dialog.
- * 
- * @param editors an array of editors
- */
-public void setEditorsToFilter(IEditorDescriptor[] editors) {
-	editorsToFilter = editors;
-}
-
-public void updateEnableState() {
-	boolean enableExternal = externalButton.getSelection();
-	browseExternalEditorsButton.setEnabled(enableExternal);
-	updateOkButton();
-}
-protected void createButtonsForButtonBar(Composite parent) {
-	okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-	cancelButton = createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	//initially there is no selection so OK button should not be enabled
-	okButton.setEnabled(false);
-	
-}
-/**
- * Update the button enablement state.
- */
-protected void updateOkButton() {
-	// Buttons are null during dialog creation
-	if (okButton == null) 
-		return;
-	// If there is no selection, do not enable OK button
-	if (editorTable.getSelectionCount() == 0){
-		okButton.setEnabled(false);
-		return;
-	}
-	// At this point, there is a selection
-	okButton.setEnabled(selectedEditor != null);	
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/EditorsPreferencePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/EditorsPreferencePage.java
deleted file mode 100644
index 22804e2..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/EditorsPreferencePage.java
+++ /dev/null
@@ -1,528 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.internal.dialogs;
-
-import java.io.UnsupportedEncodingException;
-import java.util.*;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.preference.*;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-
-public class EditorsPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-	private IWorkbench workbench;
-	
-	// State for encoding group
-	private String defaultEnc;
-	private Button defaultEncodingButton;
-	private Button otherEncodingButton;
-	private Combo encodingCombo;
-
-	private Button editorListPullDown;
-	private Composite editorReuseGroup;
-	private Button reuseEditors;
-	private Button closeEditorsOnExit;
-	private Composite editorReuseIndentGroup;
-	private Composite editorReuseThresholdGroup;
-	private IntegerFieldEditor reuseEditorsThreshold;	
-	private Group dirtyEditorReuseGroup;		
-	private Button openNewEditor;
-	private Button promptToReuseEditor;
-
-	// TODO: editor tabs 
-	private IntegerFieldEditor numberEditorTabs;
-	private Button editorTabSpanMultipleLines;
-	
-	// editor tab appearance
-	private Group editorTabCompressionGroup;
-	private Button editorTabCompressionNone;
-	private Button editorTabCompressionLow;
-	private Button editorTabCompressionMedium;
-	private Button editorTabCompressionHigh;
-	private int editorTabCompression = EDITOR_TAB_COMPRESSION_HIGH;
-	
-	// multiply height of tab by these to calculate width   //3,9,15,21
-	private static final int EDITOR_TAB_COMPRESSION_NONE = 30;
-	private static final int EDITOR_TAB_COMPRESSION_LOW = 9;
-	private static final int EDITOR_TAB_COMPRESSION_MEDIUM = 6;
-	private static final int EDITOR_TAB_COMPRESSION_HIGH = 3;
-	
-	private static final int REUSE_INDENT = 10;
-
-	private IntegerFieldEditor recentFilesEditor;
-
-	// hashtable mapping accelerator configuration names to accelerator configuration
-	private Hashtable namesToConfiguration;
-	// the name of the active accelerator configuration
-	private String activeAcceleratorConfigurationName;
-			
-	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.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL));
-		composite.setFont(parent.getFont());
-
-		createEditorHistoryGroup(composite);
-		
-		WorkbenchPreferencePage.createSpace(composite);
-		
-		IPreferenceStore store = getPreferenceStore();
-		editorListPullDown = new Button(composite, SWT.CHECK);
-		editorListPullDown.setText(WorkbenchMessages.getString("WorkbenchPreference.editorsListButton")); //$NON-NLS-1$
-		editorListPullDown.setFont(composite.getFont());
-		editorListPullDown.setSelection(store.getBoolean(IPreferenceConstants.EDITOR_LIST_PULLDOWN_ACTIVE));
-		setButtonLayoutData(editorListPullDown);
-
-		closeEditorsOnExit = new Button(composite, SWT.CHECK);
-		closeEditorsOnExit.setText(WorkbenchMessages.getString("WorkbenchPreference.closeEditorsButton")); //$NON-NLS-1$
-		closeEditorsOnExit.setFont(composite.getFont());
-		closeEditorsOnExit.setSelection(store.getBoolean(IPreferenceConstants.CLOSE_EDITORS_ON_EXIT));
-		setButtonLayoutData(closeEditorsOnExit);
-		
-		createEditorReuseGroup(composite);
-		
-		WorkbenchPreferencePage.createSpace(composite);		
-		createEditorTabCompressionGroup(composite);
-		
-		// TODO: editor tabs
-//		editorTabSpanMultipleLines = new Button(composite, SWT.CHECK);
-//		editorTabSpanMultipleLines.setText(WorkbenchMessages.getString("WorkbenchPreference.editorTabSpanMultipleLine")); //$NON-NLS-1$
-//		editorTabSpanMultipleLines.setFont(composite.getFont());
-//		editorTabSpanMultipleLines.setSelection(store.getBoolean(IPreferenceConstants.EDITOR_TABS_SPAN_MULTIPLE_LINES));
-//		editorTabSpanMultipleLines.setEnabled(false);
-//		setButtonLayoutData(editorTabSpanMultipleLines);
-//		
-//		createNumberOfEditorTabGroup(composite);		
-		WorkbenchPreferencePage.createSpace(composite);
-		createEncodingGroup(composite);
-
-		validCheck();
-		
-		WorkbenchHelp.setHelp(parent, IHelpContextIds.WORKBENCH_EDITOR_PREFERENCE_PAGE);
-
-		return composite;
-	}
-	
-	public void init(IWorkbench aWorkbench) {
-		workbench = aWorkbench;
-	}
-	
-	protected void performDefaults() {
-		IPreferenceStore store = getPreferenceStore();
-		updateEncodingState(true);
-		editorListPullDown.setSelection(store.getDefaultBoolean(IPreferenceConstants.EDITOR_LIST_PULLDOWN_ACTIVE));
-		closeEditorsOnExit.setSelection(store.getDefaultBoolean(IPreferenceConstants.CLOSE_EDITORS_ON_EXIT));
-		reuseEditors.setSelection(store.getDefaultBoolean(IPreferenceConstants.REUSE_EDITORS_BOOLEAN));
-		dirtyEditorReuseGroup.setEnabled(reuseEditors.getSelection());
-		openNewEditor.setSelection(!store.getDefaultBoolean(IPreferenceConstants.REUSE_DIRTY_EDITORS));
-		openNewEditor.setEnabled(reuseEditors.getSelection());
-		promptToReuseEditor.setSelection(store.getDefaultBoolean(IPreferenceConstants.REUSE_DIRTY_EDITORS));
-		promptToReuseEditor.setEnabled(reuseEditors.getSelection());
-		reuseEditorsThreshold.loadDefault();
-		reuseEditorsThreshold.getLabelControl(editorReuseThresholdGroup).setEnabled(reuseEditors.getSelection());
-		reuseEditorsThreshold.getTextControl(editorReuseThresholdGroup).setEnabled(reuseEditors.getSelection());
-		recentFilesEditor.loadDefault();
-		//TODO: editor tabs
-//		numberEditorTabs.loadDefault();
-//		editorTabSpanMultipleLines.setSelection(store.getDefaultBoolean(IPreferenceConstants.EDITOR_TABS_SPAN_MULTIPLE_LINES));
-		updateEditorTabCompressionState(store.getDefaultInt(IPreferenceConstants.EDITOR_TAB_WIDTH_SCALAR));
-	}
-	
-	public boolean performOk() {
-		IPreferenceStore store = getPreferenceStore();	
-		Preferences resourcePrefs = ResourcesPlugin.getPlugin().getPluginPreferences();
-		if (defaultEncodingButton.getSelection()) {
-			resourcePrefs.setToDefault(ResourcesPlugin.PREF_ENCODING);
-		}
-		else {
-			String enc = encodingCombo.getText();
-			resourcePrefs.setValue(ResourcesPlugin.PREF_ENCODING, enc);
-		}
-		
-		ResourcesPlugin.getPlugin().savePluginPreferences();
-
-		store.setValue(IPreferenceConstants.EDITOR_LIST_PULLDOWN_ACTIVE,editorListPullDown.getSelection());
-		store.setValue(IPreferenceConstants.CLOSE_EDITORS_ON_EXIT,closeEditorsOnExit.getSelection());
-
-		// store the reuse editors setting
-		store.setValue(IPreferenceConstants.REUSE_EDITORS_BOOLEAN,reuseEditors.getSelection());
-		store.setValue(IPreferenceConstants.REUSE_DIRTY_EDITORS,promptToReuseEditor.getSelection());
-		reuseEditorsThreshold.store();
-
-		// store the recent files setting
-		recentFilesEditor.store();
-
-		// TODO: editor tabs
-		// store the editor tab settings
-//		numberEditorTabs.store();
-//		store.setValue(IPreferenceConstants.EDITOR_TABS_SPAN_MULTIPLE_LINES, editorTabSpanMultipleLines.getSelection());
-		store.setValue(IPreferenceConstants.EDITOR_TAB_WIDTH_SCALAR, editorTabCompression);		
-		
-		return super.performOk();
-	}
-	/**
-	 * Returns preference store that belongs to the our plugin.
-	 *
-	 * @return the preference store for this plugin
-	 */
-	protected IPreferenceStore doGetPreferenceStore() {
-		return WorkbenchPlugin.getDefault().getPreferenceStore();
-	}
-		
-	private void createEncodingGroup(Composite parent) {
-		
-		Font font = parent.getFont();
-		Group group = new Group(parent, SWT.NONE);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		group.setLayoutData(data);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		group.setLayout(layout);
-		group.setText(WorkbenchMessages.getString("WorkbenchPreference.encoding")); //$NON-NLS-1$
-		group.setFont(font);
-		
-		SelectionAdapter buttonListener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateEncodingState(defaultEncodingButton.getSelection());
-				validCheck();
-			}
-		};
-		
-		defaultEncodingButton = new Button(group, SWT.RADIO);
-		defaultEnc = System.getProperty("file.encoding", "UTF-8");  //$NON-NLS-1$  //$NON-NLS-2$
-		defaultEncodingButton.setText(WorkbenchMessages.format("WorkbenchPreference.defaultEncoding", new String[] { defaultEnc })); //$NON-NLS-1$
-		data = new GridData();
-		data.horizontalSpan = 2;
-		defaultEncodingButton.setLayoutData(data);
-		defaultEncodingButton.addSelectionListener(buttonListener);
-		defaultEncodingButton.setFont(font);
-		
-		otherEncodingButton = new Button(group, SWT.RADIO);
-		otherEncodingButton.setText(WorkbenchMessages.getString("WorkbenchPreference.otherEncoding")); //$NON-NLS-1$
-		otherEncodingButton.addSelectionListener(buttonListener);
-		otherEncodingButton.setFont(font);
-		
-		encodingCombo = new Combo(group, SWT.NONE);
-		data = new GridData();
-		data.widthHint = convertWidthInCharsToPixels(15);
-		encodingCombo.setFont(font);
-		encodingCombo.setLayoutData(data);
-		encodingCombo.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				validCheck();
-			}
-		});
-
-		ArrayList encodings = new ArrayList();
-		int n = 0;
-		try {
-			n = Integer.parseInt(WorkbenchMessages.getString("WorkbenchPreference.numDefaultEncodings")); //$NON-NLS-1$
-		}
-		catch (NumberFormatException e) {
-			// Ignore;
-		}
-		for (int i = 0; i < n; ++i) {
-			String enc = WorkbenchMessages.getString("WorkbenchPreference.defaultEncoding" + (i+1), null); //$NON-NLS-1$
-			if (enc != null) {
-				encodings.add(enc);
-			}
-		}
-		
-		if (!encodings.contains(defaultEnc)) {
-			encodings.add(defaultEnc);
-		}
-
-		String enc = ResourcesPlugin.getPlugin().getPluginPreferences().getString(ResourcesPlugin.PREF_ENCODING);
-		boolean isDefault = enc == null || enc.length() == 0;
-
-	 	if (!isDefault && !encodings.contains(enc)) {
-			encodings.add(enc);
-		}
-		Collections.sort(encodings);
-		for (int i = 0; i < encodings.size(); ++i) {
-			encodingCombo.add((String) encodings.get(i));
-		}
-
-		encodingCombo.setText(isDefault ? defaultEnc : enc);
-		
-		updateEncodingState(isDefault);
-	}
-	private void validCheck() {
-		if (!isEncodingValid()) {
-			setErrorMessage(WorkbenchMessages.getString("WorkbenchPreference.unsupportedEncoding")); //$NON-NLS-1$
-			setValid(false);
-		}
-		else {
-			setErrorMessage(null);
-			setValid(true);
-		}
-	}
-	
-	private boolean isEncodingValid() {
-		return defaultEncodingButton.getSelection() ||
-			isValidEncoding(encodingCombo.getText());
-	}
-	
-	private boolean isValidEncoding(String enc) {
-		try {
-			new String(new byte[0], enc);
-			return true;
-		} catch (UnsupportedEncodingException e) {
-			return false;
-		}
-	}
-	
-	private void updateEncodingState(boolean useDefault) {
-		defaultEncodingButton.setSelection(useDefault);
-		otherEncodingButton.setSelection(!useDefault);
-		encodingCombo.setEnabled(!useDefault);
-		setErrorMessage(null);
-		setValid(true);
-	}		
-	/**
-	 * Create a composite that contains entry fields specifying editor reuse preferences.
-	 */
-	private void createEditorReuseGroup(Composite composite) {
-		
-		Font font = composite.getFont();
-		
-		editorReuseGroup = new Composite(composite, SWT.LEFT);
-		GridLayout layout = new GridLayout();
-		// Line up with other entries in preference page
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		editorReuseGroup.setLayout(layout);
-		editorReuseGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));	
-		editorReuseGroup.setFont(font);	
-		
-		reuseEditors = new Button(editorReuseGroup, SWT.CHECK);
-		reuseEditors.setText(WorkbenchMessages.getString("WorkbenchPreference.reuseEditors")); //$NON-NLS-1$
-		reuseEditors.setLayoutData(new GridData());
-		reuseEditors.setFont(font);
-		
-		IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-		reuseEditors.setSelection(store.getBoolean(IPreferenceConstants.REUSE_EDITORS_BOOLEAN));
-		reuseEditors.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e){
-				reuseEditorsThreshold.getLabelControl(editorReuseThresholdGroup).setEnabled(reuseEditors.getSelection());
-				reuseEditorsThreshold.getTextControl(editorReuseThresholdGroup).setEnabled(reuseEditors.getSelection());
-				dirtyEditorReuseGroup.setEnabled(reuseEditors.getSelection());
-				openNewEditor.setEnabled(reuseEditors.getSelection());
-				promptToReuseEditor.setEnabled(reuseEditors.getSelection());
-			}
-		});
-		
-		editorReuseIndentGroup = new Composite(editorReuseGroup, SWT.LEFT);
-		GridLayout indentLayout = new GridLayout();
-		indentLayout.marginWidth = REUSE_INDENT;
-		editorReuseIndentGroup.setLayout(indentLayout);
-		editorReuseIndentGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));	
-		
-		editorReuseThresholdGroup = new Composite(editorReuseIndentGroup, SWT.LEFT);
-		editorReuseThresholdGroup.setLayout(new GridLayout());
-		editorReuseThresholdGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-		editorReuseThresholdGroup.setFont(font);	
-		
-		reuseEditorsThreshold = new IntegerFieldEditor(IPreferenceConstants.REUSE_EDITORS, WorkbenchMessages.getString("WorkbenchPreference.reuseEditorsThreshold"), editorReuseThresholdGroup); //$NON-NLS-1$
-		
-		reuseEditorsThreshold.setPreferenceStore(WorkbenchPlugin.getDefault().getPreferenceStore());
-		reuseEditorsThreshold.setPreferencePage(this);
-		reuseEditorsThreshold.setTextLimit(2);
-		reuseEditorsThreshold.setErrorMessage(WorkbenchMessages.getString("WorkbenchPreference.reuseEditorsThresholdError")); //$NON-NLS-1$
-		reuseEditorsThreshold.setValidateStrategy(StringFieldEditor.VALIDATE_ON_KEY_STROKE);
-		reuseEditorsThreshold.setValidRange(1, 99);
-		reuseEditorsThreshold.load();
-		reuseEditorsThreshold.getLabelControl(editorReuseThresholdGroup).setEnabled(reuseEditors.getSelection());
-		reuseEditorsThreshold.getTextControl(editorReuseThresholdGroup).setEnabled(reuseEditors.getSelection());
-		reuseEditorsThreshold.setPropertyChangeListener(new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (event.getProperty().equals(FieldEditor.IS_VALID)) 
-					setValid(reuseEditorsThreshold.isValid());
-			}
-		});		
-		
-		dirtyEditorReuseGroup = new Group(editorReuseIndentGroup, SWT.NONE);
-		dirtyEditorReuseGroup.setLayout(new GridLayout());		
-		dirtyEditorReuseGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		dirtyEditorReuseGroup.setText(WorkbenchMessages.getString("WorkbenchPreference.reuseDirtyEditorGroupTitle")); //$NON-NLS-1$
-		dirtyEditorReuseGroup.setFont(font);
-		dirtyEditorReuseGroup.setEnabled(reuseEditors.getSelection());
-		
-		promptToReuseEditor = new Button(dirtyEditorReuseGroup, SWT.RADIO);
-		promptToReuseEditor.setText(WorkbenchMessages.getString("WorkbenchPreference.promptToReuseEditor")); //$NON-NLS-1$
-		promptToReuseEditor.setFont(font);	
-		promptToReuseEditor.setSelection(store.getBoolean(IPreferenceConstants.REUSE_DIRTY_EDITORS));
-		promptToReuseEditor.setEnabled(reuseEditors.getSelection());	
-
-		openNewEditor = new Button(dirtyEditorReuseGroup, SWT.RADIO);
-		openNewEditor.setText(WorkbenchMessages.getString("WorkbenchPreference.openNewEditor")); //$NON-NLS-1$
-		openNewEditor.setFont(font);	
-		openNewEditor.setSelection(!store.getBoolean(IPreferenceConstants.REUSE_DIRTY_EDITORS));
-		openNewEditor.setEnabled(reuseEditors.getSelection());		
-
-	}
-	/**
-	 * Create a composite that contains entry fields specifying editor history preferences.
-	 */
-	private void createEditorHistoryGroup(Composite composite) {
-		Composite groupComposite = new Composite(composite, SWT.LEFT);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		groupComposite.setLayout(layout);
-		GridData gd = new GridData();
-		gd.horizontalAlignment = GridData.FILL;
-		gd.grabExcessHorizontalSpace = true;
-		groupComposite.setLayoutData(gd);	
-		groupComposite.setFont(composite.getFont());
-		
-		recentFilesEditor = new IntegerFieldEditor(IPreferenceConstants.RECENT_FILES, WorkbenchMessages.getString("WorkbenchPreference.recentFiles"), groupComposite); //$NON-NLS-1$
-
-		int recentFilesMax = IPreferenceConstants.MAX_RECENT_FILES_SIZE;
-		recentFilesEditor.setPreferenceStore(WorkbenchPlugin.getDefault().getPreferenceStore());
-		recentFilesEditor.setPreferencePage(this);
-		recentFilesEditor.setTextLimit(Integer.toString(recentFilesMax).length());
-		recentFilesEditor.setErrorMessage(WorkbenchMessages.format("WorkbenchPreference.recentFilesError", new Object[] { new Integer(recentFilesMax)})); //$NON-NLS-1$
-		recentFilesEditor.setValidateStrategy(StringFieldEditor.VALIDATE_ON_KEY_STROKE);
-		recentFilesEditor.setValidRange(0, recentFilesMax);
-		recentFilesEditor.load();
-		recentFilesEditor.setPropertyChangeListener(new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (event.getProperty().equals(FieldEditor.IS_VALID)) 
-					setValid(recentFilesEditor.isValid());
-			}
-		});
-		
-	}
-	
-	/**
-	 * Create a composite that contains entry fields specifying number of editor
-	 * tabs preferences.
-	 */
-	private void createNumberOfEditorTabGroup(Composite composite) {
-		Composite groupComposite = new Composite(composite, SWT.LEFT);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		groupComposite.setLayout(layout);
-		GridData gd = new GridData();
-		gd.horizontalAlignment = GridData.FILL;
-		gd.grabExcessHorizontalSpace = true;
-		groupComposite.setLayoutData(gd);
-		groupComposite.setFont(composite.getFont());
-		
-		numberEditorTabs = new IntegerFieldEditor(IPreferenceConstants.NUMBER_EDITOR_TABS, WorkbenchMessages.getString("WorkbenchPreference.numberEditorTabs"), groupComposite); //$NON-NLS-1$
-	
-		int numberEditorTabsMax = IPreferenceConstants.NUMBER_EDITOR_TABS_MAXIMUM;
-		numberEditorTabs.setPreferenceStore(WorkbenchPlugin.getDefault().getPreferenceStore());
-		numberEditorTabs.setPreferencePage(this);
-		numberEditorTabs.setTextLimit(Integer.toString(numberEditorTabsMax).length());
-		numberEditorTabs.setErrorMessage(WorkbenchMessages.format("WorkbenchPreference.numberEditorTabsError", new Object[] { new Integer(numberEditorTabsMax)})); //$NON-NLS-1$
-		numberEditorTabs.setValidateStrategy(StringFieldEditor.VALIDATE_ON_KEY_STROKE);
-		numberEditorTabs.setValidRange(0, numberEditorTabsMax);
-		numberEditorTabs.load();
-		numberEditorTabs.setPropertyChangeListener(new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (event.getProperty().equals(FieldEditor.IS_VALID))
-					setValid(numberEditorTabs.isValid());
-			}
-		});
-	
-	}
-
-	private void updateEditorTabCompressionState(int scalar) {
-		editorTabCompression = scalar;
-		editorTabCompressionNone.setSelection(scalar==EDITOR_TAB_COMPRESSION_NONE);
-		editorTabCompressionLow.setSelection(scalar==EDITOR_TAB_COMPRESSION_LOW);
-		editorTabCompressionMedium.setSelection(scalar==EDITOR_TAB_COMPRESSION_MEDIUM);
-		editorTabCompressionHigh.setSelection(scalar==EDITOR_TAB_COMPRESSION_HIGH);
-	}
-		
-	private void createEditorTabCompressionGroup(Composite composite) {
-		/* Create the group */
-		Font font = composite.getFont();
-		
-		editorTabCompressionGroup = new Group(composite, SWT.NONE);
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.numColumns = 4;
-		editorTabCompressionGroup.setLayout(gridLayout);
-		editorTabCompressionGroup.setLayoutData(new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		editorTabCompressionGroup.setText(WorkbenchMessages.getString("WorkbenchPreference.editorTabCompression"));
-		editorTabCompressionGroup.setFont(font);
-	
-		/* Create the buttons */
-		editorTabCompressionNone = new Button (editorTabCompressionGroup, SWT.RADIO);
-		editorTabCompressionNone.setText(WorkbenchMessages.getString("WorkbenchPreference.editorTabCompressionNone"));
-		editorTabCompressionNone.setFont(font);
-		editorTabCompressionLow = new Button (editorTabCompressionGroup, SWT.RADIO);
-		editorTabCompressionLow.setText(WorkbenchMessages.getString("WorkbenchPreference.editorTabCompressionLow"));
-		editorTabCompressionLow.setFont(font);
-		editorTabCompressionMedium = new Button(editorTabCompressionGroup, SWT.RADIO);
-		editorTabCompressionMedium.setText(WorkbenchMessages.getString("WorkbenchPreference.editorTabCompressionMedium"));
-		editorTabCompressionMedium.setFont(font);
-		editorTabCompressionHigh = new Button (editorTabCompressionGroup, SWT.RADIO);
-		editorTabCompressionHigh.setText(WorkbenchMessages.getString("WorkbenchPreference.editorTabCompressionHigh"));
-		editorTabCompressionHigh.setFont(font);
-	
-		/* Add the listeners */
-		SelectionAdapter selectionListener = new SelectionAdapter () {
-			public void widgetSelected (SelectionEvent event) {
-				if (!((Button) event.widget).getSelection ()) {
-					return;
-				}
-				if (editorTabCompressionNone == null) {
-					editorTabCompression = EDITOR_TAB_COMPRESSION_HIGH;
-					return;
-				}
-				if (editorTabCompressionNone.getSelection()) {
-					editorTabCompression = EDITOR_TAB_COMPRESSION_NONE;
-					return;
-				}
-				if (editorTabCompressionLow.getSelection()) {
-					editorTabCompression = EDITOR_TAB_COMPRESSION_LOW;
-					return;
-				}
-				if (editorTabCompressionMedium.getSelection()) {
-					editorTabCompression = EDITOR_TAB_COMPRESSION_MEDIUM;
-					return;
-				}
-				if (editorTabCompressionHigh.getSelection()) {
-					editorTabCompression = EDITOR_TAB_COMPRESSION_HIGH;
-					return;
-				}
-			};
-		};
-	
-		editorTabCompressionNone.addSelectionListener(selectionListener);
-		editorTabCompressionLow.addSelectionListener(selectionListener);
-		editorTabCompressionMedium.addSelectionListener(selectionListener);
-		editorTabCompressionHigh.addSelectionListener(selectionListener);
-	
-		/* Set the default state */
-		IPreferenceStore store = getPreferenceStore();
-		updateEditorTabCompressionState(store.getInt(IPreferenceConstants.EDITOR_TAB_WIDTH_SCALAR));
-	}
-}
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/EmptyPreferencePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/EmptyPreferencePage.java
deleted file mode 100644
index 701a749..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/EmptyPreferencePage.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/*
- * A page used as a filler for nodes in the preference tree
- * for which no page is suppplied.
- */
-public class EmptyPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-protected Control createContents(Composite parent) {
-	return new Composite(parent, SWT.NULL);
-}
-/**
- * Hook method to get a page specific preference store. Reimplement this
- * method if a page don't want to use its parent's preference store.
- */
-protected IPreferenceStore doGetPreferenceStore() {
-	return WorkbenchPlugin.getDefault().getPreferenceStore();
-}
-/**
- * @see IWorkbenchPreferencePage
- */
-public void init(IWorkbench workbench){
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/EmptyPropertyPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/EmptyPropertyPage.java
deleted file mode 100644
index 52cba22..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/EmptyPropertyPage.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.dialogs.PropertyPage;
-
-/*
- * A page used as a filler for nodes in the property page dialog
- * for which no page is suppplied.
- */
-public class EmptyPropertyPage extends PropertyPage {
-/**
- * Creates empty composite for this page content.
- */
-
-protected Control createContents(Composite parent) {
-	return new Composite(parent, SWT.NULL);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/EventLoopProgressMonitor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/EventLoopProgressMonitor.java
deleted file mode 100644
index 59766bf..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/EventLoopProgressMonitor.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.ProgressMonitorWrapper;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Used to run an event loop whenever progress monitor methods
- * are invoked.  <p>
- * This is needed since editor save operations are done in the UI thread.  
- * Although save operations should be written to do the work in the non-UI thread, 
- * this was not done for 1.0, so this was added to keep the UI live
- * (including allowing the cancel button to work).
- */
-public class EventLoopProgressMonitor extends ProgressMonitorWrapper {
-	
-	/**
-	 * Threshold for how often the event loop is spun, in ms.
-	 */
-	private static int T_THRESH = 100;
-	
-	/**
-	 * Maximum amount of time to spend processing events, in ms.
-	 */
-	private static int T_MAX = 50;
-	
-	/**
-	 * Last time the event loop was spun.
-	 */
-	private long lastTime = System.currentTimeMillis();
-	
-/**
- * Constructs a new monitor.
- */
-public EventLoopProgressMonitor(IProgressMonitor monitor) {
-	super(monitor);
-}
-/** 
- * @see IProgressMonitor#beginTask
- */
-public void beginTask(String name, int totalWork) {
-	super.beginTask(name, totalWork);
-	runEventLoop();
-}
-/**
- * @see IProgressMonitor#done
- */
-public void done() {
-	super.done();
-	runEventLoop();
-}
-/**
- * @see IProgressMonitor#internalWorked
- */
-public void internalWorked(double work) {
-	super.internalWorked(work);
-	runEventLoop();
-}
-/**
- * @see IProgressMonitor#isCanceled
- */
-public boolean isCanceled() {
-	runEventLoop();
-	return super.isCanceled();
-}
-/**
- * Runs an event loop.
- */
-private void runEventLoop() {
-	// Only run the event loop so often, as it is expensive on some platforms
-	// (namely Motif).
-	long t = System.currentTimeMillis();
-	if (t - lastTime < T_THRESH) {
-		return;
-	}
-	lastTime = t;
-	
-	// Run the event loop.
-	Display disp = Display.getDefault();
-	if (disp == null) {
-		return;
-	}
-	for (;;) {
-		if (!disp.readAndDispatch()) {	// Exceptions walk back to parent.
-			break;
-		}
-		// Only run the event loop for so long.
-		// Otherwise, this would never return if some other thread was 
-		// constantly generating events.
-		if (System.currentTimeMillis() - t > T_MAX) {
-			break;
-		}
-	}
-}
-/**
- * @see IProgressMonitor#setCanceled
- */
-public void setCanceled(boolean b) {
-	super.setCanceled(b);
-	runEventLoop();
-}
-/**
- * @see IProgressMonitor#setTaskName
- */
-public void setTaskName(String name) {
-	super.setTaskName(name);
-	runEventLoop();
-}
-/**
- * @see IProgressMonitor#subTask
- */
-public void subTask(String name) {
-	super.subTask(name);
-	runEventLoop();
-}
-/**
- * @see IProgressMonitor#worked
- */
-public void worked(int work) {
-	super.worked(work);
-	runEventLoop();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ExportWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ExportWizard.java
deleted file mode 100644
index 9d3d34c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ExportWizard.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizardNode;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWizard;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.model.AdaptableList;
-import org.eclipse.ui.internal.registry.WizardsRegistryReader;
-
-/**
- * The export wizard allows the user to choose which nested export wizard to run.
- * The set of available wizards comes from the export wizard extension point.
- */
-public class ExportWizard extends Wizard {
-	private IWorkbench workbench;
-	private IStructuredSelection selection;
-	
-
-	//the list selection page
-	class SelectionPage extends WorkbenchWizardListSelectionPage {
-		SelectionPage(IWorkbench w, IStructuredSelection ss, AdaptableList e, String s) {
-			super(w, ss, e, s);
-		}
-		public void createControl(Composite parent) {
-			super.createControl(parent);
-			WorkbenchHelp.setHelp(getControl(), IHelpContextIds.EXPORT_WIZARD_SELECTION_WIZARD_PAGE);
-		}
-		protected IWizardNode createWizardNode(WorkbenchWizardElement element) {
-			return new WorkbenchWizardNode(this, element) {
-				public IWorkbenchWizard createWizard() throws CoreException {
-					return (IWorkbenchWizard)wizardElement.createExecutableExtension();
-				}
-			};
-		}
-	}
-/**
- * Creates the wizard's pages lazily.
- */
-public void addPages() {
-	addPage(
-		new SelectionPage(
-			this.workbench, 
-			this.selection, 
-			getAvailableExportWizards(), 
-			WorkbenchMessages.getString("ExportWizard.selectDestination")));  //$NON-NLS-1$
-}
-/**
- * Returns the export wizards that are available for invocation.
- */
-protected AdaptableList getAvailableExportWizards() {
-	return new WizardsRegistryReader(IWorkbenchConstants.PL_EXPORT).getWizards();
-}
-/**
- * Initializes the wizard.
- */
-public void init(IWorkbench aWorkbench,IStructuredSelection currentSelection) {
-	this.workbench = aWorkbench;
-	this.selection = currentSelection;
-	
-	setWindowTitle(WorkbenchMessages.getString("ExportWizard.title")); //$NON-NLS-1$
-	setDefaultPageImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_WIZBAN_EXPORT_WIZ));
-	setNeedsProgressMonitor(true);
-}
-/**
- * Subclasses must implement this <code>IWizard</code> method 
- * to perform any special finish processing for their wizard.
- */
-public boolean performFinish() {
-	((SelectionPage)getPages()[0]).saveWidgetValues();
-	return true;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FakeAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FakeAction.java
deleted file mode 100644
index 66fda55..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FakeAction.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * A fake action for the action set dialog.
- */
-public class FakeAction implements IAdaptable, IWorkbenchAdapter {
-	private String label;
-	private ImageDescriptor imageDesc;
-/**
- * ActionSetContent constructor comment.
- */
-public FakeAction(String label, ImageDescriptor imageDesc) {
-	this.label = label;
-	this.imageDesc = imageDesc;
-}
-/**
- * Returns an object which is an instance of the given class
- * associated with this object. Returns <code>null</code> if
- * no such object can be found.
- */
-public Object getAdapter(Class adapter) {
-	if (adapter == IWorkbenchAdapter.class) 
-		return this;
-	return null;
-}
-/**
- * Returns the children of this object.  When this object
- * is displayed in a tree, the returned objects will be this
- * element's children.  Returns an empty array if this
- * object has no children.
- *
- * @param object The object to get the children for.
- */
-public Object[] getChildren(Object o) {
-	return new Object[0];
-}
-/**
- * Returns an image descriptor to be used for displaying an object in the workbench.
- * Returns <code>null</code> if there is no appropriate image.
- *
- * @param object The object to get an image descriptor for.
- */
-public ImageDescriptor getImageDescriptor(Object object) {
-	return imageDesc;
-}
-/**
- * Returns the label text for this element.  This is typically
- * used to assign a label to this object when displayed
- * in the UI.  Returns an empty string if there is no appropriate
- * label text for this object.
- *
- * @param object The object to get a label for.
- */
-public String getLabel(Object o) {
-	return label;
-}
-/**
- * Returns the logical parent of the given object in its tree.
- * Returns <code>null</code> if there is no parent, or if this object doesn't
- * belong to a tree.
- *
- * @param object The object to get the parent for.
- */
-public Object getParent(Object o) {
-	return null;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FakeActionSetCategory.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FakeActionSetCategory.java
deleted file mode 100644
index 64163c1..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FakeActionSetCategory.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.internal.registry.*;
-import java.util.*;
-
-/**
- * A fake action set category for the action set dialog.
- */
-public class FakeActionSetCategory extends ActionSetCategory {
-	private HashMap map = new HashMap(10);
-/**
- * FakeActionSetCategory constructor comment.
- * @param id java.lang.String
- * @param label java.lang.String
- */
-public FakeActionSetCategory(String id, String label) {
-	super(id, label);
-}
-/**
- * Adds an action set.
- */
-public void addActionSet(IActionSetDescriptor desc) {
-	super.addActionSet(desc);
-	map.put(desc.getId(), desc);
-}
-/**
- * Returns the action set with a given id.
- */
-public IActionSetDescriptor findActionSet(String id) {
-	return (IActionSetDescriptor)map.get(id);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FakeActionSetDescriptor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FakeActionSetDescriptor.java
deleted file mode 100644
index 1f49ca0..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FakeActionSetDescriptor.java
+++ /dev/null
@@ -1,179 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.internal.registry.IActionSet;
-import org.eclipse.ui.internal.registry.IActionSetDescriptor;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * A fake view action set.
- */
-public abstract class FakeActionSetDescriptor implements 
-	IAdaptable, IWorkbenchAdapter, IActionSetDescriptor
-{
-	private String id;
-	private Object data;
-	private String category;
-	private Object [] children;
-/**
- * Construct a new action set
- */
-public FakeActionSetDescriptor(String id, Object data) {
-	this.id = id;
-	this.data = data;
-}
-/**
- * Creates a new action set from this descriptor.
- * <p>
- * [Issue: Consider throwing WorkbenchException rather than CoreException.]
- * </p>
- *
- * @return the new action set
- * @exception CoreException if the action set cannot be created
- */
-public IActionSet createActionSet() throws CoreException {
-	return null;
-}
-/**
- * Returns the action image descriptor.
- */
-protected abstract ImageDescriptor getActionImageDescriptor();
-/**
- * Returns the action text.
- */
-protected abstract String getActionLabel();
-/**
- * Returns an object which is an instance of the given class
- * associated with this object. Returns <code>null</code> if
- * no such object can be found.
- */
-public Object getAdapter(Class adapter) {
-	if (adapter == IWorkbenchAdapter.class) 
-		return this;
-	return null;
-}
-/**
- * Returns the category of this action set.
- * This is the value of its <code>"category"</code> attribute.
- *
- * @return a non-empty category name or <cod>null</code> if none specified
- */
-public String getCategory() {
-	return category;
-}
-/**
- * Returns the children of this object.  When this object
- * is displayed in a tree, the returned objects will be this
- * element's children.  Returns an empty array if this
- * object has no children.
- *
- * @param object The object to get the children for.
- */
-public Object[] getChildren() {
-	if (children == null) {
-		children = new Object[1];
-		children[0] = new FakeAction(getActionLabel(), 
-			getActionImageDescriptor());
-	}
-	return children;
-}
-/**
- * Returns the children of this object.  When this object
- * is displayed in a tree, the returned objects will be this
- * element's children.  Returns an empty array if this
- * object has no children.
- *
- * @param object The object to get the children for.
- */
-public Object[] getChildren(Object o) {
-	if (children == null) {
-		children = new Object[1];
-		children[0] = new FakeAction(getLabel(this), 
-			getActionImageDescriptor());
-	}
-	return children;
-}
-/**
- * Returns the data
- */
-public Object getData() {
-	return data;
-}
-/**
- * Returns the description of this action set.
- * This is the value of its <code>"description"</code> attribute.
- *
- * @return the description
- */
-public String getDescription() {
-	return null;
-}
-/**
- * Returns the id of this action set. 
- * This is the value of its <code>"id"</code> attribute.
- *
- * @return the action set id
- */
-public String getId() {
-	return id;
-}
-/**
- * Returns an image descriptor to be used for displaying an object in the workbench.
- * Returns <code>null</code> if there is no appropriate image.
- *
- * @param object The object to get an image descriptor for.
- */
-public ImageDescriptor getImageDescriptor(Object object) {
-	return null;
-}
-/**
- * Returns the label text for this element.  This is typically
- * used to assign a label to this object when displayed
- * in the UI.  Returns an empty string if there is no appropriate
- * label text for this object.
- *
- * @param object The object to get a label for.
- */
-public String getLabel() {
-	return getActionLabel();
-}
-/**
- * Returns the label text for this element.  This is typically
- * used to assign a label to this object when displayed
- * in the UI.  Returns an empty string if there is no appropriate
- * label text for this object.
- *
- * @param object The object to get a label for.
- */
-public String getLabel(Object o) {
-	return getActionLabel();
-}
-/**
- * Returns the logical parent of the given object in its tree.
- * Returns <code>null</code> if there is no parent, or if this object doesn't
- * belong to a tree.
- *
- * @param object The object to get the parent for.
- */
-public Object getParent(Object o) {
-	return null;
-}
-/**
- * Returns whether this action set is initially visible.
- */
-public boolean isInitiallyVisible() {
-	return false;
-}
-/**
- * Sets the category.
- */
-public void setCategory(String cat) {
-	category = cat;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FakePerspectiveActionSet.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FakePerspectiveActionSet.java
deleted file mode 100644
index 001e3e2..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FakePerspectiveActionSet.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IPerspectiveDescriptor;
-
-/**
- * A fake view action set.
- */
-public class FakePerspectiveActionSet extends FakeActionSetDescriptor {
-/**
- * Constructs a new action set.
- */
-public FakePerspectiveActionSet(IPerspectiveDescriptor desc) {
-	super(desc.getId(), desc);
-}
-/**
- * Returns the action image descriptor.
- */
-protected ImageDescriptor getActionImageDescriptor() {
-	return getPerspective().getImageDescriptor();
-}
-/**
- * Returns the action text.
- */
-protected String getActionLabel() {
-	return getPerspective().getLabel();
-}
-/**
- * Returns the descriptor
- */
-public IPerspectiveDescriptor getPerspective() {
-	return (IPerspectiveDescriptor)getData();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FakeViewActionSet.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FakeViewActionSet.java
deleted file mode 100644
index bc34dff..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FakeViewActionSet.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.internal.registry.IViewDescriptor;
-
-/**
- * A fake view action set.
- */
-public class FakeViewActionSet extends FakeActionSetDescriptor {
-/**
- * Constructs a new action set.
- */
-public FakeViewActionSet(IViewDescriptor desc) {
-	super(desc.getID(), desc);
-}
-/**
- * Returns the action image descriptor.
- */
-protected ImageDescriptor getActionImageDescriptor() {
-	return getView().getImageDescriptor();
-}
-/**
- * Returns the action text.
- */
-protected String getActionLabel() {
-	return getView().getLabel();
-}
-/**
- * Returns the descriptor
- */
-public IViewDescriptor getView() {
-	return (IViewDescriptor)getData();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FakeWizardActionSet.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FakeWizardActionSet.java
deleted file mode 100644
index d3b67cc..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FakeWizardActionSet.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * A fake view action set.
- */
-public class FakeWizardActionSet extends FakeActionSetDescriptor {
-/**
- * Constructs a new action set.
- */
-public FakeWizardActionSet(WorkbenchWizardElement desc) {
-	super(desc.getID(), desc);
-}
-/**
- * Returns the action image descriptor.
- */
-protected ImageDescriptor getActionImageDescriptor() {
-	return getWizard().getImageDescriptor();
-}
-/**
- * Returns the action text.
- */
-protected String getActionLabel() {
-	WorkbenchWizardElement wizard = getWizard();
-	return wizard.getLabel(wizard);
-}
-/**
- * Returns the descriptor
- */
-public WorkbenchWizardElement getWizard() {
-	return (WorkbenchWizardElement)getData();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FileEditorsPreferencePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FileEditorsPreferencePage.java
deleted file mode 100644
index c67e8a5..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FileEditorsPreferencePage.java
+++ /dev/null
@@ -1,494 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.*;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-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.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.misc.Assert;
-import org.eclipse.ui.internal.registry.*;
-
-
-/**
- * The file editors page presents the collection of file names and extensions
- * for which the user has registered editors. It also lets the user add new
- * internal or external (program) editors for a given file name and extension.
- *
- * The user can add an editor for either a specific file name and extension
- * (e.g. report.doc), or for all file names of a given extension (e.g. *.doc)
- *
- * The set of registered editors is tracked by the EditorRegistery
- * available from the workbench plugin.
- */
-public class FileEditorsPreferencePage extends PreferencePage implements IWorkbenchPreferencePage, Listener {
-	protected Table resourceTypeTable;
-	protected Button addResourceTypeButton;
-	protected Button removeResourceTypeButton;
-	protected Table editorTable;
-	protected Button addEditorButton;
-	protected Button removeEditorButton;
-	protected Button defaultEditorButton;
-	protected Label editorLabel;
-
-	protected IWorkbench workbench;
-	protected List imagesToDispose;
-	protected Map editorsToImages;
-/**
- * Add a new resource type to the collection shown in the top of the page.
- * This is typically called after the extension dialog is shown to the user.
- */
-public void addResourceType(String newName, String newExtension) {
-	// Either a file name or extension must be provided
-	Assert.isTrue((newName != null && newName.length() != 0) || 
-		(newExtension != null && newExtension.length() != 0));
-
-	// Wild card only valid by itself (i.e. rep* is not valid)
-	// And must have an extension
-	int index = newName.indexOf('*');
-	if (index > -1) {
-		Assert.isTrue(index == 0 && newName.length() == 1); 
-		Assert.isTrue(newExtension != null && newExtension.length() != 0);
-	}
-	
-	// Find the index at which to insert the new entry.
-	String newFilename = (newName + (newExtension == null || newExtension.length() == 0 ?
-		 "" : "." + newExtension)).toUpperCase();//$NON-NLS-1$ //$NON-NLS-2$
-	IFileEditorMapping resourceType;
-	TableItem[] items = resourceTypeTable.getItems();
-	boolean found = false;
-	int i = 0;
-
-	while (i < items.length && !found) {
-		resourceType = (IFileEditorMapping) items[i].getData();
-		int result = newFilename.compareToIgnoreCase(resourceType.getLabel());
-		if (result == 0) {
-			// Same resource type not allowed!
-			MessageDialog.openInformation(
-				getControl().getShell(),
-				WorkbenchMessages.getString("FileEditorPreference.existsTitle"), //$NON-NLS-1$
-				WorkbenchMessages.getString("FileEditorPreference.existsMessage")); //$NON-NLS-1$
-			return;
-		}
-
-		if (result < 0)
-			found = true;
-		else
-			i++;
-	}
-
-	// Create the new type and insert it
-	resourceType = new FileEditorMapping(newName, newExtension);
-	TableItem item = newResourceTableItem(resourceType, i, true);
-	resourceTypeTable.setFocus();
-	resourceTypeTable.showItem(item);
-	fillEditorTable();
-}
-/**
- * Creates the page's UI content.
- */
-protected Control createContents(Composite parent) {
-	imagesToDispose = new ArrayList();
-	editorsToImages = new HashMap(50);
-	Font font = parent.getFont();
-
-	// define container & its gridding
-	Composite pageComponent = new Composite(parent, SWT.NULL);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 2;
-	layout.marginWidth = 0;
-	layout.marginHeight = 0;
-	pageComponent.setLayout(layout);
-	GridData data = new GridData();
-	data.verticalAlignment = GridData.FILL;
-	data.horizontalAlignment = GridData.FILL;
-	pageComponent.setLayoutData(data);
-	pageComponent.setFont(font);
-
-	//layout the contents
-
-	//layout the top table & its buttons
-	Label label = new Label(pageComponent, SWT.LEFT);
-	label.setText(WorkbenchMessages.getString("FileEditorPreference.fileTypes")); //$NON-NLS-1$
-	data = new GridData();
-	data.horizontalAlignment = GridData.FILL;
-	data.horizontalSpan = 2;
-	label.setLayoutData(data);
-	label.setFont(font);
-
-	resourceTypeTable = new Table(pageComponent, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION);
-	resourceTypeTable.addListener(SWT.Selection, this);
-	resourceTypeTable.addListener(SWT.DefaultSelection, this);
-	data = new GridData(GridData.FILL_BOTH);
-	data.heightHint = resourceTypeTable.getItemHeight()*12;
-	resourceTypeTable.setLayoutData(data);
-	resourceTypeTable.setFont(font);
-
-	Composite groupComponent= new Composite(pageComponent, SWT.NULL);
-	GridLayout groupLayout = new GridLayout();
-	groupLayout.marginWidth = 0;
-	groupLayout.marginHeight = 0;
-	groupComponent.setLayout(groupLayout);
-	data = new GridData();
-	data.verticalAlignment = GridData.FILL;
-	data.horizontalAlignment = GridData.FILL;
-	groupComponent.setLayoutData(data);
-	groupComponent.setFont(font);
-	
-	addResourceTypeButton = new Button(groupComponent, SWT.PUSH);
-	addResourceTypeButton.setText(WorkbenchMessages.getString("FileEditorPreference.add")); //$NON-NLS-1$
-	addResourceTypeButton.addListener(SWT.Selection, this);
-	addResourceTypeButton.setLayoutData(data);
-	addResourceTypeButton.setFont(font);
-	setButtonLayoutData(addResourceTypeButton);
-	
-	
-	removeResourceTypeButton = new Button(groupComponent, SWT.PUSH);
-	removeResourceTypeButton.setText(WorkbenchMessages.getString("FileEditorPreference.remove")); //$NON-NLS-1$
-	removeResourceTypeButton.addListener(SWT.Selection, this);
-	removeResourceTypeButton.setFont(font);
-	setButtonLayoutData(removeResourceTypeButton);
-	
-	//Spacer
-	label = new Label(pageComponent, SWT.LEFT);
-	data = new GridData();
-	data.horizontalAlignment = GridData.FILL;
-	data.horizontalSpan = 2;
-	label.setLayoutData(data);
-
-	// layout the bottom table & its buttons
-	editorLabel = new Label(pageComponent, SWT.LEFT);
-	editorLabel.setText(WorkbenchMessages.getString("FileEditorPreference.associatedEditors")); //$NON-NLS-1$
-	data = new GridData();
-	data.horizontalAlignment = GridData.FILL;
-	data.horizontalSpan = 2;
-	editorLabel.setLayoutData(data);
-	editorLabel.setFont(font);
-
-	editorTable = new Table(pageComponent, SWT.SINGLE | SWT.BORDER);
-	editorTable.addListener(SWT.Selection, this);
-	editorTable.addListener(SWT.DefaultSelection, this);
-	data = new GridData(GridData.FILL_BOTH);
-	data.heightHint = editorTable.getItemHeight()*7;
-	editorTable.setLayoutData(data);
-	editorTable.setFont(font);
-	
-	groupComponent = new Composite(pageComponent, SWT.NULL);
-	groupLayout = new GridLayout();
-	groupLayout.marginWidth = 0;
-	groupLayout.marginHeight = 0;
-	groupComponent.setLayout(groupLayout);
-	data = new GridData();
-	data.verticalAlignment = GridData.FILL;
-	data.horizontalAlignment = GridData.FILL;
-	groupComponent.setLayoutData(data);
-	groupComponent.setFont(font);
-	
-	addEditorButton = new Button(groupComponent, SWT.PUSH);
-	addEditorButton.setText(WorkbenchMessages.getString("FileEditorPreference.addEditor")); //$NON-NLS-1$
-	addEditorButton.addListener(SWT.Selection, this);
-	addEditorButton.setLayoutData(data);
-	addEditorButton.setFont(font);
-	setButtonLayoutData(addEditorButton);
-	
-	removeEditorButton = new Button(groupComponent, SWT.PUSH);
-	removeEditorButton.setText(WorkbenchMessages.getString("FileEditorPreference.removeEditor")); //$NON-NLS-1$
-	removeEditorButton.addListener(SWT.Selection, this);
-	removeEditorButton.setFont(font);
-	setButtonLayoutData(removeEditorButton);
-	
-	defaultEditorButton= new Button(groupComponent, SWT.PUSH);
-	defaultEditorButton.setText(WorkbenchMessages.getString("FileEditorPreference.default")); //$NON-NLS-1$
-	defaultEditorButton.addListener(SWT.Selection, this);
-	defaultEditorButton.setFont(font);
-	setButtonLayoutData(defaultEditorButton);
-
-	fillResourceTypeTable();
-	if (resourceTypeTable.getItemCount() > 0) {
-		resourceTypeTable.setSelection(0);
-	}
-	fillEditorTable();
-	updateEnabledState();
-
-	WorkbenchHelp.setHelp(parent, IHelpContextIds.FILE_EDITORS_PREFERENCE_PAGE);
-	
-	return pageComponent;
-}
-/**
- * The preference page is going to be disposed. So deallocate all allocated
- * SWT resources that aren't disposed automatically by disposing the page
- * (i.e fonts, cursors, etc). Subclasses should reimplement this method to 
- * release their own allocated SWT resources.
- */
-public void dispose() {
-	super.dispose();
-	if(imagesToDispose != null) {
-		for (Iterator e = imagesToDispose.iterator(); e.hasNext();) {
-			((Image)e.next()).dispose();
-		}
-		imagesToDispose = null;
-	}
-	if (editorsToImages != null) {
-		for (Iterator e = editorsToImages.values().iterator(); e.hasNext();) {
-			((Image)e.next()).dispose();
-		}
-		editorsToImages = null;
-	}
-}
-	
-/**
- * Hook method to get a page specific preference store. Reimplement this
- * method if a page don't want to use its parent's preference store.
- */
-protected IPreferenceStore doGetPreferenceStore() {
-	return WorkbenchPlugin.getDefault().getPreferenceStore();
-}
-protected void fillEditorTable() {
-	editorTable.removeAll();
-	FileEditorMapping resourceType = getSelectedResourceType();
-	if (resourceType != null) {
-		IEditorDescriptor[] array = resourceType.getEditors();
-		for (int i=0;i < array.length; i++) { 
-			IEditorDescriptor editor = array[i];
-			TableItem item = new TableItem(editorTable, SWT.NULL);
-			item.setData(editor);
-			// Check if it is the default editor
-			String defaultString = null;
-			FileEditorMapping ext = getSelectedResourceType();
-			if (ext != null){
-				IEditorDescriptor preferredEditor = ext.getDefaultEditor();
-				if (preferredEditor == editor)
-					defaultString = WorkbenchMessages.getString("FileEditorPreference.defaultLabel"); //$NON-NLS-1$
-			}
-
-			if (defaultString != null) {
-				item.setText(editor.getLabel() + " " + defaultString); //$NON-NLS-1$
-			}
-			else {
-				item.setText(editor.getLabel());
-			}
-			item.setImage(getImage(editor));
-		}
-	}
-}
-/**
- * Place the existing resource types in the table
- */
-protected void fillResourceTypeTable() {
-	// Populate the table with the items
-	IFileEditorMapping[] array = WorkbenchPlugin.getDefault().getEditorRegistry().getFileEditorMappings();
-	for (int i = 0; i < array.length; i++) {
-		FileEditorMapping mapping = (FileEditorMapping) array[i];
-		mapping = (FileEditorMapping) mapping.clone(); // want a copy
-		newResourceTableItem(mapping, i, false);
-	}
-}
-/**
- * Returns the image associated with the given editor.
- */
-protected Image getImage(IEditorDescriptor editor) {
-	Image image = (Image)editorsToImages.get(editor);
-	if (image == null) {
-		image = editor.getImageDescriptor().createImage();
-		editorsToImages.put(editor, image);
-	}
-	return image;
-}
-protected FileEditorMapping getSelectedResourceType() {
-	TableItem[] items = resourceTypeTable.getSelection();
-	if (items.length > 0) {
-		return (FileEditorMapping)items[0].getData();  //Table is single select
-	} else {
-		return null;
-	}
-}
-protected IEditorDescriptor[] getAssociatedEditors(){
-	if (getSelectedResourceType() == null)
-		return null;
-	if (editorTable.getItemCount() > 0) {
-		ArrayList editorList = new ArrayList();
-		for (int i = 0; i < editorTable.getItemCount(); i++)
-			editorList.add(editorTable.getItem(i).getData());
-
-		return (IEditorDescriptor[])editorList.toArray(new IEditorDescriptor[editorList.size()]);
-	}
-	else
-		return null;
-}
-public void handleEvent(Event event) {
-	if (event.widget == addResourceTypeButton) {
-		promptForResourceType();
-	} else if (event.widget == removeResourceTypeButton) {
-		removeSelectedResourceType();
-	} else if (event.widget == addEditorButton) {
-		promptForEditor();
-	} else if (event.widget == removeEditorButton) {
-		removeSelectedEditor();
-	} else if (event.widget == defaultEditorButton) {
-		setSelectedEditorAsDefault();
-	} else if (event.widget == resourceTypeTable) {
-		fillEditorTable();
-	}
-
-	updateEnabledState();   
-		
-}
-/**
- * @see IWorkbenchPreferencePage
- */
-public void init(IWorkbench aWorkbench){
-	this.workbench = aWorkbench;
-	noDefaultAndApplyButton();
-}
-/*
- * Create a new <code>TableItem</code> to represent the resource
- * type editor description supplied.
- */
-protected TableItem newResourceTableItem(IFileEditorMapping mapping, int index, boolean selected) {
-	Image image = mapping.getImageDescriptor().createImage(false);
-	if (image != null)
-		imagesToDispose.add(image);
-	
-	TableItem item = new TableItem(resourceTypeTable, SWT.NULL, index);
-	if (image != null) {
-		item.setImage(image);
-	}
-	item.setText(mapping.getLabel());
-	item.setData(mapping);
-	if (selected) {
-		resourceTypeTable.setSelection(index);
-	}
-
-	return item;
-}
-/**
- * This is a hook for sublcasses to do special things when the ok
- * button is pressed.
- * For example reimplement this method if you want to save the 
- * page's data into the preference bundle.
- */
-public boolean performOk() {
-	TableItem[] items = resourceTypeTable.getItems();
-	FileEditorMapping[] resourceTypes = new FileEditorMapping[items.length];
-	for (int i = 0; i < items.length; i++) {
-		resourceTypes[i] = (FileEditorMapping)(items[i].getData());
-	}
-	EditorRegistry registry = (EditorRegistry)WorkbenchPlugin.getDefault().getEditorRegistry(); // cast to allow save to be called
-	registry.setFileEditorMappings(resourceTypes);
-	registry.saveAssociations();
-	return true;
-}
-public void promptForEditor() {
-	EditorSelectionDialog dialog = new EditorSelectionDialog(getControl().getShell());
-	dialog.setEditorsToFilter(getAssociatedEditors());
-	dialog.setMessage(WorkbenchMessages.format("Choose_the_editor_for_file", new Object[] {getSelectedResourceType().getLabel()})); //$NON-NLS-1$
-	if (dialog.open() == Dialog.OK) {
-		EditorDescriptor editor = (EditorDescriptor)dialog.getSelectedEditor();
-		if (editor != null) {
-			int i = editorTable.getItemCount();
-			boolean isEmpty = i < 1;
-			TableItem item = new TableItem(editorTable, SWT.NULL, i);
-			item.setData(editor);
-			if (isEmpty)
-				item.setText(editor.getLabel() + " " + 	WorkbenchMessages.getString("FileEditorPreference.defaultLabel")); //$NON-NLS-2$ //$NON-NLS-1$
-			else
-				item.setText(editor.getLabel());
-			item.setImage(getImage(editor));
-			editorTable.setSelection(i);
-			editorTable.setFocus();
-			getSelectedResourceType().addEditor(editor);
-			updateSelectedResourceType(); //in case of new default
-		}
-	}
-}
-public void promptForResourceType() {
-	FileExtensionDialog dialog = new FileExtensionDialog(getControl().getShell());
-	if (dialog.open() == Dialog.OK) {
-		String name = dialog.getName();
-		String extension = dialog.getExtension();
-		addResourceType(name, extension);
-	}
-}
-/**
- * Remove the editor from the table
- */
-public void removeSelectedEditor() {
-	TableItem[] items = editorTable.getSelection();
-	boolean defaultEditor = editorTable.getSelectionIndex() == 0;		
-	if (items.length > 0) {
-		getSelectedResourceType().removeEditor((EditorDescriptor)items[0].getData());
-		items[0].dispose();  //Table is single selection
-	}
-	if (defaultEditor && editorTable.getItemCount() > 0){
-		TableItem item = editorTable.getItem(0);
-		if (item != null)
-			item.setText(((EditorDescriptor)(item.getData())).getLabel() + " " + 	WorkbenchMessages.getString("FileEditorPreference.defaultLabel"));  //$NON-NLS-2$ //$NON-NLS-1$
-	}
-
-}
-/**
- * Remove the type from the table
- */
-public void removeSelectedResourceType() {
-	TableItem[] items = resourceTypeTable.getSelection();
-	if (items.length > 0) {
-		items[0].dispose();  //Table is single selection
-	}
-	//Clear out the editors too
-	editorTable.removeAll();
-}
-public void setSelectedEditorAsDefault() {
-	TableItem[] items = editorTable.getSelection();
-	if (items.length > 0) {
-		// First change the label of the old default
-		TableItem oldDefaultItem = editorTable.getItem(0);
-		oldDefaultItem.setText(((EditorDescriptor)oldDefaultItem.getData()).getLabel());
-		// Now set the new default
-		EditorDescriptor editor = (EditorDescriptor)items[0].getData();
-		getSelectedResourceType().setDefaultEditor(editor);
-		items[0].dispose();  //Table is single selection
-		TableItem item = new TableItem(editorTable, SWT.NULL, 0);
-		item.setData(editor);
-		item.setText(editor.getLabel() + " " + 	WorkbenchMessages.getString("FileEditorPreference.defaultLabel")); //$NON-NLS-2$ //$NON-NLS-1$
-		item.setImage(getImage(editor));
-		editorTable.setSelection(new TableItem[] {item});
-	}
-}
-public void updateEnabledState() {
-	//Update enabled state
-	boolean resourceTypeSelected = resourceTypeTable.getSelectionIndex() != -1;
-	boolean editorSelected = editorTable.getSelectionIndex() != -1;
-
-	removeResourceTypeButton.setEnabled(resourceTypeSelected);
-	editorLabel.setEnabled(resourceTypeSelected);
-	addEditorButton.setEnabled(resourceTypeSelected);
-	removeEditorButton.setEnabled(editorSelected);
-	defaultEditorButton.setEnabled(editorSelected);
-}
-public void updateSelectedResourceType() {
-//  TableItem item = resourceTypeTable.getSelection()[0]; //Single select
-//  Image image = ((IFileEditorMapping)item.getData()).getImageDescriptor().getImage();
-//  imagesToDispose.addElement(image);
-//  item.setImage(image);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FileExtensionDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FileExtensionDialog.java
deleted file mode 100644
index b08ff4a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FileExtensionDialog.java
+++ /dev/null
@@ -1,165 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * This class is used to prompt the user for a file name & extension.
- */
-public class FileExtensionDialog extends TitleAreaDialog {
-	private String filename = ""; //$NON-NLS-1$
-	private Text filenameField;
-	private Button okButton;
-	/**
-	 * Constructs a new file extension dialog.
-	 */
-	public FileExtensionDialog(Shell parentShell) {
-		super(parentShell);
-	}
-	/* (non-Javadoc)
-	 * Method declared in Window.
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		shell.setText(WorkbenchMessages.getString("FileExtension.shellTitle")); //$NON-NLS-1$
-		//$NON-NLS-1$
-		WorkbenchHelp.setHelp(
-			shell,
-			IHelpContextIds.FILE_EXTENSION_DIALOG);
-	}
-	/**
-	 * Creates and returns the contents of the upper part 
-	 * of the dialog (above the button bar).
-	 *
-	 * Subclasses should overide.
-	 *
-	 * @param the parent composite to contain the dialog area
-	 * @return the dialog area control
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// top level composite
-		Composite parentComposite = (Composite)super.createDialogArea(parent);
-		
-		// create a composite with standard margins and spacing
-		Composite contents = new Composite(parentComposite, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		layout.numColumns = 2;
-		contents.setLayout(layout);
-		contents.setLayoutData(new GridData(GridData.FILL_BOTH));
-		contents.setFont(parentComposite.getFont());
-
-		setTitle(WorkbenchMessages.getString("FileExtension.dialogTitle")); //$NON-NLS-1$
-		setMessage(WorkbenchMessages.getString("FileExtension.fileTypeMessage")); //$NON-NLS-1$
-		
-		// begin the layout
-
-		Label label = new Label(contents, SWT.LEFT);
-		label.setText(WorkbenchMessages.getString("FileExtension.fileTypeLabel")); //$NON-NLS-1$
-		//$NON-NLS-1$
-		GridData data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		label.setLayoutData(data);
-		label.setFont(parent.getFont());
-
-		filenameField = new Text(contents, SWT.SINGLE | SWT.BORDER);
-		filenameField.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent event) {
-				if (event.widget == filenameField) {
-					filename = filenameField.getText().trim();
-					okButton.setEnabled(validateFileType());
-				}
-			}
-		});
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.grabExcessHorizontalSpace = true;
-		filenameField.setLayoutData(data);
-		filenameField.setFocus();
-
-		return contents;
-	}
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		okButton.setEnabled(false);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-	/**
-	 * Validate the user input for a file type
-	 */
-	private boolean validateFileType() {
-		// We need kernel api to validate the extension or a filename
-
-		// check for empty name and extension
-		if (filename.length() == 0) {
-			setErrorMessage(null);
-			return false;
-		}
-
-		// check for empty extension if there is no name
-		int index = filename.indexOf('.');
-		if (index == filename.length() - 1) {
-			if (index == 0 || (index == 1 && filename.charAt(0) == '*')) {
-				setErrorMessage(WorkbenchMessages.getString("FileExtension.extensionEmptyMessage")); //$NON-NLS-1$
-				return false;
-			}
-		}
-
-		// check for characters before * 
-		// or no other characters
-		// or next chatacter not '.'
-		index = filename.indexOf('*');
-		if (index > -1) {
-			if (filename.length() == 1) {
-				setErrorMessage(WorkbenchMessages.getString("FileExtension.extensionEmptyMessage")); //$NON-NLS-1$
-				return false;
-			}		
-			if (index != 0 || filename.charAt(1) != '.') {
-				setErrorMessage(WorkbenchMessages.getString("FileExtension.fileNameInvalidMessage")); //$NON-NLS-1$
-				return false;
-			}
-		}
-
-		setErrorMessage(null);
-		return true;
-	}
-	public String getExtension() {
-		// We need kernel api to validate the extension or a filename
-
-		int index = filename.indexOf('.');
-		if (index == -1)
-			return ""; //$NON-NLS-1$
-		if (index == filename.length())
-			return ""; //$NON-NLS-1$
-		return filename.substring(index + 1, filename.length());
-	}
-	public String getName() {
-		// We need kernel api to validate the extension or a filename
-
-		int index = filename.indexOf('.');
-		if (index == -1)
-			return filename;
-		if (index == 0)
-			return "*"; //$NON-NLS-1$
-		return filename.substring(0, index);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FileStatesPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FileStatesPage.java
deleted file mode 100644
index 54ca2d0..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FileStatesPage.java
+++ /dev/null
@@ -1,370 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-/**
- * The FileStatesPage is the page used to set the file states sizes for the workbench.
- */
-public class FileStatesPage
-	extends PreferencePage
-	implements IWorkbenchPreferencePage, Listener {
-
-	private static final String LONGEVITY_TITLE = WorkbenchMessages.getString("FileHistory.longevity"); //$NON-NLS-1$
-	private static final String MAX_FILE_STATES_TITLE = WorkbenchMessages.getString("FileHistory.entries"); //$NON-NLS-1$
-	private static final String MAX_FILE_STATE_SIZE_TITLE = WorkbenchMessages.getString("FileHistory.diskSpace"); //$NON-NLS-1$
-	private static final String POSITIVE_MESSAGE = WorkbenchMessages.getString("FileHistory.mustBePositive"); //$NON-NLS-1$
-	private static final String INVALID_VALUE_MESSAGE = WorkbenchMessages.getString("FileHistory.invalid"); //$NON-NLS-1$
-	private static final String SAVE_ERROR_MESSAGE = WorkbenchMessages.getString("FileHistory.exceptionSaving"); //$NON-NLS-1$
-	private static final String NOTE_MESSAGE = WorkbenchMessages.getString("FileHistory.restartNote"); //$NON-NLS-1$
-	private static final String NOTE_LABEL = WorkbenchMessages.getString("Preference.note"); //$NON-NLS-1$
-
-	private static final int FAILED_VALUE = -1;
-
-	//Set the length of the day as we have to convert back and forth
-	private static final long DAY_LENGTH = 86400000;
-	private static final long MEGABYTES = 1024 * 1024;
-
-	private Text longevityText;
-	private Text maxStatesText;
-	private Text maxStateSizeText;
-
-	//Choose a maximum to prevent OutOfMemoryErrors
-	private int FILE_STATES_MAXIMUM = 10000;
-	private long STATE_SIZE_MAXIMUM = 100;
-
-	/**
-	 * This method takes the string for the title of a text field and the value for the
-	 * text of the field.
-	 * @return org.eclipse.swt.widgets.Text
-	 * @param labelString java.lang.String
-	 * @param textValue java.lang.String
-	 * @param parent Composite 
-	 */
-	private Text addLabelAndText(
-		String labelString,
-		String textValue,
-		Composite parent) {
-		Label label = new Label(parent, SWT.LEFT);
-		label.setText(labelString);
-		label.setFont(parent.getFont());
-
-		Text text = new Text(parent, SWT.LEFT | SWT.BORDER);
-		GridData data = new GridData();
-		text.addListener(SWT.Modify, this);
-		data.horizontalAlignment = GridData.FILL;
-		data.grabExcessHorizontalSpace = true;
-		data.verticalAlignment = GridData.CENTER;
-		data.grabExcessVerticalSpace = false;
-		text.setLayoutData(data);
-		text.setText(textValue);
-		text.setFont(parent.getFont());
-		return text;
-	}
-	/**
-	 * Recomputes the page's error state by validating all
-	 * the fields.
-	 */
-	private void checkState() {
-		// Assume invalid if the controls not created yet
-		if (longevityText == null
-			|| maxStatesText == null
-			|| maxStateSizeText == null) {
-			setValid(false);
-			return;
-		}
-
-		if (validateLongTextEntry(longevityText) == FAILED_VALUE) {
-			setValid(false);
-			return;
-		}
-
-		if (validateMaxFileStates() == FAILED_VALUE) {
-			setValid(false);
-			return;
-		}
-
-		if (validateMaxFileStateSize() == FAILED_VALUE) {
-			setValid(false);
-			return;
-		}
-
-		setValid(true);
-		setErrorMessage(null);
-	}
-	/* 
-	* Create the contents control for the workspace file states.
-	* @returns Control
-	* @param parent Composite
-	*/
-
-	protected Control createContents(Composite parent) {
-
-		WorkbenchHelp.setHelp(
-			parent,
-			IHelpContextIds.FILE_STATES_PREFERENCE_PAGE);
-
-		// button group
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-		composite.setFont(parent.getFont());
-
-		IWorkspaceDescription description = getWorkspaceDescription();
-
-		//Get the current value and make sure we get at least one day out of it.
-		long days = description.getFileStateLongevity() / DAY_LENGTH;
-		if (days < 1)
-			days = 1;
-
-		long megabytes = description.getMaxFileStateSize() / MEGABYTES;
-		if (megabytes < 1)
-			megabytes = 1;
-
-		this.longevityText =
-			addLabelAndText(LONGEVITY_TITLE, String.valueOf(days), composite);
-		this.maxStatesText =
-			addLabelAndText(
-				MAX_FILE_STATES_TITLE,
-				String.valueOf(description.getMaxFileStates()),
-				composite);
-		this.maxStateSizeText =
-			addLabelAndText(
-				MAX_FILE_STATE_SIZE_TITLE,
-				String.valueOf(megabytes),
-				composite);
-
-		checkState();
-
-		//Create a spacing label to breakup the note from the fields
-		Label spacer = new Label(composite, SWT.NONE);
-		GridData spacerData = new GridData();
-		spacerData.horizontalSpan = 2;
-		spacer.setLayoutData(spacerData);
-
-		Composite noteComposite =
-			createNoteComposite(
-				parent.getFont(),
-				composite,
-				NOTE_LABEL,
-				NOTE_MESSAGE);
-		GridData noteData = new GridData();
-		noteData.horizontalSpan = 2;
-		noteComposite.setLayoutData(noteData);
-
-		return composite;
-	}
-	/**
-	 * Get the Workspace this page is operating on.
-	 * @return org.eclipse.core.internal.resources.IWorkspace
-	 */
-	private IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-	/**
-	 * Get the Workspace Description this page is operating on.
-	 * @return org.eclipse.core.resources.IWorkspaceDescription
-	 */
-	private IWorkspaceDescription getWorkspaceDescription() {
-		return ResourcesPlugin.getWorkspace().getDescription();
-	}
-	/**
-	 * Sent when an event that the receiver has registered for occurs.
-	 *
-	 * @param event the event which occurred
-	 */
-	public void handleEvent(Event event) {
-		checkState();
-	}
-	/**
-	 * Initializes this preference page for the given workbench.
-	 * <p>
-	 * This method is called automatically as the preference page is being created
-	 * and initialized. Clients must not call this method.
-	 * </p>
-	 *
-	 * @param workbench the workbench
-	 */
-	public void init(org.eclipse.ui.IWorkbench workbench) {
-	}
-	/**
-	 * Performs special processing when this page's Defaults button has been pressed.
-	 * Reset the entries to thier default values.
-	 */
-	protected void performDefaults() {
-		super.performDefaults();
-
-		Preferences prefs = ResourcesPlugin.getPlugin().getPluginPreferences();
-
-		long days =
-			prefs.getDefaultLong(ResourcesPlugin.PREF_FILE_STATE_LONGEVITY)
-				/ DAY_LENGTH;
-		long megabytes =
-			prefs.getDefaultLong(ResourcesPlugin.PREF_MAX_FILE_STATE_SIZE)
-				/ MEGABYTES;
-		this.longevityText.setText(String.valueOf(days));
-		this.maxStatesText.setText(
-			prefs.getDefaultString(ResourcesPlugin.PREF_MAX_FILE_STATES));
-		this.maxStateSizeText.setText(String.valueOf(megabytes));
-		checkState();
-	}
-	/** 
-	 * Perform the result of the OK from the receiver.
-	 */
-	public boolean performOk() {
-
-		long longevityValue = validateLongTextEntry(longevityText);
-		int maxFileStates = validateMaxFileStates();
-		long maxStateSize = validateMaxFileStateSize();
-		if (longevityValue == FAILED_VALUE
-			|| maxFileStates == FAILED_VALUE
-			|| maxStateSize == FAILED_VALUE)
-			return false;
-
-		IWorkspaceDescription description = getWorkspaceDescription();
-		description.setFileStateLongevity(longevityValue * DAY_LENGTH);
-		description.setMaxFileStates(maxFileStates);
-		description.setMaxFileStateSize(maxStateSize * MEGABYTES);
-
-		try {
-			//As it is only a copy save it back in
-			ResourcesPlugin.getWorkspace().setDescription(description);
-		} catch (CoreException exception) {
-			ErrorDialog.openError(
-				getShell(),
-				SAVE_ERROR_MESSAGE,
-				exception.getMessage(),
-				exception.getStatus());
-			return false;
-		}
-
-		return true;
-
-	}
-	/**
-	 * Validate a text entry for an integer field. Return the result if there are
-	 * no errors, otherwise return -1 and set the entry field error. 
-	 * @return int
-	 */
-	private int validateIntegerTextEntry(Text text) {
-
-		int value;
-
-		try {
-			value = Integer.parseInt(text.getText());
-
-		} catch (NumberFormatException exception) {
-			setErrorMessage(
-				MessageFormat.format(
-					INVALID_VALUE_MESSAGE,
-					new Object[] { exception.getLocalizedMessage()}));
-			return FAILED_VALUE;
-		}
-
-		//Be sure all values are non zero and positive
-		if (value <= 0) {
-			setErrorMessage(POSITIVE_MESSAGE);
-			return FAILED_VALUE;
-		}
-
-		return value;
-	}
-	/**
-	 * Validate a text entry for a long field. Return the result if there are
-	 * no errors, otherwise return -1 and set the entry field error. 
-	 * @return long
-	 */
-	private long validateLongTextEntry(Text text) {
-
-		long value;
-
-		try {
-			value = Long.parseLong(text.getText());
-
-		} catch (NumberFormatException exception) {
-			setErrorMessage(
-				MessageFormat.format(
-					INVALID_VALUE_MESSAGE,
-					new Object[] { exception.getLocalizedMessage()}));
-			return FAILED_VALUE;
-		}
-
-		//Be sure all values are non zero and positive
-		if (value <= 0) {
-			setErrorMessage(POSITIVE_MESSAGE);
-			return FAILED_VALUE;
-		}
-
-		return value;
-	}
-
-	/**
-	 * Validate the maximum file states.
-	 * Return the value if successful, otherwise
-	 * return FAILED_VALUE.
-	 * Set the error message if it fails.
-	 * @return int
-	 */
-	private int validateMaxFileStates() {
-		int maxFileStates = validateIntegerTextEntry(this.maxStatesText);
-		if (maxFileStates == FAILED_VALUE)
-			return maxFileStates;
-
-		if (maxFileStates > FILE_STATES_MAXIMUM) {
-			setErrorMessage(
-				WorkbenchMessages.format(
-					"FileHistory.aboveMaxEntries",
-					new String[] { String.valueOf(FILE_STATES_MAXIMUM)}));
-			return FAILED_VALUE;
-		}
-
-		return maxFileStates;
-	}
-
-	/**
-	 * Validate the maximum file state size.
-	 * Return the value if successful, otherwise
-	 * return FAILED_VALUE.
-	 * Set the error message if it fails.
-	 * @return long
-	 */
-	private long validateMaxFileStateSize() {
-		long maxFileStateSize = validateLongTextEntry(this.maxStateSizeText);
-		if (maxFileStateSize == FAILED_VALUE)
-			return maxFileStateSize;
-
-		if (maxFileStateSize > STATE_SIZE_MAXIMUM) {
-			setErrorMessage(
-				WorkbenchMessages.format(
-					"FileHistory.aboveMaxFileSize",
-					new String[] { String.valueOf(STATE_SIZE_MAXIMUM)}));
-			return FAILED_VALUE;
-		}
-
-		return maxFileStateSize;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FileSystemResourceExporter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FileSystemResourceExporter.java
deleted file mode 100644
index 2acb99c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FileSystemResourceExporter.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-
-/**
- * Helper class for exporting resources to the file system.
- */
-/*package*/ class FileSystemResourceExporter {
-/**
- *  Creates the specified file system directory at <code>destinationPath</code>.
- *  This creates a new file system directory.
- */
-public void createFolder(IPath destinationPath) {
-	new File(destinationPath.toOSString()).mkdir();
-}
-/**
- *  Writes the passed resource to the specified location recursively
- */
-public void write(IResource resource,IPath destinationPath) throws CoreException, IOException {
-	if (resource.getType() == IResource.FILE)
-		writeFile((IFile)resource,destinationPath); 
-	else 
-		writeChildren((IContainer)resource,destinationPath);
-}
-/**
- *  Exports the passed container's children
- */
-protected void writeChildren(IContainer folder, IPath destinationPath) throws CoreException, IOException {
-	if (folder.isAccessible()) {
-		IResource[] children = folder.members();
-		for (int i = 0; i<children.length; i++)  {
-			IResource child = children[i];
-			writeResource(
-				child,
-				destinationPath.append(child.getName()));
-		}
-	}
-}
-/**
- *  Writes the passed file resource to the specified destination on the local
- *  file system
- */
-protected void writeFile(IFile file, IPath destinationPath) throws IOException, CoreException {
-	FileOutputStream output = null;
-	InputStream contentStream = null;
-
-	try {
-		output = new FileOutputStream(destinationPath.toOSString());
-		contentStream = file.getContents(false);
-		int chunkSize = contentStream.available();
-		byte[] readBuffer = new byte[chunkSize];
-		int n = contentStream.read(readBuffer);
-		
-		while (n > 0) {
-			output.write(readBuffer);
-			n = contentStream.read(readBuffer);
-		}
-	} finally {
-		if (output != null)
-			output.close();
-		if (contentStream != null)
-			contentStream.close();
-	}
-}
-/**
- *  Writes the passed resource to the specified location recursively
- */
-protected void writeResource(IResource resource,IPath destinationPath) throws CoreException, IOException {
-	if (resource.getType() == IResource.FILE)
-		writeFile((IFile)resource,destinationPath); 
-	else {
-		createFolder(destinationPath);
-		writeChildren((IContainer)resource,destinationPath);
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FontPreferencePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FontPreferencePage.java
deleted file mode 100644
index d449188..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/FontPreferencePage.java
+++ /dev/null
@@ -1,600 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * Copyright (c) 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.text.Collator;
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.resource.StringConverter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-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.FontDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.fonts.FontDefinition;
-import org.eclipse.ui.internal.misc.Sorter;
-
-public class FontPreferencePage
-	extends PreferencePage
-	implements IWorkbenchPreferencePage {
-
-	private Hashtable labelsToDefinitions;
-	private Hashtable fontDataSettings;
-	private List fontList;
-	private Button changeFontButton;
-	private Button useSystemButton;
-	private Text descriptionText;
-	private Font appliedDialogFont;
-
-	private ArrayList dialogFontWidgets = new ArrayList();
-
-	//A token to identify a reset font
-	private String DEFAULT_TOKEN = "DEFAULT";
-
-	/**
-	 * The label that displays the selected font, or <code>null</code> if none.
-	 */
-	private Label valueControl;
-
-	/**
-	 * The previewer, or <code>null</code> if none.
-	 */
-	private DefaultPreviewer previewer;
-
-	private static class DefaultPreviewer {
-		private Text text;
-		private Font font;
-		public DefaultPreviewer(Composite parent) {
-			text = new Text(parent, SWT.READ_ONLY | SWT.BORDER | SWT.WRAP);
-			text.addDisposeListener(new DisposeListener() {
-				public void widgetDisposed(DisposeEvent e) {
-					if (font != null)
-						font.dispose();
-				}
-			});
-		}
-
-		public Control getControl() {
-			return text;
-		}
-
-		public void setFont(FontData[] fontData) {
-			if (font != null)
-				font.dispose();
-
-			FontData[] bestData =
-				JFaceResources.getFontRegistry().bestDataArray(
-					fontData,
-					text.getDisplay());
-
-			//If there are no specified values then return.
-			if (bestData == null)
-				return;
-
-			font = new Font(text.getDisplay(), bestData);
-			text.setFont(font);
-			//Also set the text here
-			text.setText(WorkbenchMessages.getString("FontsPreference.SampleText")); //$NON-NLS-1$
-		}
-		public int getPreferredHeight() {
-			return 120;
-		}
-	}
-
-	/**
-	 * Apply the dialog font to the control and store 
-	 * it for later so that it can be used for a later
-	 * update.
-	 * @param control
-	 */
-	private void applyDialogFont(Control control) {
-		control.setFont(JFaceResources.getDialogFont());
-		dialogFontWidgets.add(control);
-	}
-
-	/**
-	 * Update for a change in the dialog font.
-	 * @param newFont
-	 */
-	private void updateForDialogFontChange(Font newFont) {
-		Iterator iterator = dialogFontWidgets.iterator();
-		while (iterator.hasNext()) {
-			((Control) iterator.next()).setFont(newFont);
-		}
-	}
-
-	/*
-	 * @see PreferencePage#createContents
-	 */
-	public Control createContents(Composite parent) {
-		WorkbenchHelp.setHelp(
-			getControl(),
-			IHelpContextIds.FONT_PREFERENCE_PAGE);
-
-		parent.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				if (appliedDialogFont != null)
-					appliedDialogFont.dispose();
-			}
-		});
-
-		Font defaultFont = parent.getFont();
-
-		Composite mainColumn = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.makeColumnsEqualWidth = true;
-		mainColumn.setFont(defaultFont);
-		mainColumn.setLayout(layout);
-
-		createFontList(mainColumn);
-
-		Composite previewColumn = new Composite(mainColumn, SWT.NULL);
-		layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		previewColumn.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.grabExcessHorizontalSpace = true;
-		previewColumn.setLayoutData(data);
-		previewColumn.setFont(defaultFont);
-
-		createPreviewControl(previewColumn);
-		createValueControl(previewColumn);
-
-		Composite buttonColumn = new Composite(previewColumn, SWT.NULL);
-		layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		buttonColumn.setLayout(layout);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		buttonColumn.setLayoutData(data);
-		buttonColumn.setFont(defaultFont);
-
-		createUseDefaultsControl(buttonColumn, WorkbenchMessages.getString("FontsPreference.useSystemFont")); //$NON-NLS-1$
-		createChangeControl(buttonColumn, JFaceResources.getString("openChange")); //$NON-NLS-1$
-
-		createDescriptionControl(parent);
-
-		return mainColumn;
-	}
-
-	/**
-	 * Create the preference page.
-	 */
-	public FontPreferencePage() {
-		setPreferenceStore(WorkbenchPlugin.getDefault().getPreferenceStore());
-	}
-
-	/**
-	 * Create the list of possible fonts.
-	 */
-	private void createFontList(Composite firstColumn) {
-
-		Composite parent = new Composite(firstColumn, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		parent.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.grabExcessHorizontalSpace = true;
-		parent.setLayoutData(data);
-
-		Label label = new Label(parent, SWT.LEFT);
-		label.setText(WorkbenchMessages.getString("FontsPreference.fonts")); //$NON-NLS-1$
-		applyDialogFont(label);
-
-		fontList = new List(parent, SWT.BORDER);
-		data =
-			new GridData(
-				GridData.VERTICAL_ALIGN_BEGINNING | GridData.FILL_BOTH);
-		data.grabExcessHorizontalSpace = true;
-		fontList.setLayoutData(data);
-		applyDialogFont(fontList);
-
-		fontList.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				FontDefinition selectedFontDefinition =
-					getSelectedFontDefinition();
-				if (selectedFontDefinition == null) {
-					changeFontButton.setEnabled(false);
-					useSystemButton.setEnabled(false);
-				} else {
-					changeFontButton.setEnabled(true);
-					useSystemButton.setEnabled(true);
-					updateForSelectedFontDefinition(selectedFontDefinition);
-				}
-			}
-		});
-
-		Set names = labelsToDefinitions.keySet();
-		int nameSize = names.size();
-		String[] unsortedItems = new String[nameSize];
-		names.toArray(unsortedItems);
-
-		Sorter sorter = new Sorter() {
-			private Collator collator = Collator.getInstance();
-
-			public boolean compare(Object o1, Object o2) {
-				String s1 = (String) o1;
-				String s2 = (String) o2;
-				return collator.compare(s1, s2) < 0;
-			}
-		};
-
-		Object[] sortedItems = sorter.sort(unsortedItems);
-		String[] listItems = new String[nameSize];
-		System.arraycopy(sortedItems, 0, listItems, 0, nameSize);
-
-		fontList.setItems(listItems);
-	}
-
-	/**
-	 * Return the id of the currently selected font. Return
-	 * null if multiple or none are selected.
-	 */
-
-	private FontDefinition getSelectedFontDefinition() {
-		String[] selection = fontList.getSelection();
-		if (selection.length == 1)
-			return (FontDefinition) labelsToDefinitions.get(selection[0]);
-		else
-			return null;
-	}
-
-	/**
-	 * Creates the change button for this field editor.=
-	 */
-	private void createChangeControl(
-		Composite parent,
-		String changeButtonLabel) {
-		changeFontButton = new Button(parent, SWT.PUSH);
-
-		changeFontButton.setText(changeButtonLabel); //$NON-NLS-1$
-		applyDialogFont(changeFontButton);
-		setButtonLayoutData(changeFontButton);
-
-		changeFontButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				FontDefinition definition = getSelectedFontDefinition();
-				if (definition != null) {
-					FontDialog fontDialog =
-						new FontDialog(changeFontButton.getShell());
-					FontData[] currentData = getFontDataSetting(definition);
-					fontDialog.setFontData(currentData[0]);
-					FontData font = fontDialog.open();
-					if (font != null) {
-						FontData[] fonts = new FontData[1];
-						fonts[0] = font;
-						fontDataSettings.put(definition.getId(), fonts);
-						updateForSelectedFontDefinition(definition);
-					}
-
-				}
-
-			}
-		});
-
-		changeFontButton.setEnabled(false);
-	}
-
-	/**
-	 * Creates the Use System Font button for the editor.
-	 */
-	private void createUseDefaultsControl(
-		Composite parent,
-		String useSystemLabel) {
-
-		useSystemButton = new Button(parent, SWT.PUSH | SWT.CENTER);
-		useSystemButton.setText(useSystemLabel); //$NON-NLS-1$
-		applyDialogFont(useSystemButton);
-		setButtonLayoutData(useSystemButton);
-
-		useSystemButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				FontDefinition definition = getSelectedFontDefinition();
-				if (definition != null) {
-					FontData[] defaultFontData =
-						JFaceResources.getDefaultFont().getFontData();
-					fontDataSettings.put(definition.getId(), defaultFontData);
-					updateForSelectedFontDefinition(definition);
-				}
-			}
-		});
-
-		useSystemButton.setEnabled(false);
-	}
-
-	/**
-	 * Creates the preview control for this field editor.
-	 */
-	private void createPreviewControl(Composite parent) {
-		Label label = new Label(parent, SWT.LEFT);
-		label.setText(WorkbenchMessages.getString("FontsPreference.preview")); //$NON-NLS-1$
-		applyDialogFont(label);
-
-		previewer = new DefaultPreviewer(parent);
-		Control control = previewer.getControl();
-		GridData gd = new GridData();
-		gd.horizontalAlignment = GridData.FILL;
-		gd.grabExcessHorizontalSpace = true;
-		gd.heightHint = previewer.getPreferredHeight();
-		control.setLayoutData(gd);
-	}
-
-	/**
-		 * Creates the widgets for the description.
-		 */
-	private void createDescriptionControl(Composite mainComposite) {
-
-		Composite textComposite = new Composite(mainComposite, SWT.NONE);
-		textComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		GridLayout textLayout = new GridLayout();
-		textLayout.marginWidth = 0;
-		textLayout.marginHeight = 0;
-		textComposite.setLayout(textLayout);
-
-		Label descriptionLabel = new Label(textComposite, SWT.NONE);
-		descriptionLabel.setText(WorkbenchMessages.getString("FontsPreference.description")); //$NON-NLS-1$
-		applyDialogFont(descriptionLabel);
-
-		descriptionText =
-			new Text(
-				textComposite,
-				SWT.MULTI
-					| SWT.WRAP
-					| SWT.READ_ONLY
-					| SWT.BORDER
-					| SWT.H_SCROLL);
-		descriptionText.setLayoutData(new GridData(GridData.FILL_BOTH));
-		applyDialogFont(descriptionText);
-	}
-
-	/**
-	 * Creates the value control for this field editor. The value control
-	 * displays the currently selected font name.
-	 */
-	private void createValueControl(Composite parent) {
-		valueControl = new Label(parent, SWT.CENTER);
-
-		valueControl.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				valueControl = null;
-			}
-		});
-
-		applyDialogFont(valueControl);
-
-		GridData gd =
-			new GridData(
-				GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_CENTER);
-
-		gd.grabExcessHorizontalSpace = true;
-		valueControl.setLayoutData(gd);
-	}
-
-	/**
-	 * Updates the value label and the previewer to reflect the
-	 * newly selected font definition.
-	 * @param FontDefinition
-	 */
-	private void updateForSelectedFontDefinition(FontDefinition definition) {
-
-		FontData[] font = getFontDataSetting(definition);
-
-		valueControl.setText(StringConverter.asString(font[0]));
-		previewer.setFont(font);
-
-		String text = definition.getDescription();
-		if (text == null || text.length() == 0)
-			descriptionText.setText(WorkbenchMessages.getString("PreferencePage.noDescription")); //$NON-NLS-1$
-		else
-			descriptionText.setText(text);
-	}
-
-	/**
-	 * Get the current font data setting for the definition.
-	 * @param definition
-	 * @return FontData[]
-	 */
-	private FontData[] getFontDataSetting(FontDefinition definition) {
-		String fontId = definition.getId();
-
-		Object setting = fontDataSettings.get(fontId);
-		if (DEFAULT_TOKEN.equals(setting))
-			return getDefaultFont(definition);
-		else
-			return (FontData[]) setting;
-
-	}
-
-	/**
-	 * Return the defualt FontData for the definition.
-	 * @param definition
-	 * @return FontData[]
-	 */
-	private FontData[] getDefaultFont(FontDefinition definition) {
-
-		String defaultsTo = definition.getDefaultsTo();
-		if (defaultsTo == null) {
-			return PreferenceConverter.getDefaultFontDataArray(
-				getPreferenceStore(),
-				definition.getId());
-		} else {
-			FontDefinition defaultDefinition = getDefinition(defaultsTo);
-			if (defaultDefinition == null)
-				return JFaceResources.getDefaultFont().getFontData();
-			else
-				return getFontDataSetting(defaultDefinition);
-		}
-	}
-
-	/*
-	 * @see IWorkbenchPreferencePage#init
-	 */
-	public void init(IWorkbench workbench) {
-
-		//Set up the mappings we currently have
-
-		labelsToDefinitions = new Hashtable();
-		//Set the user selected values to an empty table
-		fontDataSettings = new Hashtable();
-
-		FontDefinition[] definitions = getDefinitions();
-
-		for (int i = 0; i < definitions.length; i++) {
-			FontDefinition definition = definitions[i];
-			labelsToDefinitions.put(definition.getLabel(), definition);
-			Object settingValue;
-			if (getPreferenceStore().isDefault(definition.getId()))
-				settingValue = DEFAULT_TOKEN;
-			else
-				settingValue =
-					JFaceResources.getFont(definition.getId()).getFontData();
-			fontDataSettings.put(definition.getId(), settingValue);
-		}
-
-	}
-
-	/*
-	 * @see IWorkbenchPreferencePage#performDefaults
-	*/
-	protected void performDefaults() {
-
-		FontDefinition currentSelection = getSelectedFontDefinition();
-		FontDefinition[] definitions = getDefinitions();
-
-		for (int i = 0; i < definitions.length; i++) {
-			FontDefinition definition = definitions[i];
-
-			//Put an entry of null in to represent the reset
-			fontDataSettings.put(definition.getId(), DEFAULT_TOKEN);
-
-			if (definition.equals(currentSelection)) {
-				//Now we have the defaults ask the registry which to use of these
-				//values
-				updateForSelectedFontDefinition(definition);
-			}
-		}
-		super.performDefaults();
-	}
-
-	/*
-	 * @see IWorkbenchPreferencePage#performDefaults
-	*/
-	public boolean performOk() {
-
-		FontDefinition[] definitions = getDefinitions();
-		IPreferenceStore store = getPreferenceStore();
-		for (int i = 0; i < definitions.length; i++) {
-			FontDefinition definition = definitions[i];
-			String preferenceId = definition.getId();
-			String registryKey = definition.getId();
-
-			Object setValue = fontDataSettings.get(preferenceId);
-
-			if (DEFAULT_TOKEN.equals(setValue)) {
-				store.setToDefault(registryKey);
-			} else {
-				FontData[] newData = (FontData[]) setValue;
-				//Don't update the preference store if there has been no change
-				if (!newData
-					.equals(
-						PreferenceConverter.getFontData(store, registryKey))) {
-					PreferenceConverter.setValue(store, registryKey, newData);
-				}
-
-			}
-		}
-
-		return super.performOk();
-	}
-
-	/**
-	 * Get the font definitions we will be using.
-	 * @return FontDefinition[]
-	 */
-	private FontDefinition[] getDefinitions() {
-		return FontDefinition.getDefinitions();
-	}
-
-	/**
-	 * Get the FontDefinition with the specified registryKey.
-	 * @param registryKey
-	 * @return FontDefinition
-	 */
-	private FontDefinition getDefinition(String registryKey) {
-		FontDefinition[] definitions = getDefinitions();
-		for (int i = 0; i < definitions.length; i++) {
-			if (definitions[i].getId().equals(registryKey))
-				return definitions[i];
-		}
-		return null;
-	}
-
-	/**
-	 * Return whether the definition has a non default setting.
-	 * @param definition
-	 * @return boolean
-	 */
-	private boolean hasSetting(FontDefinition definition) {
-		return fontDataSettings.get(definition.getId()) instanceof FontData[];
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#performApply()
-	 */
-	protected void performApply() {
-		super.performApply();
-
-		//Apply the default font to the dialog.
-		Font oldFont = appliedDialogFont;
-
-		FontData[] newData =
-			getFontDataSetting(getDefinition(JFaceResources.DIALOG_FONT));
-
-		appliedDialogFont = new Font(getControl().getDisplay(), newData);
-
-		updateForDialogFontChange(appliedDialogFont);
-		getApplyButton().setFont(appliedDialogFont);
-		getDefaultsButton().setFont(appliedDialogFont);
-
-		if (oldFont != null)
-			oldFont.dispose();
-
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/IElementFilter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/IElementFilter.java
deleted file mode 100644
index 104dc19..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/IElementFilter.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * Copyright (c) 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.Collection;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * The IElementFilter is a interface that defines 
- * the api for filtering the current selection of 
- * a ResourceTreeAndListGroup in order to find a 
- * subset to update as the result of a type filtering.
- * This is meant as an internal class and is used exlcusively
- * by the import dialog.
- */
-
-public interface IElementFilter {
-
-	public void filterElements(Collection elements, IProgressMonitor monitor)
-		throws InterruptedException;
-		
-	public void filterElements(Object[] elements, IProgressMonitor monitor)
-		throws InterruptedException;
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/IPropertyPageContributor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/IPropertyPageContributor.java
deleted file mode 100644
index 47cd2ed..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/IPropertyPageContributor.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.internal.*;
-import org.eclipse.core.runtime.IAdaptable;
-/**
- * Implement this interface in order to register property
- * pages for a given object. During property dialog building
- * sequence, all property page contributors for a given object
- * are given a chance to add their pages.
- */
-public interface IPropertyPageContributor extends IObjectContributor {
-/**
- * Implement this method to add instances of PropertyPage class to the
- * property page manager.
- * @return true if pages were added, false if not.
- */	
-
-public boolean contributePropertyPages(PropertyPageManager manager, IAdaptable object);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ImportWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ImportWizard.java
deleted file mode 100644
index 876c435..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ImportWizard.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizardNode;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWizard;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.model.AdaptableList;
-import org.eclipse.ui.internal.registry.WizardsRegistryReader;
-
-/**
- * The import wizard allows the user to choose which nested import wizard to run.
- * The set of available wizards comes from the import wizard extension point.
- */
-public class ImportWizard extends Wizard {
-	private IWorkbench workbench;
-	private IStructuredSelection selection;
-	
-
-	//the list selection page
-	class SelectionPage extends WorkbenchWizardListSelectionPage {
-		SelectionPage(IWorkbench w, IStructuredSelection ss, AdaptableList e, String s) {
-			super(w, ss, e, s);
-		}
-		public void createControl(Composite parent) {
-			super.createControl(parent);
-			WorkbenchHelp.setHelp(getControl(), IHelpContextIds.IMPORT_WIZARD_SELECTION_WIZARD_PAGE);
-		}
-		public IWizardNode createWizardNode(WorkbenchWizardElement element) {
-			return new WorkbenchWizardNode(this, element) {
-				public IWorkbenchWizard createWizard() throws CoreException {
-					return (IWorkbenchWizard)wizardElement.createExecutableExtension();
-				}
-			};
-		}
-	}
-	
-/**
- * Creates the wizard's pages lazily.
- */
-public void addPages() {
-	addPage(
-		new SelectionPage(
-			this.workbench, 
-			this.selection, 
-			getAvailableImportWizards(), 
-			WorkbenchMessages.getString("ImportWizard.selectSource")));  //$NON-NLS-1$
-}
-/**
- * Returns the import wizards that are available for invocation.
- */
-protected AdaptableList getAvailableImportWizards() {
-	return new WizardsRegistryReader(IWorkbenchConstants.PL_IMPORT).getWizards();
-}
-/**
- * Initializes the wizard.
- */
-public void init(IWorkbench aWorkbench, IStructuredSelection currentSelection) {
-	this.workbench = aWorkbench;
-	this.selection = currentSelection;
-	
-	setWindowTitle(WorkbenchMessages.getString("ImportWizard.title")); //$NON-NLS-1$
-	setDefaultPageImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_WIZBAN_IMPORT_WIZ));
-	setNeedsProgressMonitor(true);
-}
-/**
- * Subclasses must implement this <code>IWizard</code> method 
- * to perform any special finish processing for their wizard.
- */
-public boolean performFinish() {
-	((SelectionPage)getPages()[0]).saveWidgetValues();
-	return true;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/InstallCapabilityStep.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/InstallCapabilityStep.java
deleted file mode 100644
index d407993..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/InstallCapabilityStep.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/**********************************************************************
-Copyright (c) 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:
-**********************************************************************/
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.ui.ICapabilityInstallWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.registry.Capability;
-
-/**
- * Represents a capability install step in a multi-step
- * wizard.
- */
-public class InstallCapabilityStep extends WizardStep {
-	private Capability capability;
-	private ICapabilityInstallWizard wizard;
-	private IWorkbench workbench;
-	private IProjectProvider projectProvider;
-	
-	/**
-	 * Creates the capability install step
-	 * 
-	 * @param number step order number
-	 * @param capability the capability to install
-	 */
-	public InstallCapabilityStep(int number, Capability capability, IWorkbench workbench, IProjectProvider projectProvider) {
-		super(number);
-		this.capability = capability;
-		this.workbench = workbench;
-		this.projectProvider = projectProvider;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on WizardStep.
-	 */
-	public String getLabel() {
-		return WorkbenchMessages.format("InstallCapabilityStep.label", new Object[] {capability.getName()}); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on WizardStep.
-	 */
-	public String getDetails() {
-		return capability.getInstallDetails();
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on WizardStep.
-	 */
-	public IWizard getWizard() {
-		if (wizard == null) {
-			wizard = capability.getInstallWizard();
-			if (wizard != null) {
-				wizard.init(workbench, StructuredSelection.EMPTY, projectProvider.getProject());
-				wizard.addPages();
-			}
-		}
-		
-		return wizard;
-	}
-	
-	interface IProjectProvider {
-		/**
-		 * Returns the project to which the capability
-		 * is to be configured against.
-		 */
-		public IProject getProject();
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/InternalBase64Encoder.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/InternalBase64Encoder.java
deleted file mode 100644
index baf6d6a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/InternalBase64Encoder.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- *	This utility class converts a passed byte array into a Base 64 encoded
- *	String according to the specification in RFC1521 section 5.2
- */
-/*package*/ class InternalBase64Encoder {
-	private static final String mappings = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";//$NON-NLS-1$
-	private static final String filler = "=";//$NON-NLS-1$
-/**
- *	Answer a string representing the Base 64 encoded form of the passed
- *	byte array
- *
- *	@return java.lang.String
- *	@param contents byte[]
- */
-public static String encode(byte[] contents) {
-	StringBuffer result = new StringBuffer();
-
-	for (int i = 0; i < contents.length; i = i + 3) {
-		if (result.length() == 76)
-			result.append("\n\r");//$NON-NLS-1$
-		
-		// output character 1
-		result.append(mappings.charAt((contents[i] & 0xFC) >> 2));
-
-		// output character 2
-		int c2 = (contents[i] & 0x03) << 4;
-		if (i + 1 >= contents.length) {
-			result.append(mappings.charAt(c2));
-			result.append(filler);
-			result.append(filler);
-			return result.toString();
-		}
-		
-		c2 |= ((contents[i + 1] & 0xF0) >> 4);
-		result.append(mappings.charAt(c2));
-
-		// output character 3
-		int c3 = (contents[i + 1] & 0x0F) << 2;
-		if (i + 2 >= contents.length) {
-			result.append(mappings.charAt(c3));
-			result.append(filler);
-			return result.toString();
-		}
-		
-		c3 |= ((contents[i + 2] & 0xC0) >> 6);
-		result.append(mappings.charAt(c3));
-
-		// output character 4
-		result.append(mappings.charAt(contents[i + 2] & 0x3F));
-	}
-		
-	return result.toString();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/InternalErrorDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/InternalErrorDialog.java
deleted file mode 100644
index 41d0b18..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/InternalErrorDialog.java
+++ /dev/null
@@ -1,170 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.PrintStream;
-
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.*;
-
-/**
- * Added a Details button to the MessageDialog to show the exception
- * stack trace.
- */
-public class InternalErrorDialog extends MessageDialog {
-
-	private Throwable detail;
-	private int detailButtonID = -1;
-	private Text text;
-	
-	//Workaround. SWT does not seem to set the default button if 
-	//there is not control with focus. Bug: 14668
-	private int defaultButtonIndex = 0;
-	
-	/**
-	 * Size of the text in lines.
-	 */
-	private static final int TEXT_LINE_COUNT = 15;
-
-public InternalErrorDialog(
-	Shell parentShell,
-	String dialogTitle,
-	Image dialogTitleImage,
-	String dialogMessage,
-	Throwable detail,
-	int dialogImageType,
-	String[] dialogButtonLabels,
-	int defaultIndex) {
-	super(
-		parentShell,
-		dialogTitle,
-		dialogTitleImage,
-		dialogMessage,
-		dialogImageType,
-		dialogButtonLabels,
-		defaultIndex);
-	defaultButtonIndex = defaultIndex;
-	this.detail = detail;
-	setShellStyle(getShellStyle() | SWT.APPLICATION_MODAL);
-}
-
-//Workaround. SWT does not seem to set rigth the default button if 
-//there is not control with focus. Bug: 14668
-public int open() {
-	create();
-	Button b = getButton(defaultButtonIndex);
-	b.setFocus();
-	b.getShell().setDefaultButton(b);
-	return super.open();
-}
-	
-/**
- * Set the detail button;
- */
-public void setDetailButton(int index) {
-	detailButtonID = index;
-}
-/* (non-Javadoc)
- * Method declared on Dialog.
- */
-protected void buttonPressed(int buttonId) {
-	if(buttonId == detailButtonID) {
-		toggleDetailsArea();
-	} else {
-		setReturnCode(buttonId);
-		close();
-	}
-}
-/**
- * Toggles the unfolding of the details area.  This is triggered by
- * the user pressing the details button.
- */
-private void toggleDetailsArea() {
-	Point windowSize = getShell().getSize();
-	Point oldSize = getContents().computeSize(SWT.DEFAULT, SWT.DEFAULT);
-	
-	if (text != null) {
-		text.dispose();
-		text = null;
-		getButton(detailButtonID).setText(IDialogConstants.SHOW_DETAILS_LABEL);
-	} else {
-		createDropDownText((Composite)getContents());
-		getButton(detailButtonID).setText(IDialogConstants.HIDE_DETAILS_LABEL);
-	}
-
-	Point newSize = getContents().computeSize(SWT.DEFAULT, SWT.DEFAULT);
-	getShell().setSize(new Point(windowSize.x, windowSize.y + (newSize.y - oldSize.y)));
-}
-/**
- * Create this dialog's drop-down list component.
- *
- * @param parent the parent composite
- * @return the drop-down list component
- */
-protected void createDropDownText(Composite parent) {
-	// create the list
-	text = new Text(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-	text.setFont(parent.getFont());
-
-	// print the stacktrace in the text field
-	try {
-		ByteArrayOutputStream baos = new ByteArrayOutputStream();
-		PrintStream ps = new PrintStream(baos);
-		detail.printStackTrace(ps);
-		if((detail instanceof SWTError) && (((SWTError)detail).throwable != null)) {
-			ps.println("\n*** Stack trace of contained exception ***"); //$NON-NLS-1$
-			((SWTError)detail).throwable.printStackTrace(ps);
-		} else if((detail instanceof SWTException) && (((SWTException)detail).throwable != null)) {
-			ps.println("\n*** Stack trace of contained exception ***"); //$NON-NLS-1$
-			((SWTException)detail).throwable.printStackTrace(ps);
-		}
-		ps.flush();
-		baos.flush();
-		text.setText(baos.toString());
-	} catch (IOException e) {
-	}
-		
-	GridData data = new GridData(
-		GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL |
-		GridData.VERTICAL_ALIGN_FILL | GridData.GRAB_VERTICAL);
-	data.heightHint = text.getLineHeight() * TEXT_LINE_COUNT;
-	text.setLayoutData(data);
-}
-/** 
- * Convenience method to open a simple Yes/No question dialog.
- *
- * @param parent the parent shell of the dialog, or <code>null</code> if none
- * @param title the dialog's title, or <code>null</code> if none
- * @param message the message
- * @return <code>true</code> if the user presses the OK button,
- *    <code>false</code> otherwise
- */
-public static boolean openQuestion(Shell parent, String title, String message, Throwable detail,int defaultIndex) {
-	String[] labels;
-	if(detail == null)
-		labels = new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL};
-    else
-		labels = new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL,IDialogConstants.SHOW_DETAILS_LABEL};
-
-	InternalErrorDialog dialog = new InternalErrorDialog(
-		parent,
-		title, 
-		null,	// accept the default window icon
-		message,
-		detail,
-		QUESTION, 
-		labels, 
-		defaultIndex);
-	if(detail != null)
-	    dialog.setDetailButton(2);
-	return dialog.open() == 0;
-}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ListContentProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ListContentProvider.java
deleted file mode 100644
index f34d2ad..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ListContentProvider.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/** 
- * Provides elements from a List.
- */
-public class ListContentProvider implements IStructuredContentProvider {
-	List contents;
-
-	public ListContentProvider() {
-	}
-	/**
-	 * Implements IStructuredContentProvider.
-	 * 
-	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(Object)
-	 */
-	public Object[] getElements(Object input) {
-		if (contents != null && contents == input) {
-			return contents.toArray();
-		}
-		return new Object[0];
-	}
-	/**
-	 * Implements IContentProvider.
-	 * 
-	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(Viewer, Object, Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		if (newInput instanceof List) {
-			contents = (List) newInput;
-		}
-		else {
-			contents = null;
-		}
-	}
-	/**
-	 * Implements IContentProvider.
-	 * 
-	 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-	 */
-	public void dispose() {
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/MultiStepCapabilityWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/MultiStepCapabilityWizard.java
deleted file mode 100644
index b1072e7..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/MultiStepCapabilityWizard.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/**********************************************************************
-Copyright (c) 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:
-**********************************************************************/
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.dialogs.InstallCapabilityStep.IProjectProvider;
-import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
-
-public abstract class MultiStepCapabilityWizard extends MultiStepWizard implements IProjectProvider {
-	/**
-	 * Creates an empty wizard
-	 */
-	protected MultiStepCapabilityWizard() {
-		super();
-	}
-	
-	/**
-	 * Returns the IDs of the perspectives to present
-	 * as choices to the user.
-	 */
-	protected abstract String[] getPerspectiveChoices();
-	
-	/* (non-Javadoc)
-	 * Method declared on IWizard.
-	 */
-	public boolean performFinish() {
-		if (!super.performFinish())
-			return false;
-			
-		// Allow the user to choose which perspective to
-		// switch to.
-		if (isConfigureStepMode()) {
-			IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-			String[] perspIds = getPerspectiveChoices();
-			if (perspIds.length > 0) {
-				ProjectPerspectiveChoiceDialog dialog;
-				dialog = new ProjectPerspectiveChoiceDialog(window, perspIds);
-				dialog.open();
-				if (dialog.getReturnCode() == Dialog.OK)
-					window = dialog.showChosenPerspective();
-			}
-			
-			IProject project = getProject();
-			if (project != null) {
-				BasicNewResourceWizard.selectAndReveal(project, window);
-			}
-		}
-			
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/MultiStepConfigureWizardPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/MultiStepConfigureWizardPage.java
deleted file mode 100644
index d86f455..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/MultiStepConfigureWizardPage.java
+++ /dev/null
@@ -1,497 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/**********************************************************************
-Copyright (c) 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:
-Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog font should be
-activated and used by other components.
-*********************************************************************/
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.wizard.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-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.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.misc.Assert;
-import org.eclipse.ui.internal.misc.WizardStepGroup;
-
-/**
- * This page allows the user to go thru a series of steps. Each
- * step that has a wizard will have its pages embedded into this
- * page. At the end, the step will be asked to complete its work.
- * <p>
- * Example useage:
- * <pre>
- * mainPage = new MultiStepConfigureWizardPage("multiStepWizardPage");
- * mainPage.setTitle("Project");
- * mainPage.setDescription("Configure project capability.");
- * </pre>
- * </p>
- */
-public class MultiStepConfigureWizardPage extends WizardPage {
-	private MultiStepWizardDialog wizardDialog;
-	private Composite pageSite;
-	private WizardStepGroup stepGroup;
-	private WizardStepContainer stepContainer = new WizardStepContainer();
-	
-	/**
-	 * Creates a new multi-step wizard page.
-	 *
-	 * @param pageName the name of this page
-	 */
-	public MultiStepConfigureWizardPage(String pageName) {
-		super(pageName);
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IWizardPage
-	 */
-	public boolean canFlipToNextPage() {
-		return stepContainer.canFlipToNextPage();
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IDialogPage.
-	 */
-	public void createControl(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite.setFont(parent.getFont());
-
-		WorkbenchHelp.setHelp(composite, IHelpContextIds.NEW_PROJECT_CONFIGURE_WIZARD_PAGE);
-
-		createStepGroup(composite);
-		createEmbeddedPageSite(composite);
-		
-		setControl(composite);
-	}
-
-	/**
-	 * Creates the control where the step's wizard will
-	 * display its pages.
-	 */
-	private void createEmbeddedPageSite(Composite parent) {
-		pageSite = new Composite(parent, SWT.NONE);
-		pageSite.setLayout(new GridLayout());
-		pageSite.setLayoutData(new GridData(GridData.FILL_BOTH));
-	}
-
-	/**
-	 * Creates the control for the step list
-	 */
-	private void createStepGroup(Composite parent) {
-		stepGroup = new WizardStepGroup();
-		stepGroup.createContents(parent);
-	}
-
-	/**
-	 * Returns the container handler for the pages
-	 * of the step's wizard.
-	 */
-	/* package */ WizardStepContainer getStepContainer() {
-		return stepContainer;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IDialogPage.
-	 */
-	public String getMessage() {
-		String msg = stepContainer.getMessage();
-		if (msg == null || msg.length() == 0)
-			msg = super.getMessage();
-		return msg;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IWizardPage.
-	 */
-	public IWizardPage getPreviousPage() {
-		return stepContainer.getPreviousPage();
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IWizardPage.
-	 */
-	public void setPreviousPage(IWizardPage page) {
-		// Do not allow to go back
-		super.setPreviousPage(null);
-	}
-
-	/**
-	 * Sets the steps to be displayed. Ignored if the
-	 * createControl has not been called yet.
-	 * 
-	 * @param steps the collection of steps
-	 */
-	/* package */ void setSteps(WizardStep[] steps) {
-		if (stepGroup != null)
-			stepGroup.setSteps(steps);
-	}
-	
-	/**
-	 * Sets the multi-step wizard dialog processing this
-	 * page.
-	 */
-	/* package */ void setWizardDialog(MultiStepWizardDialog dialog) {
-		wizardDialog = dialog;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IDialogPage.
-	 */
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		WizardStep[] steps = stepGroup.getSteps();
-		MultiStepWizard stepWizard = wizardDialog.getMultiStepWizard();
-		wizardDialog.setFinishLabel(stepWizard.getFinishStepLabel(steps));
-		
-		getControl().getDisplay().asyncExec(new Runnable() {
-			public void run() {
-				stepContainer.processCurrentStep();
-			}
-		});
-	}
-	
-	/**
-	 * Support for handling pages from the step's wizard
-	 */
-	/* package */ class WizardStepContainer implements IWizardContainer {
-		private int stepIndex = 0;
-		private IWizard wizard;
-		private IWizardPage currentPage;
-
-		/* (non-Javadoc)
-		 * Method declared on IRunnableContext.
-		 */
-		public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException {
-			getContainer().run(fork, cancelable, runnable);
-		}
-		
-		/* (non-Javadoc)
-		 * Method declared on IWizardContainer.
-		 */
-		public IWizardPage getCurrentPage() {
-			return currentPage;
-		}
-		 
-		/* (non-Javadoc)
-		 * Method declared on IWizardContainer.
-		 */
-		public Shell getShell() {
-			return getContainer().getShell();
-		}
-		
-		/* (non-Javadoc)
-		 * Method declared on IWizardContainer.
-		 */
-		public void showPage(IWizardPage page) {
-			showPage(page, true);
-		}
-
-		/* (non-Javadoc)
-		 * Method declared on IWizardContainer.
-		 */
-		public void updateButtons() {
-			getContainer().updateButtons();
-		}
-		
-		/* (non-Javadoc)
-		 * Method declared on IWizardContainer.
-		 */
-		public void updateMessage() {
-			getContainer().updateMessage();
-		}
-		
-		/* (non-Javadoc)
-		 * Method declared on IWizardContainer.
-		 */
-		public void updateTitleBar() {
-			getContainer().updateTitleBar();
-		}
-		
-		/* (non-Javadoc)
-		 * Method declared on IWizardContainer.
-		 */
-		public void updateWindowTitle() {
-			getContainer().updateWindowTitle();
-		}
-		
-		/**
-		 * Handles the back button pressed
-		 */
-		public void backPressed() {
-			showPage(currentPage.getPreviousPage(), false);
-		}
-		
-		/**
-		 * Handles the next button pressed
-		 */
-		public void nextPressed() {
-			showPage(currentPage.getNextPage(), true);
-		}
-		
-		/**
-		 * Handles the help button pressed
-		 */
-		public void helpPressed() {
-			if (currentPage != null)
-				currentPage.performHelp();
-		}
-		
-		/**
-		 * Handles close request
-		 */
-		public final boolean performCancel() {
-			if (wizard != null)
-				return wizard.performCancel();
-			else
-				return true;
-		}
-
-		/**
-		 * Handles finish request
-		 */
-		public final boolean performFinish() {
-			if (wizard != null) {
-				if (wizard.performFinish()) {
-					wizard.dispose();
-					wizard.setContainer(null);
-					stepGroup.markStepAsDone();
-					stepIndex++;
-					return true;
-				} else {
-					return false;
-				}
-			} else {
-				return true;
-			}
-		}
-
-		/**
-		 * Calculates the difference in size between the given
-		 * page and the page site. A larger page results 
-		 * in a positive delta.
-		 *
-		 * @param page the page
-		 * @return the size difference encoded
-		 *   as a <code>new Point(deltaWidth,deltaHeight)</code>
-		 */
-		private Point calculatePageSizeDelta(IWizardPage page) {
-			Control pageControl = page.getControl();
-		
-			if (pageControl == null)
-				// control not created yet
-				return new Point(0,0);
-				
-			Point contentSize = pageControl.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-			Rectangle rect = pageSite.getClientArea();
-			Point containerSize = new Point(rect.width, rect.height);
-		
-			return new Point(
-				Math.max(0, contentSize.x - containerSize.x),
-				Math.max(0, contentSize.y - containerSize.y));
-		}
-
-		/**
-		 * Computes the correct page site size for the given page
-		 * and resizes the dialog if nessessary.
-		 *
-		 * @param page the wizard page
-		 */
-		private void updateSizeForPage(IWizardPage page) {
-			// ensure the page container is large enough
-			Point delta = calculatePageSizeDelta(page);
-			
-			if (delta.x > 0 || delta.y > 0) {
-				Point siteSize = pageSite.getSize();
-				GridData data = (GridData)pageSite.getLayoutData();
-				data.heightHint = siteSize.y + delta.y;
-				data.widthHint = siteSize.x + delta.x;
-			}
-		}
-
-		/**
-		 * Computes the correct page site size for the given wizard
-		 * and resizes the dialog if nessessary.
-		 *
-		 * @param wizard the wizard
-		 */
-		private void updateSizeForWizard(IWizard wizard) {
-			Point delta = new Point(0,0);
-			IWizardPage[] pages = wizard.getPages();
-			for (int i = 0; i < pages.length; i++){
-				// ensure the page site is large enough
-				Point pageDelta = calculatePageSizeDelta(pages[i]);
-		
-				delta.x = Math.max(delta.x, pageDelta.x);
-				delta.y = Math.max(delta.y, pageDelta.y);
-			}
-			
-			if (delta.x > 0 || delta.y > 0) {
-				Point siteSize = pageSite.getSize();
-				GridData data = (GridData)pageSite.getLayoutData();
-				data.heightHint = siteSize.y + delta.y;
-				data.widthHint = siteSize.x + delta.x;
-			}
-		}
-
-		/**
-		 * Process the current step's wizard.
-		 */
-		public void processCurrentStep() {
-			WizardStep[] steps = stepGroup.getSteps();
-			while (stepIndex < steps.length) {
-				// adjust the finish button label
-				if (stepIndex == (steps.length - 1))
-					wizardDialog.setFinishLabel(null);
-
-				final WizardStep step = steps[stepIndex];
-				stepGroup.setCurrentStep(step);
-
-				final IWizard[] stepWizard = new IWizard[1];
-				BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
-					public void run() {
-						stepWizard[0] = step.getWizard();
-						int tries = 0;
-						while (stepWizard[0] == null && tries++ < 3) {
-							boolean tryAgain = wizardDialog.getMultiStepWizard().handleMissingStepWizard(step);
-							if (!tryAgain)
-								break;
-							else
-								stepWizard[0] = step.getWizard();
-						}
-					}
-				});
-					
-				if (stepWizard[0] == null)
-					break;
-				setWizard(stepWizard[0]);
-				if (stepWizard[0].getPageCount() > 0)
-					return;
-				else
-					performFinish();
-			}
-			
-			wizardDialog.forceClose();
-		}
-		
-		/**
-		 * Sets the current wizard
-		 */
-		public void setWizard(IWizard newWizard) {
-			wizard = newWizard;
-			
-			// Allow the wizard pages to precreate their page controls
-			// This allows the wizard to open to the correct size
-			wizard.createPageControls(pageSite);
-				
-			// Ensure that all of the created pages are initially not visible
-			IWizardPage[] pages = wizard.getPages();
-			for (int i = 0; i < pages.length; i++) {
-				IWizardPage page = (IWizardPage)pages[i];
-				if (page.getControl() != null) 
-					page.getControl().setVisible(false);
-			}
-				
-			// Ensure the dialog is large enough for the wizard
-			updateSizeForWizard(wizard);
-			wizardDialog.updateLayout();
-				
-			wizard.setContainer(this);
-			showPage(wizard.getStartingPage(), false);
-		}
-		
-		/**
-		 * Show the requested page
-		 */
-		public void showPage(IWizardPage page, boolean rememberPrevious) {
-			if (page == null || page == currentPage)
-				return;
-			
-			if (rememberPrevious && currentPage != null)
-				page.setPreviousPage(currentPage);
-				
-			if (wizard != page.getWizard())
-				Assert.isTrue(false);
-			
-			// ensure that page control has been created
-			// (this allows lazy page control creation)
-			if (page.getControl() == null) {
-				page.createControl(pageSite);
-				// the page is responsible for ensuring the created control is accessable
-				// via getControl.
-				Assert.isNotNull(page.getControl());
-				// ensure the dialog is large enough for this page
-				updateSizeForPage(page);
-				wizardDialog.updateLayout();
-			}
-		
-			// make the new page visible
-			IWizardPage oldPage = currentPage;
-			currentPage = page;
-			currentPage.setVisible(true);
-			if (oldPage != null)
-				oldPage.setVisible(false);
-			page.getControl().setBounds(pageSite.getClientArea());
-		
-			// update the dialog controls
-			wizardDialog.updateAll();
-		}
-		
-		/**
-		 * Returns whether the current wizard can finish
-		 */
-		public boolean canWizardFinish() {
-			if (wizard != null)
-				return wizard.canFinish();
-			else
-				return false;
-		}
-
-		/**
-		 * Returns whether the current page can flip to
-		 * the next page
-		 */
-		public boolean canFlipToNextPage() {
-			if (currentPage != null)
-				return currentPage.canFlipToNextPage();
-			else
-				return false;
-		}
-		
-		/**
-		 * Returns the current page's message
-		 */
-		public String getMessage() {
-			if (currentPage != null)
-				return currentPage.getMessage();
-			else
-				return null;
-		}
-		
-		/**
-		 * Returns the current page's previous page
-		 */
-		public IWizardPage getPreviousPage() {
-			if (currentPage != null)
-				return currentPage.getPreviousPage();
-			else
-				return null;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/MultiStepReviewWizardPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/MultiStepReviewWizardPage.java
deleted file mode 100644
index 1f6346bc..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/MultiStepReviewWizardPage.java
+++ /dev/null
@@ -1,171 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/**********************************************************************
-Copyright (c) 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:
-Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog font should be
-activated and used by other components.
-*********************************************************************/
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.misc.WizardStepGroup;
-
-/**
- * This page allows the user to review the steps to be done.
- * <p>
- * Example useage:
- * <pre>
- * mainPage = new MultiStepReviewWizardPage("multiStepReviewPage");
- * mainPage.setTitle("Project");
- * mainPage.setDescription("Review project.");
- * </pre>
- * </p>
- */
-public class MultiStepReviewWizardPage extends WizardPage {
-	private Text detailsField;
-	private Label instructionLabel;
-	private WizardStepGroup stepGroup;
-	private MultiStepWizard stepWizard;
-
-	/**
-	 * Creates a new step review wizard page.
-	 *
-	 * @param pageName the name of this page
-	 */
-	public MultiStepReviewWizardPage(String pageName, MultiStepWizard stepWizard) {
-		super(pageName);
-		this.stepWizard = stepWizard;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IWizardPage
-	 */
-	public boolean canFlipToNextPage() {
-		// Already know there is a next page...
-		return isPageComplete() && !stepWizard.canFinishOnReviewPage();
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IDialogPage.
-	 */
-	public void createControl(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		WorkbenchHelp.setHelp(composite, IHelpContextIds.NEW_PROJECT_REVIEW_WIZARD_PAGE);
-
-		createStepGroup(composite);
-		createDetailsGroup(composite);
-		createInstructionsGroup(composite);
-		
-		setControl(composite);
-	}
-	
-	/**
-	 * Creates the control for the details
-	 */
-	private void createDetailsGroup(Composite parent) {
-		Font font = parent.getFont();
-		// Create a composite to hold everything together
-		Composite composite = new Composite(parent, SWT.NULL);
-		composite.setLayout(new GridLayout());
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		// Add a label to identify the details text field
-		Label label = new Label(composite, SWT.LEFT);
-		label.setText(WorkbenchMessages.getString("MultiStepReviewWizardPage.detailsLabel")); //$NON-NLS-1$
-		GridData data = new GridData();
-		data.verticalAlignment = SWT.TOP;
-		label.setLayoutData(data);
-		label.setFont(font);
-		
-		// Text field to display the step's details
-		detailsField = new Text(composite, SWT.WRAP | SWT.MULTI | SWT.V_SCROLL | SWT.BORDER);
-		detailsField.setText("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); // prefill to show 15 lines //$NON-NLS-1$
-		detailsField.setEditable(false);
-		detailsField.setLayoutData(new GridData(GridData.FILL_BOTH));
-		detailsField.setFont(font);
-	}
-	
-	/**
-	 * Creates the control for the instructions
-	 */
-	private void createInstructionsGroup(Composite parent) {
-		instructionLabel = new Label(parent, SWT.LEFT);
-		instructionLabel.setText(WorkbenchMessages.getString("MultiStepReviewWizardPage.instructionLabel")); //$NON-NLS-1$
-		GridData data = new GridData();
-		data.verticalAlignment = SWT.TOP;
-		data.horizontalSpan = 2;
-		instructionLabel.setLayoutData(data);
-		instructionLabel.setFont(parent.getFont());
-	}
-	
-	/**
-	 * Creates the control for the step list
-	 */
-	private void createStepGroup(Composite parent) {
-		stepGroup = new WizardStepGroup();
-		stepGroup.createContents(parent);
-		stepGroup.setSelectionListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				if (event.getSelection() instanceof IStructuredSelection) {
-					IStructuredSelection sel = (IStructuredSelection)event.getSelection();
-					WizardStep step = (WizardStep)sel.getFirstElement();
-					if (step != null)
-						detailsField.setText(step.getDetails());
-				}
-			}
-		});
-	}
-	
-	/**
-	 * Returns the steps to be displayed.
-	 */
-	/* package */ WizardStep[] getSteps() {
-		if (stepGroup != null)
-			return stepGroup.getSteps();
-		else
-			return new WizardStep[0];
-	}
-
-	/**
-	 * Sets the steps to be displayed. Has no effect if
-	 * the page is not yet created.
-	 * 
-	 * @param steps the collection of steps
-	 */
-	/* package */ void setSteps(WizardStep[] steps) {
-		if (stepGroup != null)
-			stepGroup.setSteps(steps);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IDialogPage.
-	 */
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		if (visible) {
-			if (stepWizard.canFinishOnReviewPage())
-				instructionLabel.setText(WorkbenchMessages.getString("MultiStepReviewWizardPage.instructionFinishLabel")); //$NON-NLS-1$
-			else
-				instructionLabel.setText(WorkbenchMessages.getString("MultiStepReviewWizardPage.instructionNextLabel")); //$NON-NLS-1$
-			((Composite)getControl()).layout(true);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/MultiStepWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/MultiStepWizard.java
deleted file mode 100644
index 88196fd..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/MultiStepWizard.java
+++ /dev/null
@@ -1,229 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/**********************************************************************
-Copyright (c) 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:
-**********************************************************************/
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.dialogs.MultiStepConfigureWizardPage.WizardStepContainer;
-
-/**
- * Standard workbench wizard to handle a multi-step page. The
- * wizard is allowed any number of pages before the multi-step
- * page is presented to the user.
- * <p>
- * Example:
- * <pre>
- * IWizard wizard = new MultiStepWizard();
- * WizardDialog dialog = new MultiStepWizardDialog(shell, wizard);
- * dialog.open();
- * </pre>
- * </p>
- */
-public abstract class MultiStepWizard extends Wizard {
-	private MultiStepWizardDialog wizardDialog;
-	private MultiStepReviewWizardPage reviewPage;
-	private MultiStepConfigureWizardPage configPage;
-	
-	/**
-	 * Creates an empty wizard
-	 */
-	protected MultiStepWizard() {
-		super();
-		setNeedsProgressMonitor(true);
-	}
-
-	/**
-	 * Adds any custom pages to the wizard before
-	 * the multi-step review and configure pages are
-	 * added.
-	 */
-	protected abstract void addCustomPages();
-	
-	/* (non-Javadoc)
-	 * Method declared on IWizard.
-	 */
-	public final void addPages() {
-		super.addPages();
-		addCustomPages();
-		
-		reviewPage = new MultiStepReviewWizardPage("multiStepReviewWizardPage", this);//$NON-NLS-1$
-		reviewPage.setTitle(getReviewPageTitle()); //$NON-NLS-1$
-		reviewPage.setDescription(getReviewPageDescription()); //$NON-NLS-1$
-		this.addPage(reviewPage);
-		
-		configPage = new MultiStepConfigureWizardPage("multiStepConfigureWizardPage");//$NON-NLS-1$
-		configPage.setTitle(getConfigurePageTitle()); //$NON-NLS-1$
-		configPage.setDescription(getConfigurePageDescription()); //$NON-NLS-1$
-		configPage.setWizardDialog(wizardDialog);
-		this.addPage(configPage);
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IWizard.
-	 */
-	public boolean canFinish() {
-		if (getContainer().getCurrentPage() == reviewPage)
-			return canFinishOnReviewPage();
-		else if (isConfigureStepMode())
-			return getStepContainer().canWizardFinish();
-		else
-			return false;
-	}
-
-	/**
-	 * Returns whether the wizard wants the Finish button
-	 * enabled on the review page. Should only happen if
-	 * there is only one step and that step does not require
-	 * further interaction with the user. The Next button will
-	 * be disabled and the instructions updated.
-	 */
-	protected abstract boolean canFinishOnReviewPage();
-	
-	/* (non-Javadoc)
-	 * Method declared on IWizard.
-	 */
-	public void dispose() {
-		super.dispose();
-		wizardDialog = null;
-	}
-
-	/**
-	 * Returns the title for the multi-step configure
-	 * page.
-	 */
-	protected abstract String getConfigurePageTitle();
-	
-	/**
-	 * Returns the description for the multi-step configure
-	 * page.
-	 */
-	protected abstract String getConfigurePageDescription();
-	
-	/**
-	 * Returns the title for the multi-step review
-	 * page.
-	 */
-	protected abstract String getReviewPageTitle();
-
-	/**
-	 * Returns the label used on the finish button to
-	 * to indicate finishing a step. Can be <code>null</code>
-	 * if no special label is required.
-	 * <p>
-	 * The default implementation is to return the translated
-	 * label "Finish Step".
-	 * </p><p>
-	 * On the last step, the finish button label is changed to
-	 * be "Finish" and will no be changed.
-	 * </p>
-	 */
-	protected String getFinishStepLabel(WizardStep[] steps) {
-		return WorkbenchMessages.getString("MultiStepWizard.finishLabel"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IWizard.
-	 */
-	public final IWizardPage getPreviousPage(IWizardPage page) {
-		if (page == configPage)
-			return null;
-		else
-			return super.getPreviousPage(page);
-	}
-
-	/**
-	 * Returns the description for the multi-step review
-	 * page.
-	 */
-	protected abstract String getReviewPageDescription();
-
-	/**
-	 * Returns the container handler for the pages
-	 * of the step's wizard.
-	 */
-	/* package */ WizardStepContainer getStepContainer() {
-		return configPage.getStepContainer();
-	}
-	
-	/**
-	 * Handles the problem of a missing step wizard.
-	 * 
-	 * @return <code>true</code> to retry, <code>false</code> to terminate
-	 * 		multi step wizard dialog.
-	 */
-	/* package */ abstract boolean handleMissingStepWizard(WizardStep step);
-	
-	/**
-	 * Returns whether the wizard is configuring steps
-	 */
-	/* package */ boolean isConfigureStepMode() {
-		return getContainer().getCurrentPage() == configPage;
-	}
-		
-	/* (non-Javadoc)
-	 * Method declared on IWizard.
-	 */
-	public final boolean performCancel() {
-		if (isConfigureStepMode())
-			return getStepContainer().performCancel();
-		else
-			return true;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IWizard.
-	 */
-	public boolean performFinish() {
-		// Finish on review page is a shortcut to performing
-		// the steps.
-		if (getContainer().getCurrentPage() == reviewPage) {
-			getContainer().showPage(configPage);
-			return false;
-		}
-			
-		// Does nothing as each step is responsible
-		// to complete its work when its wizard is
-		// done.
-		return true;
-	}
-	
-	/**
-	 * Returns the collection of steps for the wizard.
-	 */
-	public final WizardStep[] getSteps() {
-		if (reviewPage != null)
-			return reviewPage.getSteps();
-		else
-			return new WizardStep[0];
-	}
-	
-	/**
-	 * Sets the collection of steps for the wizard.
-	 * Ignored if the multi-step review and configure
-	 * pages are not yet created.
-	 */
-	public final void setSteps(WizardStep[] steps) {
-		if (reviewPage != null)
-			reviewPage.setSteps(steps);
-		if (configPage != null)
-			configPage.setSteps(steps);
-	}
-	
-	/**
-	 * Sets the multi-step wizard dialog processing this
-	 * wizard.
-	 */
-	/* package */ void setWizardDialog(MultiStepWizardDialog dialog) {
-		wizardDialog = dialog;
-		if (configPage != null)
-			configPage.setWizardDialog(wizardDialog);
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/MultiStepWizardDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/MultiStepWizardDialog.java
deleted file mode 100644
index fe3c1a6..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/MultiStepWizardDialog.java
+++ /dev/null
@@ -1,139 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/**********************************************************************
-Copyright (c) 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:
-**********************************************************************/
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.*;
-
-/**
- * A dialog to show a multi-step wizard to the end user. 
- * <p>
- * In typical usage, the client instantiates this class with 
- * a multi-step wizard. The dialog serves as the wizard container
- * and orchestrates the presentation of its pages.
- * <p>
- * The standard layout is roughly as follows: 
- * it has an area at the top containing both the
- * wizard's title, description, and image; the actual wizard page
- * appears in the middle; below that is a progress indicator
- * (which is made visible if needed); and at the bottom
- * of the page is message line and a button bar containing 
- * Help, Next, Back, Finish, and Cancel buttons (or some subset).
- * </p>
- * <p>
- * This class is not intended to be subclassed by clients.
- * </p>
- */
-public class MultiStepWizardDialog extends WizardDialog {
-	private MultiStepWizard multiStepWizard;
-	
-	/**
-	 * Creates a new wizard dialog for the given wizard. 
-	 *
-	 * @param parentShell the parent shell
-	 * @param newWizard the multi-step wizard this dialog is working on
-	 */
-	public MultiStepWizardDialog(Shell parentShell, MultiStepWizard newWizard) {
-		super(parentShell, newWizard);
-		multiStepWizard = newWizard;
-		multiStepWizard.setWizardDialog(this);
-	}
-
-	/**
-	 * Forces the wizard dialog to close
-	 */
-	/* package */ void forceClose() {
-		super.finishPressed();
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on WizardDialog.
-	 */
-	protected void backPressed() {
-		if (multiStepWizard.isConfigureStepMode())
-			multiStepWizard.getStepContainer().backPressed();
-		else
-			super.backPressed();
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on WizardDialog.
-	 */
-	protected void finishPressed() {
-		if (multiStepWizard.isConfigureStepMode()) {
-			boolean success = multiStepWizard.getStepContainer().performFinish();
-			if (success)
-				multiStepWizard.getStepContainer().processCurrentStep();
-		} else {
-			super.finishPressed();
-		}
-	}	
-
-	/**
-	 * Returns the multi-step wizard for this dialog
-	 */
-	/* package */ MultiStepWizard getMultiStepWizard() {
-		return multiStepWizard;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on WizardDialog.
-	 */
-	protected void helpPressed() {
-		if (multiStepWizard.isConfigureStepMode())
-			multiStepWizard.getStepContainer().helpPressed();
-		else
-			super.helpPressed();
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on WizardDialog.
-	 */
-	protected void nextPressed() {
-		if (multiStepWizard.isConfigureStepMode())
-			multiStepWizard.getStepContainer().nextPressed();
-		else
-			super.nextPressed();
-	}
-	
-	/**
-	 * Sets the label for the finish button
-	 */
-	/* package */ void setFinishLabel(String label) {
-		Button button = getButton(IDialogConstants.FINISH_ID);
-		if (button == null)
-			return;
-
-		if (label == null) {
-			if (!button.getText().equals(IDialogConstants.FINISH_LABEL)) {
-				button.setText(IDialogConstants.FINISH_LABEL);
-				((Composite)button.getParent()).layout(true);
-			}
-		} else {
-			button.setText(label);
-			((Composite)button.getParent()).layout(true);
-		}
-	}
-	
-	/**
-	 * Updates everything in the dialog
-	 */
-	/* package */ void updateAll() {
-		super.update();
-	}
-	
-	/**
-	 * Updates the layout of the dialog
-	 */
-	/* package */ void updateLayout() {
-		super.updateSize(getCurrentPage());
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/NewProjectWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/NewProjectWizard.java
deleted file mode 100644
index 12aca36..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/NewProjectWizard.java
+++ /dev/null
@@ -1,288 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/**********************************************************************
-Copyright (c) 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:
-**********************************************************************/
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.registry.*;
-
-/**
- * Standard workbench wizard that guides the user to supply
- * the necessary information to create a project.
- */
-public class NewProjectWizard extends MultiStepCapabilityWizard implements INewWizard {
-	// init method parameters supplied
-	private IWorkbench workbench;
-	private IStructuredSelection selection;
-	
-	// Reference to the pages provided by this wizard
-	private WizardNewProjectNameAndLocationPage creationPage;
-	private WizardNewProjectCapabilityPage capabilityPage;
-	
-	// Newly created project
-	private IProject newProject;
-
-	// initial values for the pages provided by this wizard
-	private String initialProjectName;
-	private Capability[] initialProjectCapabilities;
-	private ICategory[] initialSelectedCategories;
-	
-	/**
-	 * Creates an empty wizard for creating a new project
-	 * in the workspace.
-	 */
-	public NewProjectWizard() {
-		super();
-		
-		WorkbenchPlugin plugin = WorkbenchPlugin.getDefault();
-		IDialogSettings workbenchSettings = plugin.getDialogSettings();
-		IDialogSettings section = workbenchSettings.getSection("NewProjectWizard");//$NON-NLS-1$
-		if (section == null)
-			section = workbenchSettings.addNewSection("NewProjectWizard");//$NON-NLS-1$
-		setDialogSettings(section);
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on MultiStepWizard.
-	 */
-	protected void addCustomPages() {
-		creationPage = new WizardNewProjectNameAndLocationPage("newProjectCreationPage");//$NON-NLS-1$
-		creationPage.setTitle(WorkbenchMessages.getString("NewProjectWizard.title")); //$NON-NLS-1$
-		creationPage.setDescription(WorkbenchMessages.getString("WizardNewProjectCreationPage.description")); //$NON-NLS-1$
-		creationPage.setInitialProjectName(initialProjectName);
-		this.addPage(creationPage);
-		
-		capabilityPage = new WizardNewProjectCapabilityPage("newProjectCapabilityPage");//$NON-NLS-1$
-		capabilityPage.setTitle(WorkbenchMessages.getString("NewProjectWizard.title")); //$NON-NLS-1$
-		capabilityPage.setDescription(WorkbenchMessages.getString("WizardNewProjectCapabilityPage.description")); //$NON-NLS-1$
-		capabilityPage.setInitialProjectCapabilities(initialProjectCapabilities);
-		capabilityPage.setInitialSelectedCategories(initialSelectedCategories);
-		this.addPage(capabilityPage);
-	}
-
-	/**
-	 * Builds the collection of steps to create and install
-	 * the chosen capabilities.
-	 * 
-	 * @return <code>true</code> if successful, <code>false</code>
-	 * 		if a problem was detected.
-	 */
-	private boolean buildSteps() {
-		Capability[] caps = capabilityPage.getSelectedCapabilities();
-		CapabilityRegistry reg = WorkbenchPlugin.getDefault().getCapabilityRegistry();
-		IStatus status = reg.validateCapabilities(caps);
-		if (status.isOK()) {
-			Capability[] results = reg.pruneCapabilities(caps);
-			WizardStep[] steps = new WizardStep[results.length + 1];
-			steps[0] = new CreateProjectStep(1, creationPage, this);
-			for (int i = 0; i < results.length; i++)
-				steps[i+1] = new InstallCapabilityStep(i+2, results[i], workbench, this);
-			setSteps(steps);
-			return true;
-		} else {
-			ErrorDialog.openError(
-				getShell(), 
-				WorkbenchMessages.getString("NewProjectWizard.errorTitle"),  //$NON-NLS-1$
-				WorkbenchMessages.getString("NewProjectWizard.invalidCapabilities"),  //$NON-NLS-1$
-		 		status);
-			return false;
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on MultiStepWizard.
-	 */
-	protected boolean canFinishOnReviewPage() {
-		// yes if the only step is to create the project.
-		return getSteps().length == 1;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on MultiStepWizard.
-	 */
-	protected String getConfigurePageTitle() {
-		return WorkbenchMessages.getString("NewProjectWizard.title"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on MultiStepWizard.
-	 */
-	protected String getConfigurePageDescription() {
-		return WorkbenchMessages.getString("WizardProjectConfigurePage.description"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on MultiStepWizard.
-	 */
-	protected  String getReviewPageTitle() {
-		return WorkbenchMessages.getString("NewProjectWizard.title"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on MultiStepWizard.
-	 */
-	protected String getReviewPageDescription() {
-		return WorkbenchMessages.getString("WizardProjectReviewPage.description"); //$NON-NLS-1$
-	}
-		
-	/* (non-Javadoc)
-	 * Method declared on MultiStepWizard.
-	 */
-	protected String getFinishStepLabel(WizardStep[] steps) {
-		// The first step is the project creation which has no wizard
-		// pages, so ignore it. If there is only one step after that,
-		// then it needs the "Finish" label. So the "Finish Step" label
-		// is only needed if more than 2 steps in the list.
-		if (steps.length > 2)
-			return super.getFinishStepLabel(steps);
-		else
-			return null;
-	}
-	
-	/**
-	 * Returns the newly created project.
-	 *
-	 * @return the created project, or <code>null</code>
-	 *   if project is not created yet.
-	 */
-	public IProject getNewProject() {
-		return newProject;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on MultiStepWizard.
-	 */
-	protected String[] getPerspectiveChoices() {
-		ArrayList results = new ArrayList();
-		Capability[] caps = capabilityPage.getSelectedCapabilities();
-		for (int i = 0; i < caps.length; i++) {
-			ArrayList ids = caps[i].getPerspectiveChoices();
-			if (ids != null) {
-				Iterator enum = ids.iterator();
-				while (enum.hasNext()) {
-					String id = (String)enum.next();
-					if (!results.contains(id))
-						results.add(id);
-				}
-			}
-		}
-		String[] ids = new String[results.size()];
-		results.toArray(ids);
-		return ids;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IProjectProvider.
-	 */
-	 public IProject getProject() {
-	 	return newProject;
-	 }
-	 
-	/* (non-Javadoc)
-	 * Method declared on IWizard.
-	 */
-	public IWizardPage getNextPage(IWizardPage page) {
-		if (page == capabilityPage) {
-			if (!buildSteps())
-				return capabilityPage;
-		}
-		return super.getNextPage(page);
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on MultiStepWizard.
-	 */
-	/* package */ boolean handleMissingStepWizard(WizardStep step) {
-		MessageDialog.openError(
-			getShell(),
-			WorkbenchMessages.getString("NewProjectWizard.errorTitle"), //$NON-NLS-1$
-			WorkbenchMessages.format("NewProjectWizard.noWizard", new Object[] {step.getLabel()})); //$NON-NLS-1$
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IWorkbenchWizard.
-	 */
-	public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
-		this.workbench = workbench;
-		this.selection = currentSelection;
-		initializeDefaultPageImageDescriptor();
-		setWindowTitle(WorkbenchMessages.getString("NewProjectWizard.windowTitle")); //$NON-NLS-1$
-	}
-
-	/**
-	 * Sets the image banner for the wizard
-	 */
-	protected void initializeDefaultPageImageDescriptor() {
-		String iconPath = "icons/full/";//$NON-NLS-1$		
-		try {
-			URL installURL = Platform.getPlugin(PlatformUI.PLUGIN_ID).getDescriptor().getInstallURL();
-			URL url = new URL(installURL, iconPath + "wizban/newprj_wiz.gif");//$NON-NLS-1$
-			ImageDescriptor desc = ImageDescriptor.createFromURL(url);
-			setDefaultPageImageDescriptor(desc);
-		}
-		catch (MalformedURLException e) {
-			// Should not happen. Ignore.
-		}
-	}
-
-	/**
-	 * Sets the initial categories to be selected.
-	 * 
-	 * @param categories initial categories to select
-	 */
-	public void setInitialSelectedCategories(ICategory[] categories) {
-		initialSelectedCategories = categories;
-	}
-	
-	/**
-	 * Sets the initial project capabilities to be selected.
-	 * 
-	 * @param capabilities initial project capabilities to select
-	 */
-	public void setInitialProjectCapabilities(Capability[] capabilities) {
-		initialProjectCapabilities = capabilities;
-	}
-	
-	/**
-	 * Sets the initial project name. Leading and trailing
-	 * spaces in the name are ignored.
-	 * 
-	 * @param name initial project name
-	 */
-	public void setInitialProjectName(String name) {
-		if (name == null)
-			initialProjectName = null;
-		else
-			initialProjectName = name.trim();
-	}
-	
-	/**
-	 * Sets the newly created project resource
-	 */
-	/* package */ void setNewProject(IProject project) {
-		newProject = project;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/NewWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/NewWizard.java
deleted file mode 100644
index dbfaebd..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/NewWizard.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.StringTokenizer;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.registry.NewWizardsRegistryReader;
-
-/**
- * The new wizard is responsible for allowing the user to choose which
- * new (nested) wizard to run. The set of available new wizards comes
- * from the new extension point.
- */
-public class NewWizard extends Wizard {
-	private static final String CATEGORY_SEPARATOR = "/"; //$NON-NLS-1$
-
-	private IWorkbench workbench;
-	private IStructuredSelection selection;
-	private NewWizardSelectionPage mainPage;
-	private boolean projectsOnly = false;
-	private String categoryId = null;
-/**
- * Create the wizard pages
- */
-public void addPages() {
-	NewWizardsRegistryReader rdr = new NewWizardsRegistryReader(projectsOnly);
-	WizardCollectionElement wizards = (WizardCollectionElement)rdr.getWizards();
-
-	if (categoryId != null) {
-		WizardCollectionElement categories = wizards;
-		StringTokenizer familyTokenizer = new StringTokenizer(categoryId, CATEGORY_SEPARATOR);
-		while (familyTokenizer.hasMoreElements()) {
-			categories = getChildWithID(categories, familyTokenizer.nextToken());
-			if (categories == null)
-				break;
-		}
-		if (categories != null)
-			wizards = categories;
-	}
-	
-	mainPage =
-		new NewWizardSelectionPage(
-			this.workbench,
-			this.selection,
-			wizards);
-	addPage(mainPage);
-}
-/**
- * Returns the child collection element for the given id
- */
-private WizardCollectionElement getChildWithID(WizardCollectionElement parent, String id) {
-	Object[] children = parent.getChildren();
-	for (int i = 0; i < children.length; ++i) {
-		WizardCollectionElement currentChild = (WizardCollectionElement)children[i];
-		if (currentChild.getId().equals(id))
-			return currentChild;
-	}
-	return null;
-}
-/**
- * Returns the id of the category of wizards to show
- * or <code>null</code> to show all categories.
- */
-public String getCategoryId() {
-	return categoryId;
-}
-/**
- * Sets the id of the category of wizards to show
- * or <code>null</code> to show all categories.
- */
-public void setCategoryId(String id) {
-	categoryId = id;
-}
-/**
- *	Lazily create the wizards pages
- */
-public void init(IWorkbench aWorkbench, IStructuredSelection currentSelection) {
-	this.workbench = aWorkbench;
-	this.selection = currentSelection;
-
-	if (projectsOnly) 
-		setWindowTitle(WorkbenchMessages.getString("NewProject.title")); //$NON-NLS-1$
-	else 	
-		setWindowTitle(WorkbenchMessages.getString("NewWizard.title")); //$NON-NLS-1$
-	setDefaultPageImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_WIZBAN_NEW_WIZ));
-	setNeedsProgressMonitor(true);
-}
-/**
- *	The user has pressed Finish.  Instruct self's pages to finish, and
- *	answer a boolean indicating success.
- *
- *	@return boolean
- */
-public boolean performFinish() {
-	//save our selection state
-	mainPage.saveWidgetValues();
-	return true;
-}
-/**
- * Sets the projects only flag.  If <code>true</code> only projects will
- * be shown in this wizard.
- */
-public void setProjectsOnly(boolean b) {
-	projectsOnly = b;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/NewWizardCollectionSorter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/NewWizardCollectionSorter.java
deleted file mode 100644
index c7fe41d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/NewWizardCollectionSorter.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.internal.dialogs.*;
-import org.eclipse.ui.internal.registry.NewWizardsRegistryReader;
-import java.text.Collator;
-import org.eclipse.jface.viewers.*;
-
-/**
- *	A Viewer element sorter that sorts Elements by their name attribute.
- *	Note that capitalization differences are not considered by this
- *	sorter, so a < B < c.
- *
- *	NOTE one exception to the above: an element with the system's reserved
- *	name for base Wizards will always be sorted such that it will
- *	ultimately be placed at the beginning of the sorted result.
- */
-class NewWizardCollectionSorter extends ViewerSorter {
-	public final static NewWizardCollectionSorter INSTANCE = new NewWizardCollectionSorter();
-	private Collator collator = Collator.getInstance();
-/**
- * Creates an instance of <code>NewWizardCollectionSorter</code>.  Since this
- * is a stateless sorter, it is only accessible as a singleton; the private
- * visibility of this constructor ensures this.
- */
-private NewWizardCollectionSorter() {
-	super();
-}
-/**
- * The 'compare' method of the sort operation.
- *
- * @return  the value <code>0</code> if the argument o1 is equal to o2;
- * 			a value less than <code>0</code> if o1 is less than o2;
- *			and a value greater than <code>0</code> if o1 is greater than o2.
- */
-public int compare(Viewer viewer,Object o1,Object o2) {
-	String name1 = ((WizardCollectionElement)o1).getLabel(o1);
-	String name2 = ((WizardCollectionElement)o2).getLabel(o2);
-	if (name1.equals(name2))
-		return 0;
-		
-	// Be sure that the examples category is at the end of the wizard categories
-	if (name2.equalsIgnoreCase(NewWizardsRegistryReader.EXAMPLES_WIZARD_CATEGORY))
-		return -1;
-		
-	if (name1.equalsIgnoreCase(NewWizardsRegistryReader.EXAMPLES_WIZARD_CATEGORY))
-		return 1;
-
-	// note that this must be checked for name2 before name1 because if they're
-	// BOTH equal to BASE_CATEGORY then we want to answer false by convention
-	if (name2.equalsIgnoreCase(NewWizardsRegistryReader.BASE_CATEGORY))
-		return 1;
-		
-	if (name1.equalsIgnoreCase(NewWizardsRegistryReader.BASE_CATEGORY))
-		return -1;
-		
-	return collator.compare(name1, name2);
-}
-/**
- *	Return true if this sorter is affected by a property 
- *	change of propertyName on the specified element.
- */
-public boolean isSorterProperty(Object object, String propertyId) {
-	return propertyId.equals(IBasicPropertyConstants.P_TEXT);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/NewWizardNewPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/NewWizardNewPage.java
deleted file mode 100644
index 40ed7ee..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/NewWizardNewPage.java
+++ /dev/null
@@ -1,370 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.*;
-import java.util.List;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.model.WorkbenchAdapter;
-import org.eclipse.ui.model.*;
-
-/**
- *New wizard selection tab that allows the user to select a registered
- *'New' wizard to be launched
- */
-class NewWizardNewPage implements ISelectionChangedListener, IDoubleClickListener {
-	private WizardCollectionElement wizardCategories;
-	private IWorkbench workbench;
-	private NewWizardSelectionPage page;
-	private IDialogSettings settings;
-	
-	//Keep track of the wizards we have previously selected
-	private Hashtable selectedWizards = new Hashtable();
-
-	private TreeViewer categoryTreeViewer;
-	private TableViewer wizardSelectionViewer;
-
-	private final static int SIZING_LISTS_HEIGHT = 200;
-	private final static int SIZING_LISTS_WIDTH = 150;
-
-	// id constants
-	private final static String STORE_SELECTED_CATEGORY_ID = 
-		"NewWizardSelectionPage.STORE_SELECTED_CATEGORY_ID"; //$NON-NLS-1$
-	private final static String STORE_EXPANDED_CATEGORIES_ID = 
-		"NewWizardSelectionPage.STORE_EXPANDED_CATEGORIES_ID"; //$NON-NLS-1$
-	private final static String STORE_SELECTED_WIZARD_ID = 
-		"NewWizardSelectionPage.STORE_SELECTED_WIZARD_ID"; //$NON-NLS-1$
-/**
- *  Create an instance of this class
- */
-public NewWizardNewPage(NewWizardSelectionPage mainPage, IWorkbench aWorkbench, WizardCollectionElement wizardCategories) {
-	this.page = mainPage;
-	this.workbench = aWorkbench;
-	this.wizardCategories = wizardCategories;
-}
-public void activate() {
-	page.setDescription(WorkbenchMessages.getString("NewWizardNewPage.description")); //$NON-NLS-1$
-	
-	selectionChanged(
-		new SelectionChangedEvent(
-			wizardSelectionViewer,
-			(IStructuredSelection)wizardSelectionViewer.getSelection()));
-		
-}
-/**
- *	Create this tab's visual components
- *
- *	@return org.eclipse.swt.widgets.Control
- *	@param parent org.eclipse.swt.widgets.Composite
- */
-protected Control createControl(Composite parent) {
-	
-	Font wizardFont = parent.getFont();
-	// top level group
-	Composite outerContainer = new Composite(parent,SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 2;
-	outerContainer.setLayout(layout);
-	outerContainer.setFont(wizardFont);
-	outerContainer.setLayoutData(new GridData(
-		GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL));
-				
-	// category tree pane...create SWT tree directly to
-	// get single selection mode instead of multi selection.
-	Tree tree = new Tree(outerContainer, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-	categoryTreeViewer = new TreeViewer(tree);
-	GridData data = new GridData(GridData.FILL_BOTH);
-	data.widthHint = SIZING_LISTS_WIDTH;
-	data.heightHint = SIZING_LISTS_HEIGHT;
-	categoryTreeViewer.getTree().setLayoutData(data);
-	categoryTreeViewer.setContentProvider(new WorkbenchContentProvider());
-	categoryTreeViewer.setLabelProvider(new WorkbenchLabelProvider());
-	categoryTreeViewer.setSorter(NewWizardCollectionSorter.INSTANCE);
-	categoryTreeViewer.addSelectionChangedListener(this);
-	if (wizardCategories.getParent(wizardCategories) == null)
-		categoryTreeViewer.setInput(wizardCategories);
-	else
-		categoryTreeViewer.setInput(new RootElementProxy(wizardCategories));
-	tree.setFont(wizardFont);
-
-	// wizard actions pane...create SWT table directly to
-	// get single selection mode instead of multi selection.
-	Table table = new Table(outerContainer, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-	wizardSelectionViewer = new TableViewer(table);
-	data = new GridData(GridData.FILL_BOTH);
-	data.widthHint = SIZING_LISTS_WIDTH;
-	data.heightHint = SIZING_LISTS_HEIGHT;
-	wizardSelectionViewer.getTable().setLayoutData(data);
-	wizardSelectionViewer.setContentProvider(getWizardProvider());
-	wizardSelectionViewer.setLabelProvider(new WorkbenchLabelProvider());
-	wizardSelectionViewer.addSelectionChangedListener(this);
-	wizardSelectionViewer.addDoubleClickListener(this);
-	table.setFont(wizardFont);
-
-	restoreWidgetValues();
-	if (!categoryTreeViewer.getSelection().isEmpty())
-		// we only set focus if a selection was restored
-		categoryTreeViewer.getTree().setFocus();
-	return outerContainer;
-}
-/**
- *	Create a viewer pane in this group for the passed viewer.
- *
- *	@param parent org.eclipse.swt.widgets.Composite
- *	@param width int
- *	@param height int
- */
-protected Composite createViewPane(Composite parent, int width,int height) {
-	Composite paneWindow = new Composite(parent, SWT.BORDER);
-	GridData spec = new GridData(GridData.FILL_BOTH);
-	spec.widthHint = width;
-	spec.heightHint = height;
-	paneWindow.setLayoutData(spec);
-	paneWindow.setLayout(new FillLayout());
-	return paneWindow;
-}
-/**
- * A wizard in the wizard viewer has been double clicked.
- * Treat it as a selection.
- */
-public void doubleClick(DoubleClickEvent event) {
-	selectionChanged(new SelectionChangedEvent(
-		wizardSelectionViewer,
-		wizardSelectionViewer.getSelection()));
-	page.advanceToNextPage();
-}
-/**
- * Expands the wizard categories in this page's category viewer that were
- * expanded last time this page was used.  If a category that was previously
- * expanded no longer exists then it is ignored.
- */
-protected void expandPreviouslyExpandedCategories() {
-	String[] expandedCategoryPaths = settings.getArray(STORE_EXPANDED_CATEGORIES_ID);
-	List categoriesToExpand = new ArrayList(expandedCategoryPaths.length);
-
-	for (int i = 0; i < expandedCategoryPaths.length; i++){
-		WizardCollectionElement category =
-			wizardCategories.findChildCollection(
-				new Path(expandedCategoryPaths[i]));
-		if (category != null)	// ie.- it still exists
-			categoriesToExpand.add(category);
-	}
-
-	if (!categoriesToExpand.isEmpty())
-		categoryTreeViewer.setExpandedElements(categoriesToExpand.toArray());
-}
-/**
- * Returns the single selected object contained in the passed selectionEvent,
- * or <code>null</code> if the selectionEvent contains either 0 or 2+ selected
- * objects.
- */
-protected Object getSingleSelection(IStructuredSelection selection) {
-	return selection.size() == 1 ? selection.getFirstElement() : null;
-}
-/**
- * Returns the content provider for this page.
- */
-protected IContentProvider getWizardProvider() {
-	//want to get the wizards of the collection element
-	return new WorkbenchContentProvider() {
-		public Object[] getChildren(Object o) {
-			if (o instanceof WizardCollectionElement) {
-				return ((WizardCollectionElement)o).getWizards();
-			}
-			return new Object[0];
-		}
-	};
-}
-/**
- *	Handle the (de)selection of wizard element(s)
- *
- * @param selectionEvent SelectionChangedEvent
- */
-private void handleCategorySelection(SelectionChangedEvent selectionEvent) {
-	page.setErrorMessage(null);
-	page.setMessage(null);
-
-	Object currentSelection = wizardSelectionViewer.getInput();
-	Object selectedCategory =
-		getSingleSelection((IStructuredSelection)selectionEvent.getSelection());
-	if (currentSelection != selectedCategory) {
-		page.selectWizardNode(null);
-		wizardSelectionViewer.setInput(selectedCategory);
-	}
-}
-/**
- *	Handle the (de)selection of wizard element(s)
- *
- *	@param selectionEvent SelectionChangedEvent
- */
-private void handleWizardSelection(SelectionChangedEvent selectionEvent) {
-	page.setErrorMessage(null);
-
-	WorkbenchWizardElement currentSelection =
-		(WorkbenchWizardElement)getSingleSelection((IStructuredSelection)selectionEvent.getSelection());
-		
-	// If no single selection, clear and return
-	if (currentSelection == null) {
-		page.setMessage(null);
-		page.selectWizardNode(null);
-		return;
-	}
-	
-	WorkbenchWizardNode selectedNode;
-	
-	if(selectedWizards.containsKey(currentSelection)){
-		selectedNode = (WorkbenchWizardNode) selectedWizards.get(currentSelection);
-	}
-	else{
-		selectedNode = 
-			new WorkbenchWizardNode(page,currentSelection) {
-				public IWorkbenchWizard createWizard() throws CoreException {
-					return (INewWizard)wizardElement.createExecutableExtension();
-				}
-			};
-		selectedWizards.put(currentSelection,selectedNode);
-	}
-
-	page.selectWizardNode(selectedNode);
-
-	page.setMessage((String)currentSelection.getDescription());
-}
-/**
- *	Set self's widgets to the values that they held last time this page was open
- *
- */
-protected void restoreWidgetValues() {
-	String[] expandedCategoryPaths = settings.getArray(STORE_EXPANDED_CATEGORIES_ID);
-	if (expandedCategoryPaths == null)
-		return;				// no stored values
-
-	expandPreviouslyExpandedCategories();
-	selectPreviouslySelectedCategoryAndWizard();
-}
-/**
- *	Store the current values of self's widgets so that they can
- *	be restored in the next instance of self
- *
- */
-public void saveWidgetValues() {
-	storeExpandedCategories();
-	storeSelectedCategoryAndWizard();
-}
-/**
- *	The user selected either new wizard category(s) or wizard element(s).
- *	Proceed accordingly.
- *
- *	@param newSelection ISelection
- */
-public void selectionChanged(SelectionChangedEvent selectionEvent) {
-	if (selectionEvent.getSelectionProvider().equals(categoryTreeViewer))
-		handleCategorySelection(selectionEvent);
-	else
-		handleWizardSelection(selectionEvent);
-}
-/**
- * Selects the wizard category and wizard in this page that were selected
- * last time this page was used.  If a category or wizard that was previously
- * selected no longer exists then it is ignored.
- */
-protected void selectPreviouslySelectedCategoryAndWizard() {
-	String categoryId = (String)settings.get(STORE_SELECTED_CATEGORY_ID);
-	if (categoryId == null)
-		return;
-	WizardCollectionElement category =
-		wizardCategories.findChildCollection(new Path(categoryId));
-	if (category == null)
-		return;				// category no longer exists, or has moved
-	
-	StructuredSelection selection = new StructuredSelection(category);
-	categoryTreeViewer.setSelection(selection);
-	selectionChanged(new SelectionChangedEvent(categoryTreeViewer,selection));
-
-	String wizardId = (String)settings.get(STORE_SELECTED_WIZARD_ID);
-	if (wizardId == null)
-		return;
-	WorkbenchWizardElement wizard = category.findWizard(wizardId,false);
-	if (wizard == null)
-		return;				// wizard no longer exists, or has moved
-
-	selection = new StructuredSelection(wizard);
-	wizardSelectionViewer.setSelection(selection);
-	selectionChanged(new SelectionChangedEvent(wizardSelectionViewer,selection));
-}
-/**
- *	Set the dialog store to use for widget value storage and retrieval
- *
- *	@param settings IDialogSettings
- */
-public void setDialogSettings(IDialogSettings settings) {
-	this.settings = settings;
-}
-/**
- * Stores the collection of currently-expanded categories in this page's dialog store,
- * in order to recreate this page's state in the next instance of this page.
- */
-protected void storeExpandedCategories() {
-	Object[] expandedElements = categoryTreeViewer.getExpandedElements();
-	String[] expandedElementPaths = new String[expandedElements.length];
-	for (int i = 0; i < expandedElements.length; ++i) {
-		expandedElementPaths[i] =
-			((WizardCollectionElement)expandedElements[i]).getPath().toString();
-	}
-	settings.put(
-		STORE_EXPANDED_CATEGORIES_ID,
-		expandedElementPaths);
-}
-/**
- * Stores the currently-selected category and wizard in this page's dialog store,
- * in order to recreate this page's state in the next instance of this page.
- */
-protected void storeSelectedCategoryAndWizard() {
-	WizardCollectionElement selectedCategory = (WizardCollectionElement)
-		getSingleSelection((IStructuredSelection)categoryTreeViewer.getSelection());
-
-	if (selectedCategory != null) {
-		settings.put(
-			STORE_SELECTED_CATEGORY_ID,
-			selectedCategory.getPath().toString());
-	}
-
-	WorkbenchWizardElement selectedWizard = (WorkbenchWizardElement)
-		getSingleSelection((IStructuredSelection)wizardSelectionViewer.getSelection());
-
-	if (selectedWizard != null) {
-		settings.put(
-			STORE_SELECTED_WIZARD_ID,
-			selectedWizard.getID());
-	}
-}
-
-private static final class RootElementProxy extends WorkbenchAdapter implements IAdaptable {
-	private WizardCollectionElement[] elements;
-	
-	public RootElementProxy(WizardCollectionElement element) {
-		super();
-		elements = new WizardCollectionElement[] {element};
-	}
-	
-	public Object getAdapter(Class adapter) {
-		if (adapter == IWorkbenchAdapter.class)
-			return this;
-		return null;
-	}
-
-	public Object[] getChildren(Object o) {
-		return elements;
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/NewWizardSelectionPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/NewWizardSelectionPage.java
deleted file mode 100644
index bd83cca..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/NewWizardSelectionPage.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-/**
- *	New wizard selection tab that allows the user to either select a
- *	registered 'New' wizard to be launched, or to select a solution or
- *	projects to be retrieved from an available server.  This page
- *	contains two visual tabs that allow the user to perform these tasks.
- */
-class NewWizardSelectionPage extends WorkbenchWizardSelectionPage {
-	private WizardCollectionElement	wizardCategories;
-	
-	// widgets
-	private NewWizardNewPage		newResourcePage;
-/**
- *	Create an instance of this class
- */
-public NewWizardSelectionPage(IWorkbench aWorkbench , IStructuredSelection currentSelection, WizardCollectionElement elements) {
-	// override what superclass does with elements
-	super("newWizardSelectionPage", aWorkbench, currentSelection, null);//$NON-NLS-1$
-	setDescription(WorkbenchMessages.getString("NewWizardSelectionPage.description")); //$NON-NLS-1$
-	wizardCategories = elements;	
-}
-/**
- * Makes the next page visible.
- */
-public void advanceToNextPage() {
-	getContainer().showPage(getNextPage());
-}
-/** (non-Javadoc)
- * Method declared on IDialogPage.
- */
-public void createControl(Composite parent) {
-	IDialogSettings settings = getDialogSettings();
-	newResourcePage = new NewWizardNewPage(this, this.workbench, wizardCategories);
-	newResourcePage.setDialogSettings(settings);
-
-	Control control = newResourcePage.createControl(parent);
-	WorkbenchHelp.setHelp(control, IHelpContextIds.NEW_WIZARD_SELECTION_WIZARD_PAGE);
-	setControl(control);
-}
-/**
- * Since Finish was pressed, write widget values to the dialog store so that they
- *will persist into the next invocation of this wizard page
- */
-protected void saveWidgetValues() {
-	newResourcePage.saveWidgetValues();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/OpenResourceDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/OpenResourceDialog.java
deleted file mode 100644
index 381bd2b..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/OpenResourceDialog.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-*************************************************************************/
-package org.eclipse.ui.internal.dialogs;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.ResourceListSelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * Shows a list of resources to the user with a text entry field
- * for a string pattern used to filter the list of resources.
- *
- * @since 2.1
- */
-public class OpenResourceDialog extends ResourceListSelectionDialog {
-
-/**
- * Creates a new instance of the class.
- */
-public OpenResourceDialog(Shell parentShell, IResource resources[]) {
-	super(parentShell, resources);
-	setTitle(WorkbenchMessages.getString("OpenResourceDialog.title")); //$NON-NLS-1$
-	WorkbenchHelp.setHelp(parentShell, IHelpContextIds.OPEN_RESOURCE_DIALOG);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PathVariableDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PathVariableDialog.java
deleted file mode 100644
index 47d533b..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PathVariableDialog.java
+++ /dev/null
@@ -1,536 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are 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
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- * Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog font should be
- * activated and used by other components.
- * *********************************************************************/
-
-package org.eclipse.ui.internal.dialogs;
-
-import java.io.File;
-import java.util.Set;
-import org.eclipse.core.resources.IPathVariableManager;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * Dialog that prompts the user for defining a variable's name and value. It
- * supports creating a new variable or editing an existing one. The difference
- * between the two uses is just a matter of which messages to present to the
- * user and whether the "Ok" button starts enabled or not.
- */
-public class PathVariableDialog extends TitleAreaDialog {
-
-	// UI widgets
-	private Button okButton;
-	private Label variableNameLabel;
-	private Label variableValueLabel;
-	private Text variableNameField;
-	private Text variableValueField;
-	private Button fileButton;
-	private Button folderButton;
-
-	/**
-	 * This dialog type: <code>NEW_VARIABLE</code> or
-	 * <code>EXISTING_VARIABLE</code>.
-	 */
-	private int type;
-	/**
-	 * The type of variable that can be edited in this dialog.
-	 * <code>IResource.FILE</code> or <code>IResource.FOLDER</code>
-	 */
-	private int variableType;
-	/**
-	 * The name of the variable being edited.
-	 */
-	private String variableName;
-	/**
-	 * The value of the variable being edited.
-	 */
-	private String variableValue;
-	/**
-	 * The original name of the variable being edited. It is used when testing
-	 * if the current variable's name is already in use.
-	 */
-	private String originalName;
-
-	/**
-	 * Used to select the proper message depending on the current mode
-	 * (new/existing variable).
-	 */
-	private String typeKeySuffix;
-
-	/**
-	 * Reference to the path variable manager. It is used for validating
-	 * variable names.
-	 */
-	private IPathVariableManager pathVariableManager;
-
-	/**
-	 * Set of variable names currently in use. Used when warning the user that
-	 * the currently selected name is already in use by another variable.
-	 */
-	private Set namesInUse;
-
-	/**
-	 * The current validation status. Its value can be one of the following:<ul>
-	 * <li><code>IMessageProvider.NONE</code> (default);</li>
-	 * <li><code>IMessageProvider.WARNING</code>;</li>
-	 * <li><code>IMessageProvider.ERROR</code>;</li>
-	 * </ul>
-	 * Used when validating the user input.
-	 */
-	private int validationStatus;
-
-	/**
-	 * The current validation message generated by the last
-	 * call to a <code>validate</code> method.
-	 */
-	private String validationMessage;
-
-	/**
-	 * Whether a variable name has been entered.  
-	 */
-	private boolean nameEntered = false;
-
-	/**
-	 * Whether a variable location has been entered.  
-	 */
-	private boolean locationEntered = false;
-	
-	/**
-	 * The standard message to be shown when there are no problems being
-	 * reported.
-	 */
-	final private String standardMessage;
-
-	/**
-	 * Constant for defining this dialog as intended to create a new variable
-	 * (value = 1).
-	 */
-	public final static int NEW_VARIABLE = 1;
-	/**
-	 * Constant for defining this dialog as intended to edit an existing
-	 * variable (value = 2).
-	 */
-	public final static int EXISTING_VARIABLE = 2;
-
-	/**
-	 * Constructs a dialog for editing a new/existing path variable.
-	 * 
-	 * @param parentShell the parent shell
-	 * @param type the dialog type: <code>NEW_VARIABLE</code> or
-	 * 	<code>EXISTING_VARIABLE</code>
-	 * @param variableType the type of variable that can be edited in 
-	 * 	this dialog. <code>IResource.FILE</code> or <code>IResource.FOLDER</code>
-	 * @param pathVariableManager a reference to the path variable manager
-	 * @param namesInUse a set of variable names currently in use 
-	 */
-	public PathVariableDialog(Shell parentShell, int type, int variableType, IPathVariableManager pathVariableManager, Set namesInUse) {
-		super(parentShell);
-		this.type = type;
-		this.typeKeySuffix = type == NEW_VARIABLE ? "newVariable" : "existingVariable"; //$NON-NLS-1$ //$NON-NLS-2$        
-		this.variableName = ""; //$NON-NLS-1$
-		this.variableValue = ""; //$NON-NLS-1$
-		this.variableType = variableType;
-		this.pathVariableManager = pathVariableManager;
-		this.namesInUse = namesInUse;
-
-		this.standardMessage = WorkbenchMessages.getString("PathVariableDialog.message." + typeKeySuffix); //$NON-NLS-1$
-	}
-	/**
-	 * Configures this dialog's shell, setting the shell's text.
-	 * 
-	 * @see org.eclipse.jface.window.Window#configureShell(Shell)
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		shell.setText(WorkbenchMessages.getString("PathVariableDialog.shellTitle." + typeKeySuffix)); //$NON-NLS-1$
-	}
-	/**
-	 * Creates and returns the contents of this dialog (except for the button bar).
-	 * 
-	 * @see org.eclipse.jface.dialogs.TitleAreaDialog#createDialogArea
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// top level composite
-		Composite parentComposite = (Composite) super.createDialogArea(parent);
-
-		// creates dialog area composite
-		Composite contents = createComposite(parentComposite);
-
-		// creates and lay outs dialog area widgets 
-		createWidgets(contents, parent.getFont());
-
-		// validate possibly already incorrect variable definitions
-		if (type == EXISTING_VARIABLE) {
-			nameEntered = locationEntered = true;
-			validateVariableValue();
-		}
-
-		return contents;
-	}
-
-	/**
-	 * Creates and configures this dialog's main composite.
-	 * 
-	 * @param parentComposite parent's composite
-	 * @return this dialog's main composite
-	 */
-	private Composite createComposite(Composite parentComposite) {
-		// creates a composite with standard margins and spacing
-		Composite contents = new Composite(parentComposite, SWT.NONE);
-
-		FormLayout layout = new FormLayout();
-
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-
-		contents.setLayout(layout);
-		contents.setFont(parentComposite.getFont());
-
-		setTitle(WorkbenchMessages.getString("PathVariableDialog.dialogTitle." + typeKeySuffix)); //$NON-NLS-1$
-		setMessage(standardMessage);
-		return contents;
-	}
-
-	/**
-	 * Creates widgets for this dialog.
-	 * 
-	 * @param parent the parent composite where to create widgets
-	 * @param contents 
-	 */
-	private void createWidgets(Composite contents, Font font) {
-		FormData data;
-
-		String nameLabelText = WorkbenchMessages.getString("PathVariableDialog.variableName"); //$NON-NLS-1$
-		String valueLabelText = WorkbenchMessages.getString("PathVariableDialog.variableValue"); //$NON-NLS-1$
-
-		// variable name label
-		variableNameLabel = new Label(contents, SWT.LEFT);
-		variableNameLabel.setText(nameLabelText);
-
-		data = new FormData();
-		variableNameLabel.setLayoutData(data);
-		variableNameLabel.setFont(font);
-
-		// variable value label
-		variableValueLabel = new Label(contents, SWT.LEFT);
-		variableValueLabel.setText(valueLabelText);
-
-		data = new FormData();
-		data.top = new FormAttachment(variableNameLabel, convertVerticalDLUsToPixels(10));
-		variableValueLabel.setLayoutData(data);
-		variableValueLabel.setFont(font);
-
-		// the larger label will be used in the left attachments for the fields  
-		Label largerLabel = nameLabelText.length() > valueLabelText.length() ? variableNameLabel : variableValueLabel;
-
-		// variable name field
-		variableNameField = new Text(contents, SWT.SINGLE | SWT.BORDER);
-		variableNameField.setText(variableName);
-
-		data = new FormData();
-		data.width = convertWidthInCharsToPixels(50);
-		data.left = new FormAttachment(largerLabel, convertHorizontalDLUsToPixels(5));
-		variableNameField.setLayoutData(data);
-		variableNameField.setFont(font);
-		variableNameField.setFocus();
-
-		variableNameField.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent event) {
-				variableNameModified();
-			}
-		});
-
-		// variable value field
-		variableValueField = new Text(contents, SWT.SINGLE | SWT.BORDER);
-		variableValueField.setText(variableValue);
-
-		data = new FormData();
-		data.width = convertWidthInCharsToPixels(50);
-		data.left = new FormAttachment(largerLabel, convertHorizontalDLUsToPixels(5));
-		data.top = new FormAttachment(variableNameLabel, convertVerticalDLUsToPixels(10));
-		variableValueField.setLayoutData(data);
-		variableValueField.setFont(font);
-		
-		variableValueField.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent event) {
-				variableValueModified();
-			}
-		});
-
-		// select file path button
-		fileButton = new Button(contents, SWT.PUSH);
-		fileButton.setText(WorkbenchMessages.getString("PathVariableDialog.file")); //$NON-NLS-1$
-		if ((variableType & IResource.FILE) == 0)
-			fileButton.setEnabled(false);
-
-		data = setButtonFormLayoutData(fileButton);
-		data.top = new FormAttachment(variableNameLabel, convertVerticalDLUsToPixels(10));
-		data.left = new FormAttachment(variableValueField, convertHorizontalDLUsToPixels(10));
-		data.right = new FormAttachment(100, -5);
-		fileButton.setLayoutData(data);
-		fileButton.setFont(font);
-
-		fileButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectFile();
-			}
-		});
-
-		// select folder path button
-		folderButton = new Button(contents, SWT.PUSH);
-		folderButton.setText(WorkbenchMessages.getString("PathVariableDialog.folder")); //$NON-NLS-1$
-		if ((variableType & IResource.FOLDER) == 0)
-			folderButton.setEnabled(false);
-
-		data = setButtonFormLayoutData(folderButton);
-		data.top = new FormAttachment(variableValueLabel, convertVerticalDLUsToPixels(10));
-		data.left = new FormAttachment(variableValueField, convertHorizontalDLUsToPixels(10));
-		data.right = new FormAttachment(100, -5);
-		folderButton.setLayoutData(data);
-		folderButton.setFont(font);
-
-		folderButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectFolder();
-			}
-		});
-	}
-
-	/**
-	 * Sets the <code>FormData</code> on the specified button to be one that is
-	 * spaced for the current dialog page units. The method
-	 * <code>initializeDialogUnits</code> must be called once before calling this
-	 * method for the first time.
-	 * 
-	 * @param button the button to set the <code>FormData</code>
-	 * @return the <code>FormData</code> set on the specified button
-	 */
-	private FormData setButtonFormLayoutData(Button button) {
-		FormData data = new FormData();
-		data.height = convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-		int widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		data.width = Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-		button.setLayoutData(data);
-		return data;
-	}
-
-	/**
-	 * Fires validations (variable name first) and updates enabled state for the
-	 * "Ok" button accordingly.
-	 */
-	private void variableNameModified() {
-		// updates and validates the variable name
-		variableName = variableNameField.getText().trim();
-		validationStatus = IMessageProvider.NONE;
-		okButton.setEnabled(validateVariableName() && validateVariableValue());
-		nameEntered = true;
-	}
-	/**
-	 * Fires validations (variable value first) and updates enabled state for the
-	 * "Ok" button accordingly.
-	 */
-	private void variableValueModified() {
-		// updates and validates the variable value
-		variableValue = variableValueField.getText().trim();
-		validationStatus = IMessageProvider.NONE;
-		okButton.setEnabled(validateVariableValue() && validateVariableName());
-		locationEntered = true;
-	}
-
-	/**
-	 * Opens a dialog where the user can select a folder path.
-	 */
-	private void selectFolder() {
-		DirectoryDialog dialog = new DirectoryDialog(getShell());
-		dialog.setText(WorkbenchMessages.getString("PathVariableDialog.selectFolderTitle")); //$NON-NLS-1$
-		dialog.setMessage(WorkbenchMessages.getString("PathVariableDialog.selectFolderMessage")); //$NON-NLS-1$
-		dialog.setFilterPath(variableValue);
-		String res = dialog.open();
-		if (res != null) {
-			variableValue = new Path(res).makeAbsolute().toString();
-			variableValueField.setText(variableValue);
-		}
-	}
-
-	/**
-	 * Opens a dialog where the user can select a file path.
-	 */
-	private void selectFile() {
-		FileDialog dialog = new FileDialog(getShell());
-		dialog.setText(WorkbenchMessages.getString("PathVariableDialog.selectFileTitle")); //$NON-NLS-1$
-		dialog.setFilterPath(variableValue);
-		String res = dialog.open();
-		if (res != null) {
-			variableValue = new Path(res).makeAbsolute().toString();
-			variableValueField.setText(variableValue);
-		}
-	}
-
-	/**
-	 * Adds buttons to this dialog's button bar.
-	 * 
-	 * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		okButton.setEnabled(type == EXISTING_VARIABLE);
-
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-
-	/**
-	 * Validates the current variable name, and updates this dialog's message.
-	 * 
-	 * @return true if the name is valid, false otherwise
-	 */
-	private boolean validateVariableName() {
-		boolean allowFinish = false;
-		
-		// if the current validationStatus is ERROR, no additional validation applies
-		if (validationStatus == IMessageProvider.ERROR)
-			return false;
-
-		// assumes everything will be ok
-		String message = standardMessage;
-		int newValidationStatus = IMessageProvider.NONE;
-
-		if (variableName.length() == 0) {
-			// the variable name is empty
-			if (nameEntered) {
-				// a name was entered before and is now empty
-				newValidationStatus = IMessageProvider.ERROR;				
-				message = WorkbenchMessages.getString("PathVariableDialog.variableNameEmptyMessage"); //$NON-NLS-1$
-			}
-		} else {
-			IStatus status = pathVariableManager.validateName(variableName);
-			if (!status.isOK()) {
-				// the variable name is not valid
-				newValidationStatus = IMessageProvider.ERROR;
-				message = status.getMessage();
-			} else if (namesInUse.contains(variableName) && !variableName.equals(originalName)) {
-				// the variable name is already in use
-				message = WorkbenchMessages.getString("PathVariableDialog.variableAlreadyExistsMessage"); //$NON-NLS-1$
-				newValidationStatus = IMessageProvider.ERROR;
-			} else {
-				allowFinish = true;
-			}
-		}
-
-		// overwrite the current validation status / message only if everything is ok (clearing them)
-		// or if we have a more serious problem than the current one
-		if (validationStatus == IMessageProvider.NONE || newValidationStatus == IMessageProvider.ERROR) {
-			validationStatus = newValidationStatus;
-			validationMessage = message;
-		}
-		// only set the message here if it is not going to be set in 
-		// validateVariableValue to avoid flashing.
-		if (allowFinish == false)
-			setMessage(validationMessage, validationStatus);
-		return allowFinish;
-	}
-
-	/**
-	 * Validates the current variable value, and updates this dialog's message.
-	 * 
-	 * @return true if the value is valid, false otherwise
-	 */
-	private boolean validateVariableValue() {
-		boolean allowFinish = false;
-
-		// if the current validationStatus is ERROR, no additional validation applies
-		if (validationStatus == IMessageProvider.ERROR)
-			return false;
-
-		// assumes everything will be ok
-		String message = standardMessage;
-		int newValidationStatus = IMessageProvider.NONE;
-
-		if (variableValue.length() == 0) {
-			// the variable value is empty
-			if (locationEntered) {
-				// a location value was entered before and is now empty
-				newValidationStatus = IMessageProvider.ERROR;
-				message = WorkbenchMessages.getString("PathVariableDialog.variableValueEmptyMessage"); //$NON-NLS-1$
-			}			
-		} else if (!Path.EMPTY.isValidPath(variableValue)) {
-			// the variable value is an invalid path
-			message = WorkbenchMessages.getString("PathVariableDialog.variableValueInvalidMessage"); //$NON-NLS-1$
-			newValidationStatus = IMessageProvider.ERROR;
-		} else if (!new Path(variableValue).isAbsolute()) {
-			// the variable value is a relative path
-			message = WorkbenchMessages.getString("PathVariableDialog.pathIsRelativeMessage"); //$NON-NLS-1$
-			newValidationStatus = IMessageProvider.ERROR;
-		} else if (!new File(variableValue).exists()) {
-			// the path does not exist (warning)
-			message = WorkbenchMessages.getString("PathVariableDialog.pathDoesNotExistMessage"); //$NON-NLS-1$
-			newValidationStatus = IMessageProvider.WARNING;
-			allowFinish = true;
-		} else {
-			allowFinish = true;
-		}
-
-		// overwrite the current validation status / message only if everything is ok (clearing them)
-		// or if we have a more serious problem than the current one
-		if (validationStatus == IMessageProvider.NONE || newValidationStatus > validationStatus) {
-			validationStatus = newValidationStatus;
-			validationMessage = message;
-		}
-		setMessage(validationMessage, validationStatus);		
-		return allowFinish;
-	}
-
-	/**
-	 * Returns the variable name.
-	 * 
-	 * @return the variable name
-	 */
-	public String getVariableName() {
-		return variableName;
-	}
-
-	/**
-	 * Returns the variable value.
-	 * 
-	 * @return the variable value
-	 */
-	public String getVariableValue() {
-		return variableValue;
-	}
-
-	/**
-	 * Sets the variable name.
-	 * 
-	 * @param variableName the new variable name
-	 */
-	public void setVariableName(String variableName) {
-		this.variableName = variableName.trim();
-		this.originalName = this.variableName;
-	}
-
-	/**
-	 * Sets the variable value.
-	 * 
-	 * @param variableValue the new variable value
-	 */
-	public void setVariableValue(String variableValue) {
-		this.variableValue = variableValue;
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PathVariableSelectionDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PathVariableSelectionDialog.java
deleted file mode 100644
index 33278e6..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PathVariableSelectionDialog.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (c) 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
- */
-package org.eclipse.ui.internal.dialogs;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.dialogs.SelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * A selection dialog which shows the path variables defined in the 
- * workspace.
- * The <code>getResult</code> method returns the name(s) of the 
- * selected path variable(s).
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- *  PathVariableSelectionDialog dialog =
- *    new PathVariableSelectionDialog(getShell(), IResource.FOLDER);
- *	dialog.open();
- *	String[] result = (String[]) dialog.getResult();
- * </pre> 	
- * </p>
- */
-public class PathVariableSelectionDialog extends SelectionDialog {
-	private PathVariablesGroup pathVariablesGroup;
-
-/**
- * Creates a path variable selection dialog.
- *
- * @param parentShell the parent shell
- * @param variableType the type of variables that are displayed in 
- * 	this dialog. <code>IResource.FILE</code> and/or <code>IResource.FOLDER</code>
- * 	logically ORed together.
- */
-public PathVariableSelectionDialog(Shell parentShell, int variableType) {
-	super(parentShell);
-	setTitle(WorkbenchMessages.getString("PathVariableSelectionDialog.title")); //$NON-NLS-1$
-	pathVariablesGroup = new PathVariablesGroup(false, variableType);
-	setShellStyle(getShellStyle() | SWT.RESIZE);
-}
-/* (non-Javadoc)
- * Method declared in Window.
- */
-protected void configureShell(Shell shell) {
-	super.configureShell(shell);
-	WorkbenchHelp.setHelp(shell, IHelpContextIds.PATH_VARIABLE_SELECTION_DIALOG);
-}
-/* (non-Javadoc)
- * Method declared on Dialog.
- */
-protected Control createDialogArea(Composite parent) {
-	// create composite 
-	Composite dialogArea = (Composite)super.createDialogArea(parent);
-
-	pathVariablesGroup.createContents(dialogArea);
-	return dialogArea;
-}
-/**
- * Disposes the path variables group.
- * @see org.eclipse.jface.window.Window#close()
- */
-public boolean close() {
-	pathVariablesGroup.dispose();
-	return super.close();
-}
-/**
- * Sets the dialog result to the selected path variable name(s). 
- */
-protected void okPressed() {
-	if (pathVariablesGroup.performOk()) {
-		String[] variableNames = pathVariablesGroup.getSelection(); 
-		setSelectionResult(variableNames);
-	}
-	else {
-		setSelectionResult(null);
-	}
-	super.okPressed();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PathVariablesGroup.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PathVariablesGroup.java
deleted file mode 100644
index 62f156c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PathVariablesGroup.java
+++ /dev/null
@@ -1,448 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-package org.eclipse.ui.internal.dialogs;
-
-import java.io.File;
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.WorkbenchImages;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * A widget group that displays path variables. 
- * Includes buttons to edit, remove existing variables and create new ones.
- * 
- * @since 2.1
- */
-public class PathVariablesGroup {
-	// sizing constants
-	private static final int SIZING_SELECTION_PANE_WIDTH = 400;
-
-	// parent shell
-	private Shell shell;
-	
-	private Table variableTable;
-	private Button addButton;
-	private Button editButton;
-	private Button removeButton;
-
-	// used to compute layout sizes
-	private FontMetrics fontMetrics;
-
-	// create a multi select table
-	private boolean multiSelect;
-	// IResource.FILE and/or IResource.FOLDER
-	private int variableType;
-	// temporary collection for keeping currently defined variables
-	private SortedMap tempPathVariables;
-	// set of removed variables' names
-	private Set removedVariableNames;
-	// reference to the workspace's path variable manager
-	private IPathVariableManager pathVariableManager;
-	
-	// file image
-	private final Image FILE_IMG = WorkbenchImages.getImage(ISharedImages.IMG_OBJ_FILE);
-	// folder image
-	private final Image FOLDER_IMG = WorkbenchImages.getImage(ISharedImages.IMG_OBJ_FOLDER);
-	// unknown (non-existent) image. created locally, dispose locally
-	private Image imageUnkown;
-
-	/**
-	 * Creates a new PathVariablesGroup.
-	 *
-	 * @param multiSelect create a multi select tree
-	 * @param variableType the type of variables that are displayed in 
-	 * 	the widget group. <code>IResource.FILE</code> and/or <code>IResource.FOLDER</code>
-	 * 	logically ORed together.
-	 */
-	public PathVariablesGroup(boolean multiSelect, int variableType) {
-		this.multiSelect = multiSelect;
-		this.variableType = variableType;
-		pathVariableManager = ResourcesPlugin.getWorkspace().getPathVariableManager();
-		removedVariableNames = new HashSet();
-		tempPathVariables = new TreeMap();
-		// initialize internal model
-		initTemporaryState();
-	}
-	/**
-	 * Opens a dialog for creating a new variable.
-	 */
-	private void addNewVariable() {
-		// constructs a dialog for editing the new variable's current name and value
-		PathVariableDialog dialog =
-			new PathVariableDialog(
-				shell, 
-				PathVariableDialog.NEW_VARIABLE, 
-				variableType, 
-				pathVariableManager, 
-				tempPathVariables.keySet());
-
-		// opens the dialog - just returns if the user cancels it
-		if (dialog.open() == Window.CANCEL)
-			return;
-
-		// otherwise, adds the new variable (or updates an existing one) in the
-		// temporary collection of currently defined variables
-		String newVariableName = dialog.getVariableName();
-		IPath newVariableValue = new Path(dialog.getVariableValue());
-		tempPathVariables.put(newVariableName, newVariableValue);
-
-		// the UI must be updated
-		updateWidgetState(newVariableName);
-	}
-	/**
-	 * Creates the widget group.
-	 * Callers must call <code>dispose</code> when the group is no 
-	 * longer needed.
-	 * 
-	 * @param parent the widget parent
-	 * @return container of the widgets 
-	 */
-	public Control createContents(Composite parent) {
-		Font font = parent.getFont();
-
-		if (imageUnkown == null ) {
-			ImageDescriptor descriptor = WorkbenchImages.getImageDescriptorFromPluginID(
-				PlatformUI.PLUGIN_ID, 
-				"icons/full/obj16/question.gif");	//$NON-NLS-1$
-			imageUnkown = descriptor.createImage();
-		}
-		initializeDialogUnits(parent);
-		shell = parent.getShell();		
-
-		// define container & its layout
-		Composite pageComponent = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		pageComponent.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = SIZING_SELECTION_PANE_WIDTH;
-		pageComponent.setLayoutData(data);
-		pageComponent.setFont(font);
-
-		// layout the table & its buttons
-		Label variableLabel = new Label(pageComponent, SWT.LEFT);
-		variableLabel.setText(WorkbenchMessages.getString("PathVariablesBlock.variablesLabel")); //$NON-NLS-1$
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.horizontalSpan = 2;
-		variableLabel.setLayoutData(data);
-		variableLabel.setFont(font);
-
-		int tableStyle = SWT.BORDER | SWT.FULL_SELECTION;
-		if (multiSelect) {
-			tableStyle |= SWT.MULTI;
-		}
-		variableTable = new Table(pageComponent, tableStyle);
-		variableTable.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateEnabledState();
-			}
-		});
-		data = new GridData(GridData.FILL_BOTH);
-		data.heightHint = variableTable.getItemHeight() * 7;
-		variableTable.setLayoutData(data);
-		variableTable.setFont(font);
-
-		createButtonGroup(pageComponent);
-		// populate table with current internal state and set buttons' initial state
-		updateWidgetState(null);
-
-		return pageComponent;
-	}
-	/**
-	 * Disposes the group's resources. 
-	 */
-	public void dispose() {
-		if (imageUnkown != null) {
-			imageUnkown.dispose();
-			imageUnkown = null;
-		}
-	}
-	/**
-	 * Opens a dialog for editing an existing variable.
-	 *
-	 * @see PathVariableDialog
-	 */
-	private void editSelectedVariable() {
-		// retrieves the name and value for the currently selected variable
-		TableItem item = variableTable.getItem(variableTable.getSelectionIndex());
-		String variableName = (String) item.getData();
-		IPath variableValue = (IPath) tempPathVariables.get(variableName);
-
-		// constructs a dialog for editing the variable's current name and value
-		PathVariableDialog dialog =
-			new PathVariableDialog(
-				shell, 
-				PathVariableDialog.EXISTING_VARIABLE, 
-				variableType,
-				pathVariableManager, 
-				tempPathVariables.keySet());
-		dialog.setVariableName(variableName);
-		dialog.setVariableValue(variableValue.toString());
-
-		// opens the dialog - just returns if the user cancels it
-		if (dialog.open() == Window.CANCEL)
-			return;
-
-		// the name can be changed, so we remove the current variable definition...
-		removedVariableNames.add(variableName);
-		tempPathVariables.remove(variableName);
-
-		String newVariableName = dialog.getVariableName();
-		IPath newVariableValue = new Path(dialog.getVariableValue());
-
-		// and add it again (maybe with a different name)
-		tempPathVariables.put(newVariableName, newVariableValue);
-
-		// now we must refresh the UI state
-		updateWidgetState(newVariableName);
-
-	}
-	/**
-	 * Returns the names of the selected variables.
-	 *  
-	 * @return the names of the selected variables. Returns an empty 
-	 * 	array if the widget group has not been created yet by calling 
-	 * 	<code>createContents</code>
-	 */
-	public String[] getSelection() {
-		if (variableTable == null) {
-			return new String[0];
-		}
-		TableItem[] items = variableTable.getSelection();
-		String[] variableNames = new String[items.length];
-		
-		for (int i = 0; i < items.length; i++) {
-			variableNames[i] = (String) items[i].getData();
-		}
-		return variableNames;
-	}
-	/**
-	 * Creates the add/edit/remove buttons
-	 * 
-	 * @param parent the widget parent
-	 */
-	private void createButtonGroup(Composite parent) {
-		Font font = parent.getFont();
-		Composite groupComponent = new Composite(parent, SWT.NULL);
-		GridLayout groupLayout = new GridLayout();
-		groupLayout.marginWidth = 0;
-		groupLayout.marginHeight = 0;
-		groupComponent.setLayout(groupLayout);
-		GridData data = new GridData();
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalAlignment = GridData.FILL;
-		groupComponent.setLayoutData(data);
-		groupComponent.setFont(font);
-
-		addButton = new Button(groupComponent, SWT.PUSH);
-		addButton.setText(WorkbenchMessages.getString("PathVariablesBlock.addVariableButton")); //$NON-NLS-1$
-		addButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				addNewVariable();
-			}
-		});
-		addButton.setFont(font);
-		setButtonLayoutData(addButton);
-
-		editButton = new Button(groupComponent, SWT.PUSH);
-		editButton.setText(WorkbenchMessages.getString("PathVariablesBlock.editVariableButton")); //$NON-NLS-1$
-		editButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				editSelectedVariable();
-			}
-		});
-		editButton.setFont(font);
-		setButtonLayoutData(editButton);
-
-		removeButton = new Button(groupComponent, SWT.PUSH);
-		removeButton.setText(WorkbenchMessages.getString("PathVariablesBlock.removeVariableButton")); //$NON-NLS-1$
-		removeButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				removeSelectedVariables();
-			}
-		});
-		removeButton.setFont(font);
-		setButtonLayoutData(removeButton);
-	}
-	/**
-	 * Initializes the computation of horizontal and vertical dialog units
-	 * based on the size of current font.
-	 * <p>
-	 * This method must be called before <code>setButtonLayoutData</code> 
-	 * is called.
-	 * </p>
-	 *
-	 * @param control a control from which to obtain the current font
-	 */
-	protected void initializeDialogUnits(Control control) {
-		// Compute and store a font metric
-		GC gc = new GC(control);
-		gc.setFont(control.getFont());
-		fontMetrics = gc.getFontMetrics();
-		gc.dispose();
-	}
-	/**
-	 * (Re-)Initialize collections used to mantain temporary variable state.
-	 */
-	private void initTemporaryState() {
-		String[] varNames = pathVariableManager.getPathVariableNames();
-
-		tempPathVariables.clear();		
-		for (int i = 0; i < varNames.length; i++) {
-			IPath value = pathVariableManager.getValue(varNames[i]);
-			
-			// the value may not exist any more
-			if (value != null) {
-				boolean isFile = value.toFile().isFile();
-				if ((isFile && (variableType & IResource.FILE) != 0) ||
-				 	(isFile == false && (variableType & IResource.FOLDER) != 0)) {
-			 
-					tempPathVariables.put(varNames[i], value);
-				}
-			}
-		}
-		removedVariableNames.clear();
-	}
-	/**
-	 * Updates button enabled state, depending on the number of currently selected
-	 * variables in the table.
-	 */
-	private void updateEnabledState() {
-		int itemsSelectedCount = variableTable.getSelectionCount();
-		editButton.setEnabled(itemsSelectedCount == 1);
-		removeButton.setEnabled(itemsSelectedCount > 0);
-	}
-	/**
-	 * Rebuilds table widget state with the current list of variables (reflecting
-	 * any changes, additions and removals), and selects the item corresponding to
-	 * the given variable name. If the variable name is <code>null</code>, the
-	 * first item (if any) will be selected.
-	 * 
-	 * @param selectedVarName the name for the variable to be selected (may be
-	 * <code>null</code>)
-	 * @see IPathVariableManager#getPathVariableNames()
-	 * @see IPathVariableManager#getValue(String)
-	 */
-	private void updateVariableTable(String selectedVarName) {
-		variableTable.removeAll();
-		int selectedVarIndex = 0;
-		for (Iterator varNames = tempPathVariables.keySet().iterator(); varNames.hasNext();) {
-			TableItem item = new TableItem(variableTable, SWT.NONE);
-			String varName = (String) varNames.next();
-			IPath value = (IPath) tempPathVariables.get(varName);
-			File file = value.toFile();
-			
-			item.setText(varName + " - " + value.toString()); //$NON-NLS-1$ 
-			// the corresponding variable name is stored in each table widget item
-			item.setData(varName);
-			item.setImage(file.exists() ? (file.isFile() ? FILE_IMG : FOLDER_IMG) : imageUnkown);
-			if (varName.equals(selectedVarName))
-				selectedVarIndex = variableTable.getItemCount() - 1;
-		}
-		if (variableTable.getItemCount() > selectedVarIndex)
-			variableTable.setSelection(selectedVarIndex);
-	}
-	/**
-	 * Commits the temporary state to the path variable manager in response to user
-	 * confirmation.
-	 *
-	 * @see IPathVariableManager#setValue(String, IPath)
-	 */
-	public boolean performOk() {
-		try {
-			// first process removed variables  
-			for (Iterator removed = removedVariableNames.iterator(); removed.hasNext();) {
-				String removedVariableName = (String) removed.next();
-				// only removes variables that have not been added again
-				if (!tempPathVariables.containsKey(removedVariableName))
-					pathVariableManager.setValue(removedVariableName, null);
-			}
-
-			// then process the current collection of variables, adding/updating them
-			for (Iterator current = tempPathVariables.entrySet().iterator(); current.hasNext();) {
-				Map.Entry entry = (Map.Entry) current.next();
-				String variableName = (String) entry.getKey();
-				IPath variableValue = (IPath) entry.getValue();
-				pathVariableManager.setValue(variableName, variableValue);
-			}
-			// re-initialize temporary state
-			initTemporaryState();
-
-			// performOk accepted
-			return true;
-		} catch (CoreException ce) {
-			ErrorDialog.openError(shell, null, null, ce.getStatus());
-		}
-		return false;
-	}
-	/**
-	 * Removes the currently selected variables.
-	 */
-	private void removeSelectedVariables() {
-		// remove each selected element
-		int[] selectedIndices = variableTable.getSelectionIndices();
-		for (int i = 0; i < selectedIndices.length; i++) {
-			TableItem selectedItem = variableTable.getItem(selectedIndices[i]);
-			String varName = (String) selectedItem.getData();
-			removedVariableNames.add(varName);
-			tempPathVariables.remove(varName);
-		}
-		updateWidgetState(null);
-	}
-	/**
-	 * Sets the <code>GridData</code> on the specified button to
-	 * be one that is spaced for the current dialog page units. The
-	 * method <code>initializeDialogUnits</code> must be called once
-	 * before calling this method for the first time.
-	 *
-	 * @param button the button to set the <code>GridData</code>
-	 * @return the <code>GridData</code> set on the specified button
-	 */
-	private GridData setButtonLayoutData(Button button) {
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.heightHint = Dialog.convertVerticalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_HEIGHT);
-		int widthHint = Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_WIDTH);
-		data.widthHint = Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-		button.setLayoutData(data);
-		return data;
-	}
-	/**
-	 * Updates the widget's current state: refreshes the table with the current 
-	 * defined variables, selects the item corresponding to the given variable 
-	 * (selects the first item if <code>null</code> is provided) and updates 
-	 * the enabled state for the Add/Remove/Edit buttons.
-	 * 
-	 * @param selectedVarName the name of the variable to be selected (may be null)
-	 */
-	private void updateWidgetState(String selectedVarName) {
-		updateVariableTable(selectedVarName);
-		updateEnabledState();
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PathVariablesPreferencePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PathVariablesPreferencePage.java
deleted file mode 100644
index ac4ff43..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PathVariablesPreferencePage.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are 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
- * 
- * Contributors: 
- *	 IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.ui.internal.dialogs;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * Preference page for path variables. This preference page shows all path
- * variables currently defined in the workspace's path variable manager. It
- * allows the user to add, edit and remove path variables. The changes are kept
- * in temporary collections, so only when the user confirms them (by confirming
- * when closing the "Preferences" dialog) all changes are effectively commited
- * to the path variable manager.
- * 
- * @see org.eclipse.ui.internal.dialogs.PathVariableDialog
- */
-public class PathVariablesPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-
-	private PathVariablesGroup pathVariablesGroup;
-
-	/**
-	 * Constructs a preference page of path variables.
-	 * Omits "Restore Defaults"/"Apply Changes" buttons.
-	 */
-	public PathVariablesPreferencePage() {
-		pathVariablesGroup = new PathVariablesGroup(true, IResource.FILE | IResource.FOLDER);
-
-		this.noDefaultAndApplyButton();
-	}
-	/**
-	 * Resets this page's internal state and creates its UI contents.
-	 * 
-	 * @see PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Font font = parent.getFont();
-
-		// define container & its gridding
-		Composite pageComponent = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		pageComponent.setLayout(layout);
-		GridData data = new GridData();
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalAlignment = GridData.FILL;
-		pageComponent.setLayoutData(data);
-		pageComponent.setFont(font);
-
-		//layout the contents
-		Label topLabel = new Label(pageComponent, SWT.NONE);
-		topLabel.setText(WorkbenchMessages.getString("PathVariablesPreference.explanation")); //$NON-NLS-1$
-		data = new GridData();
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalAlignment = GridData.FILL;
-		topLabel.setLayoutData(data);
-		topLabel.setFont(font);
-
-		pathVariablesGroup.createContents(pageComponent);
-		return pageComponent;
-	}
-	/**
-	 * Disposes the path variables group.
-	 * @see org.eclipse.jface.dialogs.IDialogPage#dispose()
-	 */
-	public void dispose() {
-		pathVariablesGroup.dispose();
-		super.dispose();
-	}
-	/**
-	 * Empty implementation. This page does not use the workbench.
-	 * 
-	 * @see IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-	/**
-	 * Commits the temporary state to the path variable manager in response to user
-	 * confirmation.
-	 * 
-	 * @see PreferencePage#performOk()
-	 * @see PathVariablesGroup#performOk()
-	 */
-	public boolean performOk() {
-		return pathVariablesGroup.performOk();
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PerspContentProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PerspContentProvider.java
deleted file mode 100644
index 1680290..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PerspContentProvider.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.IPerspectiveRegistry;
-
-public class PerspContentProvider implements IStructuredContentProvider {
-/**
- * PerspContentProvider constructor comment.
- */
-public PerspContentProvider() {
-	super();
-}
-public void dispose() {
-}
-public Object[] getElements(Object element) {
-	if (element instanceof IPerspectiveRegistry) {
-		IPerspectiveRegistry reg = (IPerspectiveRegistry)element;
-		return reg.getPerspectives();
-	}
-	return null;
-}
-public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-}
-public boolean isDeleted(Object element) {
-	return false;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PerspLabelProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PerspLabelProvider.java
deleted file mode 100644
index 51816a1..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PerspLabelProvider.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.HashMap;
-import java.util.Iterator;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.IWorkbenchGraphicConstants;
-import org.eclipse.ui.internal.WorkbenchImages;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-public class PerspLabelProvider extends LabelProvider {
-	private HashMap imageCache = new HashMap(11);
-	private boolean markDefault = true;
-	
-	public PerspLabelProvider() {
-		super();
-	}
-	
-	public PerspLabelProvider(boolean markDefault) {
-		super();
-		this.markDefault = markDefault;
-	}
-	
-	public void dispose() {
-		for (Iterator i = imageCache.values().iterator(); i.hasNext();) {
-			((Image) i.next()).dispose();
-		}
-		imageCache.clear();
-	}
-	
-	public Image getImage(Object element) {
-		if (element instanceof IPerspectiveDescriptor) {
-			IPerspectiveDescriptor desc = (IPerspectiveDescriptor) element;
-			ImageDescriptor imageDescriptor = desc.getImageDescriptor();
-			if (imageDescriptor == null) {
-				imageDescriptor = WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_DEF_PERSPECTIVE_HOVER);
-			}
-			Image image = (Image) imageCache.get(imageDescriptor);
-			if (image == null) {
-				image = imageDescriptor.createImage();
-				imageCache.put(imageDescriptor, image);
-			}
-			return image;
-		}
-		return null;
-	}
-	
-	public String getText(Object element) {
-		if (element instanceof IPerspectiveDescriptor) {
-			IPerspectiveDescriptor desc = (IPerspectiveDescriptor) element;
-			String label = desc.getLabel();
-			if (markDefault) {
-				String def = PlatformUI.getWorkbench().getPerspectiveRegistry().getDefaultPerspective();
-				if (desc.getId().equals(def))
-					label = WorkbenchMessages.format("PerspectivesPreference.defaultLabel", new Object[] { label }); //$NON-NLS-1$
-			}
-			return label;
-		}
-		return WorkbenchMessages.getString("PerspectiveLabelProvider.unknown"); //$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PerspectivesPreferencePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PerspectivesPreferencePage.java
deleted file mode 100644
index 0499a68..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PerspectivesPreferencePage.java
+++ /dev/null
@@ -1,554 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/**********************************************************************
-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:
-**********************************************************************/
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.registry.PerspectiveDescriptor;
-import org.eclipse.ui.internal.registry.PerspectiveRegistry;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-public class PerspectivesPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-	private IWorkbench workbench;
-	private PerspectiveRegistry perspectiveRegistry;
-	private ArrayList perspectives;
-	private String defaultPerspectiveId;
-	private ArrayList perspToDelete = new ArrayList();
-	private ArrayList perspToRevert = new ArrayList();
-	private List list;
-	private Button revertButton;
-	private Button deleteButton;
-	private Button setDefaultButton;
-
-	// widgets for open perspective mode;
-	private Button openSameWindowButton;
-	private Button openNewWindowButton;
-	private int openPerspMode;
-	
-	// widgets for open view mode
-	private int openViewMode;
-	private Button openEmbedButton;
-	private Button openFastButton;
-
-	// widgets for perspective switching when creating new projects
-	private Button switchOnNewProjectButton;
-	private boolean switchOnNewProject;
-
-	private static final int LIST_WIDTH = 200;
-	private static final int LIST_HEIGHT = 200;
-
-	// labels
-	private static final String NEW_PROJECT_PERSPECTIVE_TITLE = WorkbenchMessages.getString("WorkbenchPreference.projectOptionsTitle"); //$NON-NLS-1$
-
-	private static final String SWITCH_PERSPECTIVES_LABEL = WorkbenchMessages.getString("WorkbenchPreference.switch"); //$NON-NLS-1$
-
-	private static final String OVM_TITLE = WorkbenchMessages.getString("OpenViewMode.title"); //$NON-NLS-1$
-	private static final String OVM_EMBED = WorkbenchMessages.getString("OpenViewMode.embed"); //$NON-NLS-1$
-	private static final String OVM_FAST = WorkbenchMessages.getString("OpenViewMode.fast"); //$NON-NLS-1$
-
-	private static final String OPM_TITLE = WorkbenchMessages.getString("OpenPerspectiveMode.optionsTitle"); //$NON-NLS-1$
-	private static final String OPM_SAME_WINDOW = WorkbenchMessages.getString("OpenPerspectiveMode.sameWindow"); //$NON-NLS-1$
-	private static final String OPM_NEW_WINDOW = WorkbenchMessages.getString("OpenPerspectiveMode.newWindow"); //$NON-NLS-1$
-
-	/**
-	 * Creates the page's UI content.
-	 */
-	protected Control createContents(Composite parent) {
-		WorkbenchHelp.setHelp(parent, IHelpContextIds.PERSPECTIVES_PREFERENCE_PAGE);
-
-		Composite pageComponent = new Composite(parent, SWT.NULL);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		pageComponent.setLayoutData(data);
-		pageComponent.setFont(parent.getFont());
-
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.verticalSpacing = 10;
-		pageComponent.setLayout(layout);
-
-		createOpenPerspButtonGroup(pageComponent);
-		createOpenViewButtonGroup(pageComponent);
-		createProjectPerspectiveGroup(pageComponent);
-		createCustomizePerspective(pageComponent);
-
-		return pageComponent;
-	}
-	
-	/**
-	 * Create a composite that contains buttons for selecting
-	 * the open perspective mode.
-	 * 
-	 * @param composite Composite
-	 */
-	private void createOpenPerspButtonGroup(Composite composite) {
-		
-		Font font = composite.getFont();
-
-		Group buttonComposite = new Group(composite, SWT.LEFT);
-		buttonComposite.setText(OPM_TITLE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		buttonComposite.setLayout(layout);
-		GridData data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.grabExcessHorizontalSpace = true;
-		buttonComposite.setLayoutData(data);
-		buttonComposite.setFont(font);
-
-		openSameWindowButton = new Button(buttonComposite, SWT.RADIO);
-		openSameWindowButton.setText(OPM_SAME_WINDOW);
-		openSameWindowButton.setSelection(IPreferenceConstants.OPM_ACTIVE_PAGE == openPerspMode);
-		openSameWindowButton.setFont(font);
-		openSameWindowButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				openPerspMode = IPreferenceConstants.OPM_ACTIVE_PAGE;
-			}
-		});
-
-		openNewWindowButton = new Button(buttonComposite, SWT.RADIO);
-		openNewWindowButton.setText(OPM_NEW_WINDOW);
-		openNewWindowButton.setSelection(IPreferenceConstants.OPM_NEW_WINDOW == openPerspMode);
-		openNewWindowButton.setFont(font);
-		openNewWindowButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				openPerspMode = IPreferenceConstants.OPM_NEW_WINDOW;
-			}
-		});
-	}
-	
-	/**
-	 * Create a composite that contains buttons for selecting open view mode.
-	 * @param composite Composite
-	 */
-	private void createOpenViewButtonGroup(Composite composite) {
-		
-		Font font = composite.getFont();
-
-		Group buttonComposite = new Group(composite, SWT.LEFT);
-		buttonComposite.setText(OVM_TITLE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		buttonComposite.setLayout(layout);
-		GridData data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.grabExcessHorizontalSpace = true;
-		buttonComposite.setLayoutData(data);
-		buttonComposite.setFont(font);
-
-		openEmbedButton = new Button(buttonComposite, SWT.RADIO);
-		openEmbedButton.setText(OVM_EMBED);
-		openEmbedButton.setSelection(
-			openViewMode == IPreferenceConstants.OVM_EMBED);
-		openEmbedButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				openViewMode = IPreferenceConstants.OVM_EMBED;
-			}
-		});
-		openEmbedButton.setFont(font);
-
-		// Open view as float no longer supported
-		if (openViewMode == IPreferenceConstants.OVM_FLOAT)
-			openViewMode = IPreferenceConstants.OVM_FAST;
-
-		openFastButton = new Button(buttonComposite, SWT.RADIO);
-		openFastButton.setText(OVM_FAST);
-		openFastButton.setSelection(
-			openViewMode == IPreferenceConstants.OVM_FAST);
-		openFastButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				openViewMode = IPreferenceConstants.OVM_FAST;
-			}
-		});
-		openFastButton.setFont(font);
-	}
-	
-	/**
-	 * Create a composite that contains buttons for selecting the 
-	 * preference opening new project selections. 
-	 */
-	private void createProjectPerspectiveGroup(Composite composite) {
-		
-		Font font = composite.getFont();
-
-		Group buttonComposite = new Group(composite, SWT.LEFT | SWT.NULL);
-		GridLayout layout = new GridLayout();
-		buttonComposite.setLayout(layout);
-		GridData data =
-			new GridData(
-				GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
-		buttonComposite.setLayoutData(data);
-		buttonComposite.setText(NEW_PROJECT_PERSPECTIVE_TITLE);
-		buttonComposite.setFont(font);
-
-		// No switch button
-		switchOnNewProjectButton = new Button(buttonComposite, SWT.CHECK | SWT.LEFT);
-		switchOnNewProjectButton.setText(SWITCH_PERSPECTIVES_LABEL);
-		switchOnNewProjectButton.setFont(buttonComposite.getFont());
-		switchOnNewProjectButton.setSelection(switchOnNewProject);
-		switchOnNewProjectButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				switchOnNewProject = switchOnNewProjectButton.getSelection();
-			}
-		});
-	}
-	/**
-	 * Create a table a 3 buttons to enable the user to manage customized
-	 * perspectives.
-	 */
-	protected Composite createCustomizePerspective(Composite parent) {
-		
-		Font font = parent.getFont();
-
-		// define container & its gridding
-		Composite perspectivesComponent = new Composite(parent, SWT.NULL);
-		perspectivesComponent.setLayoutData(new GridData(GridData.FILL_BOTH));
-		perspectivesComponent.setFont(parent.getFont());
-
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		perspectivesComponent.setLayout(layout);
-
-		// Add the label
-		Label label = new Label(perspectivesComponent, SWT.LEFT);
-		label.setText(WorkbenchMessages.getString("PerspectivesPreference.available")); //$NON-NLS-1$
-		GridData data = new GridData();
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-		label.setFont(font);
-
-		// Add perspective list.
-		list = new List(perspectivesComponent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		list.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateButtons();
-			}
-		});
-		
-		list.setFont(font);
-
-		data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = LIST_WIDTH;
-		data.heightHint = LIST_HEIGHT;
-		list.setLayoutData(data);
-
-		// Populate the perspective list
-		IPerspectiveDescriptor[] persps = perspectiveRegistry.getPerspectives();
-		perspectives = new ArrayList(persps.length);
-		for (int i = 0; i < persps.length; i++)
-			perspectives.add(i, persps[i]);
-		defaultPerspectiveId = perspectiveRegistry.getDefaultPerspective();
-		updateList();
-
-		// Create vertical button bar.
-		Composite buttonBar =
-			(Composite) createVerticalButtonBar(perspectivesComponent);
-		data = new GridData(GridData.FILL_VERTICAL);
-		buttonBar.setLayoutData(data);
-		return perspectivesComponent;
-	}
-
-	/**
-	 * Creates a new vertical button with the given id.
-	 * <p>
-	 * The default implementation of this framework method
-	 * creates a standard push button, registers for selection events
-	 * including button presses and help requests, and registers
-	 * default buttons with its shell.
-	 * The button id is stored as the buttons client data.
-	 * </p>
-	 *
-	 * @param parent the parent composite
-	 * @param buttonId the id of the button (see
-	 *  <code>IDialogConstants.*_ID</code> constants 
-	 *  for standard dialog button ids)
-	 * @param label the label from the button
-	 * @param defaultButton <code>true</code> if the button is to be the
-	 *   default button, and <code>false</code> otherwise
-	 */
-	protected Button createVerticalButton(
-		Composite parent,
-		String label,
-		boolean defaultButton) {
-		Button button = new Button(parent, SWT.PUSH);
-
-		button.setText(label);
-		
-		GridData data = setButtonLayoutData(button);
-		data.horizontalAlignment = GridData.FILL;
-
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				verticalButtonPressed(event.widget);
-			}
-		});
-		button.setToolTipText(label);
-		if (defaultButton) {
-			Shell shell = parent.getShell();
-			if (shell != null) {
-				shell.setDefaultButton(button);
-			}
-		}
-		button.setFont(parent.getFont());
-		return button;
-	}
-	
-	/**
-	 * Creates and returns the vertical button bar.
-	 *
-	 * @param parent the parent composite to contain the button bar
-	 * @return the button bar control
-	 */
-	protected Control createVerticalButtonBar(Composite parent) {
-		// Create composite.
-		Composite composite = new Composite(parent, SWT.NULL);
-
-		// create a layout with spacing and margins appropriate for the font size.
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginWidth = 5;
-		layout.marginHeight = 0;
-		layout.horizontalSpacing =
-			convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		layout.verticalSpacing =
-			convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		composite.setLayout(layout);
-		composite.setFont(parent.getFont());
-
-		// Add the buttons to the button bar.
-		setDefaultButton = createVerticalButton(composite, WorkbenchMessages.getString("PerspectivesPreference.MakeDefault"), false); //$NON-NLS-1$
-		setDefaultButton.setToolTipText(WorkbenchMessages.getString("PerspectivesPreference.MakeDefaultTip")); //$NON-NLS-1$
-
-		revertButton = createVerticalButton(composite, WorkbenchMessages.getString("PerspectivesPreference.Reset"), false); //$NON-NLS-1$
-		revertButton.setToolTipText(WorkbenchMessages.getString("PerspectivesPreference.ResetTip")); //$NON-NLS-1$
-
-		deleteButton = createVerticalButton(composite, WorkbenchMessages.getString("PerspectivesPreference.Delete"), false); //$NON-NLS-1$
-		deleteButton.setToolTipText(WorkbenchMessages.getString("PerspectivesPreference.DeleteTip")); //$NON-NLS-1$
-		updateButtons();
-
-		return composite;
-	}
-	
-	/**
-	 * @see IWorkbenchPreferencePage
-	 */
-	public void init(IWorkbench aWorkbench) {
-		this.workbench = aWorkbench;
-		this.perspectiveRegistry = (PerspectiveRegistry) workbench.getPerspectiveRegistry();
-		IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-		
-		switchOnNewProject = 
-			!IWorkbenchPreferenceConstants.NO_NEW_PERSPECTIVE.equals(
-			getUIPublicPreferenceStore().getString(IWorkbenchPreferenceConstants.PROJECT_OPEN_NEW_PERSPECTIVE));
-		openViewMode = store.getInt(IPreferenceConstants.OPEN_VIEW_MODE);
-		openPerspMode = store.getInt(IPreferenceConstants.OPEN_PERSP_MODE);
-	}
-	
-	/**
-	 * Get the preference store for the API constants (those in
-	 * IWorkbenchPreferenceConstants).
-	 * @return IPreferenceStore
-	 */
-
-	private IPreferenceStore getUIPublicPreferenceStore() {
-		AbstractUIPlugin uiPlugin =
-			(AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-		return uiPlugin.getPreferenceStore();
-	}
-	
-	/**
-	 * The default button has been pressed. 
-	 */
-	protected void performDefaults() {
-		//Project perspective preferences
-		IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-				
-		switchOnNewProject = !IWorkbenchPreferenceConstants.NO_NEW_PERSPECTIVE.equals(
-			getUIPublicPreferenceStore().getDefaultString(IWorkbenchPreferenceConstants.PROJECT_OPEN_NEW_PERSPECTIVE));
-		switchOnNewProjectButton.setSelection(switchOnNewProject);
-
-		openViewMode = store.getDefaultInt(IPreferenceConstants.OPEN_VIEW_MODE);
-		// Open view as float no longer supported
-		if (openViewMode == IPreferenceConstants.OVM_FLOAT)
-			openViewMode = IPreferenceConstants.OVM_FAST;
-		openEmbedButton.setSelection(openViewMode == IPreferenceConstants.OVM_EMBED);
-		openFastButton.setSelection(openViewMode == IPreferenceConstants.OVM_FAST);
-
-		openPerspMode = store.getDefaultInt(IPreferenceConstants.OPEN_PERSP_MODE);
-		openSameWindowButton.setSelection(IPreferenceConstants.OPM_ACTIVE_PAGE == openPerspMode);
-		openNewWindowButton.setSelection(IPreferenceConstants.OPM_NEW_WINDOW == openPerspMode);
-	}
-	/*
-	 * Delete the perspectives selected by the user if there is not
-	 * opened instance of that perspective.
-	 */
-
-	private boolean deletePerspectives() {
-		IWorkbenchWindow windows[] = workbench.getWorkbenchWindows();
-		for (int i = 0; i < windows.length; i++) {
-			IWorkbenchPage pages[] = windows[i].getPages();
-			for (int j = 0; j < pages.length; j++) {
-				WorkbenchPage page = (WorkbenchPage)pages[j];
-				for (int k = 0; k < perspToDelete.size(); k++) {
-					IPerspectiveDescriptor desc = (IPerspectiveDescriptor)perspToDelete.get(k);				
-					if(page.findPerspective(desc) != null) {
-						MessageDialog.openInformation(
-							getShell(),
-							WorkbenchMessages.getString("PerspectivesPreference.cannotdelete.title"), //$NON-NLS-1$
-							WorkbenchMessages.format("PerspectivesPreference.cannotdelete.message", new String[]{desc.getLabel()})); //$NON-NLS-1$
-						return false;
-					}
-				}
-			}
-		}
-		
-		//Delete the perspectives from the registry
-		perspectiveRegistry.deletePerspectives(perspToDelete);
-		return true;
-	}
-	/**
-	 * Apply the user's changes if any
-	 */
-	public boolean performOk() {
-		// Set the default perspective
-		if (!defaultPerspectiveId
-			.equals(perspectiveRegistry.getDefaultPerspective()))
-			perspectiveRegistry.setDefaultPerspective(defaultPerspectiveId);
-
-		if(!deletePerspectives())
-			return false;
-
-		// Revert the perspectives
-		perspectiveRegistry.revertPerspectives(perspToRevert);
-
-		// Update perspective history.
-		 ((Workbench) workbench).getPerspectiveHistory().refreshFromRegistry();
-
-		// store the open new project perspective settings
-		IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-		String newProjectPerspectiveSetting;
-		if(!switchOnNewProject)
-			newProjectPerspectiveSetting = IWorkbenchPreferenceConstants.NO_NEW_PERSPECTIVE;
-		else if(openPerspMode == IPreferenceConstants.OPM_NEW_WINDOW)
-			newProjectPerspectiveSetting = IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_WINDOW;
-		else
-			newProjectPerspectiveSetting = IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_REPLACE;
-		
-		getUIPublicPreferenceStore().setValue(
-			IWorkbenchPreferenceConstants.PROJECT_OPEN_NEW_PERSPECTIVE,
-			newProjectPerspectiveSetting);
-
-		// store the open view mode setting
-		store.setValue(IPreferenceConstants.OPEN_VIEW_MODE, openViewMode);
-
-		// store the open perspective mode setting
-		store.setValue(IPreferenceConstants.OPEN_PERSP_MODE, openPerspMode);
-		
-		WorkbenchPlugin.getDefault().savePluginPreferences();
-		return true;
-	}
-	
-	/**
-	 * Update the button enablement state.
-	 */
-	protected void updateButtons() {
-		// Get selection.
-		int index = list.getSelectionIndex();
-
-		// Map it to the perspective descriptor	
-		PerspectiveDescriptor desc = null;
-		if (index > -1)
-			desc = (PerspectiveDescriptor) perspectives.get(index);
-
-		// Do enable.
-		if (desc != null) {
-			revertButton.setEnabled(
-				desc.isPredefined()
-					&& desc.hasCustomDefinition()
-					&& !perspToRevert.contains(desc));
-			deleteButton.setEnabled(!desc.isPredefined());
-			setDefaultButton.setEnabled(true);
-		} else {
-			revertButton.setEnabled(false);
-			deleteButton.setEnabled(false);
-			setDefaultButton.setEnabled(false);
-		}
-	}
-	
-	/**
-	 * Update the list items.
-	 */
-	protected void updateList() {
-		list.removeAll();
-		for (int i = 0; i < perspectives.size(); i++) {
-			IPerspectiveDescriptor desc =
-				(IPerspectiveDescriptor) perspectives.get(i);
-			String label = desc.getLabel();
-			if (desc.getId().equals(defaultPerspectiveId))
-				label = WorkbenchMessages.format("PerspectivesPreference.defaultLabel", new Object[] { label }); //$NON-NLS-1$
-			list.add(label, i);
-		}
-	}
-	
-	/**
-	 * Notifies that this page's button with the given id has been pressed.
-	 *
-	 * @param buttonId the id of the button that was pressed (see
-	 *  <code>IDialogConstants.*_ID</code> constants)
-	 */
-	protected void verticalButtonPressed(Widget button) {
-		// Get selection.
-		int index = list.getSelectionIndex();
-
-		// Map it to the perspective descriptor	
-		PerspectiveDescriptor desc = null;
-		if (index > -1)
-			desc = (PerspectiveDescriptor) perspectives.get(index);
-		else
-			return;
-
-		// Take action.
-		if (button == revertButton) {
-			if (desc.isPredefined() && !perspToRevert.contains(desc)) {
-				perspToRevert.add(desc);
-			}
-		} else if (button == deleteButton) {
-			if (!desc.isPredefined() && !perspToDelete.contains(desc)) {
-				perspToDelete.add(desc);
-				perspToRevert.remove(desc);
-				perspectives.remove(desc);
-				updateList();
-			}
-		} else if (button == setDefaultButton) {
-			defaultPerspectiveId = desc.getId();
-			updateList();
-			list.setSelection(index);
-		}
-
-		updateButtons();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PreferenceErrorDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PreferenceErrorDialog.java
deleted file mode 100644
index 874b594..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PreferenceErrorDialog.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * Copyright (c) 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.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-
-/**
- * A dialog to show an error while giving the user the option to continue.
- */
-public class PreferenceErrorDialog extends ErrorDialog {
-	private Button detailsButton;
-	private IStatus status;
-	/**
-	 * Create a new instance of the dialog
-	 */
-	public PreferenceErrorDialog(
-		Shell parentShell,
-		String dialogTitle,
-		String message,
-		IStatus status,
-		int displayMask) {
-		super(parentShell, dialogTitle, message, status, displayMask);
-		this.status = status;
-	}
-	/**
-	 * Opens an error dialog to display the given error.  
-	 */
-	public static int openError(Shell parentShell, String title, String message, IStatus status) {
-		int displayMask = IStatus.OK | IStatus.INFO | IStatus.WARNING | IStatus.ERROR;
-		ErrorDialog dialog = new PreferenceErrorDialog(parentShell, title, message, status, displayMask);
-		return dialog.open();
-	}
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void buttonPressed(int buttonId) {
-		if (IDialogConstants.YES_ID == buttonId) 
-			okPressed();
-		else if (IDialogConstants.NO_ID == buttonId) 
-			cancelPressed();
-		else
-			super.buttonPressed(buttonId);	
-	}
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		// create Yes, No, and Details buttons
-		createButton(parent, IDialogConstants.YES_ID, IDialogConstants.YES_LABEL, true);
-		createButton(parent, IDialogConstants.NO_ID, IDialogConstants.NO_LABEL, false);
-		super.createButtonsForButtonBar(parent);
-		// get rid of the unwanted ok button
-		Button okButton = getButton(IDialogConstants.OK_ID);
-		if (okButton != null && !okButton.isDisposed()) {
-			okButton.dispose();
-			((GridLayout)parent.getLayout()).numColumns--;
-		}
-	}
-	/* (non-Javadoc)
-	 * Method declared on ErrorDialog.
-	 */
-	protected Image getImage() {
-		return JFaceResources.getImageRegistry().get(DLG_IMG_WARNING);
-	}
-}
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProductInfoDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProductInfoDialog.java
deleted file mode 100644
index 3486202..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProductInfoDialog.java
+++ /dev/null
@@ -1,364 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.IOException;
-import java.util.ArrayList;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.JFaceColors;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.program.Program;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.internal.AboutItem;
-import org.eclipse.ui.internal.WorkbenchMessages;
- 
-/**
- * Abstract superclass of about dialogs 
- */ 
- 
-public abstract class ProductInfoDialog extends Dialog{
-	private static final String ATT_HTTP = "http://"; //$NON-NLS-1$
-	private AboutItem item;
-	private boolean webBrowserOpened;
-	private Cursor handCursor;
-	private Cursor busyCursor;
-	private boolean mouseDown = false;
-	private boolean dragEvent = false;
-	
-/**
- * Create an instance of this Dialog
- */
-public ProductInfoDialog(Shell parentShell) {
-	super(parentShell);
-}
-
-/**
- * Adds listeners to the given styled text
- */
-protected void addListeners(StyledText styledText) {
-	styledText.addMouseListener(new MouseAdapter() {
-		public void mouseDown(MouseEvent e) {
-			if (e.button != 1) {
-				return;
-			}
-			mouseDown = true;
-		}
-		public void mouseUp(MouseEvent e) {
-			mouseDown = false;
-			StyledText text = (StyledText)e.widget;
-			int offset = text.getCaretOffset();
-			if (dragEvent) {
-				// don't activate a link during a drag/mouse up operation
-				dragEvent = false;
-				if (item != null && item.isLinkAt(offset)) {
-					text.setCursor(handCursor);
-				}
-			} else if (item != null && item.isLinkAt(offset)) {	
-				text.setCursor(busyCursor);
-				openLink(item.getLinkAt(offset));
-				StyleRange selectionRange = getCurrentRange(text);
-				text.setSelectionRange(selectionRange.start, selectionRange.length);
-				text.setCursor(null);
-			}
-		}
-	});
-	
-	styledText.addMouseMoveListener(new MouseMoveListener() {
-		public void mouseMove(MouseEvent e) {
-			// Do not change cursor on drag events
-			if (mouseDown) {
-				if (!dragEvent) {
-					StyledText text = (StyledText)e.widget;
-					text.setCursor(null);
-				}
-				dragEvent = true;
-				return;
-			}
-			StyledText text = (StyledText)e.widget;
-			int offset = -1;
-			try {
-				offset = text.getOffsetAtLocation(new Point(e.x, e.y));
-			} catch (IllegalArgumentException ex) {
-				// leave value as -1
-			}
-			if (offset == -1)
-				text.setCursor(null);
-			else if (item != null && item.isLinkAt(offset)) 
-				text.setCursor(handCursor);
-			else 
-				text.setCursor(null);
-		}
-	});
-
-	styledText.addTraverseListener(new TraverseListener() {
-		public void keyTraversed(TraverseEvent e) {
-			StyledText text = (StyledText)e.widget;
-			switch (e.detail) {
-			case SWT.TRAVERSE_ESCAPE:
-				e.doit = true;
-				break;
-			case SWT.TRAVERSE_TAB_NEXT:
-				//Previously traverse out in the backward direction?
-				Point nextSelection = text.getSelection();
-				int charCount = text.getCharCount();
-				if ((nextSelection.x == charCount) && (nextSelection.y == charCount)){
-					text.setSelection(0);
-				}
-				StyleRange nextRange  = findNextRange(text);
-				if (nextRange == null) {
-					// Next time in start at beginning, also used by 
-					// TRAVERSE_TAB_PREVIOUS to indicate we traversed out
-					// in the forward direction
-					text.setSelection(0);
-					e.doit = true;
-				} else {
-					text.setSelectionRange(nextRange.start, nextRange.length);
-					e.doit = true;
-					e.detail = SWT.TRAVERSE_NONE;
-				}
-				break;
-			case SWT.TRAVERSE_TAB_PREVIOUS:
-				//Previously traverse out in the forward direction?
-				Point previousSelection = text.getSelection();
-				if ((previousSelection.x == 0) && (previousSelection.y == 0))
-					text.setSelection(text.getCharCount());
-				StyleRange previousRange = findPreviousRange(text);
-				if (previousRange == null) {
-					// Next time in start at the end, also used by 
-					// TRAVERSE_TAB_NEXT to indicate we traversed out
-					// in the backward direction
-					text.setSelection(text.getCharCount());
-					e.doit = true;
-				}
-				else {
-					text.setSelectionRange(previousRange.start, previousRange.length);
-					e.doit = true;
-					e.detail = SWT.TRAVERSE_NONE;
-				}
-				break;
-			default:
-				break;
-			}
-		}
-	});
-	
-	//Listen for Tab and Space to allow keyboard navigation
-	styledText.addKeyListener(new KeyAdapter() {
-		public void keyPressed (KeyEvent event){
-			StyledText text = (StyledText)event.widget;
-			if(event.character == ' ' || event.character == SWT.CR){
-				if(item != null){
-					//Be sure we are in the selection
-					int offset = text.getSelection().x + 1;
-
-					if (item.isLinkAt(offset)) {	
-						text.setCursor(busyCursor);
-						openLink(item.getLinkAt(offset));
-						StyleRange selectionRange = getCurrentRange(text);
-						text.setSelectionRange(selectionRange.start, selectionRange.length);
-						text.setCursor(null);
-					}
-				}
-				return;
-			}	
-		}
-	});
-}
-
-/**
- * Gets the busy cursor.
- * @return the busy cursor
- */
-protected Cursor getBusyCursor() {
-	return busyCursor;
-}
-
-/**
- * Sets the busy cursor.
- * @param busyCursor the busy cursor
- */
-protected void setBusyCursor(Cursor busyCursor) {
-	this.busyCursor = busyCursor;
-}
-
-/**
- * Gets the hand cursor.
- * @return Returns a hand cursor
- */
-protected Cursor getHandCursor() {
-	return handCursor;
-}
-
-/**
- * Sets the hand cursor.
- * @param handCursor The hand cursor to set
- */
-protected void setHandCursor(Cursor handCursor) {
-	this.handCursor = handCursor;
-}
-
-/**
- * Gets the about item.
- * @return the about item
- */
-protected AboutItem getItem() {
-	return item;
-}
-
-/**
- * Sets the about item.
- * @param item about item
- */
-protected void setItem(AboutItem item) {
-	this.item = item;
-}
-
-/**
- * Find the range of the current selection.
- */
-protected StyleRange getCurrentRange(StyledText text){
-	StyleRange[] ranges = text.getStyleRanges();
-	int currentSelectionEnd = text.getSelection().y;
-	int currentSelectionStart = text.getSelection().x;
-	
-	for (int i = 0; i < ranges.length; i++) {
-		if((currentSelectionStart >= ranges[i].start) && 
-			(currentSelectionEnd <= (ranges[i].start + ranges[i].length))) {
-			return ranges[i];
-		}
-	}
-	return null;
-}
-
-/**
- * Find the next range after the current 
- * selection.
- */
-protected StyleRange findNextRange(StyledText text){
-	StyleRange[] ranges = text.getStyleRanges();
-	int currentSelectionEnd = text.getSelection().y;
-
-	for (int i = 0; i < ranges.length; i++) {
-		if(ranges[i].start >= currentSelectionEnd)
-			return ranges[i];
-	}
-	return null;
-}
-
-/**
- * Find the previous range before the current selection.
- */
-protected StyleRange findPreviousRange(StyledText text){
-	StyleRange[] ranges = text.getStyleRanges();
-	int currentSelectionStart = text.getSelection().x;
-
-	for (int i = ranges.length - 1; i > -1; i--) {
-		if((ranges[i].start + ranges[i].length - 1) < currentSelectionStart)
-			return ranges[i];
-	}
-	return null;
-}
-
-/**
- * Open a link
- */
-protected void openLink(final String href) {
-	final Display d = Display.getCurrent();
-	if (SWT.getPlatform().equals("win32")) { //$NON-NLS-1$
-		Program.launch(href);
-	} else {
-		Thread launcher = new Thread("About Link Launcher") {//$NON-NLS-1$
-			public void run() {
-				try {
-					if (webBrowserOpened) {
-						Runtime.getRuntime().exec("netscape -remote openURL(" + href + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-					} else {
-						Process p = Runtime.getRuntime().exec("netscape " + href); //$NON-NLS-1$
-						webBrowserOpened = true;
-						try {
-							if (p != null)
-								p.waitFor();
-						} catch (InterruptedException e) {
-							d.asyncExec(new Runnable() {
-								public void run() {
-									MessageDialog.openError(getShell(), WorkbenchMessages.getString("ProductInfoDialog.errorTitle"), //$NON-NLS-1$
-									WorkbenchMessages.getString("ProductInfoDialog.unableToOpenWebBrowser"));
-								}
-							});
-						} finally {
-							webBrowserOpened = false;
-						}
-					}
-				} catch (IOException e) {
-					d.asyncExec(new Runnable() {
-						public void run() {
-							MessageDialog.openError(getShell(), WorkbenchMessages.getString("ProductInfoDialog.errorTitle"), //$NON-NLS-1$
-							WorkbenchMessages.getString("ProductInfoDialog.unableToOpenWebBrowser"));
-						}
-					});
-				}
-			}
-		};
-		launcher.start();
-	}
-}
-
-/**
- * Sets the styled text's bold ranges
- */
-protected void setBoldRanges(StyledText styledText, int[][] boldRanges) {
-	for (int i = 0; i < boldRanges.length; i++) {
-		StyleRange r = new StyleRange(boldRanges[i][0], boldRanges[i][1], null, null, SWT.BOLD);
-		styledText.setStyleRange(r);
-	}
-}
-
-/**
- * Sets the styled text's link (blue) ranges
- */
-protected void setLinkRanges(StyledText styledText, int[][] linkRanges) {
-	Color fg = JFaceColors.getHyperlinkText(styledText.getShell().getDisplay());
-	for (int i = 0; i < linkRanges.length; i++) {
-		StyleRange r = new StyleRange(linkRanges[i][0], linkRanges[i][1], fg, null);
-		styledText.setStyleRange(r);
-	}
-}
-
-/**
- * Scan the contents of the about text
- */
-protected AboutItem scan(String s) {
-	int max = s.length();
-	int i = s.indexOf(ATT_HTTP);
-	ArrayList linkRanges = new ArrayList();
-	ArrayList links = new ArrayList();
-	while (i != -1) {
-		int start = i;
-		// look for the first whitespace character
-		boolean found = false;
-		i += ATT_HTTP.length();
-		while (!found && i < max) {
-			found = Character.isWhitespace(s.charAt(i++));
-		}
-		if (i!=max) i--;
-		linkRanges.add(new int[] {start, i - start});
-		links.add(s.substring(start, i));
-		i = s.indexOf(ATT_HTTP, i);
-	}
-	return new AboutItem(
-			s,
-			(int[][])linkRanges.toArray(new int[linkRanges.size()][2]),
-			(String[])links.toArray(new String[links.size()]));
-}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProjectCapabilityEditingPropertyPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProjectCapabilityEditingPropertyPage.java
deleted file mode 100644
index c9b9660..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProjectCapabilityEditingPropertyPage.java
+++ /dev/null
@@ -1,336 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/**********************************************************************
-Copyright (c) 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:
-Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog font should be
-activated and used by other components.
-*********************************************************************/
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.wizard.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.ICapabilityUninstallWizard;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.registry.Capability;
-import org.eclipse.ui.internal.registry.CapabilityRegistry;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-
-/**
- * A property page for IProject resources to edit a single
- * capability at a time.
- */
-public class ProjectCapabilityEditingPropertyPage extends ProjectCapabilityPropertyPage {
-	private static final int SIZING_WIZARD_WIDTH = 500;
-	private static final int SIZING_WIZARD_HEIGHT = 500;
-
-	private TableViewer table;
-	private Button addButton;
-	private Button removeButton;
-	private ArrayList disabledCaps = new ArrayList();
-	private Capability selectedCap;
-	private CapabilityRegistry reg;
-
-	/**
-	 * Creates a new ProjectCapabilityEditingPropertyPage.
-	 */
-	public ProjectCapabilityEditingPropertyPage() {
-		super();
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on PreferencePage
-	 */
-	protected Control createContents(Composite parent) {
-		Font font = parent.getFont();
-		WorkbenchHelp.setHelp(parent, IHelpContextIds.PROJECT_CAPABILITY_PROPERTY_PAGE);
-		noDefaultAndApplyButton();
-		reg = WorkbenchPlugin.getDefault().getCapabilityRegistry();
-		
-		Composite topComposite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		topComposite.setLayout(layout);
-		topComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		String instructions;
-		if (reg.hasCapabilities())
-			instructions = WorkbenchMessages.getString("ProjectCapabilityPropertyPage.chooseCapabilities"); //$NON-NLS-1$
-		else
-			instructions = WorkbenchMessages.getString("ProjectCapabilityPropertyPage.noCapabilities"); //$NON-NLS-1$
-		Label label = new Label(topComposite, SWT.LEFT);
-		label.setFont(font);
-		label.setText(instructions);
-
-		Capability[] caps = reg.getProjectDisabledCapabilities(getProject());
-		disabledCaps.addAll(Arrays.asList(caps));
-
-		Composite mainComposite = new Composite(topComposite, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		mainComposite.setLayout(layout);
-		mainComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		Composite capComposite = new Composite(mainComposite, SWT.NONE);
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		capComposite.setLayout(layout);
-		capComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		label = new Label(capComposite, SWT.LEFT);
-		label.setFont(font);
-		label.setText(WorkbenchMessages.getString("ProjectCapabilitySelectionGroup.capabilities")); //$NON-NLS-1$
-		
-		table = new TableViewer(capComposite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		table.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
-		table.getTable().setFont(font);
-		table.setLabelProvider(new CapabilityLabelProvider());
-		table.setContentProvider(getContentProvider());
-		table.setInput(getProject());
-		
-		Composite buttonComposite = new Composite(mainComposite, SWT.NONE);
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		buttonComposite.setLayout(layout);
-		buttonComposite.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-
-		label = new Label(buttonComposite, SWT.LEFT);
-		label.setFont(font);
-		label.setText(""); //$NON-NLS-1$
-		
-		addButton = new Button(buttonComposite, SWT.PUSH);
-		addButton.setText(WorkbenchMessages.getString("ProjectCapabilityEditingPropertyPage.add")); //$NON-NLS-1$
-		addButton.setEnabled(true);
-		addButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				addCapability();
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-			}
-		});
-		GridData data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.heightHint = convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-		int widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		data.widthHint = Math.max(widthHint, addButton.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-		addButton.setLayoutData(data);
-		addButton.setFont(font);
-		
-		removeButton = new Button(buttonComposite, SWT.PUSH);
-		removeButton.setText(WorkbenchMessages.getString("ProjectCapabilityEditingPropertyPage.remove")); //$NON-NLS-1$
-		removeButton.setEnabled(false);
-		removeButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				removeCapability(selectedCap);
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-			}
-		});
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.heightHint = convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-		widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		data.widthHint = Math.max(widthHint, removeButton.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-		removeButton.setLayoutData(data);
-		removeButton.setFont(font);
-
-		table.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				selectedCap = null;
-				IStructuredSelection sel = (IStructuredSelection)event.getSelection();
-				if (sel != null)
-					selectedCap = (Capability)sel.getFirstElement();
-				removeButton.setEnabled(selectedCap != null);
-			}
-		});
-		
-		return topComposite;
-	}
-	
-	/**
-	 * Returns the content provider for the viewers
-	 */
-	private IContentProvider getContentProvider() {
-		return new WorkbenchContentProvider() {
-			public Object[] getChildren(Object parentElement) {
-				if (parentElement instanceof IProject)
-					return reg.getProjectCapabilities((IProject)parentElement);
-				else
-					return null;
-			}
-		};
-	}
-	
-	/**
-	 * Returns whether the category is considered disabled
-	 */
-	private boolean isDisabledCapability(Capability cap) {
-		return disabledCaps.contains(cap);
-	}
-	
-	private void addCapability() {
-		ProjectCapabilitySimpleAddWizard wizard;
-		wizard = new ProjectCapabilitySimpleAddWizard(PlatformUI.getWorkbench(), StructuredSelection.EMPTY, getProject());
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setSize( Math.max(SIZING_WIZARD_WIDTH, dialog.getShell().getSize().x), SIZING_WIZARD_HEIGHT );
-		WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.UPDATE_CAPABILITY_WIZARD);
-		dialog.open();
-		
-		table.refresh();
-	}
-	
-	private void removeCapability(Capability cap) {
-		ArrayList results = new ArrayList();
-		results.addAll(Arrays.asList(reg.getProjectCapabilities(getProject())));
-		results.remove(cap);
-		Capability[] caps = new Capability[results.size()];
-		results.toArray(caps);
-		
-		for (int i = 0; i < caps.length; i++) {
-			List prereqs = Arrays.asList(reg.getPrerequisiteIds(caps[i]));
-			if (prereqs.contains(cap.getId())) {
-				MessageDialog.openWarning(
-					getShell(),
-					WorkbenchMessages.getString("ProjectCapabilityPropertyPage.errorTitle"), //$NON-NLS-1$
-					WorkbenchMessages.format("ProjectCapabilityPropertyPage.capabilityRequired", new Object[] {caps[i].getName()})); //$NON-NLS-1$
-				return;
-			}
-		}
-		
-		IStatus status = reg.validateCapabilities(caps);
-		if (!status.isOK()) {
-			ErrorDialog.openError(
-				getShell(),
-				WorkbenchMessages.getString("ProjectCapabilityPropertyPage.errorTitle"), //$NON-NLS-1$
-				WorkbenchMessages.getString("ProjectCapabilityPropertyPage.invalidSelection"), //$NON-NLS-1$
-				status);
-			return;
-		}
-		
-		String[] natureIds = new String[1];
-		natureIds[0] = cap.getNatureId();
-		
-		ICapabilityUninstallWizard wizard = cap.getUninstallWizard();
-		if (wizard == null)
-			wizard = new RemoveCapabilityWizard();
-		if (wizard != null) {
-			wizard.init(PlatformUI.getWorkbench(), StructuredSelection.EMPTY, getProject(), natureIds);
-			wizard.addPages();
-		}
-		
-		if (wizard.getStartingPage() == null) {
-			wizard.setContainer(new StubContainer());
-			wizard.performFinish();
-			wizard.setContainer(null);
-		} else {
-			wizard = cap.getUninstallWizard();
-			if (wizard == null)
-				wizard = new RemoveCapabilityWizard();
-			if (wizard != null)
-				wizard.init(PlatformUI.getWorkbench(), StructuredSelection.EMPTY, getProject(), natureIds);
-			WizardDialog dialog = new WizardDialog(getShell(), wizard);
-			dialog.create();
-			dialog.getShell().setSize( Math.max(SIZING_WIZARD_WIDTH, dialog.getShell().getSize().x), SIZING_WIZARD_HEIGHT );
-			WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.UPDATE_CAPABILITY_WIZARD);
-			dialog.open();
-		}
-		
-		table.refresh();
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on PreferencePage
-	 */
-	public boolean performOk() {
-		return true;
-	}
-	
-		
-	class CapabilityLabelProvider extends LabelProvider {
-		private Map imageTable;
-		
-		public void dispose() {
-			if (imageTable != null) {
-				Iterator enum = imageTable.values().iterator();
-				while (enum.hasNext())
-					((Image) enum.next()).dispose();
-				imageTable = null;
-			}
-		}
-
-		public Image getImage(Object element) {
-			ImageDescriptor descriptor = ((Capability) element).getIconDescriptor();
-			if (descriptor == null)
-				return null;
-			
-			//obtain the cached image corresponding to the descriptor
-			if (imageTable == null) {
-				 imageTable = new Hashtable(40);
-			}
-			Image image = (Image) imageTable.get(descriptor);
-			if (image == null) {
-				image = descriptor.createImage();
-				imageTable.put(descriptor, image);
-			}
-			return image;
-		}
-
-		public String getText(Object element) {
-			Capability cap = (Capability) element;
-			String text = cap.getName();
-			if (isDisabledCapability(cap))
-				text = WorkbenchMessages.format("ProjectCapabilitySelectionGroup.disabledLabel", new Object[] {text}); //$NON-NLS-1$
-			return text;
-		}
-	}
-	
-	class StubContainer implements IWizardContainer {
-		public IWizardPage getCurrentPage() {
-			return null;
-		}
-		public Shell getShell() {
-			return ProjectCapabilityEditingPropertyPage.this.getShell();
-		}
-		public void showPage(IWizardPage page) {
-		}
-		public void updateButtons() {
-		}
-		public void updateMessage() {
-		}
-		public void updateTitleBar() {
-		}
-		public void updateWindowTitle() {
-		}
-		public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException {
-			new ProgressMonitorDialog(getShell()).run(fork, cancelable, runnable);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProjectCapabilityPropertyPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProjectCapabilityPropertyPage.java
deleted file mode 100644
index 7a0f376..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProjectCapabilityPropertyPage.java
+++ /dev/null
@@ -1,177 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/**********************************************************************
-Copyright (c) 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:
-Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog font should be
-activated and used by other components.
-*********************************************************************/
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.misc.ProjectCapabilitySelectionGroup;
-import org.eclipse.ui.internal.registry.*;
-
-/**
- * A property page for IProject resources to view and edit the
- * capabilities assigned to the project.
- */
-public class ProjectCapabilityPropertyPage extends PropertyPage {
-	/**
-	 * The wizard dialog width
-	 */
-	private static final int SIZING_WIZARD_WIDTH = 500;
-
-	/**
-	 * The wizard dialog height
-	 */
-	private static final int SIZING_WIZARD_HEIGHT = 500;
-	
-	private IProject project;
-	private ProjectCapabilitySelectionGroup capabilityGroup;
-
-	/**
-	 * Creates a new ProjectCapabilityPropertyPage.
-	 */
-	public ProjectCapabilityPropertyPage() {
-		super();
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on PreferencePage
-	 */
-	protected Control createContents(Composite parent) {
-		WorkbenchHelp.setHelp(parent, IHelpContextIds.PROJECT_CAPABILITY_PROPERTY_PAGE);
-		noDefaultAndApplyButton();
-		CapabilityRegistry reg = WorkbenchPlugin.getDefault().getCapabilityRegistry();
-		
-		String instructions;
-		if (reg.hasCapabilities())
-			instructions = WorkbenchMessages.getString("ProjectCapabilityPropertyPage.chooseCapabilities"); //$NON-NLS-1$
-		else
-			instructions = WorkbenchMessages.getString("ProjectCapabilityPropertyPage.noCapabilities"); //$NON-NLS-1$
-		Label label = new Label(parent, SWT.LEFT);
-		label.setFont(parent.getFont());
-		label.setText(instructions);
-		
-		Capability[] caps = reg.getProjectCapabilities(getProject());
-		Capability[] disabledCaps = reg.getProjectDisabledCapabilities(getProject());
-		ICategory[] cats = new ICategory[0];
-		capabilityGroup = new ProjectCapabilitySelectionGroup(cats, caps, disabledCaps, reg);
-		return capabilityGroup.createContents(parent);
-	}
-	
-	/**
-	 * Returns the project which this property page applies to
-	 * 
-	 * @return IProject the project for this property page
-	 */
-	/* package */ IProject getProject() {
-		if (project == null)
-			project = (IProject) getElement().getAdapter(IResource.class);
-			
-		return project;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on PreferencePage
-	 */
-	public boolean performOk() {
-		// Avoid doing any work if no changes were made.
-		if (!capabilityGroup.getCapabilitiesModified())
-			return true;
-
-		// Validate the requested changes are ok
-		CapabilityRegistry reg = WorkbenchPlugin.getDefault().getCapabilityRegistry();
-		Capability[] caps = capabilityGroup.getSelectedCapabilities();
-		IStatus status = reg.validateCapabilities(caps);
-		if (!status.isOK()) {
-			ErrorDialog.openError(
-				getShell(),
-				WorkbenchMessages.getString("ProjectCapabilityPropertyPage.errorTitle"), //$NON-NLS-1$
-				WorkbenchMessages.getString("ProjectCapabilityPropertyPage.invalidSelection"), //$NON-NLS-1$
-				status);
-			return true;
-		}
-
-		// Get the current set of nature ids on the project
-		String[] natureIds;
-		try {
-			natureIds = getProject().getDescription().getNatureIds();
-			natureIds = getProject().getWorkspace().sortNatureSet(natureIds);
-		} catch (CoreException e) {
-			ErrorDialog.openError(
-				getShell(),
-				WorkbenchMessages.getString("ProjectCapabilityPropertyPage.errorTitle"), //$NON-NLS-1$
-				WorkbenchMessages.getString("ProjectCapabilityPropertyPage.internalError"), //$NON-NLS-1$
-				e.getStatus());
-			return true;
-		}
-		
-		// Keep only the nature ids whose capability is selected
-		ArrayList keepIds = new ArrayList();
-		ArrayList removeCaps = new ArrayList();
-		for (int i = 0; i < natureIds.length; i++) {
-			boolean isRemoved = true;
-			String id = natureIds[i];
-			for (int j = 0; j < caps.length; j++) {
-				if (id.equals(caps[j].getNatureId())) {
-					keepIds.add(id);
-					isRemoved = false;
-					break;
-				}
-			}
-			if (isRemoved)
-				removeCaps.add(reg.getCapabilityForNature(id));
-		}
-		
-		// Collect the capabilities to add
-		ArrayList newCaps = new ArrayList();
-		for (int i = 0; i < caps.length; i++) {
-			boolean isNew = true;
-			Capability cap = caps[i];
-			for (int j = 0; j < natureIds.length; j++) {
-				if (natureIds[j].equals(cap.getNatureId())) {
-					isNew = false;
-					break;
-				}
-			}
-			if (isNew)
-				newCaps.add(cap);
-		}
-
-		// Launch the step wizard if needed		
-		if (newCaps.size() > 0 || removeCaps.size() > 0) {
-			Capability[] newCapabilities = new Capability[newCaps.size()];
-			newCaps.toArray(newCapabilities);
-			
-			Capability[] removeCapabilities = new Capability[removeCaps.size()];
-			removeCaps.toArray(removeCapabilities);
-			
-			UpdateProjectCapabilityWizard wizard =
-				new UpdateProjectCapabilityWizard(getProject(), newCapabilities, removeCapabilities);
-			
-			MultiStepWizardDialog dialog = new MultiStepWizardDialog(getShell(), wizard);
-			dialog.create();
-			dialog.getShell().setSize( Math.max(SIZING_WIZARD_WIDTH, dialog.getShell().getSize().x), SIZING_WIZARD_HEIGHT );
-			WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.UPDATE_CAPABILITY_WIZARD);
-			dialog.open();
-		}
-		
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProjectCapabilitySimpleAddWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProjectCapabilitySimpleAddWizard.java
deleted file mode 100644
index 8ba9a6e..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProjectCapabilitySimpleAddWizard.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/**********************************************************************
-Copyright (c) 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:
-**********************************************************************/
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-public class ProjectCapabilitySimpleAddWizard extends Wizard {
-	private ProjectCapabilitySimpleSelectionPage mainPage;
-	private IWorkbench workbench;
-	private IStructuredSelection selection;
-	private IProject project;
-	
-	public ProjectCapabilitySimpleAddWizard(IWorkbench workbench, IStructuredSelection selection, IProject project) {
-		super();
-		this.workbench = workbench;
-		this.selection = selection;
-		this.project = project;
-		setForcePreviousAndNextButtons(true);
-		setNeedsProgressMonitor(true);
-		initializeDefaultPageImageDescriptor();
-		setWindowTitle(WorkbenchMessages.getString("ProjectCapabilitySimpleSelectionPage.windowTitle")); //$NON-NLS-1$
-	}
-		
-	/* (non-Javadoc)
-	 * Method declared on IWizard
-	 */
-	public void addPages() {
-		mainPage =
-			new ProjectCapabilitySimpleSelectionPage(
-				"projectCapabilitySimpleSelectionPage", //$NON-NLS-1$
-				workbench,
-				selection,
-				project);
-		mainPage.setTitle(WorkbenchMessages.getString("ProjectCapabilitySimpleSelectionPage.title")); //$NON-NLS-1$
-		mainPage.setDescription(WorkbenchMessages.getString("ProjectCapabilitySimpleSelectionPage.description")); //$NON-NLS-1$
-		addPage(mainPage);
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IWizard.
-	 */
-	public boolean canFinish() {
-		return false;
-	}
-
-	/**
-	 * Sets the image banner for the wizard
-	 */
-	protected void initializeDefaultPageImageDescriptor() {
-		String iconPath = "icons/full/";//$NON-NLS-1$		
-		try {
-			URL installURL = Platform.getPlugin(PlatformUI.PLUGIN_ID).getDescriptor().getInstallURL();
-			URL url = new URL(installURL, iconPath + "wizban/newprj_wiz.gif");//$NON-NLS-1$
-			ImageDescriptor desc = ImageDescriptor.createFromURL(url);
-			setDefaultPageImageDescriptor(desc);
-		}
-		catch (MalformedURLException e) {
-			// Should not happen. Ignore.
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IWizard
-	 */
-	public boolean performFinish() {
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProjectCapabilitySimpleSelectionPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProjectCapabilitySimpleSelectionPage.java
deleted file mode 100644
index 02ec044..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProjectCapabilitySimpleSelectionPage.java
+++ /dev/null
@@ -1,214 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/**********************************************************************
-Copyright (c) 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:
-Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog font should be
-activated and used by other components.
-*********************************************************************/
-import java.util.*;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.wizard.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.graphics.Font;
-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.ui.ICapabilityInstallWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.registry.*;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-public class ProjectCapabilitySimpleSelectionPage extends WizardPage {
-	private IWorkbench workbench;
-	private IStructuredSelection selection;
-	private IProject project;
-	private TreeViewer viewer;
-	private CapabilityRegistry reg;
-	private Capability chosenCapability;
-	private HashMap mapCapToWizard = new HashMap();
-
-	/**
-	 * Creates an instance of this page.
-	 */
-	public ProjectCapabilitySimpleSelectionPage(String pageName, IWorkbench workbench, IStructuredSelection selection, IProject project) {
-		super(pageName);
-		this.workbench = workbench;
-		this.selection = selection;
-		this.project = project;
-		this.reg = WorkbenchPlugin.getDefault().getCapabilityRegistry();
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IWizardPage
-	 */
-	public boolean canFlipToNextPage() {
-		return isPageComplete();
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IDialogPage
-	 */
-	public void createControl(Composite parent) {
-		Font font = parent.getFont();
-		Composite topContainer = new Composite(parent, SWT.NONE);
-		topContainer.setLayout(new GridLayout());
-		topContainer.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		Label label = new Label(topContainer, SWT.LEFT);
-		label.setText(WorkbenchMessages.getString("ProjectCapabilitySelectionGroup.capabilities")); //$NON-NLS-1$
-		GridData data = new GridData();
-		data.verticalAlignment = SWT.TOP;
-		label.setLayoutData(data);
-		label.setFont(font);
-		
-		viewer = new TreeViewer(topContainer, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		viewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
-		viewer.getTree().setFont(font);
-		viewer.setLabelProvider(new WorkbenchLabelProvider());
-		viewer.setContentProvider(getContentProvider());
-		viewer.setInput(reg);
-		
-		viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				chosenCapability = null;
-				if (event.getSelection() instanceof IStructuredSelection) {
-					IStructuredSelection sel = (IStructuredSelection) event.getSelection();
-					if (sel != null && !sel.isEmpty()) {
-						Object result = sel.getFirstElement();
-						if (result instanceof Capability) {
-							chosenCapability = (Capability) result;
-						}
-					}
-				}
-				
-				setPageComplete(validateChosenCapability());
-			}
-		});
-		
-		setControl(topContainer);
-	}
-	
-	/**
-	 * Returns the content provider for the viewer
-	 */
-	private IContentProvider getContentProvider() {
-		return new WorkbenchContentProvider() {
-			public Object[] getChildren(Object parentElement) {
-				if (parentElement instanceof CapabilityRegistry) {
-					ArrayList cats = reg.getUsedCategories();
-					if (reg.getMiscCategory() != null)
-						cats.add(reg.getMiscCategory());
-					return cats.toArray();
-				}
-				if (parentElement instanceof ICategory)
-					return ((ICategory)parentElement).getChildren(parentElement);
-				return null;
-			}
-			
-			public boolean hasChildren(Object element) {
-				if (element instanceof CapabilityRegistry)
-					return true;
-				if (element instanceof ICategory)
-					return ((ICategory)element).hasElements();
-				return false;
-			}
-		};
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IWizardPage.
-	 */
-	public IWizardPage getNextPage() {
-		if (chosenCapability == null)
-			return null;
-			
-		final IWizard[] wizard = new IWizard[1];
-		wizard[0] = (IWizard)mapCapToWizard.get(chosenCapability);
-		if (wizard[0] == null) {
-			BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
-				public void run() {
-					ICapabilityInstallWizard wiz;
-					wiz = chosenCapability.getInstallWizard();
-					if (wiz != null) {
-						wiz.init(workbench, selection, project);
-						wiz.addPages();
-						mapCapToWizard.put(chosenCapability, wiz);
-						wizard[0] = wiz;
-					}
-				}
-			});
-		}
-		
-		if (wizard[0] == null)
-			return null;
-			
-		IWizardPage page = wizard[0].getStartingPage();
-		wizard[0] = null;
-		return page;
-	}
-	
-	private boolean validateChosenCapability() {
-		if (chosenCapability == null) {
-			setErrorMessage(null);
-			return false;
-		}
-
-		Capability[] caps = reg.getProjectCapabilities(project);
-		List existingCaps = Arrays.asList(caps);
-		if (existingCaps.contains(chosenCapability)) {
-			setErrorMessage(WorkbenchMessages.getString("ProjectCapabilitySimpleSelectionPage.capabilityExist")); //$NON-NLS-1$
-			return false;
-		}
-
-		String[] ids = reg.getPrerequisiteIds(chosenCapability);
-		Capability[] prereqs = reg.findCapabilities(ids);
-		for (int i = 0; i < prereqs.length; i++) {
-			if (prereqs[i] == null) {
-				setErrorMessage(WorkbenchMessages.format("ProjectCapabilitySimpleSelectionPage.capabilityMissing", new Object[] {ids[i]})); //$NON-NLS-1$
-				return false;
-			}
-			if (!existingCaps.contains(prereqs[i])) {
-				setErrorMessage(WorkbenchMessages.format("ProjectCapabilitySimpleSelectionPage.capabilityRequired", new Object[] {prereqs[i].getName()})); //$NON-NLS-1$
-				return false;
-			}
-		}
-		
-		ids = reg.getMembershipSetIds(chosenCapability);
-		List idsList = Arrays.asList(ids);
-		for (int i = 0; i < caps.length; i++) {
-			String[] setIds = reg.getMembershipSetIds(caps[i]);
-			for (int j = 0; j < setIds.length; j++) {
-				if (idsList.contains(setIds[j])) {
-					setErrorMessage(WorkbenchMessages.format("ProjectCapabilitySimpleSelectionPage.capabilitySet", new Object[] {caps[i].getName()})); //$NON-NLS-1$
-					return false;
-				}
-			}
-		}
-		
-		Capability[] newCaps = new Capability[caps.length + 1];
-		System.arraycopy(caps, 0, newCaps, 0, caps.length);
-		newCaps[caps.length] = chosenCapability;
-		IStatus status = reg.validateCapabilities(newCaps);
-		if (!status.isOK()) {
-			setErrorMessage(status.getMessage());
-			return false;
-		}
-		
-		setErrorMessage(null);
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProjectPerspectiveChoiceDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProjectPerspectiveChoiceDialog.java
deleted file mode 100644
index 13ad63a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProjectPerspectiveChoiceDialog.java
+++ /dev/null
@@ -1,266 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/**********************************************************************
-Copyright (c) 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:
-Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog font should be
-activated and used by other components.
-*********************************************************************/
-import java.text.Collator;
-import java.util.*;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-public class ProjectPerspectiveChoiceDialog extends Dialog {
-	private static final int MIN_DIALOG_WIDTH = 200;
-	private static final int MIN_DIALOG_HEIGHT = 250;
-	
-	private IWorkbenchWindow window;
-	private ArrayList persps;
-	private IPerspectiveDescriptor chosenPersp;
-	private boolean sameWindow = true;
-	
-	private TableViewer list;
-	
-	private Comparator comparator = new Comparator() {
-		private Collator collator = Collator.getInstance();
-
-		public int compare(Object ob1, Object ob2) {
-			IPerspectiveDescriptor d1 = (IPerspectiveDescriptor) ob1;
-			IPerspectiveDescriptor d2 = (IPerspectiveDescriptor) ob2;
-			return collator.compare(d1.getLabel(), d2.getLabel());
-		}
-	};
-	
-	/**
-	 * Create a ProjectPerspectiveChoiceDialog
-	 * @param window the workbench window launching this dialog
-	 * @param perspIds the list of ids the user can choose from
-	 */
-	public ProjectPerspectiveChoiceDialog(IWorkbenchWindow window, String[] perspIds) {
-		super(window.getShell());
-		this.window = window;
-
-		IWorkbenchPage page = window.getActivePage();
-		if (page != null)
-			chosenPersp = page.getPerspective();
-		
-		IPerspectiveRegistry reg = window.getWorkbench().getPerspectiveRegistry();
-		persps = new ArrayList(perspIds.length);
-		for (int i = 0; i < perspIds.length; i++) {
-			IPerspectiveDescriptor desc;
-			desc = reg.findPerspectiveWithId(perspIds[i]);
-			if (desc != null && desc != chosenPersp)
-				persps.add(desc);
-		}
-		Collections.sort(persps, comparator);
-		
-		if (chosenPersp != null)
-			persps.add(0,chosenPersp);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared in Window.
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		shell.setText(WorkbenchMessages.getString("ProjectPerspectiveChoiceDialog.title")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(shell, IHelpContextIds.SHOW_PROJECT_PERSPECTIVE_DIALOG);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// page group
-		Composite composite = (Composite) super.createDialogArea(parent);
-	
-		composite.setLayout(new GridLayout());
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = MIN_DIALOG_WIDTH;
-		data.heightHint = MIN_DIALOG_HEIGHT;
-		composite.setLayoutData(data);
-	
-		createPerspectiveGroup(composite);
-		createOptionGroup(composite);
-	
-		if (chosenPersp != null)
-			list.setSelection(new StructuredSelection(chosenPersp));
-		
-		return composite;
-	}
-	
-	/**
-	 * Creates the perspective choice controls.
-	 *
-	 * @param parent the parent composite
-	 */
-	private void createPerspectiveGroup(Composite parent) {
-		Font font = parent.getFont();
-		// Label for choosing perspective
-		Label label = new Label(parent, SWT.NONE);
-		label.setFont(font);
-		label.setText(WorkbenchMessages.getString("ProjectPerspectiveChoiceDialog.choosePerspective")); //$NON-NLS-1$
-		
-		// Add perspective list.
-		list = new TableViewer(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		list.setLabelProvider(new PerspLabelProvider(false));
-		list.setContentProvider(new PerspectiveContentProvider());
-		list.setInput(persps);
-		list.addSelectionChangedListener(new SelectionListener());
-		list.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
-		list.getTable().setFont(font);
-	}
-	
-	/**
-	 * Creates the option controls.
-	 *
-	 * @param parent the parent composite
-	 */
-	private void createOptionGroup(Composite parent) {
-		Font font = parent.getFont();
-		// Create the option group
-		Group optionGroup = new Group(parent, SWT.LEFT);
-		GridLayout layout = new GridLayout();
-		optionGroup.setLayout(layout);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
-		optionGroup.setLayoutData(data);
-		optionGroup.setFont(font);
-		optionGroup.setText(WorkbenchMessages.getString("ProjectPerspectiveChoiceDialog.options")); //$NON-NLS-1$
-
-		// Same window option
-		Button button = new Button(optionGroup, SWT.RADIO | SWT.LEFT);
-		button.setText(WorkbenchMessages.getString("ProjectPerspectiveChoiceDialog.sameWindow")); //$NON-NLS-1$
-		data = new GridData();
-		button.setLayoutData(data);
-		button.setFont(font);
-		button.setSelection(sameWindow);
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				sameWindow = true;
-			}
-		});		
-		
-		// New window option
-		button = new Button(optionGroup, SWT.RADIO | SWT.LEFT);
-		button.setText(WorkbenchMessages.getString("ProjectPerspectiveChoiceDialog.newWindow")); //$NON-NLS-1$
-		data = new GridData();
-		button.setLayoutData(data);
-		button.setFont(font);
-		button.setSelection(!sameWindow);
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				sameWindow = false;
-			}
-		});		
-	}
-	
-	/**
-	 * Shows the choosen perspective in the same or
-	 * new window depending on the option checked.
-	 * Returns the workbench window the perspective
-	 * was shown in.
-	 */
-	public IWorkbenchWindow showChosenPerspective() {
-		if (chosenPersp == null)
-			return window;
-		
-		final IWorkbenchWindow[] results = new IWorkbenchWindow[1];
-		final WorkbenchException[] errors = new WorkbenchException[1];
-		BusyIndicator.showWhile(window.getShell().getDisplay(), new Runnable() {
-			public void run() {
-				if (sameWindow) {
-					results[0] = window;
-					IWorkbenchPage page = window.getActivePage();
-					if (page != null)
-						page.setPerspective(chosenPersp);
-				} else {
-					try {
-						results[0] = window.getWorkbench().openWorkbenchWindow(
-							chosenPersp.getId(),
-							ResourcesPlugin.getWorkspace().getRoot());
-					} catch (WorkbenchException e) {
-						errors[0] = e;
-					}
-				}
-			}
-		});
-		
-		IWorkbenchWindow result = results[0];
-		results[0] = null;
-		
-		if (errors[0] != null) {
-			ErrorDialog.openError(
-				window.getShell(),
-				WorkbenchMessages.getString("ProjectPerspectiveChoiceDialog.errorTitle"), //$NON-NLS-1$
-				WorkbenchMessages.getString("ProjectPerspectiveChoiceDialog.errorMessage"), //$NON-NLS-1$
-				errors[0].getStatus());
-			errors[0] = null;
-			return window;
-		}
-		
-		return result;
-	}
-	
-	class PerspectiveContentProvider implements IStructuredContentProvider {
-		public PerspectiveContentProvider() {
-			super();
-		}
-		
-		public void dispose() {
-		}
-		
-		public Object[] getElements(Object element) {
-			if (element instanceof ArrayList) {
-				return ((ArrayList)element).toArray();
-			}
-			return null;
-		}
-		
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-		
-		public boolean isDeleted(Object element) {
-			return false;
-		}
-	}
-	
-	class SelectionListener implements ISelectionChangedListener {
-		public SelectionListener() {
-			super();
-		}
-		
-		public void selectionChanged(SelectionChangedEvent event) {
-			IStructuredSelection selection = (IStructuredSelection) event.getSelection();
-			if (selection != null)
-				chosenPersp = (IPerspectiveDescriptor)selection.getFirstElement();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProjectReferencePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProjectReferencePage.java
deleted file mode 100644
index bc3ef20..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ProjectReferencePage.java
+++ /dev/null
@@ -1,218 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-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.ui.dialogs.PropertyPage;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * A property page for viewing and modifying the set
- * of projects referenced by a given project.
- */
-public class ProjectReferencePage extends PropertyPage {
-	private IProject project;
-	private boolean modified = false;
-	//widgets
-	private CheckboxTableViewer listViewer;
-
-	private static final int PROJECT_LIST_MULTIPLIER = 30;
-/**
- * Creates a new ProjectReferencePage.
- */
-public ProjectReferencePage() {
-}
-/**
- * @see PreferencePage#createContents
- */
-protected Control createContents(Composite parent) {
-
-	WorkbenchHelp.setHelp(parent, IHelpContextIds.PROJECT_REFERENCE_PROPERTY_PAGE);
-	Font font = parent.getFont();
-
-	Composite composite = new Composite(parent, SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.marginWidth = 0;
-	layout.marginHeight = 0;
-	composite.setLayout(layout);
-	composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	composite.setFont(font);
-
-	listViewer = CheckboxTableViewer.newCheckList(composite, SWT.TOP | SWT.BORDER);
-	listViewer.getTable().setFont(font);
-	GridData data = new GridData();
-	data.horizontalAlignment = GridData.FILL;
-	data.grabExcessHorizontalSpace = true;
-	data.heightHint =
-		getDefaultFontHeight(listViewer.getTable(), PROJECT_LIST_MULTIPLIER);
-	listViewer.getTable().setLayoutData(data);
-	listViewer.getTable().setFont(font);
-
-	listViewer.setLabelProvider(new WorkbenchLabelProvider());
-	listViewer.setContentProvider(getContentProvider(project));
-	listViewer.setSorter(new ViewerSorter() {});
-	listViewer.setInput(project.getWorkspace());
-	try {
-		listViewer.setCheckedElements(project.getReferencedProjects());
-	} catch (CoreException e) {
-		//don't initial-check anything
-	}
-
-	//check for initial modification to avoid work if no changes are made
-	listViewer.addCheckStateListener(new ICheckStateListener() {
-		public void checkStateChanged(CheckStateChangedEvent event) {
-			modified = true;
-		}
-	});
-
-	return composite;
-}
-/* (non-Javadoc)
- * Method declared on IDialogPage.
- */
-public void createControl(Composite parent) {
-	initialize();
-	
-	Composite content= new Composite(parent, SWT.NULL);
-	GridLayout layout= new GridLayout();
-	layout.marginHeight = layout.marginWidth = 0;
-	content.setLayout(layout);
-	content.setFont(parent.getFont());
-
-	createDescriptionLabel(content);
-		
-	createContents(content);
-
-	setControl(content);
-}
-/**
- * Returns a content provider for the list dialog. It
- * will return all projects in the workspace except
- * the given project, plus any projects referenced
- * by the given project which do no exist in the
- * workspace.
- */
-protected IStructuredContentProvider getContentProvider(final IProject project) {
-	return new WorkbenchContentProvider() {
-		public Object[] getChildren(Object o) {
-			if (!(o instanceof IWorkspace)) {
-				return new Object[0];
-			}
-
-			// Collect all the projects in the workspace except the given project
-			IProject[] projects = ((IWorkspace)o).getRoot().getProjects();
-			ArrayList referenced = new ArrayList(projects.length);
-			boolean found = false;
-			for (int i = 0; i < projects.length; i++) {
-				if (!found && projects[i].equals(project)) {
-					found = true;
-					continue;
-				}
-				referenced.add(projects[i]);
-			}
-
-			// Add any referenced that do not exist in the workspace currently
-			try {
-				projects = project.getReferencedProjects();
-				for (int i = 0; i < projects.length; i++) {
-					if (!referenced.contains(projects[i]))
-						referenced.add(projects[i]);
-				}
-			}
-			catch (CoreException e) {
-			}
-			
-			return referenced.toArray();
-		}
-	};
-}
-/**
- * Get the defualt widget height for the supplied control.
- * @return int
- * @param control - the control being queried about fonts
- * @param lines - the number of lines to be shown on the table.
- */
-private static int getDefaultFontHeight(Control control, int lines) {
-	FontData[] viewerFontData = control.getFont().getFontData();
-	int fontHeight = 10;
-
-	//If we have no font data use our guess
-	if (viewerFontData.length > 0)
-		fontHeight = viewerFontData[0].getHeight();
-	return lines * fontHeight;
-
-}
-/**
- * @see PreferencePage#doOk
- */
-protected void handle(InvocationTargetException e) {
-	IStatus error;
-	Throwable target = e.getTargetException();
-	if (target instanceof CoreException) {
-		error = ((CoreException) target).getStatus();
-	} else {
-		String msg = target.getMessage();
-		if (msg == null)
-			msg = WorkbenchMessages.getString("Internal_error"); //$NON-NLS-1$
-		error = new Status(IStatus.ERROR, WorkbenchPlugin.PI_WORKBENCH, 1, msg, target);
-	}
-	ErrorDialog.openError(getControl().getShell(), null, null, error);
-}
-/**
- * Initializes a ProjectReferencePage.
- */
-private void initialize() {
-	project = (IProject) getElement().getAdapter(IResource.class);
-	noDefaultAndApplyButton();
-	setDescription(WorkbenchMessages.format("ProjectReferencesPage.label", new Object[] {project.getName()}));//$NON-NLS-1$
-}
-/**
- * @see PreferencePage#performOk
- */
-public boolean performOk() {
-	if (!modified) return true;
-	Object[] checked = listViewer.getCheckedElements();
-	final IProject[] refs = new IProject[checked.length];
-	System.arraycopy(checked, 0, refs, 0, checked.length);
-	IRunnableWithProgress runnable = new IRunnableWithProgress() {
-		public void run(IProgressMonitor monitor) throws InvocationTargetException {
-
-			try {
-				IProjectDescription description = project.getDescription();
-				description.setReferencedProjects(refs);
-				project.setDescription(description, monitor);
-			} catch (CoreException e) {
-				throw new InvocationTargetException(e);
-			}
-		}
-	};
-	try {
-		new ProgressMonitorDialog(getControl().getShell()).run(true, true, runnable);
-	} catch (InterruptedException e) {
-	} catch (InvocationTargetException e) {
-		handle(e);
-		return false;
-	}
-	return true;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PropertyDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PropertyDialog.java
deleted file mode 100644
index 09f992c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PropertyDialog.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.preference.*;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This dialog is created and shown when 'Properties'
- * action is performed while an object is selected.
- * It shows one or more pages registered for object's type.
- */
-public class PropertyDialog extends PreferenceDialog {
-	private ISelection selection;	
-	
-	//The id of the last page that was selected
-	private static String lastPropertyId = null;
-	
-/**
- * The constructor.
- */
-
-public PropertyDialog(Shell parentShell, PreferenceManager mng, ISelection selection) {
-	super(parentShell, mng);
-	setSelection(selection);
-}
-/**
- * Returns selection in the "Properties" action context.
- */
-
-public ISelection getSelection() {
-	return selection;
-}
-/**
- * Sets the selection that will be used to
- * determine target object.
- */
-
-public void setSelection(ISelection newSelection) {
-	selection = newSelection;
-}
-
-/**
- * Get the name of the selected item preference
- */
-protected String getSelectedNodePreference(){
-	return lastPropertyId;
-}
-
-/**
- * Get the name of the selected item preference
- */
-protected void setSelectedNodePreference(String pageId){
-	lastPropertyId = pageId;
-}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PropertyPageContributorManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PropertyPageContributorManager.java
deleted file mode 100644
index 0bebf81..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PropertyPageContributorManager.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.text.Collator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ui.internal.IWorkbenchConstants;
-import org.eclipse.ui.internal.ObjectContributorManager;
-import org.eclipse.ui.internal.misc.Sorter;
-import org.eclipse.ui.internal.registry.PropertyPagesRegistryReader;
-
-/**
- * Extends generic object contributor manager by loading property page
- * contributors from the registry.
- */
-
-public class PropertyPageContributorManager extends ObjectContributorManager {
-	private static PropertyPageContributorManager sharedInstance=null;
-	private boolean contributorsLoaded=false;
-	
-	private Sorter sorter = new Sorter() {
-		private Collator collator = Collator.getInstance();
-		
-		public boolean compare(Object o1, Object o2) {
-			// Make sure the workbench info page is always at the top.
-			RegistryPageContributor c1 = (RegistryPageContributor)o1;
-			RegistryPageContributor c2 = (RegistryPageContributor)o2;
-			if (IWorkbenchConstants.WORKBENCH_PROPERTIES_PAGE_INFO.equals(c1.getPageId())) {
-				// c1 is the info page
-				if (IWorkbenchConstants.WORKBENCH_PROPERTIES_PAGE_INFO.equals(c2.getPageId())) {
-					// both are the info page so c2 is not greater
-					return false;
-				}
-				// c2 is any other page so it must be greater
-				return true;
-			}
-			if (IWorkbenchConstants.WORKBENCH_PROPERTIES_PAGE_INFO.equals(c2.getPageId())) {
-				// c1 is any other page so it is greater
-				return false;
-			}
-
-			// The other pages are sorted in alphabetical order			 
-			String s1 = c1.getPageName();
-			String s2 = c2.getPageName();
-			//Return true if c2 is 'greater than' c1
-			return collator.compare(s2, s1) > 0;
-		}
-	};
-/**
- * The constructor.
- */
-public PropertyPageContributorManager() {
-	super();
-}
-/**
- * Given the object class, this method will find all the registered
- * matching contributors and sequentially invoke them to contribute
- * to the property page manager. Matching algorithm
- * will also check subclasses and implemented interfaces.
- * 
- * @return true if contribution took place, false otherwise.
- */
-public boolean contribute(PropertyPageManager manager, IAdaptable object) {
-	// Lazy initialize
-	if (!contributorsLoaded)
-		loadContributors();
-	
-	List result = getContributors(object);	
-	
-	if (result == null || result.size() == 0)
-		return false;
-	
-	// Sort the results 
-	Object[] sortedResult = sorter.sort(result.toArray());
-
-	// Allow each contributor to add its page to the manager.
-	boolean actualContributions = false;
-	for (int i = 0; i < sortedResult.length; i++) {
-		IPropertyPageContributor ppcont = (IPropertyPageContributor) sortedResult[i];
-		if (!ppcont.isApplicableTo(object)) continue;
-		if (ppcont.contributePropertyPages(manager, object))
-			actualContributions = true;
-	}
-	return actualContributions;
-}
-/**
- * Ideally, shared instance should not be used
- * and manager should be located in the workbench class.
- */
-public static PropertyPageContributorManager getManager() {
-	if (sharedInstance==null)
-	   sharedInstance = new PropertyPageContributorManager();
-	return sharedInstance;
-}
-/**
- * Returns true if contributors exist in the manager for
- * this object. If contributors wer not loaded from
- * the registry, load them first.
- */
-public boolean hasContributorsFor(Object object) {
-   if (!contributorsLoaded) loadContributors();
-   return super.hasContributorsFor(object);
-}
-/**
- * Loads property page contributors from the registry.
- */
-private void loadContributors() {
-	PropertyPagesRegistryReader reader = new PropertyPagesRegistryReader(this);
-	reader.registerPropertyPages(Platform.getPluginRegistry());
-	contributorsLoaded=true;
-	
-}
-	
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PropertyPageManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PropertyPageManager.java
deleted file mode 100644
index 3a29388..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PropertyPageManager.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.preference.*;
-/**
- * This class is created to avoid mentioning preferences
- * in this context. Ideally, JFace preference classes should be
- * renamed into something more generic (for example,
- * 'TreeNavigationDialog').
- */
-
-public class PropertyPageManager extends PreferenceManager {
-/**
- * The constructor.
- */
-public PropertyPageManager() {
-	super();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PropertyPageNode.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PropertyPageNode.java
deleted file mode 100644
index 62d46c5..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PropertyPageNode.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.preference.PreferenceNode;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPropertyPage;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * Property page node allows us to achive presence in the property page dialog
- * without loading the page itself, thus loading the contributing plugin.
- * Only when the user selects the page will it be loaded.
- */
-public class PropertyPageNode extends PreferenceNode {
-	private RegistryPageContributor contributor;
-	private IWorkbenchPropertyPage page;
-	private Image icon;
-	private IAdaptable element;
-/**
- * PropertyPageNode constructor.
- */
-public PropertyPageNode(RegistryPageContributor contributor, IAdaptable element) {
-	super(contributor.getPageId());
-	this.contributor = contributor;
-	this.element = element;
-}
-/**
- * Creates the preference page this node stands for. If the page is null,
- * it will be created by loading the class. If loading fails,
- * empty filler page will be created instead.
- */
-public void createPage() {
-	try {
-		page = contributor.createPage(element);
-	} catch (CoreException e) {
-		// Just inform the user about the error. The details are
-		// written to the log by now.
-		ErrorDialog.openError(
-			(Shell)null, 
-			WorkbenchMessages.getString("PropertyPageNode.errorTitle"),  //$NON-NLS-1$
-			WorkbenchMessages.getString("PropertyPageNode.errorMessage"),  //$NON-NLS-1$
-			e.getStatus());  
-		page = new EmptyPropertyPage();
-	}
-	setPage(page);
-}
-/** (non-Javadoc)
- * Method declared on IPreferenceNode.
- */
-public void disposeResources() {
-	
-	if (page != null) {
-		page.dispose();
-		page = null;
-	}
-	if (icon != null) {
-		icon.dispose();
-		icon = null;
-	}
-}
-/**
- * Returns page icon, if defined.
- */
-public Image getLabelImage() {
-	if (icon==null) {
-		ImageDescriptor desc = contributor.getPageIcon();
-		if (desc != null) {
-			icon = desc.createImage();
-		}
-	}
-	return icon;
-}
-/**
- * Returns page label as defined in the registry.
- */
-public String getLabelText() {
-	return contributor.getPageName();	
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/RegistryPageContributor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/RegistryPageContributor.java
deleted file mode 100644
index 5be7a61..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/RegistryPageContributor.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IActionFilter;
-import org.eclipse.ui.IWorkbenchPropertyPage;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.registry.PropertyPagesRegistryReader;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * This property page contributor is created from page entry
- * in the registry. Since instances of this class are created
- * by the workbench, there is no danger of premature loading
- * of plugins.
- */
-
-public class RegistryPageContributor implements IPropertyPageContributor {
-	private String pageName;
-	private String iconName;
-	private String pageId;
-	private boolean isResourceContributor = false;
-	private IConfigurationElement pageElement;
-	private HashMap filterProperties;
-	
-	private static String [] resourceClassNames =
-		{
-			IResource.class.getName(),
-			IContainer.class.getName(),
-			IFolder.class.getName(),
-			IProject.class.getName(),
-			IFile.class.getName()
-		};
-			
-/**
- * PropertyPageContributor constructor.
- */
-public RegistryPageContributor(String pageId, String pageName, String iconName, HashMap filterProperties, String objectClassName, boolean adaptable, IConfigurationElement pageElement) {
-	this.pageId = pageId;
-	this.pageName = pageName;
-	this.iconName = iconName;
-	this.filterProperties = filterProperties;
-	this.pageElement = pageElement;
-	
-	//Only adapt if explicitly allowed to do so
-	if(adaptable)
-		checkIsResourcePage(objectClassName);
-}
-/**
- * Implements the interface by creating property page specified with
- * the configuration element.
- */
-public boolean contributePropertyPages(PropertyPageManager mng, IAdaptable element) {
-	PropertyPageNode node = new PropertyPageNode(this, element);
-	mng.addToRoot(node);
-	return true;
-}
-/**
- * Creates the page based on the information in the configuration element.
- */
-public IWorkbenchPropertyPage createPage(IAdaptable element) throws CoreException {
-	IWorkbenchPropertyPage ppage = null;
-	ppage = (IWorkbenchPropertyPage)WorkbenchPlugin.createExtension(
-		pageElement, PropertyPagesRegistryReader.ATT_CLASS);
-		
-	if(isResourceContributor)
-		ppage.setElement((IAdaptable) element.getAdapter(IResource.class));
-	else
-		ppage.setElement(element);
-	ppage.setTitle(pageName);
-	return ppage;
-}
-/**
- * Returns page icon as defined in the registry.
- */
-public ImageDescriptor getPageIcon() {
-	if (iconName==null) return null;
-	return WorkbenchImages.getImageDescriptorFromExtension(pageElement.getDeclaringExtension(), iconName);
-}
-/**
- * Returns page ID as defined in the registry.
- */
-
-public String getPageId() {
-	return pageId;
-}
-/**
- * Returns page name as defined in the registry.
- */
-
-public String getPageName() {
-	return pageName;
-}
-/**
- * Return true if name filter is not defined in the registry for this page,
- * or if name of the selected object matches the name filter.
- */
-public boolean isApplicableTo(Object object) {
-	// Test name filter
-	String nameFilter = pageElement.getAttribute(PropertyPagesRegistryReader.ATT_NAME_FILTER);
-	if (nameFilter != null) {
-		String objectName = object.toString();
-		if (object instanceof IAdaptable) {
-			IWorkbenchAdapter adapter = (IWorkbenchAdapter)((IAdaptable)object).getAdapter(IWorkbenchAdapter.class);
-			if (adapter != null) {
-				String elementName = adapter.getLabel(object);
-				if (elementName != null) {
-					objectName = elementName;
-				}
-			}
-		}
-		if (!SelectionEnabler.verifyNameMatch(objectName, nameFilter))
-			return false;
-	}
-
-	// Test custom filter	
-	if (filterProperties == null)
-		return true;
-	IActionFilter filter = null;
-
-	// If this is a resource contributor and the object is not a resource but
-	// is an adaptable then get the object's resource via the adaptable mechanism.
-	Object testObject = object;
-	if (isResourceContributor 
-		&& !(object instanceof IResource)
-		&& (object instanceof IAdaptable)) { 
-			Object result = ((IAdaptable)object).getAdapter(IResource.class);
-			if (result != null) 
-				testObject = result;
-	}
-	
-	if (testObject instanceof IActionFilter)
-		filter = (IActionFilter)testObject;
-	else if (testObject instanceof IAdaptable)
-		filter = (IActionFilter)((IAdaptable)testObject).getAdapter(IActionFilter.class);
-
-	if (filter != null)
-		return testCustom(testObject, filter);
-	else
-		return true;
-}
-/**
- * Returns whether the object passes a custom key value filter
- * implemented by a matcher.
- */
-private boolean testCustom(Object object, IActionFilter filter) {
-	if (filterProperties == null)
-		return false;
-	Iterator iter = filterProperties.keySet().iterator();
-	while (iter.hasNext()) {
-		String key = (String)iter.next();
-		String value = (String)filterProperties.get(key);
-		if (!filter.testAttribute(object, key, value))
-			return false;
-	}
-	return true;
-}
-
-/**
- * Check if the object class name is for a class that
- * inherits from IResource. If so mark the receiver as 
- * a resource contributor
- */
-
-private void checkIsResourcePage(String objectClassName){
-	
-	for(int i = 0; i < resourceClassNames.length; i++){
-		if(resourceClassNames[i].equals(objectClassName)){
-			isResourceContributor = true;
-			return;
-		}
-	}
-}
-
-
-/*
- * @see IObjectContributor#canAdapt()
- */
-public boolean canAdapt() {
-	return isResourceContributor;
-}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/RemoveCapabilityStep.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/RemoveCapabilityStep.java
deleted file mode 100644
index 299f9e9..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/RemoveCapabilityStep.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/**********************************************************************
-Copyright (c) 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:
-**********************************************************************/
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.ui.ICapabilityUninstallWizard;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.registry.Capability;
-import org.eclipse.ui.internal.registry.CapabilityRegistry;
-
-/**
- * Represents the removal of a capability step in a multi-step
- * wizard.
- */
-public class RemoveCapabilityStep extends WizardStep {
-	private Capability capability;
-	private String[] natureIds;
-	private IProject project;
-	private ICapabilityUninstallWizard wizard;
-	
-	/**
-	 * Creates the remove capability step
-	 * 
-	 * @param number step order number
-	 * @param capability the capability to be removed
-	 * @param natureIds the list of nature ids to remove on the project
-	 * @param project the project to remove the capability from
-	 */
-	public RemoveCapabilityStep(int number, Capability capability, String[] natureIds, IProject project) {
-		super(number);
-		this.capability = capability;
-		this.natureIds = natureIds;
-		this.project = project;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on WizardStep.
-	 */
-	public String getLabel() {
-		return WorkbenchMessages.format("RemoveCapabilityStep.label", new Object[] {capability.getName()}); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on WizardStep.
-	 */
-	public String getDetails() {
-		String details = capability.getUninstallDetails();
-		if (details == null) {
-			if (natureIds.length == 1) {
-				details = WorkbenchMessages.format("RemoveCapabilityStep.defaultDescription0", new Object[] {capability.getName()}); //$NON-NLS-1$
-			} else if (natureIds.length == 2) {
-				CapabilityRegistry reg = WorkbenchPlugin.getDefault().getCapabilityRegistry();
-				Capability otherCapability = reg.getCapabilityForNature(natureIds[1]);
-				if (otherCapability == capability)
-					otherCapability = reg.getCapabilityForNature(natureIds[0]);
-				details = WorkbenchMessages.format("RemoveCapabilityStep.defaultDescription1", new Object[] {capability.getName(), otherCapability.getName()}); //$NON-NLS-1$
-			} else {
-				StringBuffer msg = new StringBuffer();
-				CapabilityRegistry reg = WorkbenchPlugin.getDefault().getCapabilityRegistry();
-				for (int i = 0; i < natureIds.length; i++) {
-					Capability cap = reg.getCapabilityForNature(natureIds[i]);
-					if (cap != capability) {
-						msg.append("\n    "); //$NON-NLS-1$
-						msg.append(cap.getName());
-					}
-				}
-				details = WorkbenchMessages.format("RemoveCapabilityStep.defaultDescription2", new Object[] {capability.getName(), msg.toString()}); //$NON-NLS-1$
-			}
-		}
-		
-		return details;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on WizardStep.
-	 */
-	public IWizard getWizard() {
-		if (wizard == null) {
-			wizard = capability.getUninstallWizard();
-			if (wizard == null)
-				wizard = new RemoveCapabilityWizard();
-			if (wizard != null) {
-				wizard.init(PlatformUI.getWorkbench(), StructuredSelection.EMPTY, project, natureIds);
-				wizard.addPages();
-			}
-		}
-		
-		return wizard;
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/RemoveCapabilityWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/RemoveCapabilityWizard.java
deleted file mode 100644
index f30c11a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/RemoveCapabilityWizard.java
+++ /dev/null
@@ -1,135 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/**********************************************************************
-Copyright (c) 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:
-**********************************************************************/
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.ICapabilityUninstallWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * Internal workbench wizard to remove a capability
- * from a project. Also removes prerequisite natures
- * as specified in the <code>init</code> method.
- * <p>
- * This wizard is intended to be used by the
- * <code>RemoveCapabilityStep</code> class only.
- * </p>
- */
-public class RemoveCapabilityWizard extends Wizard implements ICapabilityUninstallWizard {
-	private IWorkbench workbench;
-	private IProject project;
-	private String[] natureIds;
-
-	/**
-	 * Creates an empty wizard for removing a capability
-	 * from a project.
-	 */
-	/* package */ RemoveCapabilityWizard() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on ICapabilityUninstallWizard.
-	 */
-	public void init(IWorkbench workbench, IStructuredSelection selection, IProject project, String[] natureIds) {
-		this.workbench = workbench;
-		this.project = project;
-		this.natureIds = natureIds;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IWizard.
-	 */
-	public boolean performFinish() {
-		return updateNatures();
-	}
-
-	/**
-	 * Update the project natures
-	 */
-	private boolean updateNatures() {
-		// define the operation to update natures
-		WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-			protected void execute(IProgressMonitor monitor) throws CoreException {
-				try {
-					IProjectDescription description = project.getDescription();
-					String[] oldIds = description.getNatureIds();
-					ArrayList newIds = new ArrayList(oldIds.length);
-					for (int i = 0; i < oldIds.length; i++) {
-						boolean keepNature = true;
-						for (int j = 0; j < natureIds.length; j++) {
-							if (natureIds[j].equals(oldIds[i])) {
-								keepNature = false;
-								break;
-							}
-						}
-						if (keepNature)
-							newIds.add(oldIds[i]);
-					}
-					String[] results = new String[newIds.size()];
-					newIds.toArray(results);
-					description.setNatureIds(results);
-					project.setDescription(description, monitor);
-				} finally {
-					monitor.done();
-				}
-			}
-		};
-	
-		// run the update nature operation
-		try {
-			getContainer().run(true, true, op);
-		}
-		catch (InterruptedException e) {
-			return false;
-		}
-		catch (InvocationTargetException e) {
-			Throwable t = e.getTargetException();
-			if (t instanceof CoreException) {
-				ErrorDialog.openError(
-					getShell(), 
-					WorkbenchMessages.getString("RemoveCapabilityWizard.errorMessage"),  //$NON-NLS-1$
-					null, // no special message
-			 		((CoreException) t).getStatus());
-			} else {
-				// Unexpected runtime exceptions and errors may still occur.
-				Platform.getPlugin(PlatformUI.PLUGIN_ID).getLog().log(
-					new Status(
-						Status.ERROR, 
-						PlatformUI.PLUGIN_ID, 
-						0, 
-						t.toString(),
-						t));
-				MessageDialog.openError(
-					getShell(),
-					WorkbenchMessages.getString("RemoveCapabilityWizard.errorMessage"),  //$NON-NLS-1$
-					WorkbenchMessages.format("RemoveCapabilityWizard.internalError", new Object[] {t.getMessage()})); //$NON-NLS-1$
-			}
-			return false;
-		}
-	
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ResourceInfoPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ResourceInfoPage.java
deleted file mode 100644
index 049edec..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ResourceInfoPage.java
+++ /dev/null
@@ -1,436 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-package org.eclipse.ui.internal.dialogs;
-
-import java.io.File;
-import java.text.DateFormat;
-import java.text.MessageFormat;
-import java.util.Date;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * This is a dummy page that is added to the property dialog
- * when multiple elements are selected. At the moment
- * we don't handle multiple selection in a meaningful way.
- */
-public class ResourceInfoPage extends PropertyPage {
-	
-	private Button editableBox;
-	private Button derivedBox;
-	private boolean previousReadOnlyValue;
-	private boolean previousDerivedValue;
-	private static String READ_ONLY = WorkbenchMessages.getString("ResourceInfo.readOnly"); //$NON-NLS-1$
-	private static String DERIVED = WorkbenchMessages.getString("ResourceInfo.derived"); //$NON-NLS-1$
-	private static String NAME_TITLE = WorkbenchMessages.getString("ResourceInfo.name"); //$NON-NLS-1$
-	private static String TYPE_TITLE = WorkbenchMessages.getString("ResourceInfo.type"); //$NON-NLS-1$
-	private static String LOCATION_TITLE = WorkbenchMessages.getString("ResourceInfo.location"); //$NON-NLS-1$
-	private static String RESOLVED_LOCATION_TITLE = WorkbenchMessages.getString("ResourceInfo.resolvedLocation"); //$NON-NLS-1$
-	private static String SIZE_TITLE = WorkbenchMessages.getString("ResourceInfo.size"); //$NON-NLS-1$
-	private static String BYTES_LABEL = WorkbenchMessages.getString("ResourceInfo.bytes"); //$NON-NLS-1$
-	private static String FILE_LABEL = WorkbenchMessages.getString("ResourceInfo.file"); //$NON-NLS-1$
-	private static String FOLDER_LABEL = WorkbenchMessages.getString("ResourceInfo.folder"); //$NON-NLS-1$
-	private static String PROJECT_LABEL = WorkbenchMessages.getString("ResourceInfo.project"); //$NON-NLS-1$
-	private static String LINKED_FILE_LABEL = WorkbenchMessages.getString("ResourceInfo.linkedFile"); //$NON-NLS-1$
-	private static String LINKED_FOLDER_LABEL = WorkbenchMessages.getString("ResourceInfo.linkedFolder"); //$NON-NLS-1$
-	private static String UNKNOWN_LABEL = WorkbenchMessages.getString("ResourceInfo.unknown"); //$NON-NLS-1$
-	private static String NOT_LOCAL_TEXT = WorkbenchMessages.getString("ResourceInfo.notLocal"); //$NON-NLS-1$
-	private static String MISSING_PATH_VARIABLE_TEXT = WorkbenchMessages.getString("ResourceInfo.undefinedPathVariable"); //$NON-NLS-1$
-	private static String NOT_EXIST_TEXT = WorkbenchMessages.getString("ResourceInfo.notExist"); //$NON-NLS-1$
-	private static String PATH_TITLE = WorkbenchMessages.getString("ResourceInfo.path"); //$NON-NLS-1$
-	private static String TIMESTAMP_TITLE = WorkbenchMessages.getString("ResourceInfo.lastModified"); //$NON-NLS-1$
-	private static String FILE_NOT_EXIST_TEXT = WorkbenchMessages.getString("ResourceInfo.fileNotExist"); //$NON-NLS-1$
-
-	//Max value width in characters before wrapping
-	private static final int MAX_VALUE_WIDTH = 80;
-
-/**
- * Create the group that shows the name, location, size and type.
- *
- * @param parent the composite the group will be created in
- * @param resource the resource the information is being taken from.
- * @return the composite for the group
- */
-private Composite createBasicInfoGroup(Composite parent, IResource resource) {
-	
-	Font font = parent.getFont();
-
-	Composite basicInfoComposite = new Composite(parent, SWT.NULL);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 2;
-	layout.marginWidth = 0;
-	layout.marginHeight = 0;
-	basicInfoComposite.setLayout(layout);
-	GridData data = new GridData();
-	data.verticalAlignment = GridData.FILL;
-	data.horizontalAlignment = GridData.FILL;
-	basicInfoComposite.setLayoutData(data);
-	basicInfoComposite.setFont(font);
-
-	//The group for path
-	Label pathLabel = new Label(basicInfoComposite, SWT.NONE);
-	pathLabel.setText(PATH_TITLE);
-	GridData gd = new GridData();
-	gd.verticalAlignment = SWT.TOP;
-	pathLabel.setLayoutData(gd);
-	pathLabel.setFont(font);
-	
-	// path value label
-	Text pathValueText = new Text(basicInfoComposite, SWT.WRAP | SWT.READ_ONLY);
-	pathValueText.setText(resource.getFullPath().toString());
-	gd = new GridData();
-	gd.widthHint = convertWidthInCharsToPixels(MAX_VALUE_WIDTH);
-	gd.grabExcessHorizontalSpace = true;
-	gd.horizontalAlignment = GridData.FILL;
-	pathValueText.setLayoutData(gd);
-	pathValueText.setFont(font);
-	
-	//The group for types
-	Label typeTitle = new Label(basicInfoComposite, SWT.LEFT);
-	typeTitle.setText(TYPE_TITLE);
-	typeTitle.setFont(font);
-	
-	Text typeValue = new Text(basicInfoComposite, SWT.LEFT | SWT.READ_ONLY);
-	typeValue.setText(getTypeString(resource));
-	typeValue.setFont(font);
-
-	//The group for location
-	Label locationTitle = new Label(basicInfoComposite, SWT.LEFT);
-	locationTitle.setText(LOCATION_TITLE);
-	gd = new GridData();
-	gd.verticalAlignment = SWT.TOP;
-	locationTitle.setLayoutData(gd);
-	locationTitle.setFont(font);
-	
-	Text locationValue = new Text(basicInfoComposite, SWT.WRAP | SWT.READ_ONLY);
-	locationValue.setText(getLocationText(resource));
-	gd = new GridData();
-	gd.widthHint = convertWidthInCharsToPixels(MAX_VALUE_WIDTH);
-	gd.grabExcessHorizontalSpace = true;
-	gd.horizontalAlignment = GridData.FILL;
-	locationValue.setLayoutData(gd);
-	locationValue.setFont(font);
-	
-	if (resource.isLinked() && 
-		!getLocationText(resource).equals(getResolvedLocationText(resource))) {
-		Label resolvedLocationTitle = new Label(basicInfoComposite, SWT.LEFT);
-		resolvedLocationTitle.setText(RESOLVED_LOCATION_TITLE);
-		gd = new GridData();
-		gd.verticalAlignment = SWT.TOP;
-		resolvedLocationTitle.setLayoutData(gd);
-		resolvedLocationTitle.setFont(font);
-		
-		Text resolvedLocationValue = new Text(basicInfoComposite, SWT.WRAP | SWT.READ_ONLY);
-		resolvedLocationValue.setText(getResolvedLocationText(resource));
-		gd = new GridData();
-		gd.widthHint = convertWidthInCharsToPixels(MAX_VALUE_WIDTH);
-		gd.grabExcessHorizontalSpace = true;
-		gd.horizontalAlignment = GridData.FILL;
-		resolvedLocationValue.setLayoutData(gd);
-		resolvedLocationValue.setFont(font);
-	}
-	if (resource.getType() == IResource.FILE) {
-		//The group for size
-		Label sizeTitle = new Label(basicInfoComposite, SWT.LEFT);
-		sizeTitle.setText(SIZE_TITLE);
-		sizeTitle.setFont(font);
-		
-		Text sizeValue = new Text(basicInfoComposite, SWT.LEFT | SWT.READ_ONLY);
-		sizeValue.setText(getSizeString((IFile) resource));
-		gd = new GridData();
-		gd.widthHint = convertWidthInCharsToPixels(MAX_VALUE_WIDTH);
-		gd.grabExcessHorizontalSpace = true;
-		gd.horizontalAlignment = GridData.FILL;
-		sizeValue.setLayoutData(gd);
-		sizeValue.setFont(font);
-	}
-
-	return basicInfoComposite;
-}
-protected Control createContents(Composite parent) {
-
-	WorkbenchHelp.setHelp(parent, IHelpContextIds.RESOURCE_INFO_PROPERTY_PAGE);
-
-	// layout the page
-	IResource resource = (IResource) getElement();
-	this.previousReadOnlyValue = resource.isReadOnly();
-	if(resource.getType()!= IResource.PROJECT)
-		this.previousDerivedValue = resource.isDerived();
-
-	// top level group
-	Composite composite = new Composite(parent, SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.marginWidth = 0;
-	layout.marginHeight = 0;
-	composite.setLayout(layout);
-	GridData data = new GridData(GridData.FILL);
-	data.grabExcessHorizontalSpace = true;
-	composite.setLayoutData(data);
-	composite.setFont(parent.getFont());
-
-	createBasicInfoGroup(composite, resource);
-	createSeparator(composite);
-	createStateGroup(composite,resource);
-
-	return composite;
-}
-/**
- * Create the isEditable button and it's associated label as a child of parent
- * using the editableValue of the receiver. The Composite will be the parent of
- * the button.
- */
-private void createEditableButton(Composite composite) {
-	
-	this.editableBox = new Button(composite, SWT.CHECK | SWT.RIGHT);
-	this.editableBox.setAlignment(SWT.LEFT);
-	this.editableBox.setText(READ_ONLY);
-	this.editableBox.setSelection(this.previousReadOnlyValue);
-	this.editableBox.setFont(composite.getFont());
-	GridData data = new GridData();
-	data.horizontalSpan = 2;
-	this.editableBox.setLayoutData(data);
-}
-
-/**
- * Create the derived button and it's associated label as a child of parent
- * using the derived of the receiver. The Composite will be the parent of
- * the button.
- */
-private void createDerivedButton(Composite composite) {
-	
-	this.derivedBox = new Button(composite, SWT.CHECK | SWT.RIGHT);
-	this.derivedBox.setAlignment(SWT.LEFT);
-	this.derivedBox.setText(DERIVED);
-	this.derivedBox.setSelection(this.previousDerivedValue);
-	this.derivedBox.setFont(composite.getFont());
-	GridData data = new GridData();
-	data.horizontalSpan = 2;
-	this.derivedBox.setLayoutData(data);
-}
-
-/**
- * Create a separator that goes across the entire page
- */
-private void createSeparator(Composite composite) {
-
-	Label separator =
-		new Label(composite, SWT.SEPARATOR | SWT.HORIZONTAL);
-	GridData gridData = new GridData();
-	gridData.horizontalAlignment = GridData.FILL;
-	gridData.grabExcessHorizontalSpace = true;
-	separator.setLayoutData(gridData);
-}
-/**
- * Create the group that shows the read only state and the timestamp.
- *
- * @return the composite for the group
- * @param parent the composite the group will be created in
- * @param resource the resource the information is being taken from.
- */
-private void createStateGroup(Composite parent, IResource resource) {
-	
-	Font font = parent.getFont();
-
-	Composite composite = new Composite(parent, SWT.NULL);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 2;
-	layout.marginWidth = 0;
-	layout.marginHeight = 0;
-	composite.setLayout(layout);
-	GridData data = new GridData();
-	data.horizontalAlignment = GridData.FILL;
-	composite.setLayoutData(data);
-	composite.setFont(font);
-
-	Label timeStampLabel = new Label(composite, SWT.NONE);
-	timeStampLabel.setText(TIMESTAMP_TITLE);
-	timeStampLabel.setFont(font);
-
-	// path value label
-	Text timeStampValue = new Text(composite, SWT.WRAP | SWT.READ_ONLY);
-	timeStampValue.setText(getDateStringValue(resource));
-	timeStampValue.setFont(font);
-	timeStampValue.setLayoutData(
-		new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));
-
-	createEditableButton(composite);
-	
-	//Not relevant to projects
-	if(resource.getType() != IResource.PROJECT)
-		createDerivedButton(composite);
-}
-/**
- * Return the value for the date String for the timestamp of the supplied resource.
- * @return String
- * @param IResource - the resource to query
- */
-private String getDateStringValue(IResource resource) {
-	if (!resource.isLocal(IResource.DEPTH_ZERO))
-		return NOT_LOCAL_TEXT;
-		
-	IPath location = resource.getLocation();
-	if (location == null) {
-		if (resource.isLinked())
-			return MISSING_PATH_VARIABLE_TEXT;
-				
-		return NOT_EXIST_TEXT;
-	}
-	else {
-		File localFile = location.toFile();
-		DateFormat format = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.MEDIUM);
-		return format.format(new Date(localFile.lastModified()));
-	}
-}
-/**
- * Get the location of a resource
- */
-private String getLocationText(IResource resource) {
-	if (!resource.isLocal(IResource.DEPTH_ZERO))
-		return NOT_LOCAL_TEXT;
-
-	IPath location; 
-	if (resource.isLinked()) {
-		location = resource.getRawLocation();
-	}
-	else {	
-		location = resource.getLocation();
-	}
-	if (location == null) {
-		return NOT_EXIST_TEXT;
-	} else {
-		return location.toOSString();
-	}
-}
-/**
- * Get the resolved location of a resource.
- * This resolves path variables if present in the resource path.
- */
-private String getResolvedLocationText(IResource resource) {
-	if (!resource.isLocal(IResource.DEPTH_ZERO))
-		return NOT_LOCAL_TEXT;
-
-	IPath location = resource.getLocation();
-	if (location == null) {
-		if (resource.isLinked())
-			return MISSING_PATH_VARIABLE_TEXT;
-				
-		return NOT_EXIST_TEXT;
-	}
-	else {
-		String locationString = location.toOSString();
-		File file = location.toFile();
-		
-		if (!file.exists()) {
-			locationString += " " + FILE_NOT_EXIST_TEXT; //$NON-NLS-1$ 
-		}
-		return locationString;
-	}
-}
-/**
- * Return a String that indicates the size of the supplied file.
- */
-private String getSizeString(IFile file) {
-	if (!file.isLocal(IResource.DEPTH_ZERO))
-		return NOT_LOCAL_TEXT;
-
-	IPath location = file.getLocation();
-	if (location == null) {
-		if (file.isLinked())
-			return MISSING_PATH_VARIABLE_TEXT;
-				
-		return NOT_EXIST_TEXT;
-	}
-	else {
-		File localFile = location.toFile();
-		String bytesString = Long.toString(localFile.length());
-		
-		return MessageFormat.format(BYTES_LABEL, new Object[] {bytesString});
-	}
-}
-/**
- * Get the string that identifies the type of this resource.
- */
-private String getTypeString(IResource resource) {
-	
-	if(resource.getType() == IResource.FILE) {
-		if (resource.isLinked())
-			return LINKED_FILE_LABEL;
-			
-		return FILE_LABEL;
-	}
-
-	if(resource.getType() == IResource.FOLDER) {
-		if (resource.isLinked())
-			return LINKED_FOLDER_LABEL;
-			
-		return FOLDER_LABEL;
-	}
-
-	if(resource.getType() == IResource.PROJECT)
-		return PROJECT_LABEL;
-
-	//Should not be possible
-	return UNKNOWN_LABEL;
-}
-/**
- * Reset the editableBox to the false.
- */
-protected void performDefaults() {
-
-	this.editableBox.setSelection(false);
-	
-	//Nothing to update if we never made the box
-	if(this.derivedBox != null)
-		this.derivedBox.setSelection(false);
-}
-/** 
- * Apply the read only state to the resource.
- */
-public boolean performOk() {
-	IResource resource = (IResource) getElement();
-	boolean localReadOnlyValue = editableBox.getSelection();
-	if (previousReadOnlyValue != localReadOnlyValue) {
-		resource.setReadOnly(localReadOnlyValue);
-	}
-	
-	//Nothing to update if we never made the box
-	if(this.derivedBox != null){
-		try{
-			boolean localDerivedValue = derivedBox.getSelection();
-			if (previousDerivedValue != localDerivedValue) {
-				resource.setDerived(localDerivedValue);
-			}
-		}
-		catch (CoreException exception){
-			ErrorDialog.openError(
-				getShell(), 
-				WorkbenchMessages.getString("InternalError"), //$NON-NLS-1$
-				exception.getLocalizedMessage(),
-				exception.getStatus()); 
-			return false;
-		}
-	}		
-	return true;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ResourceSorter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ResourceSorter.java
deleted file mode 100644
index 597b7b3..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ResourceSorter.java
+++ /dev/null
@@ -1,179 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-/**
- * Sorter for viewers that display items of type <code>IResource</code>.
- * The sorter supports two sort criteria:
- * <p>
- * <code>NAME</code>: Folders are given order precedence, followed by files.
- * Within these two groups resources are ordered by name.  All name comparisons
- * are case-insensitive.
- * </p>
- * <p>
- * <code>TYPE</code>: Folders are given order precedence, followed by files.
- * Within these two groups resources are ordered by extension.  All extension
- * comparisons are case-insensitive.
- * </p>
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class ResourceSorter extends ViewerSorter {
-
-	/**
-	 * Constructor argument value that indicates to sort items by name.
-	 */
-	public final static int NAME = 1;
-
-	/**
-	 * Constructor argument value that indicates to sort items by extension.
-	 */
-	public final static int TYPE = 2;
-
-	private int criteria;
-
-	/**
-	 * Creates a resource sorter that will use the given sort criteria.
-	 *
-	 * @param criteria the sort criterion to use: one of <code>NAME</code> or 
-	 *   <code>TYPE</code>
-	 */
-	public ResourceSorter(int criteria) {
-		super();
-		this.criteria = criteria;
-	}
-
-	/**
-	 * Returns an integer value representing the relative sort priority of the 
-	 * given element based on its class.
-	 * <p>
-	 * <ul>
-	 *   <li>resources (<code>IResource</code>) - 2</li>
-	 *   <li>project references (<code>ProjectReference</code>) - 1</li>
-	 *   <li>everything else - 0</li>
-	 * </ul>
-	 * </p>
-	 *
-	 * @param element the element
-	 * @return the sort priority (larger numbers means more important)
-	 */
-	protected int classComparison(Object element) {
-		if (element instanceof IResource) {
-			return 2;
-		}
-		return 0;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on ViewerSorter.
-	 */
-	public int compare(Viewer viewer, Object o1, Object o2) {
-		//have to deal with non-resources in navigator
-		//if one or both objects are not resources, returned a comparison 
-		//based on class.
-		if (!(o1 instanceof IResource && o2 instanceof IResource)) {
-			return compareClass(o1, o2);
-		}
-		IResource r1 = (IResource) o1;
-		IResource r2 = (IResource) o2;
-
-		if (r1 instanceof IContainer && r2 instanceof IContainer)
-			return compareNames(r1, r2);
-		else if (r1 instanceof IContainer)
-			return -1;
-		else if (r2 instanceof IContainer)
-			return 1;
-		else if (criteria == NAME)
-			return compareNames(r1, r2);
-		else if (criteria == TYPE)
-			return compareTypes(r1, r2);
-		else
-			return 0;
-	}
-
-	/**
-	 * Returns a number reflecting the collation order of the given elements
-	 * based on their class.
-	 *
-	 * @param element1 the first element to be ordered
-	 * @param element2 the second element to be ordered
-	 * @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
-	 */
-	protected int compareClass(Object element1, Object element2) {
-		return classComparison(element1) - classComparison(element2);
-	}
-
-	/**
-	 * Returns a number reflecting the collation order of the given resources
-	 * based on their resource names.
-	 *
-	 * @param resource1 the first resource element to be ordered
-	 * @param resource2 the second resource element to be ordered
-	 * @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
-	 */
-	protected int compareNames(IResource resource1, IResource resource2) {
-		return collator.compare(resource1.getName(), resource2.getName());
-	}
-
-	/**
-	 * Returns a number reflecting the collation order of the given resources
-	 * based on their respective file extensions. Resources with the same file
-	 * extension will be collated based on their names.
-	 *
-	 * @param resource1 the first resource element to be ordered
-	 * @param resource2 the second resource element to be ordered
-	 * @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
-	 */
-	protected int compareTypes(IResource resource1, IResource resource2) {
-		String ext1 = getExtensionFor(resource1);
-		String ext2 = getExtensionFor(resource2);
-
-		// Compare extensions.  If they're different then return a value that
-		// indicates correct extension ordering.  If they're the same then
-		// return a value that indicates the correct NAME ordering.
-		int result = collator.compare(ext1, ext2);
-
-		if (result != 0) // ie.- different extensions
-			return result;
-
-		return compareNames(resource1, resource2);
-	}
-
-	/**
-	 * Returns the sort criteria of this this sorter.
-	 *
-	 * @return the sort criterion: one of <code>NAME</code> or <code>TYPE</code>
-	 */
-	public int getCriteria() {
-		return criteria;
-	}
-
-	/**
-	 * Returns the extension portion of the given resource.
-	 *
-	 * @param resource the resource
-	 * @return the file extension, possibily the empty string
-	 */
-	private String getExtensionFor(IResource resource) {
-		String ext = resource.getFileExtension();
-		return ext == null ? "" : ext; //$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ResourceTreeAndListGroup.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ResourceTreeAndListGroup.java
deleted file mode 100644
index 8ea6904..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ResourceTreeAndListGroup.java
+++ /dev/null
@@ -1,948 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.*;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.Table;
-
-import java.io.File;
-
-/**
- *	Workbench-level composite that combines a CheckboxTreeViewer and CheckboxListViewer.
- *	All viewer selection-driven interactions are handled within this object
- */
-public class ResourceTreeAndListGroup implements ICheckStateListener, ISelectionChangedListener, ITreeViewerListener {
-	private	Object			root;
-	private	Object			currentTreeSelection;
-	private	Collection		expandedTreeNodes = new HashSet();
-	private	Map				checkedStateStore = new HashMap(9);
-	private Collection		whiteCheckedTreeItems = new HashSet();
-	private	ListenerList	listeners = new ListenerList();
-	
-	private	ITreeContentProvider		treeContentProvider;
-	private	IStructuredContentProvider	listContentProvider;
-	private ILabelProvider				treeLabelProvider;
-	private ILabelProvider				listLabelProvider;
-	
-	// widgets
-	private	CheckboxTreeViewer	treeViewer;
-	private	CheckboxTableViewer	listViewer;
-	
-/**
- *	Create an instance of this class.  Use this constructor if you wish to specify
- *	the width and/or height of the combined widget (to only hardcode one of the
- *	sizing dimensions, specify the other dimension's value as -1)
- *
- *	@param parent org.eclipse.swt.widgets.Composite
- *	@param style int
- *  @param rootObject java.lang.Object
- *	@param childPropertyName java.lang.String
- *	@param parentPropertyName java.lang.String
- *	@param listPropertyName java.lang.String
- *	@param width int
- *	@param height int
- */
-public ResourceTreeAndListGroup(
-	Composite parent,Object rootObject,
-	ITreeContentProvider treeContentProvider,ILabelProvider treeLabelProvider,
-	IStructuredContentProvider listContentProvider,ILabelProvider listLabelProvider,
-	int style,int width,int height) {
-
-	root = rootObject;
-	this.treeContentProvider = treeContentProvider;
-	this.listContentProvider = listContentProvider;
-	this.treeLabelProvider = treeLabelProvider;
-	this.listLabelProvider = listLabelProvider;
-	createContents(parent, width, height, style);
-}
-/**
- * This method must be called just before this window becomes visible.
- */
-public void aboutToOpen() {
-	determineWhiteCheckedDescendents(root);
-	checkNewTreeElements(treeContentProvider.getElements(root));
-	currentTreeSelection = null;
-
-	//select the first element in the list
-	Object[] elements = treeContentProvider.getElements(root);
-	Object primary = elements.length > 0 ? elements[0] : null;
-	if (primary != null) {
-		treeViewer.setSelection(new StructuredSelection(primary));
-	}
-	treeViewer.getControl().setFocus();
-}
-/**
- *	Add the passed listener to self's collection of clients
- *	that listen for changes to element checked states
- *
- *	@param listener ICheckStateListener
- */
-public void addCheckStateListener(ICheckStateListener listener) {
-	listeners.add(listener);
-}
-/**
- *	Return a boolean indicating whether all children of the passed tree element
- *	are currently white-checked
- *
- *	@return boolean
- *	@param treeElement java.lang.Object
- */
-protected boolean areAllChildrenWhiteChecked(Object treeElement) {
-	Object[] children = treeContentProvider.getChildren(treeElement);
-	for (int i = 0; i < children.length; ++i) {
-		if (!whiteCheckedTreeItems.contains(children[i]))
-			return false;
-	}
-	
-	return true;
-}
-/**
- *	Return a boolean indicating whether all list elements associated with
- *	the passed tree element are currently checked
- *
- *	@return boolean
- *	@param treeElement java.lang.Object
- */
-protected boolean areAllElementsChecked(Object treeElement) {
-	List checkedElements = (List)checkedStateStore.get(treeElement);
-	if (checkedElements == null)	// ie.- tree item not even gray-checked
-		return false;
-
-	return getListItemsSize(treeElement) == checkedElements.size();
-}
-/**
- *	Iterate through the passed elements which are being realized for the first
- *	time and check each one in the tree viewer as appropriate
- */
-protected void checkNewTreeElements(Object[] elements) {
-	for (int i = 0; i < elements.length; ++i) {
-		Object currentElement = elements[i];
-		boolean checked = checkedStateStore.containsKey(currentElement);
-		treeViewer.setChecked(currentElement,checked);
-		treeViewer.setGrayed(currentElement,checked && !whiteCheckedTreeItems.contains(currentElement));
-	}
-}
-/**
-*	An item was checked in one of self's two views.  Determine which
-*	view this occurred in and delegate appropriately
-*
-*	@param event CheckStateChangedEvent
-*/
-public void checkStateChanged(final CheckStateChangedEvent event) {
-
-	//Potentially long operation - show a busy cursor
-	BusyIndicator.showWhile(treeViewer.getControl().getDisplay(), new Runnable() {
-		public void run() {
-			if (event.getCheckable().equals(treeViewer))
-				treeItemChecked(event.getElement(), event.getChecked());
-			else
-				listItemChecked(event.getElement(), event.getChecked(), true);
-
-			notifyCheckStateChangeListeners(event);
-		}
-	});
-}
-/**
- *	Lay out and initialize self's visual components.
- *
- *	@param parent org.eclipse.swt.widgets.Composite
- *	@param width int
- *	@param height int
- */
-protected void createContents(Composite parent, int width, int height, int style) {
-	// group pane
-	Composite composite = new Composite(parent,style);
-	composite.setFont(parent.getFont());
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 2;
-	layout.makeColumnsEqualWidth = true;
-	layout.marginHeight = 0;
-	layout.marginWidth = 0;
-	composite.setLayout(layout);
-	composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-			
-	createTreeViewer(composite, width/2, height);
-	createListViewer(composite, width/2, height);
-	
-	initialize();
-}
-/**
- *	Create this group's list viewer.
- */
-protected void createListViewer(Composite parent, int width, int height) {
-	listViewer = CheckboxTableViewer.newCheckList(parent, SWT.BORDER);
-	GridData data = new GridData(GridData.FILL_BOTH);
-	data.widthHint = width;
-	data.heightHint = height;
-	listViewer.getTable().setLayoutData(data);
-	listViewer.getTable().setFont(parent.getFont());
-	listViewer.setContentProvider(listContentProvider);
-	listViewer.setLabelProvider(listLabelProvider);
-	listViewer.addCheckStateListener(this);
-}
-/**
- *	Create this group's tree viewer.
- */
-protected void createTreeViewer(Composite parent, int width, int height) {
-	Tree tree = new Tree(parent, SWT.CHECK | SWT.BORDER);
-	GridData data = new GridData(GridData.FILL_BOTH);
-	data.widthHint = width;
-	data.heightHint = height;
-	tree.setLayoutData(data);
-	tree.setFont(parent.getFont());
-	
-	treeViewer = new CheckboxTreeViewer(tree);
-	treeViewer.setContentProvider(treeContentProvider);
-	treeViewer.setLabelProvider(treeLabelProvider);
-	treeViewer.addTreeListener(this);
-	treeViewer.addCheckStateListener(this);
-	treeViewer.addSelectionChangedListener(this);
-}
-/**
- * Returns a boolean indicating whether the passed tree element should be
- * at LEAST gray-checked.  Note that this method does not consider whether
- * it should be white-checked, so a specified tree item which should be
- * white-checked will result in a <code>true</code> answer from this method.
- * To determine whether a tree item should be white-checked use method
- * #determineShouldBeWhiteChecked(Object).
- *
- * @param element java.lang.Object
- * @return boolean
- * @see #determineShouldBeWhiteChecked(java.lang.Object)
- */
-protected boolean determineShouldBeAtLeastGrayChecked(Object treeElement) {
-	// if any list items associated with treeElement are checked then it
-	// retains its gray-checked status regardless of its children
-	List checked = (List) checkedStateStore.get(treeElement);
-	if (checked != null && (!checked.isEmpty()))
-		return true;
-
-	// if any children of treeElement are still gray-checked then treeElement
-	// must remain gray-checked as well. Only ask expanded nodes
-	if (expandedTreeNodes.contains(treeElement)) {
-		Object[] children = treeContentProvider.getChildren(treeElement);
-		for (int i = 0; i < children.length; ++i) {
-			if (checkedStateStore.containsKey(children[i]))
-				return true;
-		}
-	}
-
-	return false;
-}
-/**
- * Returns a boolean indicating whether the passed tree item should be
- * white-checked.
- *
- * @return boolean
- * @param treeElement java.lang.Object
- */
-protected boolean determineShouldBeWhiteChecked(Object treeElement) {
-	return areAllChildrenWhiteChecked(treeElement) && areAllElementsChecked(treeElement);
-}
-/**
- *	Recursively add appropriate tree elements to the collection of
- *	known white-checked tree elements.
- *
- *	@param treeElement java.lang.Object
- */
-protected void determineWhiteCheckedDescendents(Object treeElement) {
-	// always go through all children first since their white-checked
-	// statuses will be needed to determine the white-checked status for
-	// this tree element
-	Object[] children = treeContentProvider.getElements(treeElement);
-	for (int i = 0; i < children.length; ++i)
-		determineWhiteCheckedDescendents(children[i]);
-
-	// now determine the white-checked status for this tree element
-	if (determineShouldBeWhiteChecked(treeElement))
-		setWhiteChecked(treeElement,true);
-}
-/**
- * Cause the tree viewer to expand all its items
- */
-public void expandAll() {
-	treeViewer.expandAll();
-}
-/**
- *	Expand an element in a tree viewer
- */
-private void expandTreeElement(final Object item) {
-	BusyIndicator.showWhile(treeViewer.getControl().getDisplay(), new Runnable() {
-		public void run() {
-
-			// First see if the children need to be given their checked state at all.  If they've
-			// already been realized then this won't be necessary
-			if (expandedTreeNodes.contains(item))
-				checkNewTreeElements(treeContentProvider.getChildren(item));
-			else {
-
-				expandedTreeNodes.add(item);
-				if (whiteCheckedTreeItems.contains(item)) {
-					//If this is the first expansion and this is a white checked node then check the children
-					Object[] children = treeContentProvider.getChildren(item);
-					for (int i = 0; i < children.length; ++i) {
-						if (!whiteCheckedTreeItems.contains(children[i])) {
-							Object child = children[i];
-							setWhiteChecked(child, true);
-							treeViewer.setChecked(child, true);
-							checkedStateStore.put(child, new ArrayList());
-						}
-					}
-
-					//Now be sure to select the list of items too
-					setListForWhiteSelection(item);
-				}
-			}
-
-		}
-	});
-}
-/**
- * Add all of the selected children of nextEntry to result recursively.
- * This does not set any values in the checked state.
- * @param The treeElement being queried
- * @param addAll a boolean to indicate if the checked state store needs to be queried
- * @param filter IElementFilter - the filter being used on the data
- * @param monitor IProgressMonitor or null that the cancel is polled for 
-*/
-private void findAllSelectedListElements(
-	Object treeElement,
-	String parentLabel,
-	boolean addAll,
-	IElementFilter filter,
-	IProgressMonitor monitor) throws InterruptedException{
-		
-	String fullLabel = null;
-	if(monitor != null && monitor.isCanceled())
-		return;
-	if(monitor != null){
-		fullLabel = getFullLabel(treeElement,parentLabel);
-		monitor.subTask(fullLabel);
-	}
-
-	if (addAll) 
-		filter.filterElements(listContentProvider.getElements(treeElement),monitor);
-	else { //Add what we have stored
-		if (checkedStateStore.containsKey(treeElement))
-			filter.filterElements((Collection) checkedStateStore.get(treeElement),monitor);
-	}
-
-	Object[] treeChildren = treeContentProvider.getChildren(treeElement);
-	for (int i = 0; i < treeChildren.length; i++) {
-		Object child = treeChildren[i];
-		if (addAll)
-			findAllSelectedListElements(child, fullLabel,true, filter,monitor);
-		else { //Only continue for those with checked state
-			if (checkedStateStore.containsKey(child))
-				findAllSelectedListElements(
-					child,
-					fullLabel,
-					whiteCheckedTreeItems.contains(child),
-					filter,
-					monitor);
-		}
-
-	}
-}
-/**
- * Find all of the white checked children of the treeElement and add them to the collection.
- * If the element itself is white select add it. If not then add any selected list elements
- * and recurse down to the children.
- * @param treeElement java.lang.Object
- * @param result java.util.Collection
- */
-private void findAllWhiteCheckedItems(Object treeElement, Collection result) {
-
-	if (whiteCheckedTreeItems.contains(treeElement))
-		result.add(treeElement);
-	else {
-		Collection listChildren = (Collection) checkedStateStore.get(treeElement);
-		//if it is not in the store then it and it's children are not interesting
-		if (listChildren == null)
-			return;
-		result.addAll(listChildren);
-		Object[] children = treeContentProvider.getChildren(treeElement);
-		for (int i = 0; i < children.length; ++i) {
-			findAllWhiteCheckedItems(children[i], result);
-		}
-	}
-}
-/**
- * Returns a flat list of all of the leaf elements which
- * are checked. Filter then based on the supplied ElementFilter.
- * If monitor is cancelled then return null
- * @param filter - the filter for the data
- * @param monitor IProgressMonitor or null
- * @return all of the leaf elements which are checked
- */
-public void getAllCheckedListItems(IElementFilter filter, IProgressMonitor monitor) throws InterruptedException{
-
-	//Iterate through the children of the root as the root is not in the store
-	Object[] children = treeContentProvider.getChildren(root);
-	for (int i = 0; i < children.length; ++i) {
-		findAllSelectedListElements(
-			children[i],
-			null,
-			whiteCheckedTreeItems.contains(children[i]),
-			filter,			
-			monitor);
-	}
-}
-
-/**
- *	Returns a flat list of all of the leaf elements which are checked.
- *
- *	@return all of the leaf elements which are checked. This API does not
- * 	return null in order to keep backwards compatibility.
- */
-public List getAllCheckedListItems() {
-	
-	final ArrayList returnValue = new ArrayList();
-	
-	IElementFilter passThroughFilter = new IElementFilter() {
-		
-		public void filterElements(Collection elements,IProgressMonitor monitor) throws InterruptedException{
-			returnValue.addAll(elements);
-		}
-		
-		public void filterElements(Object[] elements,IProgressMonitor monitor) throws InterruptedException{
-			for(int i =0; i < elements.length; i ++){
-				returnValue.add(elements[i]);
-			}
-		}
-	};
-	
-	try{
-		getAllCheckedListItems(passThroughFilter,null);
-	}
-	catch (InterruptedException exception){
-		return new ArrayList();
-	}
-	return returnValue;
-		
-}
-
-/**
- *	Returns a list of all of the items that are white checked.
- * 	Any folders that are white checked are added and then any files
- *  from white checked folders are added. 
- *
- *	@return the list of all of the items that are white checked
- */
-public List getAllWhiteCheckedItems() {
-
-	List result = new ArrayList();
-
-	//Iterate through the children of the root as the root is not in the store
-	Object[] children = treeContentProvider.getChildren(root);
-	for (int i = 0; i < children.length; ++i) {
-		findAllWhiteCheckedItems(children[i], result);
-	}
-
-	return result;
-}
-/**
- *	Answer the number of elements that have been checked by the
- *	user.
- *
- *	@return int
- */
-public int getCheckedElementCount() {
-	return checkedStateStore.size();
-}
-/**
- * Get the full label of the treeElement (its name and its parent's name).
- * @param treeElement - the element being exported
- * @param parentLabel - the label of the parent, can be null
- * @return String
- */
-protected String getFullLabel(Object treeElement,String parentLabel) {
-	String parentName = parentLabel;
-	
-	if (parentLabel == null) 
-		parentName = ""; //$NON-NLS-1$
-		
-	if (parentName.length() > 0 && (!parentName.endsWith(File.separator))) {
-		parentName += File.separatorChar;
-	}
-	return parentName + treeLabelProvider.getText(treeElement);
-}
-/**
- *	Return a count of the number of list items associated with a
- *	given tree item.
- *
- *	@return int
- *	@param treeElement java.lang.Object
- */
-protected int getListItemsSize(Object treeElement) {
-	Object[] elements = listContentProvider.getElements(treeElement);
-	return elements.length;
-}
-/**
- * Get the table the list viewer uses.
- * @return org.eclipse.swt.widgets.Table
- */
-public Table getListTable() {
-	return this.listViewer.getTable();
-}
-/**
- *	Logically gray-check all ancestors of treeItem by ensuring that they
- *	appear in the checked table
- */
-protected void grayCheckHierarchy(Object treeElement) {
-
-	//expand the element first to make sure we have populated for it
-	expandTreeElement(treeElement);
-	
-	// if this tree element is already gray then its ancestors all are as well
-	if (checkedStateStore.containsKey(treeElement))
-		return;		// no need to proceed upwards from here
-
-	checkedStateStore.put(treeElement,new ArrayList());
-	Object parent = treeContentProvider.getParent(treeElement);
-	if (parent != null)
-		grayCheckHierarchy(parent);
-}
-/**
- *	Set the checked state of self and all ancestors appropriately. Do not white check anyone - this is
- *  only done down a hierarchy.
- */
-private void grayUpdateHierarchy(Object treeElement) {
-
-	boolean shouldBeAtLeastGray = determineShouldBeAtLeastGrayChecked(treeElement);
-
-	treeViewer.setGrayChecked(treeElement, shouldBeAtLeastGray);
-
-	if (whiteCheckedTreeItems.contains(treeElement))
-		whiteCheckedTreeItems.remove(treeElement);
-
-	// proceed up the tree element hierarchy
-	Object parent = treeContentProvider.getParent(treeElement);
-	if (parent != null) {
-		grayUpdateHierarchy(parent);
-	}
-}
-/**
- *	Set the initial checked state of the passed list element to true.
- */
-public void initialCheckListItem(Object element) {
-	Object parent = treeContentProvider.getParent(element);
-	selectAndReveal(parent);
-	//Check the element in the viewer as if it had been manually checked
-	listViewer.setChecked(element,true);
-	//As this is not done from the UI then set the box for updating from the selection to false 
-	listItemChecked(element, true, false);
-	grayUpdateHierarchy(parent);
-}
-/**
- *	Set the initial checked state of the passed element to true,
- *	as well as to all of its children and associated list elements
- */
-public void initialCheckTreeItem(Object element) {
-	treeItemChecked(element, true);
-	selectAndReveal(element);
-}
-
-private void selectAndReveal(Object treeElement){
-	treeViewer.reveal(treeElement);
-	IStructuredSelection selection = new StructuredSelection(treeElement);
-	treeViewer.setSelection(selection);
-}
-	
-/**
- *	Initialize this group's viewers after they have been laid out.
- */
-protected void initialize() {
-	treeViewer.setInput(root);
-	this.expandedTreeNodes = new ArrayList();
-	this.expandedTreeNodes.add(root);
-
-}
-/**
- *	Callback that's invoked when the checked status of an item in the list
- *	is changed by the user. Do not try and update the hierarchy if we are building the
- *  initial list.
- */
-protected void listItemChecked(
-	Object listElement,
-	boolean state,
-	boolean updatingFromSelection) {
-	List checkedListItems = (List) checkedStateStore.get(currentTreeSelection);
-	//If it has not been expanded do so as the selection of list items will affect gray state
-	if (!expandedTreeNodes.contains(currentTreeSelection))
-		expandTreeElement(currentTreeSelection);
-
-	if (state) {
-		if (checkedListItems == null) {
-			// since the associated tree item has gone from 0 -> 1 checked
-			// list items, tree checking may need to be updated
-			grayCheckHierarchy(currentTreeSelection);
-			checkedListItems = (List) checkedStateStore.get(currentTreeSelection);
-		}
-		checkedListItems.add(listElement);
-	} else {
-		checkedListItems.remove(listElement);
-		if (checkedListItems.isEmpty()) {
-			// since the associated tree item has gone from 1 -> 0 checked
-			// list items, tree checking may need to be updated
-			ungrayCheckHierarchy(currentTreeSelection);
-		}
-	}
-
-	//Update the list with the selections if there are any
-	if (checkedListItems.size() > 0)
-		checkedStateStore.put(currentTreeSelection, checkedListItems);
-	if (updatingFromSelection)
-		grayUpdateHierarchy(currentTreeSelection);
-}
-/**
- *	Notify all checked state listeners that the passed element has had
- *	its checked state changed to the passed state
- */
-protected void notifyCheckStateChangeListeners(final CheckStateChangedEvent event) {
-	Object[] array = listeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final ICheckStateListener l = (ICheckStateListener)array[i];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.checkStateChanged(event);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removeCheckStateListener(l);
-			}
-		});
-	}		
-}
-/**
- *Set the contents of the list viewer based upon the specified selected
- *tree element.  This also includes checking the appropriate list items.
- *
- *@param treeElement java.lang.Object
- */
-protected void populateListViewer(final Object treeElement) {
-	listViewer.setInput(treeElement);
-
-	//If the element is white checked but not expanded we have not set up all of the children yet
-	if (!(expandedTreeNodes.contains(treeElement))
-		&& whiteCheckedTreeItems.contains(treeElement)) {
-
-		//Potentially long operation - show a busy cursor
-		BusyIndicator.showWhile(treeViewer.getControl().getDisplay(), new Runnable() {
-			public void run() {
-				setListForWhiteSelection(treeElement);
-				listViewer.setAllChecked(true);
-			}
-		});
-
-	} else {
-		List listItemsToCheck = (List) checkedStateStore.get(treeElement);
-
-		if (listItemsToCheck != null) {
-			Iterator listItemsEnum = listItemsToCheck.iterator();
-			while (listItemsEnum.hasNext())
-				listViewer.setChecked(listItemsEnum.next(), true);
-		}
-	}
-}
-/**
- *	Logically gray-check all ancestors of treeItem by ensuring that they
- *	appear in the checked table. Add any elements to the selectedNodes
- *  so we can track that has been done.
- */
-private void primeHierarchyForSelection(Object item, Set selectedNodes) {
-
-	//Only prime it if we haven't visited yet
-	if (selectedNodes.contains(item)) return;
-
-	checkedStateStore.put(item, new ArrayList());
-
-	//mark as expanded as we are going to populate it after this
-	expandedTreeNodes.add(item);
-	selectedNodes.add(item);
-
-	Object parent = treeContentProvider.getParent(item);
-	if (parent != null)
-		primeHierarchyForSelection(parent, selectedNodes);
-}
-/**
- *	Remove the passed listener from self's collection of clients
- *	that listen for changes to element checked states
- *
- *	@param listener ICheckStateListener
- */
-public void removeCheckStateListener(ICheckStateListener listener) {
-	listeners.remove(listener);
-}
-/**
- *	Handle the selection of an item in the tree viewer
- *
- *	@param selection ISelection
- */
-public void selectionChanged(SelectionChangedEvent event) {
-	IStructuredSelection selection = (IStructuredSelection) event.getSelection();
-	Object selectedElement = selection.getFirstElement();
-	if (selectedElement == null) {
-		currentTreeSelection = null;
-		listViewer.setInput(currentTreeSelection);
-		return;
-	}
-
-	// ie.- if not an item deselection
-	if (selectedElement != currentTreeSelection)
-		populateListViewer(selectedElement);
-	
-	currentTreeSelection = selectedElement;
-}
-/**
- * Select or deselect all of the elements in the tree depending on the value of the selection
- * boolean. Be sure to update the displayed files as well.
- */
-public void setAllSelections(final boolean selection) {
-
-	//If there is no root there is nothing to select
-	if(root == null)
-		return;
-
-	//Potentially long operation - show a busy cursor
-	BusyIndicator.showWhile(treeViewer.getControl().getDisplay(), new Runnable() {
-		public void run() {
-			setTreeChecked(root, selection);
-			listViewer.setAllChecked(selection);
-		}
-	});
-}
-/**
- * The treeElement has been white selected. Get the list for the element and
- * set it in the checked state store.
- * @param treeElement the element being updated
- */
-private void setListForWhiteSelection(Object treeElement) {
-
-	Object[] listItems = listContentProvider.getElements(treeElement);
-	List listItemsChecked = new ArrayList();
-	for (int i = 0; i < listItems.length; ++i) {
-		listItemsChecked.add(listItems[i]);
-	}
-
-	checkedStateStore.put(treeElement, listItemsChecked);
-}
-/**
- *	Set the list viewer's providers to those passed
- *
- *	@param contentProvider ITreeContentProvider
- *	@param labelProvider ILabelProvider
- */
-public void setListProviders(IStructuredContentProvider contentProvider, ILabelProvider labelProvider) {
-	listViewer.setContentProvider(contentProvider);
-	listViewer.setLabelProvider(labelProvider);
-}
-/**
- *	Set the sorter that is to be applied to self's list viewer
- */
-public void setListSorter(ViewerSorter sorter) {
-	listViewer.setSorter(sorter);
-}
-/**
- * Set the root of the widget to be new Root. Regenerate all of the tables and lists from this
- * value.
- * @param newRoot 
- */
-public void setRoot(Object newRoot) {
-	this.root = newRoot;
-	initialize();
-}
-/**
- *	Set the checked state of the passed tree element appropriately, and
- *	do so recursively to all of its child tree elements as well
- */
-protected void setTreeChecked(Object treeElement, boolean state) {
-
-	if (treeElement.equals(currentTreeSelection)) {
-		listViewer.setAllChecked(state);
-	}
-
-	if (state) {
-		setListForWhiteSelection(treeElement);
-	} else
-		checkedStateStore.remove(treeElement);
-
-	setWhiteChecked(treeElement, state);
-	treeViewer.setChecked(treeElement, state);
-	treeViewer.setGrayed(treeElement, false);
-
-	// now logically check/uncheck all children as well if it has been expanded
-	if (expandedTreeNodes.contains(treeElement)) {
-		Object[] children = treeContentProvider.getChildren(treeElement);
-		for (int i = 0; i < children.length; ++i) {
-			setTreeChecked(children[i], state);
-		}
-	}
-}
-/**
- *	Set the tree viewer's providers to those passed
- *
- *	@param contentProvider ITreeContentProvider
- *	@param labelProvider ILabelProvider
- */
-public void setTreeProviders(ITreeContentProvider contentProvider, ILabelProvider labelProvider) {
-	treeViewer.setContentProvider(contentProvider);
-	treeViewer.setLabelProvider(labelProvider);
-}
-/**
- *	Set the sorter that is to be applied to self's tree viewer
- */
-public void setTreeSorter(ViewerSorter sorter) {
-	treeViewer.setSorter(sorter);
-}
-/**
- *	Adjust the collection of references to white-checked tree elements appropriately.
- *
- *	@param treeElement java.lang.Object
- *	@param isWhiteChecked boolean
- */
-protected void setWhiteChecked(Object treeElement, boolean isWhiteChecked) {
-	if (isWhiteChecked) {
-		if (!whiteCheckedTreeItems.contains(treeElement))
-			whiteCheckedTreeItems.add(treeElement);
-	} else
-		whiteCheckedTreeItems.remove(treeElement);
-}
-/**
- *	Handle the collapsing of an element in a tree viewer
- */
-public void treeCollapsed(TreeExpansionEvent event) {
-	// We don't need to do anything with this
-}
-/**
- *	Handle the expansionsion of an element in a tree viewer
- */
-public void treeExpanded(TreeExpansionEvent event) {
-	expandTreeElement(event.getElement());
-}
-/**
- *  Callback that's invoked when the checked status of an item in the tree
- *  is changed by the user.
- */
-protected void treeItemChecked(Object treeElement,boolean state) {
-
-	// recursively adjust all child tree elements appropriately
-	setTreeChecked(treeElement,state);
-
-	Object parent = treeContentProvider.getParent(treeElement);
-	if (parent == null)
-		return;
-
-	// now update upwards in the tree hierarchy 
-	if (state)
-		grayCheckHierarchy(parent);
-	else
-		ungrayCheckHierarchy(parent);
-
-	//Update the hierarchy but do not white select the parent
-	grayUpdateHierarchy(parent);
-}
-/**
- *	Logically un-gray-check all ancestors of treeItem iff appropriate.
- */
-protected void ungrayCheckHierarchy(Object treeElement) {
-	if (!determineShouldBeAtLeastGrayChecked(treeElement))
-		checkedStateStore.remove(treeElement);
-
-	Object parent = treeContentProvider.getParent(treeElement);
-	if (parent != null)
-		ungrayCheckHierarchy(parent);
-}
-/**
- *	Set the checked state of self and all ancestors appropriately
- */
-protected void updateHierarchy(Object treeElement) {
-
-	boolean whiteChecked = determineShouldBeWhiteChecked(treeElement);
-	boolean shouldBeAtLeastGray = determineShouldBeAtLeastGrayChecked(treeElement);
-
-	treeViewer.setChecked(treeElement, shouldBeAtLeastGray);
-	setWhiteChecked(treeElement, whiteChecked);
-	if (whiteChecked)
-		treeViewer.setGrayed(treeElement, false);
-	else
-		treeViewer.setGrayed(treeElement, shouldBeAtLeastGray);
-
-	// proceed up the tree element hierarchy but gray select all of them
-	Object parent = treeContentProvider.getParent(treeElement);
-	if (parent != null) {
-		grayUpdateHierarchy(parent);
-	}
-}
-/**
- * Update the selections of the tree elements in items to reflect the new
- * selections provided.
- * @param Map with keys of Object (the tree element) and values of List (the selected
- * list elements).  NOTE: This method does not special case keys with no values (i.e., 
- * a tree element with an empty list).  If a tree element does not have any selected
- * items, do not include the element in the Map.
- */
-public void updateSelections(Map items) {
-	// We are replacing all selected items with the given selected items,
-	// so reinitialize everything.
-	this.listViewer.setAllChecked(false);
-	this.treeViewer.setCheckedElements(new Object[0]);
-	this.whiteCheckedTreeItems = new HashSet();
-	Set selectedNodes = new HashSet();
-	checkedStateStore = new HashMap();
-
-	//Update the store before the hierarchy to prevent updating parents before all of the children are done
-	Iterator keyIterator = items.keySet().iterator();
-	while (keyIterator.hasNext()) {
-		Object key = keyIterator.next();
-		List selections = (List) items.get(key);
-		//Replace the items in the checked state store with those from the supplied items			
-		checkedStateStore.put(key, selections);
-		selectedNodes.add(key);
-		// proceed up the tree element hierarchy
-		Object parent = treeContentProvider.getParent(key);
-		if (parent != null) {
-			// proceed up the tree element hierarchy and make sure everything is in the table		
-			primeHierarchyForSelection(parent, selectedNodes);
-		}
-	}
-
-	// Update the checked tree items.  Since each tree item has a selected
-	// item, all the tree items will be gray checked.
-	treeViewer.setCheckedElements(checkedStateStore.keySet().toArray());
-	treeViewer.setGrayedElements(checkedStateStore.keySet().toArray());
-	
-	// Update the listView of the currently selected tree item.
-	if (currentTreeSelection != null) {
-		Object displayItems = items.get(currentTreeSelection);
-		if (displayItems != null)
-			listViewer.setCheckedElements(((List) displayItems).toArray());
-	}
-}
-/** 
- * Set the focus on to the list widget.
- */
-public void setFocus(){
-	
-	this.treeViewer.getTree().setFocus();
-}
-
-}
-
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ResourceWorkingSetPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ResourceWorkingSetPage.java
deleted file mode 100644
index 44032da..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ResourceWorkingSetPage.java
+++ /dev/null
@@ -1,413 +0,0 @@
-/************************************************************************
-Copyright (c) 2002, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-	Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog font 
-		should be activated and used by other components.
-*************************************************************************/
-package org.eclipse.ui.internal.dialogs;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.dialogs.IWorkingSetPage;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.misc.Assert;
-import org.eclipse.ui.model.*;
-
-/**
- * A resource working set page allows the user to edit an 
- * existing working set and create a new working set.
- * <p>
- * Working set elements are presented as a simple resource tree.
- * </p>
- * 
- * @since 2.0
- */
-public class ResourceWorkingSetPage extends WizardPage implements IWorkingSetPage {
-	private final static int SIZING_SELECTION_WIDGET_WIDTH = 50;
-	private final static int SIZING_SELECTION_WIDGET_HEIGHT = 200;
-
-	private Text text;
-	private CheckboxTreeViewer tree;
-	private IWorkingSet workingSet;
-	private boolean firstCheck = false;		// set to true if selection is set in setSelection
-
-	/**
-	 * Creates a new instance of the receiver.
-	 */
-	public ResourceWorkingSetPage() {
-		super("resourceWorkingSetPage", WorkbenchMessages.getString("ResourceWorkingSetPage.title"), WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_WIZBAN_RESOURCEWORKINGSET_WIZ));	//$NON-NLS-1$ $NON-NLS-2$
-		setDescription(WorkbenchMessages.getString("ResourceWorkingSetPage.description")); //$NON-NLS-1$
-	}
-	/**
-	 * Adds working set elements contained in the given container to the list
-	 * of checked resources.
-	 * 
-	 * @param collectedResources list of collected resources
-	 * @param container container to collect working set elements for
-	 */
-	private void addWorkingSetElements(List collectedResources, IContainer container) {
-		IAdaptable[] elements = workingSet.getElements();
-		IPath containerPath = container.getFullPath();
-		
-		for (int i = 0; i < elements.length; i++) {
-			IResource resource = null;
-			
-			if (elements[i] instanceof IResource)
-				resource = (IResource) elements[i];
-			else
-				resource = (IResource) elements[i].getAdapter(IResource.class);
-
-			if (resource != null) {
-				IPath resourcePath = resource.getFullPath();
-				if (containerPath.isPrefixOf(resourcePath))
-					collectedResources.add(elements[i]);
-			}
-		}
-	}
-	/**
-	 * Overrides method in WizardPage.
-	 * 
-	 * @see org.eclipse.jface.wizard.WizardPage#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		Font font = parent.getFont();
-		Composite composite= new Composite(parent, SWT.NULL);
-		composite.setLayout(new GridLayout());
-		composite.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		setControl(composite);
-
-		WorkbenchHelp.setHelp(composite, IHelpContextIds.WORKING_SET_RESOURCE_PAGE);		
-		Label label = new Label(composite, SWT.WRAP);
-		label.setText(WorkbenchMessages.getString("ResourceWorkingSetPage.message")); //$NON-NLS-1$
-		GridData data = new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER);
-		label.setLayoutData(data);
-		label.setFont(font);
-
-		text = new Text(composite, SWT.SINGLE | SWT.BORDER);
-		text.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL));
-		text.setFont(font);
-		text.addModifyListener(
-			new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					validateInput();
-				}
-			}
-		);
-		text.setFocus();
-		
-		label = new Label(composite, SWT.WRAP);
-		label.setText(WorkbenchMessages.getString("ResourceWorkingSetPage.label.tree")); //$NON-NLS-1$
-		data = new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER);
-		label.setLayoutData(data);
-		label.setFont(font);
-
-		tree = new CheckboxTreeViewer(composite);
-		tree.setUseHashlookup(true);
-		tree.setContentProvider(new WorkbenchContentProvider());
-		tree.setLabelProvider(
-			new DecoratingLabelProvider(
-				new WorkbenchLabelProvider(), 
-				WorkbenchPlugin.getDefault().getWorkbench().getDecoratorManager().getLabelDecorator()));
-		tree.setInput(WorkbenchPlugin.getPluginWorkspace().getRoot());
-		tree.setSorter(new ResourceSorter(ResourceSorter.NAME));
-
-		data = new GridData(GridData.FILL_BOTH | GridData.GRAB_VERTICAL);
-		data.heightHint = SIZING_SELECTION_WIDGET_HEIGHT;
-		data.widthHint = SIZING_SELECTION_WIDGET_WIDTH;
-		tree.getControl().setLayoutData(data);
-		tree.getControl().setFont(font);
-
-		tree.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				handleCheckStateChange(event);
-			}
-		});
-
-		tree.addTreeListener(new ITreeViewerListener() {
-			public void treeCollapsed(TreeExpansionEvent event) {
-			}
-			public void treeExpanded(TreeExpansionEvent event) {
-				final Object element = event.getElement();
-				if (tree.getGrayed(element) == false)
-					BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
-					public void run() {
-						setSubtreeChecked((IContainer) element, tree.getChecked(element), false);
-					}
-				});
-			}
-		});
-		initializeCheckedState();
-		if (workingSet != null) {
-			text.setText(workingSet.getName());
-		}
-		setPageComplete(false);
-	}
-	/**
-	 * Collects all checked resources in the specified container.
-	 * 
-	 * @param checkedResources the output, list of checked resources
-	 * @param container the container to collect checked resources in
-	 */
-	private void findCheckedResources(List checkedResources, IContainer container) {
-		IResource[] resources = null;
-		try {
-			resources = container.members();
-		} catch (CoreException ex) {
-			handleCoreException(ex, getShell(), WorkbenchMessages.getString("ResourceWorkingSetPage.error"), //$NON-NLS-1$
-			WorkbenchMessages.getString("ResourceWorkingSetPage.error.updateCheckedState")); //$NON-NLS-1$
-		}
-		for (int i = 0; i < resources.length; i++) {
-			if (tree.getGrayed(resources[i])) {
-				if (resources[i].isAccessible())
-					findCheckedResources(checkedResources, (IContainer) resources[i]);
-				else
-					addWorkingSetElements(checkedResources, (IContainer) resources[i]);
-			} else if (tree.getChecked(resources[i])) {
-				checkedResources.add(resources[i]);
-			}
-		}
-	}
-	/**
-	 * Implements IWorkingSetPage.
-	 * 
-	 * @see org.eclipse.ui.dialogs.IWorkingSetPage#finish()
-	 */
-	public void finish() {
-		ArrayList resources = new ArrayList(10);
-		findCheckedResources(resources, (IContainer) tree.getInput());
-		if (workingSet == null) {
-			IWorkingSetManager workingSetManager = WorkbenchPlugin.getDefault().getWorkingSetManager();
-			workingSet = workingSetManager.createWorkingSet(getWorkingSetName(), (IAdaptable[]) resources.toArray(new IAdaptable[resources.size()]));
-		} else {
-			workingSet.setName(getWorkingSetName());
-			workingSet.setElements((IAdaptable[]) resources.toArray(new IAdaptable[resources.size()]));
-		}
-	}	
-	/**
-	 * Implements IWorkingSetPage.
-	 * 
-	 * @see org.eclipse.ui.dialogs.IWorkingSetPage#getSelection()
-	 */
-	public IWorkingSet getSelection() {
-		return workingSet;
-	}
-	/**
-	 * Returns the name entered in the working set name field.
-	 * 
-	 * @return the name entered in the working set name field.
-	 */
-	private String getWorkingSetName() {
-		return text.getText();
-	}
-	/**
-	 * Called when the checked state of a tree item changes.
-	 * 
-	 * @param event the checked state change event.
-	 */
-	private void handleCheckStateChange(final CheckStateChangedEvent event) {
-		BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
-			public void run() {
-				IResource resource = (IResource) event.getElement();
-				boolean state = event.getChecked();
-				
-				tree.setGrayed(resource, false);
-				if (resource instanceof IContainer) {
-					setSubtreeChecked((IContainer) resource, state, true);
-				}
-				updateParentState(resource);
-				validateInput();
-			}
-		});
-	}
-	/**
-	 * Displays an error message when a CoreException occured.
-	 * 
-	 * @param exception the CoreException 
-	 * @param shell parent shell for the message box
-	 * @param title the mesage box title
-	 * @param message additional error message
-	 */
-	private void handleCoreException(CoreException exception, Shell shell, String title, String message) {
-		IStatus status = exception.getStatus();
-		if (status != null) {
-			ErrorDialog.openError(shell, title, message, status);
-		} else {
-			MessageDialog.openError(shell, WorkbenchMessages.getString("InternalError"), exception.getLocalizedMessage()); //$NON-NLS-1$
-		}
-	}
-	/**
-	 * Sets the checked state of tree items based on the initial 
-	 * working set, if any.
-	 */
-	private void initializeCheckedState() {
-		if (workingSet == null)
-			return;
-
-		BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
-			public void run() {
-				IAdaptable[] items = workingSet.getElements();
-				tree.setCheckedElements(items);
-				for (int i = 0; i < items.length; i++) {
-					IAdaptable item = items[i];
-					IContainer container = null;
-					IResource resource = null;
-
-					if (item instanceof IContainer) {
-						container = (IContainer) item;
-					} else {
-						container = (IContainer) item.getAdapter(IContainer.class);
-					}
-					if (container != null) {
-						setSubtreeChecked(container, true, true);
-					}
-					if (item instanceof IResource) {
-						resource = (IResource) item;
-					} else {
-						resource = (IResource) item.getAdapter(IResource.class);
-					}
-					if (resource != null && resource.isAccessible() == false) {
-						IProject project = resource.getProject();
-						if (tree.getChecked(project) == false)
-							tree.setGrayChecked(project, true);
-					}
-					else {
-						updateParentState(resource);
-					}
-				}
-			}
-		});
-	}
-	/**
-	 * Implements IWorkingSetPage.
-	 * 
-	 * @see org.eclipse.ui.dialogs.IWorkingSetPage#setSelection(IWorkingSet)
-	 */
-	public void setSelection(IWorkingSet workingSet) {
-		Assert.isNotNull(workingSet, "Working set must not be null"); //$NON-NLS-1$
-		this.workingSet = workingSet;
-		if (getShell() != null && text != null) {
-			firstCheck = true;
-			initializeCheckedState();
-			text.setText(workingSet.getName());
-		}
-	}	
-	/**
-	 * Sets the checked state of the container's members.
-	 * 
-	 * @param container the container whose children should be checked/unchecked
-	 * @param state true=check all members in the container. false=uncheck all 
-	 * 	members in the container.
-	 * @param checkExpandedState true=recurse into sub-containers and set the 
-	 * 	checked state. false=only set checked state of members of this container
-	 */
-	private void setSubtreeChecked(IContainer container, boolean state, boolean checkExpandedState) {
-		if (container.isAccessible() == false || tree.getExpandedState(container) == false && checkExpandedState) {
-			return;
-		}
-		IResource[] members = null;
-		try {
-			members = container.members();
-		} catch (CoreException ex) {
-			handleCoreException(ex, getShell(), WorkbenchMessages.getString("ResourceWorkingSetPage.error"), //$NON-NLS-1$
-			WorkbenchMessages.getString("ResourceWorkingSetPage.error.updateCheckedState")); //$NON-NLS-1$
-		}
-		for (int i = members.length - 1; i >= 0; i--) {
-			IResource element = members[i];
-			if (state) {
-				tree.setChecked(element, true);
-				tree.setGrayed(element, false);
-			} else {
-				tree.setGrayChecked(element, false);
-			}
-			if (element instanceof IContainer) {
-				setSubtreeChecked((IContainer) element, state, true);
-			}
-		}
-	}
-	/**
-	 * Check and gray the resource parent if all resources of the 
-	 * parent are checked.
-	 * 
-	 * @param child the resource whose parent checked state should 
-	 * 	be set.
-	 */
-	private void updateParentState(IResource child) {
-		if (child == null || child.getParent() == null)
-			return;
-
-		IContainer parent = child.getParent();
-		boolean childChecked = false;
-		IResource[] members = null;
-		try {
-			members = parent.members();
-		} catch (CoreException ex) {
-			handleCoreException(ex, getShell(), WorkbenchMessages.getString("ResourceWorkingSetPage.error"), //$NON-NLS-1$
-			WorkbenchMessages.getString("ResourceWorkingSetPage.error.updateCheckedState")); //$NON-NLS-1$
-		}
-		for (int i = members.length - 1; i >= 0; i--) {
-			if (tree.getChecked(members[i]) || tree.getGrayed(members[i])) {
-				childChecked = true;
-				break;
-			}
-		}
-		tree.setGrayChecked(parent, childChecked);
-		updateParentState(parent);
-	}
-	/**
-	 * Validates the working set name and the checked state of the 
-	 * resource tree.
-	 */
-	private void validateInput() {
-		String errorMessage = null;	//$NON-NLS-1$
-		String newText = text.getText();
-
-		if (newText.equals(newText.trim()) == false) {
-			errorMessage = WorkbenchMessages.getString("ResourceWorkingSetPage.warning.nameWhitespace"); //$NON-NLS-1$
-		}
-		else
-		if (firstCheck) {
-			firstCheck = false;
-			return;
-		}
-		if (newText.equals("")) { //$NON-NLS-1$
-			errorMessage = WorkbenchMessages.getString("ResourceWorkingSetPage.warning.nameMustNotBeEmpty"); //$NON-NLS-1$
-		}
-		if (errorMessage == null && (workingSet == null || newText.equals(workingSet.getName()) == false)) {
-			IWorkingSet[] workingSets = WorkbenchPlugin.getDefault().getWorkingSetManager().getWorkingSets();
-			for (int i = 0; i < workingSets.length; i++) {
-				if (newText.equals(workingSets[i].getName())) {
-					errorMessage = WorkbenchMessages.getString("ResourceWorkingSetPage.warning.workingSetExists"); //$NON-NLS-1$
-				}
-			}
-		}
-		if (errorMessage == null && tree.getCheckedElements().length == 0) {
-			errorMessage = WorkbenchMessages.getString("ResourceWorkingSetPage.warning.resourceMustBeChecked"); //$NON-NLS-1$
-		}
-		setErrorMessage(errorMessage);
-		setPageComplete(errorMessage == null);
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/SavePerspectiveDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/SavePerspectiveDialog.java
deleted file mode 100644
index 2ac15c2..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/SavePerspectiveDialog.java
+++ /dev/null
@@ -1,271 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002. All Rights Reserved.
- * Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog font should be
- * activated and used by other components.
- */
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.registry.PerspectiveRegistry;
-
-/**
- * The SavePerspectiveDialog can be used to get the name of a new
- * perspective or the descriptor of an old perspective.  The results
- * are returned by <code>getNewPerspName</code> and 
- * <code>getOldPersp</code>.
- */
-public class SavePerspectiveDialog extends org.eclipse.jface.dialogs.Dialog
-	implements ISelectionChangedListener, ModifyListener
-{
-	private Text text;
-	private TableViewer list;
-	private Button okButton;
-	private PerspectiveRegistry perspReg;
-	private String perspName;
-	private IPerspectiveDescriptor persp;
-	private IPerspectiveDescriptor initialSelection;
-	private boolean ignoreSelection = false;
-
-	final private static int LIST_WIDTH = 40;
-	final private static int TEXT_WIDTH = 40;
-	final private static int LIST_HEIGHT = 14;
-/**
- * PerspectiveDialog constructor comment.
- */
-public SavePerspectiveDialog(Shell parentShell, PerspectiveRegistry perspReg) {
-	super(parentShell);
-	this.perspReg = perspReg;
-}
-/* (non-Javadoc)
- * Method declared in Window.
- */
-protected void configureShell(Shell shell) {
-	super.configureShell(shell);
-	shell.setText(WorkbenchMessages.getString("SavePerspective.shellTitle")); //$NON-NLS-1$
-	WorkbenchHelp.setHelp(shell, IHelpContextIds.SAVE_PERSPECTIVE_DIALOG);
-}
-/**
- * Add buttons to the dialog's button bar.
- *
- * @param parent the button bar composite
- */
-protected void createButtonsForButtonBar(Composite parent) {
-	okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-	createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	updateButtons();
-	text.setFocus();
-}
-/**
- * Creates and returns the contents of the upper part 
- * of this dialog (above the button bar).
- *
- * @param the parent composite to contain the dialog area
- * @return the dialog area control
- */
-protected Control createDialogArea(Composite parent) {
-	Font font = parent.getFont();
-	// Run super.
-	Composite composite = (Composite)super.createDialogArea(parent);
-
-	// description
-	Label descLabel = new Label(composite, SWT.WRAP);
-	descLabel.setText(WorkbenchMessages.getString("SavePerspectiveDialog.description")); //$NON-NLS-1$
-	descLabel.setFont(parent.getFont());
-	
-	// Spacer.
-	Label label = new Label(composite, SWT.NONE);
-	GridData data = new GridData();
-	data.heightHint = 8;
-	label.setLayoutData(data);
-	
-	// Create name group.
-	Composite nameGroup = new Composite(composite, SWT.NONE);
-	nameGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 2;
-	layout.marginWidth = layout.marginHeight = 0;
-	nameGroup.setLayout(layout);
-
-	// Create name label.
-	label = new Label(nameGroup, SWT.NONE);
-	label.setText(WorkbenchMessages.getString("SavePerspective.name")); //$NON-NLS-1$
-	label.setFont(font);
-
-	// Add text field.
-	text = new Text(nameGroup, SWT.BORDER);
-	text.setFocus();
-	data = new GridData(GridData.FILL_HORIZONTAL);
-	data.widthHint = convertWidthInCharsToPixels(TEXT_WIDTH);
-	text.setLayoutData(data);
-	text.setFont(font);
-	text.addModifyListener(this);
-
-	// Spacer.
-	label = new Label(composite, SWT.NONE);
-	data = new GridData();
-	data.heightHint = 5;
-	label.setLayoutData(data);
-		
-	// Another label.
-	label = new Label(composite, SWT.NONE);
-	label.setText(WorkbenchMessages.getString("SavePerspective.existing")); //$NON-NLS-1$
-	label.setFont(font);
-
-	// Add perspective list.
-	list = new TableViewer(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-	list.setLabelProvider(new PerspLabelProvider());
-	list.setContentProvider(new PerspContentProvider());
-	list.setSorter(new ViewerSorter() {});
-	list.setInput(perspReg);
-	list.addSelectionChangedListener(this);
-	list.getTable().setFont(font);
-
-	// Set perspective list size.
-	Control ctrl = list.getControl();
-	GridData spec = new GridData(GridData.FILL_BOTH);
-	spec.widthHint = convertWidthInCharsToPixels(LIST_WIDTH);
-	spec.heightHint = convertHeightInCharsToPixels(LIST_HEIGHT);
-	ctrl.setLayoutData(spec);
-
-	// Set the initial selection
-	if (initialSelection != null) {
-		StructuredSelection sel = new StructuredSelection(initialSelection);
-		list.setSelection(sel, true);
-	}
-	text.selectAll();
-
-
-	// Return results.
-	return composite;
-}
-/**
- * Returns the target name.
- */
-public IPerspectiveDescriptor getPersp() {
-	return persp;
-}
-/**
- * Returns the target name.
- */
-public String getPerspName() {
-	return perspName;
-}
-/**
- * The user has typed some text.
- */
-public void modifyText(org.eclipse.swt.events.ModifyEvent e) {
-	// Get text.
-	perspName = text.getText();
-
-	// Transfer text to persp list.
-	ignoreSelection = true;
-	persp = perspReg.findPerspectiveWithLabel(perspName);
-	if (persp == null) {
-		StructuredSelection sel = new StructuredSelection();
-		list.setSelection(sel);
-	} else {
-		StructuredSelection sel = new StructuredSelection(persp);
-		list.setSelection(sel);
-	}
-	ignoreSelection = false;
-	
-	updateButtons();
-}
-/**
- * Notifies that the ok button of this dialog has been pressed.
- * <p>
- * The default implementation of this framework method sets
- * this dialog's return code to <code>Window.OK</code>
- * and closes the dialog. Subclasses may override.
- * </p>
- */
-protected void okPressed() {
-	perspName = text.getText();
-	persp = perspReg.findPerspectiveWithLabel(perspName);
-	if (persp != null) {
-		// Confirm ok to overwrite
-		String message = WorkbenchMessages.format("SavePerspective.overwriteQuestion", new Object[] {perspName}); //$NON-NLS-1$
-		String [] buttons= new String[] { 
-			IDialogConstants.YES_LABEL,
-			IDialogConstants.NO_LABEL,
-			IDialogConstants.CANCEL_LABEL
-		};
-		MessageDialog d= new MessageDialog(
-			this.getShell(),
-			WorkbenchMessages.getString("SavePerspective.overwriteTitle"), //$NON-NLS-1$
-			null,
-			message,
-			MessageDialog.QUESTION,
-			buttons,
-			0
-		);
-
-		switch (d.open()) {
-			case 0:   	//yes
-				break;
-			case 1:		//no
-				return;
-			case 2:		//cancel
-				cancelPressed();
-				return;
-			default:
-				return;
-		}
-	}
-	
-	super.okPressed();
-}
-/**
- * Notifies that the selection has changed.
- *
- * @param event event object describing the change
- */
-public void selectionChanged(SelectionChangedEvent event) {
-	// If a selection is caused by modifyText ignore it.
-	if (ignoreSelection)
-		return;
-		
-	// Get selection.
-	IStructuredSelection sel = (IStructuredSelection)list.getSelection();
-	persp = null;
-	if (!sel.isEmpty())
-		persp = (IPerspectiveDescriptor)sel.getFirstElement();
-
-	// Transfer selection to text field.
-	if (persp != null) {
-		perspName = persp.getLabel();
-		text.setText(perspName);		
-	}
-
-	updateButtons();
-}
-/**
- * Sets the initial selection in this dialog.
- *
- * @param selectedElement the perspective descriptor to select
- */
-public void setInitialSelection(IPerspectiveDescriptor selectedElement) {
-	initialSelection = selectedElement;
-}
-/**
- * Update the OK button.
- */
-private void updateButtons() {
-	if (okButton != null) {
-		String label = text.getText();
-		okButton.setEnabled(perspReg.validateLabel(label));
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/SelectPerspectiveDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/SelectPerspectiveDialog.java
deleted file mode 100644
index 3b19e9d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/SelectPerspectiveDialog.java
+++ /dev/null
@@ -1,146 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002. All Rights Reserved.
- * Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog font should be
- * activated and used by other components.
- */
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveRegistry;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.registry.IViewDescriptor;
-
-/**
- * A dialog for perspective creation
- */
-public class SelectPerspectiveDialog extends org.eclipse.jface.dialogs.Dialog
-	implements ISelectionChangedListener
-{
-	private TableViewer list;
-	private IPerspectiveRegistry perspReg;
-	private IViewDescriptor selection;
-	private IPerspectiveDescriptor perspDesc;
-	private Button okButton;
-	private Button cancelButton;
-
-	final private static int LIST_WIDTH = 200;
-	final private static int LIST_HEIGHT = 200;
-/**
- * PerspectiveDialog constructor comment.
- */
-public SelectPerspectiveDialog(Shell parentShell, IPerspectiveRegistry perspReg) {
-	super(parentShell);
-	this.perspReg = perspReg;
-}
-/**
- * Notifies that the cancel button of this dialog has been pressed.
- */
-protected void cancelPressed() {
-	perspDesc = null;
-	super.cancelPressed();
-}
-/* (non-Javadoc)
- * Method declared in Window.
- */
-protected void configureShell(Shell shell) {
-	super.configureShell(shell);
-	shell.setText(WorkbenchMessages.getString("SelectPerspective.shellTitle")); //$NON-NLS-1$
-	WorkbenchHelp.setHelp(shell, IHelpContextIds.SELECT_PERSPECTIVE_DIALOG);
-}
-/**
- * Adds buttons to this dialog's button bar.
- * <p>
- * The default implementation of this framework method adds 
- * standard ok and cancel buttons using the <code>createButton</code>
- * framework method. Subclasses may override.
- * </p>
- *
- * @param parent the button bar composite
- */
-protected void createButtonsForButtonBar(Composite parent) {
-	okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-	cancelButton = createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-}
-/**
- * Creates and returns the contents of the upper part 
- * of this dialog (above the button bar).
- *
- * @param the parent composite to contain the dialog area
- * @return the dialog area control
- */
-protected Control createDialogArea(Composite parent) {
-	// Run super.
-	Composite composite = (Composite)super.createDialogArea(parent);
-	
-	// Add perspective list.
-	list = new TableViewer(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-	list.getTable().setFont(parent.getFont());
-	list.setLabelProvider(new PerspLabelProvider());
-	list.setContentProvider(new PerspContentProvider());
-	list.setSorter(new ViewerSorter() {});
-	list.setInput(perspReg);
-	list.addSelectionChangedListener(this);
-	list.addDoubleClickListener(new IDoubleClickListener() {
-		public void doubleClick(DoubleClickEvent event) {
-			handleDoubleClickEvent();
-		}
-	});
-
-	// Set list layout.
-	Control ctrl = list.getControl();
-	GridData spec = new GridData(GridData.FILL_BOTH);
-	spec.widthHint = LIST_WIDTH;
-	spec.heightHint = LIST_HEIGHT;
-	ctrl.setLayoutData(spec);
-	ctrl.setFont(parent.getFont());
-
-	// Return results.
-	return composite;
-}
-/**
- * Returns the current selection.
- */
-public IPerspectiveDescriptor getSelection() {
-	return perspDesc;
-}
-/**
- * Handle a double click event on the list
- */
-protected void handleDoubleClickEvent() {
-	okPressed();
-}
-/**
- * Notifies that the selection has changed.
- *
- * @param event event object describing the change
- */
-public void selectionChanged(SelectionChangedEvent event) {
-	updateSelection();
-	updateButtons();
-}
-/**
- * Update the button enablement state.
- */
-protected void updateButtons() {
-	okButton.setEnabled(getSelection() != null);	
-}
-/**
- * Update the selection object.
- */
-protected void updateSelection() {
-	perspDesc = null;
-	IStructuredSelection sel = (IStructuredSelection)list.getSelection();
-	if (!sel.isEmpty()) {
-		Object obj = sel.getFirstElement();
-		if (obj instanceof IPerspectiveDescriptor)
-			perspDesc = (IPerspectiveDescriptor)obj;
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ShowViewDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ShowViewDialog.java
deleted file mode 100644
index 123e49e..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ShowViewDialog.java
+++ /dev/null
@@ -1,226 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001, 2002.
- * All Rights Reserved.
- */
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.registry.*;
-
-/**
- * The Show View dialog.
- */
-public class ShowViewDialog extends org.eclipse.jface.dialogs.Dialog
-	implements ISelectionChangedListener, IDoubleClickListener
-{
-	private TreeViewer tree;
-	private IViewRegistry viewReg;
-	private IViewDescriptor[] viewDescs = new IViewDescriptor[0];
-	private Button okButton;
-	private Button cancelButton;
-
-	private static final int LIST_WIDTH = 250;
-	private static final int LIST_HEIGHT = 300;
-
-	private static final String DIALOG_SETTING_SECTION_NAME = "ShowViewDialog";//$NON-NLS-1$
-	private static final String STORE_EXPANDED_CATEGORIES_ID =
-		DIALOG_SETTING_SECTION_NAME + ".STORE_EXPANDED_CATEGORIES_ID";//$NON-NLS-1$
-
-/**
- * Constructs a new ShowViewDialog.
- */
-public ShowViewDialog(Shell parentShell, IViewRegistry viewReg) {
-	super(parentShell);
-	this.viewReg = viewReg;
-}
-
-/**
- * This method is called if a button has been pressed.
- */
-protected void buttonPressed(int buttonId) {
-	if (buttonId == IDialogConstants.OK_ID) 
-		saveWidgetValues();
-	super.buttonPressed(buttonId); 
-}
-
-/**
- * Notifies that the cancel button of this dialog has been pressed.
- */
-protected void cancelPressed() {
-	viewDescs = new IViewDescriptor[0];
-	super.cancelPressed();
-}
-
-/* (non-Javadoc)
- * Method declared in Window.
- */
-protected void configureShell(Shell shell) {
-	super.configureShell(shell);
-	shell.setText(WorkbenchMessages.getString("ShowView.shellTitle")); //$NON-NLS-1$
-	WorkbenchHelp.setHelp(shell, IHelpContextIds.SHOW_VIEW_DIALOG);
-}
-/**
- * Adds buttons to this dialog's button bar.
- * <p>
- * The default implementation of this framework method adds 
- * standard ok and cancel buttons using the <code>createButton</code>
- * framework method. Subclasses may override.
- * </p>
- *
- * @param parent the button bar composite
- */
-protected void createButtonsForButtonBar(Composite parent) {
-	okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-	cancelButton = createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-}
-/**
- * Creates and returns the contents of the upper part 
- * of this dialog (above the button bar).
- *
- * @param the parent composite to contain the dialog area
- * @return the dialog area control
- */
-protected Control createDialogArea(Composite parent) {
-	// Run super.
-	Composite composite = (Composite)super.createDialogArea(parent);
-
-	// Add perspective list.
-	tree = new TreeViewer(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-	tree.setLabelProvider(new ViewLabelProvider());
-	tree.setContentProvider(new ViewContentProvider());
-	tree.setSorter(new ViewSorter((ViewRegistry) viewReg));
-	tree.setInput(viewReg);
-	tree.addSelectionChangedListener(this);
-	tree.addDoubleClickListener(this);
-	tree.getTree().setFont(parent.getFont());
-
-	// Set tree size.
-	Control ctrl = tree.getControl();
-	GridData spec = new GridData(GridData.FILL_BOTH);
-	spec.widthHint = LIST_WIDTH;
-	spec.heightHint = LIST_HEIGHT;
-	ctrl.setLayoutData(spec);
-
-	// Restore the last state
-	restoreWidgetValues();
-	
-	// Return results.
-	return composite;
-}
-/* (non-Javadoc)
- * Method declared on IDoubleClickListener
- */
-public void doubleClick(DoubleClickEvent event) {
-	IStructuredSelection s = (IStructuredSelection) event.getSelection();
-	Object element = s.getFirstElement();
-	if (tree.isExpandable(element)) {
-		tree.setExpandedState(element, !tree.getExpandedState(element));
-	}
-	else if (viewDescs.length > 0) {
-		saveWidgetValues();
-		setReturnCode(OK);
-		close();
-	}
-}
-/**
- * Return the dialog store to cache values into
- */
-protected IDialogSettings getDialogSettings() {
-	IDialogSettings workbenchSettings = WorkbenchPlugin.getDefault().getDialogSettings();
-	IDialogSettings section = workbenchSettings.getSection(DIALOG_SETTING_SECTION_NAME);
-	if(section == null)
-		section = workbenchSettings.addNewSection(DIALOG_SETTING_SECTION_NAME);
-	return section;
-}
-
-/**
- * Returns the descriptors for the selected views.
- */
-public IViewDescriptor[] getSelection() {
-	return viewDescs;
-}
-
-/**
- * Use the dialog store to restore widget values to the values that they held
- * last time this dialog was used to completion.
- */
-protected void restoreWidgetValues() {
-	IDialogSettings settings = getDialogSettings();
-	String[] expandedCategoryIds = settings.getArray(STORE_EXPANDED_CATEGORIES_ID);
-	if (expandedCategoryIds == null)
-		return;
-
-	ViewRegistry reg = (ViewRegistry)viewReg;
-	ArrayList categoriesToExpand = new ArrayList(expandedCategoryIds.length);
-	for (int i = 0; i < expandedCategoryIds.length; i++) {
-		ICategory category = reg.findCategory(expandedCategoryIds[i]);
-		if (category != null)	// ie.- it still exists
-			categoriesToExpand.add(category);
-	}
-
-	if (!categoriesToExpand.isEmpty())
-		tree.setExpandedElements(categoriesToExpand.toArray());
-}
-
-/**
- * Since OK was pressed, write widget values to the dialog store so that they
- * will persist into the next invocation of this dialog
- */
-protected void saveWidgetValues() {
-	IDialogSettings settings = getDialogSettings();
-
-	// Collect the ids of the all expanded categories	
-	Object[] expandedElements = tree.getExpandedElements();
-	String[] expandedCategoryIds = new String[expandedElements.length];
-	for (int i = 0; i < expandedElements.length; ++i)
-		expandedCategoryIds[i] = ((ICategory)expandedElements[i]).getId();
-
-	// Save them for next time.
-	settings.put(
-		STORE_EXPANDED_CATEGORIES_ID,
-		expandedCategoryIds);
-}
-
-/**
- * Notifies that the selection has changed.
- *
- * @param event event object describing the change
- */
-public void selectionChanged(SelectionChangedEvent event) {
-	updateSelection();
-	updateButtons();
-}
-
-/**
- * Update the button enablement state.
- */
-protected void updateButtons() {
-	okButton.setEnabled(getSelection() != null);	
-}
-
-/**
- * Update the selection object.
- */
-protected void updateSelection() {
-	ArrayList descs = new ArrayList();
-	IStructuredSelection sel = (IStructuredSelection) tree.getSelection();
-	for (Iterator i = sel.iterator(); i.hasNext();) {
-		Object o = i.next();
-		if (o instanceof IViewDescriptor) {
-			descs.add(o);
-		}
-	}
-	viewDescs = new IViewDescriptor[descs.size()];
-	descs.toArray(viewDescs);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/SimpleListContentProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/SimpleListContentProvider.java
deleted file mode 100644
index cdbd2db..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/SimpleListContentProvider.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-/**
- * The SimpleListContentProvider is a class designed to return a static list of items
- * when queried for use in simple list dialogs.
- */
-public class SimpleListContentProvider implements IStructuredContentProvider{
-
-	//The elements to display
-	private Object[] elements;
-
-/**
- * SimpleListContentProvider constructor comment.
- */
-public SimpleListContentProvider() {
-	super();
-}
-/**
- * Do nothing when disposing,
- */
-public void dispose() {}
-/**
- * Returns the elements to display in the viewer. The inputElement is ignored for this
- * provider.
- */
-public Object[] getElements(Object inputElement) {
-	return this.elements;
-}
-/**
- * Required method from IStructuredContentProvider. The input is assumed to not change 
- * for the SimpleListContentViewer so do nothing here.
- */
-public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
-/**
- * Set the elements to display.
- * @param items Object[]
- */
-public void setElements(Object[] items) {
-
-	this.elements = items;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/StartupPreferencePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/StartupPreferencePage.java
deleted file mode 100644
index 03a0045..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/StartupPreferencePage.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. 
-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:
-**********************************************************************/
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-
-public class StartupPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-	private Table pluginsList;
-	private Workbench workbench;
-	
-	/**
-	 * @see PreferencePage#createContents(Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		WorkbenchHelp.setHelp(parent, IHelpContextIds.STARTUP_PREFERENCE_PAGE);
-		
-		Font font = parent.getFont();
-		
-		Composite composite = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH | GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL);
-		composite.setLayoutData(data);
-		composite.setFont(font);
-
-		Label label = new Label(composite,SWT.NONE);
-		label.setText(WorkbenchMessages.getString("StartupPreferencePage.label")); //$NON-NLS-1$
-		label.setFont(font);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		label.setLayoutData(data);		
-		pluginsList = new Table(composite,SWT.BORDER | SWT.CHECK | SWT.H_SCROLL | SWT.V_SCROLL);
-		data = new GridData(GridData.FILL_BOTH);
-		pluginsList.setFont(font)	;
-		pluginsList.setLayoutData(data);
-		populatePluginsList();
-
-		return composite;
-	}
-	private void populatePluginsList() {
-		IPluginDescriptor descriptors[] = workbench.getEarlyActivatedPlugins();
-		IPreferenceStore store = workbench.getPreferenceStore();
-		String pref = store.getString(IPreferenceConstants.PLUGINS_NOT_ACTIVATED_ON_STARTUP);
-		if(pref == null)
-			pref = new String();
-		for (int i = 0; i < descriptors.length; i++) {
-			IPluginDescriptor desc = descriptors[i];
-			TableItem item = new TableItem(pluginsList,SWT.NONE);
-			item.setText(desc.getLabel());
-			item.setData(desc);
-			String id = desc.getUniqueIdentifier() + IPreferenceConstants.SEPARATOR;
-			item.setChecked(pref.indexOf(id) < 0);
-		}
-	}
-	/**
-	 * @see IWorkbenchPreferencePage
-	 */
-	public void init(IWorkbench workbench) {
-		this.workbench = (Workbench)workbench;
-	}
-	/**
-	 * @see PreferencePage
-	 */
-	protected void performDefaults() {
-		TableItem items[] = pluginsList.getItems();
-		for (int i = 0; i < items.length; i++) {
-			items[i].setChecked(true);
-		}
-	}
-	/**
-	 * @see PreferencePage
-	 */
-	public boolean performOk() {
-		StringBuffer preference = new StringBuffer();
-		TableItem items[] = pluginsList.getItems();
-		for (int i = 0; i < items.length; i++) {
-			if(!items[i].getChecked()) {
-				IPluginDescriptor descriptor = (IPluginDescriptor)items[i].getData();
-				preference.append(descriptor.getUniqueIdentifier());
-				preference.append(IPreferenceConstants.SEPARATOR);
-			}
-		}
-		String pref = preference.toString();
-		IPreferenceStore store = workbench.getPreferenceStore();
-		store.putValue(IPreferenceConstants.PLUGINS_NOT_ACTIVATED_ON_STARTUP,pref);
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/UpdateProjectCapabilityWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/UpdateProjectCapabilityWizard.java
deleted file mode 100644
index feae8b7..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/UpdateProjectCapabilityWizard.java
+++ /dev/null
@@ -1,235 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/**********************************************************************
-Copyright (c) 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:
-**********************************************************************/
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.registry.Capability;
-import org.eclipse.ui.internal.registry.CapabilityRegistry;
-
-/**
- * Standard workbench wizard that guides the user to supply
- * the necessary information to configure new capabilities
- * on an existing project.
- */
-public class UpdateProjectCapabilityWizard extends MultiStepCapabilityWizard {
-	private IProject project;
-	private Capability[] addCapabilities;
-	private Capability[] removeCapabilities;
-	
-	/**
-	 * Creates a wizard.
-	 * 
-	 * @param project the project to configure new capabilities
-	 * @param addCapabilities the new capabilities to configure on the project
-	 * @param removeCapabilities the old capabilities to remove from the project
-	 * 		in reverse order (first item last to be removed)
-	 */
-	public UpdateProjectCapabilityWizard(IProject project, Capability[] addCapabilities, Capability[] removeCapabilities) {
-		super();
-		this.project = project;
-		this.addCapabilities = addCapabilities;
-		this.removeCapabilities = removeCapabilities;
-		initializeDefaultPageImageDescriptor();
-		setWindowTitle(WorkbenchMessages.getString("UpdateProjectCapabilityWizard.windowTitle")); //$NON-NLS-1$
-	}
-
-	/**
-	 * Builds the collection of steps
-	 */
-	private void buildSteps() {
-		int stepNumber = 1;
-		ArrayList steps = new ArrayList(removeCapabilities.length + addCapabilities.length);
-		
-		// collect the minimum remove capability steps
-		if (removeCapabilities.length > 0) {
-			// Reserve the order so prereq aren't removed before dependents
-			for (int i = removeCapabilities.length - 1; i >= 0; i--) {
-				if (removeCapabilities[i] != null) {
-					// Collect all the nature ids this capability should
-					// remove. Includes itself and any ones that it
-					// handles the ui for.
-					ArrayList natureIds = new ArrayList();
-					natureIds.add(removeCapabilities[i].getNatureId());
-					ArrayList uiIds = removeCapabilities[i].getHandleUIs();
-					if (uiIds != null) {
-						Iterator enum = uiIds.iterator();
-						while (enum.hasNext()) {
-							String id = (String)enum.next();
-							for (int j = 0; j < removeCapabilities.length; j++) {
-								if (removeCapabilities[j] != null) {
-									if (removeCapabilities[j].getId().equals(id)) {
-										natureIds.add(removeCapabilities[j].getNatureId());
-										removeCapabilities[j] = null;
-									}
-								}
-							}
-						}
-					}
-					// Create a step to remove this capability and prereq natures
-					String[] ids = new String[natureIds.size()];
-					natureIds.toArray(ids);
-					steps.add(new RemoveCapabilityStep(stepNumber, removeCapabilities[i], ids, project));
-					stepNumber++;
-				}
-			}
-		}
-		
-		// Collect the minimum add capability steps
-		if (addCapabilities.length > 0) {
-			IWorkbench workbench = PlatformUI.getWorkbench();
-			CapabilityRegistry reg = WorkbenchPlugin.getDefault().getCapabilityRegistry();
-			Capability[] results = reg.pruneCapabilities(addCapabilities);
-			for (int i = 0; i < results.length; i++, stepNumber++)
-				steps.add(new InstallCapabilityStep(stepNumber, results[i], workbench, this));
-		}
-			
-		// Set the list of steps to do
-		WizardStep[] results = new WizardStep[steps.size()];
-		steps.toArray(results);
-		setSteps(results);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on MultiStepWizard.
-	 */
-	protected void addCustomPages() {
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on MultiStepWizard.
-	 */
-	protected boolean canFinishOnReviewPage() {
-		WizardStep[] steps = getSteps();
-		// yes if the only step is to remove capabilities
-		return steps.length == 1
-			&& steps[0] instanceof RemoveCapabilityStep;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on MultiStepWizard.
-	 */
-	protected String getConfigurePageTitle() {
-		return WorkbenchMessages.getString("UpdateProjectCapabilityWizard.title"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on MultiStepWizard.
-	 */
-	protected String getConfigurePageDescription() {
-		return WorkbenchMessages.getString("WizardProjectConfigurePage.description"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on MultiStepWizard.
-	 */
-	protected String getFinishStepLabel(WizardStep[] steps) {
-		int count = 0;
-		for (int i = 0; i < steps.length; i++) {
-			if (!(steps[i] instanceof RemoveCapabilityStep)) {
-				count++;
-				if (count > 1)
-					return super.getFinishStepLabel(steps);
-			}
-		}
-		
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on MultiStepWizard.
-	 */
-	protected String[] getPerspectiveChoices() {
-		ArrayList results = new ArrayList();
-		for (int i = 0; i < addCapabilities.length; i++) {
-			ArrayList ids = addCapabilities[i].getPerspectiveChoices();
-			if (ids != null) {
-				Iterator enum = ids.iterator();
-				while (enum.hasNext()) {
-					String id = (String)enum.next();
-					if (!results.contains(id))
-						results.add(id);
-				}
-			}
-		}
-		String[] ids = new String[results.size()];
-		results.toArray(ids);
-		return ids;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IProjectProvider.
-	 */
-	public IProject getProject() {
-		return project;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on MultiStepWizard.
-	 */
-	protected String getReviewPageTitle() {
-		return WorkbenchMessages.getString("UpdateProjectCapabilityWizard.title"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on MultiStepWizard.
-	 */
-	protected String getReviewPageDescription() {
-		return WorkbenchMessages.getString("WizardProjectReviewPage.description"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IWizard.
-	 */
-	public IWizardPage getStartingPage() {
-		IWizardPage page = super.getStartingPage();
-		buildSteps();
-		return page;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on MultiStepWizard.
-	 */
-	/* package */ boolean handleMissingStepWizard(WizardStep step) {
-		MessageDialog.openError(
-			getShell(),
-			WorkbenchMessages.getString("UpdateProjectCapabilityWizard.errorTitle"), //$NON-NLS-1$
-			WorkbenchMessages.format("UpdateProjectCapabilityWizard.noWizard", new Object[] {step.getLabel()})); //$NON-NLS-1$
-		return false;
-	}
-
-	/**
-	 * Sets the image banner for the wizard
-	 */
-	protected void initializeDefaultPageImageDescriptor() {
-		String iconPath = "icons/full/";//$NON-NLS-1$		
-		try {
-			URL installURL = Platform.getPlugin(PlatformUI.PLUGIN_ID).getDescriptor().getInstallURL();
-			URL url = new URL(installURL, iconPath + "wizban/newprj_wiz.gif");//$NON-NLS-1$
-			ImageDescriptor desc = ImageDescriptor.createFromURL(url);
-			setDefaultPageImageDescriptor(desc);
-		}
-		catch (MalformedURLException e) {
-			// Should not happen. Ignore.
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ViewContentProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ViewContentProvider.java
deleted file mode 100644
index bb5bf33..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ViewContentProvider.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.ArrayList;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.internal.registry.ICategory;
-import org.eclipse.ui.internal.registry.IViewRegistry;
-
-public class ViewContentProvider implements ITreeContentProvider {
-/**
- * PerspContentProvider constructor comment.
- */
-public ViewContentProvider() {
-	super();
-}
-public void dispose() {
-}
-/**
- * Returns the child elements of the given parent element.
- */
-public Object[] getChildren(Object element) {
-	if (element instanceof IViewRegistry) {
-		IViewRegistry reg = (IViewRegistry)element;
-		return reg.getCategories();
-	} else if (element instanceof ICategory) {
-		ArrayList list = ((ICategory)element).getElements();
-		if (list != null) {
-			return list.toArray();
-		} else {
-			return new Object[0];
-		}
-	}
-	return new Object[0];
-}
-/**
- * Return the children of an element.
- */
-public Object[] getElements(Object element) {
-	return getChildren(element);
-}
-/**
- * Returns the parent for the given element, or <code>null</code> 
- * indicating that the parent can't be computed. 
- */
-public Object getParent(Object element) {
-	return null;
-}
-/**
- * Returns whether the given element has children.
- */
-public boolean hasChildren(java.lang.Object element) {
-	if (element instanceof IViewRegistry)
-		return true;
-	else if (element instanceof ICategory)
-		return true;
-	return false;
-}
-public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-}
-public boolean isDeleted(Object element) {
-	return false;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ViewLabelProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ViewLabelProvider.java
deleted file mode 100644
index e29bcbd..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ViewLabelProvider.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.resource.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.WorkbenchImages;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.registry.*;
-import java.util.HashMap;
-import java.util.Iterator;
-
-public class ViewLabelProvider extends LabelProvider {
-	private HashMap images;
-Image cacheImage(ImageDescriptor desc) {
-	if (images == null)
-		images = new HashMap(21);
-	Image image = (Image) images.get(desc);
-	if (image == null) {
-		image = desc.createImage();
-		images.put(desc, image);
-	}
-	return image;
-}
-public void dispose() {
-	if (images != null) {
-		for (Iterator i = images.values().iterator(); i.hasNext();) {
-			((Image) i.next()).dispose();
-		}
-		images = null;
-	}
-	super.dispose();
-}
-public Image getImage(Object element) {
-	if (element instanceof IViewDescriptor) {
-		ImageDescriptor desc = ((IViewDescriptor)element).getImageDescriptor();
-		if (desc != null)
-			return cacheImage(desc);
-	} else if (element instanceof ICategory) {
-		ImageDescriptor desc = WorkbenchImages.getImageDescriptor(ISharedImages.IMG_OBJ_FOLDER);
-		return cacheImage(desc);
-	}
-	return null;
-}
-public String getText(Object element) {
-	String label = WorkbenchMessages.getString("ViewLabel.unknown"); //$NON-NLS-1$
-	if (element instanceof ICategory)
-		label = ((ICategory)element).getLabel();
-	else if (element instanceof IViewDescriptor)
-		label = ((ViewDescriptor)element).getLabel();
-	return DialogUtil.removeAccel(label);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ViewSorter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ViewSorter.java
deleted file mode 100644
index d623cb9..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ViewSorter.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.internal.registry.*;
-import org.eclipse.jface.viewers.*;
-
-/**
- * This is used to sort views in a ShowViewDialog.
- */
-public class ViewSorter extends ViewerSorter {
-	private ViewRegistry viewReg;
-/**
- * ViewSorter constructor comment.
- */
-public ViewSorter(ViewRegistry reg) {
-	super();
-	viewReg = reg;
-}
-/**
- * Returns a negative, zero, or positive number depending on whether
- * the first element is less than, equal to, or greater than
- * the second element.
- */
-public int compare(Viewer viewer, Object e1, Object e2) {
-	if (e1 instanceof IViewDescriptor) {
-		String str1 = DialogUtil.removeAccel(((IViewDescriptor)e1).getLabel());
-		String str2 = DialogUtil.removeAccel(((IViewDescriptor)e2).getLabel());
-		return collator.compare(str1, str2);
-	} else if (e1 instanceof ICategory) {
-		if (e1 == viewReg.getMiscCategory())
-			return 1;
-		if (e2 == viewReg.getMiscCategory())
-			return -1;
-		String str1 = DialogUtil.removeAccel(((ICategory)e1).getLabel());
-		String str2 = DialogUtil.removeAccel(((ICategory)e2).getLabel());
-		return collator.compare(str1, str2);
-	}
-	return 0;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ViewsPreferencePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ViewsPreferencePage.java
deleted file mode 100644
index 1f2d660..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ViewsPreferencePage.java
+++ /dev/null
@@ -1,330 +0,0 @@
-/**********************************************************************
-Copyright (c) 2000, 2003 IBM Corp. and others.
-All rights reserved. This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM Corporation - Initial implementation
-**********************************************************************/
-
-package org.eclipse.ui.internal.dialogs;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.AccessibleAdapter;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-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.Group;
-import org.eclipse.swt.widgets.Label;
-
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.ColorFieldEditor;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.JFacePreferences;
-import org.eclipse.jface.preference.PreferencePage;
-
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.IPreferenceConstants;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * The ViewsPreferencePage is the page used to set preferences for the look of the
- * views in the workbench.
- */
-public class ViewsPreferencePage
-	extends PreferencePage
-	implements IWorkbenchPreferencePage {
-
-	private Button editorTopButton;
-	private Button editorBottomButton;
-	private Button viewTopButton;
-	private Button viewBottomButton;
-
-	private BooleanFieldEditor colorIconsEditor;
-	private ColorFieldEditor errorColorEditor;
-	private ColorFieldEditor hyperlinkColorEditor;
-	private ColorFieldEditor activeHyperlinkColorEditor;
-	/*
-	 * No longer supported - removed when confirmed!
-	 * private Button openFloatButton;
-	 */
-	private int editorAlignment;
-	private int viewAlignment;
-
-	private static final String COLOUR_ICONS_TITLE = WorkbenchMessages.getString("ViewsPreference.colorIcons"); //$NON-NLS-1$
-	private static final String EDITORS_TITLE = WorkbenchMessages.getString("ViewsPreference.editors"); //$NON-NLS-1$
-	private static final String EDITORS_TOP_TITLE = WorkbenchMessages.getString("ViewsPreference.editors.top"); //$NON-NLS-1$
-	private static final String EDITORS_BOTTOM_TITLE = WorkbenchMessages.getString("ViewsPreference.editors.bottom"); //$NON-NLS-1$
-	private static final String VIEWS_TITLE = WorkbenchMessages.getString("ViewsPreference.views"); //$NON-NLS-1$
-	private static final String VIEWS_TOP_TITLE = WorkbenchMessages.getString("ViewsPreference.views.top"); //$NON-NLS-1$
-	private static final String VIEWS_BOTTOM_TITLE = WorkbenchMessages.getString("ViewsPreference.views.bottom"); //$NON-NLS-1$
-	/*
-	 * No longer supported - remove when confirmed!
-	 * private static final String OVM_FLOAT = WorkbenchMessages.getString("OpenViewMode.float"); //$NON-NLS-1$
-	 */
-	/**
-	 * The label used for the note text.
-	 */
-	private static final String NOTE_LABEL = WorkbenchMessages.getString("Preference.note"); //$NON-NLS-1$
-	private static final String APPLY_MESSAGE = WorkbenchMessages.getString("ViewsPreference.applyMessage"); //$NON-NLS-1$
-
-/**
- * Create a composite that for creating the tab toggle buttons.
- * @param composite Composite
- * @param title String
- */
-private Group createButtonGroup(Composite composite, String title) {
-
-	Group buttonComposite = new Group(composite, SWT.LEFT);
-	buttonComposite.setText(title);
-	buttonComposite.setFont(composite.getFont());
-	GridLayout layout = new GridLayout();
-	buttonComposite.setLayout(layout);
-	GridData data =
-		new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
-	buttonComposite.setLayoutData(data);
-
-	return buttonComposite;
-
-}
-/**
- * Creates and returns the SWT control for the customized body 
- * of this preference page under the given parent composite.
- * <p>
- * This framework method must be implemented by concrete
- * subclasses.
- * </p>
- *
- * @param parent the parent composite
- * @return the new control
- */
-protected Control createContents(Composite parent) {
-	
-	Font font = parent.getFont();
-
-	WorkbenchHelp.setHelp(parent, IHelpContextIds.VIEWS_PREFERENCE_PAGE);
-
-	IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-	editorAlignment = store.getInt(IPreferenceConstants.EDITOR_TAB_POSITION);
-	viewAlignment =	store.getInt(IPreferenceConstants.VIEW_TAB_POSITION);
-
-	Composite composite = new Composite(parent, SWT.NONE);
-	composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-	composite.setFont(font);
-
-	GridLayout layout = new GridLayout();
-	layout.marginWidth = 0;
-	layout.marginHeight = 0;
-	layout.verticalSpacing = 10;
-	composite.setLayout(layout);
-
-	Composite colorIconsComposite = new Composite(composite, SWT.NONE);
-	colorIconsComposite.setFont(font);
-	colorIconsEditor = new BooleanFieldEditor(IPreferenceConstants.COLOR_ICONS, COLOUR_ICONS_TITLE, colorIconsComposite);
-	colorIconsEditor.setPreferenceStore(doGetPreferenceStore());
-	colorIconsEditor.load();
-
-	createEditorTabButtonGroup(composite);
-	createViewTabButtonGroup(composite);
-
-	createNoteComposite(font, composite, NOTE_LABEL,APPLY_MESSAGE);
-
-	new Label(composite, SWT.NONE);  // spacing
-	
-	Group colorComposite = new Group(composite,SWT.NONE);
-	colorComposite.setLayout(new GridLayout());
-	colorComposite.setText(WorkbenchMessages.getString("ViewsPreference.ColorsTitle")); //$NON-NLS-1$
-	colorComposite.setFont(font);
-				
-	GridData data = new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL);
-	data.horizontalSpan = 2;
-	colorComposite.setLayoutData(data);	
-	
-	//Add in an intermediate composite to allow for spacing
-	Composite spacingComposite = new Composite(colorComposite,SWT.NONE);
-	spacingComposite.setLayout(new GridLayout());
-	spacingComposite.setFont(font);
-	
-	errorColorEditor = new ColorFieldEditor(
-			JFacePreferences.ERROR_COLOR,
-			WorkbenchMessages.getString("ViewsPreference.ErrorText"), //$NON-NLS-1$,
-			spacingComposite);
-			
-	errorColorEditor.setPreferenceStore(doGetPreferenceStore());
-	errorColorEditor.load();
-	
-	hyperlinkColorEditor = new ColorFieldEditor(
-			JFacePreferences.HYPERLINK_COLOR,
-			WorkbenchMessages.getString("ViewsPreference.HyperlinkText"), //$NON-NLS-1$
-			spacingComposite);
-			
-	hyperlinkColorEditor.setPreferenceStore(doGetPreferenceStore());
-	hyperlinkColorEditor.load();
-	
-	activeHyperlinkColorEditor = new ColorFieldEditor(
-			JFacePreferences.ACTIVE_HYPERLINK_COLOR,
-			WorkbenchMessages.getString("ViewsPreference.ActiveHyperlinkText"), //$NON-NLS-1$
-			spacingComposite);
-			
-	activeHyperlinkColorEditor.setPreferenceStore(doGetPreferenceStore());
-	activeHyperlinkColorEditor.load();
-	
-	return composite;
-}
-
-/**
- * Create a composite that contains buttons for selecting tab position for the edit selection. 
- * @param composite Composite
- * @param store IPreferenceStore
- */
-private void createEditorTabButtonGroup(Composite composite) {
-	
-	Font font = composite.getFont();
-	
-	Group buttonComposite = createButtonGroup(composite,EDITORS_TITLE);
-
-	this.editorTopButton = new Button(buttonComposite, SWT.RADIO);
-	this.editorTopButton.setText(EDITORS_TOP_TITLE);
-	this.editorTopButton.setSelection(this.editorAlignment == SWT.TOP);
-	this.editorTopButton.setFont(font);
-
-	this.editorTopButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			editorAlignment = SWT.TOP;
-		}
-	});
-	
-	this.editorTopButton.getAccessible().addAccessibleListener(new AccessibleAdapter() {
-		public void getName(AccessibleEvent e) {
-			e.result = EDITORS_TITLE;
-		}
-	});
-
-	this.editorBottomButton = new Button(buttonComposite, SWT.RADIO);
-	this.editorBottomButton.setText(EDITORS_BOTTOM_TITLE);
-	this.editorBottomButton.setSelection(this.editorAlignment == SWT.BOTTOM);
-	this.editorBottomButton.setFont(font);
-
-	this.editorBottomButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			editorAlignment = SWT.BOTTOM;
-		}
-	});
-
-}
-
-/**
- * Create a composite that contains buttons for selecting tab position for the view selection. 
- * @param composite Composite
- * @param store IPreferenceStore
- */
-private void createViewTabButtonGroup(Composite composite) {
-	
-	Font font = composite.getFont();
-
-	Group buttonComposite = createButtonGroup(composite,VIEWS_TITLE);
-	buttonComposite.setFont(font);
-
-	this.viewTopButton = new Button(buttonComposite, SWT.RADIO);
-	this.viewTopButton.setText(VIEWS_TOP_TITLE);
-	this.viewTopButton.setSelection(this.viewAlignment == SWT.TOP);
-	this.viewTopButton.setFont(font);
-
-	this.viewTopButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			viewAlignment = SWT.TOP;
-		}
-	});
-
-	this.viewBottomButton = new Button(buttonComposite, SWT.RADIO);
-	this.viewBottomButton.setText(VIEWS_BOTTOM_TITLE);
-	this.viewBottomButton.setSelection(this.viewAlignment == SWT.BOTTOM);
-	this.viewBottomButton.setFont(font);
-	
-	this.viewBottomButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			viewAlignment = SWT.BOTTOM;
-		}
-	});
-
-}
-/**
- * Returns preference store that belongs to the our plugin.
- *
- * @return the preference store for this plugin
- */
-protected IPreferenceStore doGetPreferenceStore() {
-	return WorkbenchPlugin.getDefault().getPreferenceStore();
-}
-/**
- * Initializes this preference page for the given workbench.
- * <p>
- * This method is called automatically as the preference page is being created
- * and initialized. Clients must not call this method.
- * </p>
- *
- * @param workbench the workbench
- */
-public void init(org.eclipse.ui.IWorkbench workbench) {}
-/**
- * The default button has been pressed. 
- */
-protected void performDefaults() {
-	IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-	
-	int editorTopValue =
-		store.getDefaultInt(IPreferenceConstants.EDITOR_TAB_POSITION);
-	editorTopButton.setSelection(editorTopValue == SWT.TOP);
-	editorBottomButton.setSelection(editorTopValue == SWT.BOTTOM);
-	editorAlignment = editorTopValue;
-
-	int viewTopValue =
-		store.getDefaultInt(IPreferenceConstants.VIEW_TAB_POSITION);
-	viewTopButton.setSelection(viewTopValue == SWT.TOP);
-	viewBottomButton.setSelection(viewTopValue == SWT.BOTTOM);
-	viewAlignment = viewTopValue;
-	
-	colorIconsEditor.loadDefault();
-	errorColorEditor.loadDefault();
-	hyperlinkColorEditor.loadDefault();
-	activeHyperlinkColorEditor.loadDefault();
-	
-	/*
-	 * No longer supported - remove when confirmed!
-	 * if (openFloatButton != null) 
-	 * 	openFloatButton.setSelection(value == IPreferenceConstants.OVM_FLOAT);
-	 */
-	 
-	WorkbenchPlugin.getDefault().savePluginPreferences(); 
-	super.performDefaults();
-}
-/**
- *	The user has pressed Ok.  Store/apply this page's values appropriately.
- */
-public boolean performOk() {
-	IPreferenceStore store = getPreferenceStore();
-
-	// store the editor tab value to setting
-	store.setValue(IPreferenceConstants.EDITOR_TAB_POSITION, editorAlignment);
-
-	// store the view tab value to setting
-	store.setValue(IPreferenceConstants.VIEW_TAB_POSITION, viewAlignment);
-		
-	colorIconsEditor.store();
-	errorColorEditor.store();
-	hyperlinkColorEditor.store();
-	activeHyperlinkColorEditor.store();
-	return true;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeEditor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeEditor.java
deleted file mode 100644
index dfbff34..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeEditor.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeEditorActionContributor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeEditorActionContributor.java
deleted file mode 100644
index c80e079..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeEditorActionContributor.java
+++ /dev/null
@@ -1,34 +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 v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-
-Contributors:
-    IBM Corporation - Initial implementation
-**********************************************************************/
-
-package org.eclipse.ui.internal.dialogs;
-
-import org.eclipse.ui.*;
-import org.eclipse.ui.part.EditorActionBarContributor;
-
-
-/**
- * Manages the installation and deinstallation of global actions for 
- * the welcome editor.
- */
-public class WelcomeEditorActionContributor extends EditorActionBarContributor {
-	/**
-	 * The <code>WelcomeEditorActionContributor</code> implementation of this 
-	 * <code>IEditorActionBarContributor</code> method installs the global 
-	 * action handler for the given editor.
-	 */
-	public void setActiveEditor(IEditorPart part) {	
-		IActionBars actionBars= getActionBars();
-		if (actionBars != null) {
-			actionBars.setGlobalActionHandler(IWorkbenchActionConstants.COPY, ((WelcomeEditor)part).getCopyAction());
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeEditorCopyAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeEditorCopyAction.java
deleted file mode 100644
index e72dabb..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeEditorCopyAction.java
+++ /dev/null
@@ -1,31 +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 v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-
-Contributors:
-    IBM Corporation - Initial implementation
-**********************************************************************/
-
-package org.eclipse.ui.internal.dialogs;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * Global copy action for the welcome editor.
- */
-public class WelcomeEditorCopyAction extends Action {
-	private WelcomeEditor editorPart;
-	
-	public WelcomeEditorCopyAction(WelcomeEditor editor) {
-		editorPart = editor;
-		setText(WorkbenchMessages.getString("WelcomeEditor.copy.text"));
-	}
-	
-	public void run() {
-		editorPart.getCurrentText().copy();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeEditorInput.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeEditorInput.java
deleted file mode 100644
index e390e7a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeEditorInput.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.AboutInfo;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.misc.Assert;
-/**
- * A simple editor input for the welcome editor
- */	
-public class WelcomeEditorInput implements IEditorInput {
-	private AboutInfo aboutInfo;
-	private final static String FACTORY_ID = "org.eclipse.ui.internal.dialogs.WelcomeEditorInputFactory"; //$NON-NLS-1$
-	public final static String FEATURE_ID = "featureId"; //$NON-NLS-1$
-/**
- * WelcomeEditorInput constructor comment.
- */
-public WelcomeEditorInput(AboutInfo info) {
-	super();
-	Assert.isNotNull(info);
-	aboutInfo = info;	
-}
-		public boolean exists() {
-			return false;
-		}
-		public Object getAdapter(Class adapter) {
-			return null;
-		}
-		public ImageDescriptor  getImageDescriptor() {
-			return null;
-		}
-		public String getName() {
-			return WorkbenchMessages.getString("WelcomeEditor.title"); //$NON-NLS-1$	
-		}
-		public IPersistableElement getPersistable() {
-			return new IPersistableElement() {
-				public String getFactoryId() {
-					return FACTORY_ID;
-				}
-				public void saveState(IMemento memento) {
-					memento.putString(FEATURE_ID, aboutInfo.getFeatureId());
-				}
-			};
-		}
-		public AboutInfo getAboutInfo() {
-			return aboutInfo;
-		}
-		public boolean equals(Object o) {
-			if((o != null) && (o instanceof WelcomeEditorInput)) {
-				if (((WelcomeEditorInput)o).aboutInfo.getFeatureId().equals(
-					aboutInfo.getFeatureId()))
-					return true;
-			}
-			return false;
-		}
-		public String getToolTipText() {
-			return WorkbenchMessages.format("WelcomeEditor.toolTip", new Object[]{aboutInfo.getFeatureLabel()}); //$NON-NLS-1$	
-		}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeEditorInputFactory.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeEditorInputFactory.java
deleted file mode 100644
index ca2ecb0..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeEditorInputFactory.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.AboutInfo;
-import org.eclipse.ui.internal.Workbench;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-/**
- * A simple factory for the welcome editor
- */
-public class WelcomeEditorInputFactory implements IElementFactory {
-/**
- * WelcomeEditorInputFactory constructor comment.
- */
-public WelcomeEditorInputFactory() {
-	super();
-}
-/**
- * Re-creates and returns an object from the state captured within the given 
- * memento. 
- * <p>
- * Under normal circumstances, the resulting object can be expected to be
- * persistable; that is,
- * <pre>
- * result.getAdapter(org.eclipse.ui.IPersistableElement.class)
- * </pre>
- * should not return <code>null</code>.
- * </p>
- *
- * @param memento a memento containing the state for the object
- * @return an object, or <code>null</code> if the element could not be created
- */
-public IAdaptable createElement(IMemento memento) {
-	// Get the feature id.
-	String featureId = memento.getString(WelcomeEditorInput.FEATURE_ID);
-	if (featureId == null) 
-		return null;
-
-	AboutInfo info = null;
-	AboutInfo [] infos = 
-		((Workbench)(WorkbenchPlugin.getDefault().getWorkbench())).getConfigurationInfo().getFeaturesInfo();
-	for (int i = 0; i < infos.length; i++) {
-		if (featureId.equals(infos[i].getFeatureId())) {
-			info = infos[i];
-			break;
-		}
-	}	
-	if (info == null)
-		return null;
-
-	return new WelcomeEditorInput(info);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeItem.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeItem.java
deleted file mode 100644
index 80473f8..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeItem.java
+++ /dev/null
@@ -1,162 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.help.IHelp;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-/**
- * Holds the information for an item appearing in the welcome editor
- */
-public class WelcomeItem {
-	private String text;
-	private int[][] boldRanges;
-	private int[][] helpRanges;
-	private String[] helpIds;
-	private String[] helpHrefs;
-	private int[][] actionRanges;
-	private String[] actionPluginIds;
-	private String[] actionClasses;
-/**
- * Creates a new welcome item
- */
-public WelcomeItem(
-	String text,
-	int[][] boldRanges,
-	int[][] actionRanges,
-	String[] actionPluginIds,
-	String[] actionClasses,
-	int[][] helpRanges,
-	String[] helpIds,
-	String[] helpHrefs) {
-	    
-	this.text = text;
-	this.boldRanges = boldRanges;
-	this.actionRanges = actionRanges;
-	this.actionPluginIds = actionPluginIds;
-	this.actionClasses = actionClasses;
-	this.helpRanges = helpRanges;
-	this.helpIds = helpIds;
-	this.helpHrefs = helpHrefs;
-}
-/**
- * Returns the action ranges (character locations)
- */
-public int[][] getActionRanges() {
-	return actionRanges;
-}
-/**
- * Returns the bold ranges (character locations)
- */
-public int[][] getBoldRanges() {
-	return boldRanges;
-}
-/**
- * Returns the help ranges (character locations)
- */
-public int[][] getHelpRanges() {
-	return helpRanges;
-}
-/**
- * Returns the text to display
- */
-public String getText() {
-	return text;
-}
-/**
- * Returns true is a link (action or help) is present at the given character location
- */
-public boolean isLinkAt(int offset) {
-	// Check if there is a link at the offset
-	for (int i = 0; i < helpRanges.length; i++){
-		if (offset >= helpRanges[i][0] && offset < helpRanges[i][0] + helpRanges[i][1]) {
-			return true;
-		}
-	}
-
-	// Check if there is an action link at the offset
-	for (int i = 0; i < actionRanges.length; i++){
-		if (offset >= actionRanges[i][0] && offset < actionRanges[i][0] + actionRanges[i][1]) {
-			return true;
-		}
-	}
-	return false;
-}
-/**
- * Logs a error to the workbench log
- */
-public void logActionLinkError(String actionPluginId, String actionClass) {
-	WorkbenchPlugin.log(WorkbenchMessages.getString("WelcomeItem.unableToLoadClass") + actionPluginId + " " + actionClass); //$NON-NLS-1$	//$NON-NLS-2$
-}
-/**
- * Open a help topic
- */
-private void openHelpTopic(String topic, String href) {
-	IHelp helpSupport = WorkbenchHelp.getHelpSupport();
-	if (helpSupport != null) {
-		if (href != null) 
-			helpSupport.displayHelpResource(href);
-		else
-			helpSupport.displayHelpResource(topic);
-	}
-}
-/**
- * Run an action
- */
-private void runAction(String pluginId, String className) {
-	IPluginDescriptor desc = Platform.getPluginRegistry().getPluginDescriptor(pluginId);
-	if (desc == null) {
-		logActionLinkError(pluginId, className);
-		return;
-	}		
-	Class actionClass;
-	IAction action;
-	try {
-		actionClass = desc.getPluginClassLoader().loadClass(className);
-	} catch (ClassNotFoundException e) {
-		logActionLinkError(pluginId, className);
-		return;
-	}
-	try {
-		action = (IAction)actionClass.newInstance();
-	} catch (InstantiationException e) {
-		logActionLinkError(pluginId, className);
-		return;
-	} catch (IllegalAccessException e) {
-		logActionLinkError(pluginId, className);
-		return;
-	} catch (ClassCastException e) {
-		logActionLinkError(pluginId, className);
-		return;
-	}
-	action.run();
-}
-/**
- * Triggers the link at the given offset (if there is one)
- */
-public void triggerLinkAt(int offset) {
-	// Check if there is a help link at the offset
-	for (int i = 0; i < helpRanges.length; i++){
-		if (offset >= helpRanges[i][0] && offset < helpRanges[i][0] + helpRanges[i][1]) {
-			// trigger the link
-			openHelpTopic(helpIds[i], helpHrefs[i]);
-			return;
-		}
-	}
-
-	// Check if there is an action link at the offset
-	for (int i = 0; i < actionRanges.length; i++){
-		if (offset >= actionRanges[i][0] && offset < actionRanges[i][0] + actionRanges[i][1]) {
-			// trigger the link
-			runAction(actionPluginIds[i], actionClasses[i]);
-			return;
-		}
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeParser.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeParser.java
deleted file mode 100644
index 92849e1..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WelcomeParser.java
+++ /dev/null
@@ -1,274 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.internal.*;
-import org.eclipse.core.runtime.*;
-import org.xml.sax.*;
-import org.apache.xerces.parsers.*;
-import org.xml.sax.helpers.*;
-import java.io.*;
-import java.util.*;
-/**
- * A parser for the the welcome page
- */
-public class WelcomeParser extends DefaultHandler {
-	private static final String TAG_WELCOME_PAGE = "welcomePage"; //$NON-NLS-1$	
-	private static final String TAG_INTRO = "intro"; //$NON-NLS-1$	
-	private static final String TAG_ITEM = "item"; //$NON-NLS-1$	
-	private static final String TAG_BOLD = "b"; //$NON-NLS-1$	
-	private static final String TAG_ACTION = "action"; //$NON-NLS-1$	
-	private static final String TAG_PARAGRAPH = "p"; //$NON-NLS-1$	
-	private static final String TAG_TOPIC = "topic"; //$NON-NLS-1$	
-	private static final String ATT_TITLE = "title"; //$NON-NLS-1$	
-	private static final String ATT_FORMAT = "format"; //$NON-NLS-1$	
-	private static final String ATT_PLUGIN_ID = "pluginId"; //$NON-NLS-1$	
-	private static final String ATT_CLASS = "class"; //$NON-NLS-1$	
-	private static final String ATT_ID = "id"; //$NON-NLS-1$
-	private static final String ATT_HREF = "href"; //$NON-NLS-1$
-	
-	private static final String FORMAT_WRAP = "wrap";
-	private static final String FORMAT_NOWRAP = "nowrap";
-	private static final char DELIMITER = '\n'; // sax parser replaces crlf with lf
-	
-	private SAXParser parser;
-
-	private String title;
-	private WelcomeItem introItem;
-	private ArrayList items = new ArrayList();
-	private String format;
-	
-	private class WelcomeContentHandler implements ContentHandler {
-		protected ContentHandler parent;
-		public void setParent(ContentHandler p) {
-			parent = p;
-		}
-		public void characters(char[] ch, int start, int length) throws SAXException {
-		}
-		public void endDocument() throws SAXException {
-		}
-		public void endElement(String namespaceURI, String localName, String qName) throws SAXException {
-		}
-		public void endPrefixMapping(String prefix) throws SAXException {
-		}
-		public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException {
-		}
-		public void processingInstruction(String target, String data) throws SAXException {
-		}
-		public void setDocumentLocator(Locator locator) {
-		}
-		public void skippedEntity(String name) throws SAXException {
-		}
-		public void startDocument() throws org.xml.sax.SAXException {
-		}
-		public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException {
-		}
-		public void startPrefixMapping(String prefix, String uri) throws SAXException {
-		}
-	}
-
-	private class WelcomePageHandler extends WelcomeContentHandler {
-		public WelcomePageHandler(String newTitle) {
-			title = newTitle;
-		}
-		public void startElement (String namespaceURI, String localName, String qName, Attributes atts) throws SAXException {
-			if (localName.equals(TAG_INTRO)) {
-				ItemHandler h = new IntroItemHandler();
-				h.setParent(WelcomePageHandler.this);
-				parser.setContentHandler(h);
-			} else if (localName.equals(TAG_ITEM)) {
-				ItemHandler h = new ItemHandler();
-				h.setParent(WelcomePageHandler.this);
-				parser.setContentHandler(h);
-			}
-		}
-	}	
-
-	private class ItemHandler extends WelcomeContentHandler {
-		private ArrayList boldRanges = new ArrayList();
-		protected ArrayList wrapRanges = new ArrayList();
-		private ArrayList actionRanges = new ArrayList();
-		private ArrayList pluginIds  = new ArrayList();
-		private ArrayList classes  = new ArrayList();
-		private ArrayList helpRanges  = new ArrayList();
-		private ArrayList helpIds  = new ArrayList();
-		private ArrayList helpHrefs  = new ArrayList();
-		private StringBuffer text = new StringBuffer();
-		protected int offset = 0;
-		protected int textStart;
-		protected int wrapStart;
-
-		private class BoldHandler extends WelcomeContentHandler {
-			public void characters(char[] ch, int start, int length) throws SAXException {
-				ItemHandler.this.characters(ch, start, length);
-			}
-			public void endElement (String namespaceURI, String localName, String qName) throws SAXException {
-				if (localName.equals(TAG_BOLD)) {
-					boldRanges.add(new int[] {textStart, offset - textStart});
-					parser.setContentHandler(parent);
-				}
-			}
-		}
-		private class ActionHandler extends WelcomeContentHandler {
-			public ActionHandler(String pluginId, String className) {
-				pluginIds.add(pluginId);
-				classes.add(className);
-			}
-			public void characters(char[] ch, int start, int length) throws SAXException {
-				ItemHandler.this.characters(ch, start, length);
-			}
-			public void endElement (String namespaceURI, String localName, String qName) throws SAXException {
-				if (localName.equals(TAG_ACTION)) {
-					actionRanges.add(new int[] {textStart, offset - textStart});
-					parser.setContentHandler(parent);
-				}
-			}
-		}	
-		private class TopicHandler extends WelcomeContentHandler {
-			public TopicHandler(String helpId, String href) {
-				helpIds.add(helpId);
-				helpHrefs.add(href);
-			}
-			public void characters(char[] ch, int start, int length) throws SAXException {
-				ItemHandler.this.characters(ch, start, length);
-			}
-			public void endElement (String namespaceURI, String localName, String qName) throws SAXException {
-				if (localName.equals(TAG_TOPIC)) {
-					helpRanges.add(new int[] {textStart, offset - textStart});
-					parser.setContentHandler(parent);
-				}
-			}
-		}	
-		
-		protected WelcomeItem constructWelcomeItem() {
-			if (isFormatWrapped()) {
-				// replace all line delimiters with a space
-				for (int i=0; i<wrapRanges.size(); i++) {
-					int[] range = (int[])wrapRanges.get(i);
-					int start = range[0];
-					int length = range[1];
-					for (int j=start; j<start+length; j++) {
-						char ch = text.charAt(j);
-						if (ch == DELIMITER) {
-							text.replace(j,j+1," ");
-						} 
-					}
-				}
-			}
-			return new WelcomeItem(
-				text.toString(), 
-				(int[][])boldRanges.toArray(new int[boldRanges.size()][2]),
-				(int[][])actionRanges.toArray(new int[actionRanges.size()][2]),
-				(String[])pluginIds.toArray(new String[pluginIds.size()]),
-				(String[])classes.toArray(new String[classes.size()]),
-				(int[][])helpRanges.toArray(new int[helpRanges.size()][2]),
-				(String[])helpIds.toArray(new String[helpIds.size()]),
-				(String[])helpHrefs.toArray(new String[helpHrefs.size()]));
-		}
-		public void characters(char[] ch, int start, int length) throws SAXException {
-			for (int i = 0; i < length; i++) {
-				text.append(ch[start + i]);
-			}
-			offset += length;
-		}
-
-		public void startElement (String namespaceURI, String localName, String qName, Attributes atts) throws SAXException {
-			textStart = offset;
-			if (localName.equals(TAG_BOLD)) {
-				BoldHandler h = new BoldHandler();
-				h.setParent(ItemHandler.this);
-				parser.setContentHandler(h);
-			} else if(localName.equals(TAG_ACTION)) {
-				ActionHandler h = new ActionHandler(atts.getValue(ATT_PLUGIN_ID), atts.getValue(ATT_CLASS));
-				h.setParent(ItemHandler.this);
-				parser.setContentHandler(h);
-			} else if(localName.equals(TAG_PARAGRAPH)) {
-				wrapStart = textStart;
-			} else if(localName.equals(TAG_TOPIC)) {
-				TopicHandler h = new TopicHandler(atts.getValue(ATT_ID), atts.getValue(ATT_HREF));
-				h.setParent(ItemHandler.this);
-				parser.setContentHandler(h);
-			}
-		}
-		public void endElement (String namespaceURI, String localName, String qName) throws SAXException {
-			if (localName.equals(TAG_ITEM)) {
-				items.add(constructWelcomeItem());
-				parser.setContentHandler(parent);
-			} else if (localName.equals(TAG_PARAGRAPH)) {
-				wrapRanges.add(new int[] {wrapStart, offset - wrapStart});
-			}				
-		}
-	}	
-	private class IntroItemHandler extends ItemHandler {
-		public void endElement (String namespaceURI, String localName, String qName) throws SAXException {
-			if (localName.equals(TAG_INTRO)) {
-				introItem = constructWelcomeItem();
-				parser.setContentHandler(parent);
-			} else if (localName.equals(TAG_PARAGRAPH)) {
-				wrapRanges.add(new int[] {wrapStart, offset - wrapStart});
-			}					
-		}
-	}
-/**
- * Creates a new welcome parser.
- */
-public WelcomeParser() {
-	super();
-	parser = new SAXParser();
-	parser.setContentHandler(this);
-	parser.setDTDHandler(this);
-	parser.setEntityResolver(this);
-	parser.setErrorHandler(this);
-}
-/**
- * Returns the intro item.
- */
-public WelcomeItem getIntroItem() {
-	return introItem;
-}
-/**
- * Returns the items.
- */
-public WelcomeItem[] getItems() {
-	return (WelcomeItem[])items.toArray(new WelcomeItem[items.size()]);
-}
-/**
- * Returns the title
- */
-public String getTitle() {
-	return title;
-}
-/**
- * Returns whether or not the welcome editor input should be wrapped.
- */
-public boolean isFormatWrapped() {
-	return FORMAT_WRAP.equals(format);
-}
-/**
- * Parse the contents of the input stream
- */
-public void parse(InputStream is) {
-	try {
-		parser.parse(new InputSource(is));
-	} catch (SAXException e) {
-		IStatus status = new Status(IStatus.ERROR, WorkbenchPlugin.PI_WORKBENCH, 1, WorkbenchMessages.getString("WelcomeParser.parseException"), e);  //$NON-NLS-1$	
-		WorkbenchPlugin.log(WorkbenchMessages.getString("WelcomeParser.parseError"), status);  //$NON-NLS-1$	
-	} catch (IOException e) {
-		IStatus status = new Status(IStatus.ERROR, WorkbenchPlugin.PI_WORKBENCH, 1, WorkbenchMessages.getString("WelcomeParser.parseException"), e); //$NON-NLS-1$	
-		WorkbenchPlugin.log(WorkbenchMessages.getString("WelcomeParser.parseError"), status);  //$NON-NLS-1$	
-	}
-}
-/**
- * Handles the start element
- */
-public void startElement (String namespaceURI, String localName, String qName, Attributes atts) throws SAXException {
-	if (localName.equals(TAG_WELCOME_PAGE)) {
-		WelcomeContentHandler h = new WelcomePageHandler(atts.getValue(ATT_TITLE));
-		format = atts.getValue(ATT_FORMAT);
-		h.setParent(this);
-		parser.setContentHandler(h);
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WizardCollectionElement.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WizardCollectionElement.java
deleted file mode 100644
index 64e57b8..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WizardCollectionElement.java
+++ /dev/null
@@ -1,161 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.internal.model.AdaptableList;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-/**
- * Instances of this class are a collection of WizardCollectionElements,
- * thereby facilitating the definition of tree structures composed of 
- * these elements. Instances also store a list of wizards.
- */
-public class WizardCollectionElement extends AdaptableList {
-	private String id;
-	private String name;
-	private WizardCollectionElement	parent;
-	private AdaptableList wizards = new AdaptableList();
-/**
- * Creates a new <code>WizardCollectionElement</code>.  Parent can be null.
- *
- * @param name java.lang.String
- */
-public WizardCollectionElement(String id, String name,WizardCollectionElement parent) {
-	this.name = name;
-	this.id = id;
-	this.parent = parent;
-}
-/**
- * Adds a wizard collection to this collection.
- */
-public AdaptableList add(IAdaptable a) {
-	if (a instanceof WorkbenchWizardElement) {
-		wizards.add(a);
-	} else {
-		super.add(a);
-	}
-	return this;
-}
-/**
- * Returns the wizard collection child object corresponding to the
- * passed path (relative to this object), or <code>null</code> if
- * such an object could not be found.
- *
- * @param searchPath org.eclipse.core.runtime.IPath
- * @return WizardCollectionElement
- */
-public WizardCollectionElement findChildCollection(IPath searchPath) {
-	Object[] children = getChildren(null);
-	String searchString = searchPath.segment(0);
-	for (int i = 0; i < children.length; ++i) {
-		WizardCollectionElement currentCategory = (WizardCollectionElement)children[i];
-		if (currentCategory.getLabel(null).equals(searchString)) {
-			if (searchPath.segmentCount() == 1)
-				return currentCategory;
-				
-			return currentCategory.findChildCollection(searchPath.removeFirstSegments(1));
-		}
-	}
-	
-	return null;
-}
-/**
- * Returns this collection's associated wizard object corresponding to the
- * passed id, or <code>null</code> if such an object could not be found.
- */
-public WorkbenchWizardElement findWizard(String searchId,boolean recursive) {
-	Object[] wizards = getWizards();
-	for (int i = 0; i < wizards.length; ++i) {
-		WorkbenchWizardElement currentWizard = (WorkbenchWizardElement)wizards[i];
-		if (currentWizard.getID().equals(searchId))
-			return currentWizard;
-	}
-	if(!recursive)
-		return null;
-	for (Iterator iterator = children.iterator(); iterator.hasNext();) {
-		WizardCollectionElement child = (WizardCollectionElement) iterator.next();
-		WorkbenchWizardElement result = child.findWizard(searchId,true);
-		if(result != null)
-			return result;
-	}
-	return null;
-}
-
-/**
- * Returns an object which is an instance of the given class
- * associated with this object. Returns <code>null</code> if
- * no such object can be found.
- */
-public Object getAdapter(Class adapter) {
-	if (adapter == IWorkbenchAdapter.class) {
-		return this;
-	}
-	return Platform.getAdapterManager().getAdapter(this, adapter);
-}
-/**
- * Returns the unique ID of this element.
- */
-public String getId() {
-	return id;
-}
-/**
- * Returns the label for this collection.
- */
-public String getLabel(Object o) {
-	return name;
-}
-/**
- * Returns the logical parent of the given object in its tree.
- */
-public Object getParent(Object o) {
-	return parent;
-}
-/**
- * Returns a path representing this collection's ancestor chain.
- */
-public IPath getPath() {
-	if (parent == null)
-		return new Path("");//$NON-NLS-1$
-		
-	return parent.getPath().append(name);
-}
-/**
- * Returns this collection element's associated collection of wizards.
- */
-public Object[] getWizards() {
-	return wizards.getChildren();
-}
-/**
- * Returns true if this element has no children and no wizards.
- */
-public boolean isEmpty() {
-	return size() == 0 && wizards.size() == 0;
-}
-/**
- * Sets this collection's unique id.
- */
-public void setId(java.lang.String newId) {
-	id = newId;
-}
-/**
- * Sets the collection of wizards associated with this collection element.
- */
-public void setWizards(AdaptableList value) {
-	wizards = value;
-}
-/**
- * For debugging purposes.
- */
-public String toString() {
-	StringBuffer buf = new StringBuffer("WizardCollection, ");//$NON-NLS-1$
-	buf.append(children.size());
-	buf.append(" children, ");//$NON-NLS-1$
-	buf.append(wizards.size());
-	buf.append(" wizards");//$NON-NLS-1$
-	return buf.toString();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WizardNewProjectCapabilityPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WizardNewProjectCapabilityPage.java
deleted file mode 100644
index 92a77bd..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WizardNewProjectCapabilityPage.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/**********************************************************************
-Copyright (c) 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:
-**********************************************************************/
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.misc.ProjectCapabilitySelectionGroup;
-import org.eclipse.ui.internal.registry.*;
-
-/**
- * Second page for the new project creation wizard. This page
- * collects the capabilities of the new project.
- * <p>
- * Example useage:
- * <pre>
- * mainPage = new WizardNewProjectCapabilityPage("wizardNewProjectCapabilityPage");
- * mainPage.setTitle("Project");
- * mainPage.setDescription("Choose project's capabilities.");
- * </pre>
- * </p>
- */
-public class WizardNewProjectCapabilityPage extends WizardPage {
-	// initial value stores
-	private Capability[] initialProjectCapabilities;
-	private ICategory[] initialSelectedCategories;
-
-	// widgets
-	private ProjectCapabilitySelectionGroup capabilityGroup;
-	
-	/**
-	 * Creates a new project capabilities wizard page.
-	 *
-	 * @param pageName the name of this page
-	 */
-	public WizardNewProjectCapabilityPage(String pageName) {
-		super(pageName);
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IWizardPage
-	 */
-	public boolean canFlipToNextPage() {
-		// Already know there is a next page...
-		return isPageComplete();
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IDialogPage.
-	 */
-	public void createControl(Composite parent) {
-		WorkbenchHelp.setHelp(parent, IHelpContextIds.NEW_PROJECT_CAPABILITY_WIZARD_PAGE);
-		CapabilityRegistry reg = WorkbenchPlugin.getDefault().getCapabilityRegistry();
-		capabilityGroup = new ProjectCapabilitySelectionGroup(initialSelectedCategories, initialProjectCapabilities, reg);
-		setControl(capabilityGroup.createContents(parent));
-		
-		capabilityGroup.setCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				getWizard().getContainer().updateButtons();
-			}
-		});
-		
-		if (!reg.hasCapabilities())
-			setMessage(WorkbenchMessages.getString("WizardNewProjectCapabilityPage.noCapabilities"), WARNING); //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the collection of capabilities selected
-	 * by the user. The collection is not in prerequisite
-	 * order.
-	 * 
-	 * @return array of selected capabilities
-	 */
-	/* package */ Capability[] getSelectedCapabilities() {
-		return capabilityGroup.getSelectedCapabilities();
-	}
-	
-	/**
-	 * Sets the initial categories to be selected.
-	 * 
-	 * @param categories initial categories to select
-	 */
-	/* package */ void setInitialSelectedCategories(ICategory[] categories) {
-		initialSelectedCategories = categories;
-	}
-	
-	/**
-	 * Sets the initial project capabilities to be selected.
-	 * 
-	 * @param capabilities initial project capabilities to select
-	 */
-	/* package */ void setInitialProjectCapabilities(Capability[] capabilities) {
-		initialProjectCapabilities = capabilities;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WizardNewProjectNameAndLocationPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WizardNewProjectNameAndLocationPage.java
deleted file mode 100644
index 8b5d144..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WizardNewProjectNameAndLocationPage.java
+++ /dev/null
@@ -1,446 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/**********************************************************************
-Copyright (c) 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:
-Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog font should be
-activated and used by other components.
-*********************************************************************/
-import java.io.File;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Font;
-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.DirectoryDialog;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * First page for the new project creation wizard. This page
- * collects the name and location of the new project.
- * <p>
- * Example useage:
- * <pre>
- * mainPage = new WizardNewProjectNameAndLocationPage("wizardNewProjectNameAndLocationPage");
- * mainPage.setTitle("Project");
- * mainPage.setDescription("Create a new project.");
- * </pre>
- * </p>
- */
-public class WizardNewProjectNameAndLocationPage extends WizardPage {
-	// Whether to use default or custom project location
-	private boolean useDefaults = true;
-
-	// initial value stores
-	private String initialProjectFieldValue;
-	private IPath initialLocationFieldValue;
-
-	// the value the user has entered
-	private String customLocationFieldValue;
-
-	// widgets
-	private Text projectNameField;
-	private Text locationPathField;
-	private Label locationLabel;
-	private Button browseButton;
-
-	private Listener nameModifyListener = new Listener() {
-		public void handleEvent(Event e) {
-			setLocationForSelection();
-			setPageComplete(validatePage());
-		}
-	};
-
-	private Listener locationModifyListener = new Listener() {
-		public void handleEvent(Event e) {
-			setPageComplete(validatePage());
-		}
-	};
-
-	// constants
-	private static final int SIZING_TEXT_FIELD_WIDTH = 250;
-	private static final int SIZING_INDENTATION_WIDTH = 10;
-	
-	/**
-	 * Creates a new project creation wizard page.
-	 *
-	 * @param pageName the name of this page
-	 */
-	public WizardNewProjectNameAndLocationPage(String pageName) {
-		super(pageName);
-		setPageComplete(false);
-		initialLocationFieldValue = Platform.getLocation();
-		customLocationFieldValue = ""; //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IWizardPage
-	 */
-	public boolean canFlipToNextPage() {
-		// Already know there is a next page...
-		return isPageComplete();
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IDialogPage.
-	 */
-	public void createControl(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NULL);
-		composite.setLayout(new GridLayout());
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite.setFont(parent.getFont());
-
-		WorkbenchHelp.setHelp(composite, IHelpContextIds.NEW_PROJECT_WIZARD_PAGE);
-
-		createProjectNameGroup(composite);
-		createProjectLocationGroup(composite);
-		
-		validatePage();
-		
-		// Show description on opening
-		setErrorMessage(null);
-		setMessage(null);
-		setControl(composite);
-	}
-	
-	/**
-	 * Creates the project location specification controls.
-	 *
-	 * @param parent the parent composite
-	 */
-	private final void createProjectLocationGroup(Composite parent) {
-		Font font = parent.getFont();
-		// project specification group
-		Composite projectGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		projectGroup.setLayout(layout);
-		projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		projectGroup.setFont(font);
-		
-		// new project label
-		Label projectContentsLabel = new Label(projectGroup, SWT.NONE);
-		projectContentsLabel.setFont(font);
-		projectContentsLabel.setText(WorkbenchMessages.getString("WizardNewProjectCreationPage.projectContentsLabel")); //$NON-NLS-1$
-
-		GridData labelData = new GridData();
-		labelData.horizontalSpan = 3;
-		projectContentsLabel.setLayoutData(labelData);
-
-		final Button useDefaultsButton = new Button(projectGroup, SWT.CHECK | SWT.RIGHT);
-		useDefaultsButton.setText(WorkbenchMessages.getString("WizardNewProjectCreationPage.useDefaultLabel")); //$NON-NLS-1$
-		useDefaultsButton.setSelection(useDefaults);
-		useDefaultsButton.setFont(font);
-
-		GridData buttonData = new GridData();
-		buttonData.horizontalSpan = 3;
-		useDefaultsButton.setLayoutData(buttonData);
-
-		createUserSpecifiedProjectLocationGroup(projectGroup, !useDefaults);
-
-		SelectionListener listener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				useDefaults = useDefaultsButton.getSelection();
-				browseButton.setEnabled(!useDefaults);
-				locationPathField.setEnabled(!useDefaults);
-				locationLabel.setEnabled(!useDefaults);
-				if (useDefaults) {
-					customLocationFieldValue = locationPathField.getText();
-					setLocationForSelection();
-				} else {
-					locationPathField.setText(customLocationFieldValue);
-				}
-			}
-		};
-		useDefaultsButton.addSelectionListener(listener);
-	}
-	
-	/**
-	 * Creates the project name specification controls.
-	 *
-	 * @param parent the parent composite
-	 */
-	private final void createProjectNameGroup(Composite parent) {
-		Font font = parent.getFont();
-		// project specification group
-		Composite projectGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		projectGroup.setLayout(layout);
-		projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		// new project label
-		Label projectLabel = new Label(projectGroup, SWT.NONE);
-		projectLabel.setFont(font);
-		projectLabel.setText(WorkbenchMessages.getString("WizardNewProjectCreationPage.nameLabel")); //$NON-NLS-1$
-
-		// new project name entry field
-		projectNameField = new Text(projectGroup, SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-		projectNameField.setLayoutData(data);
-		projectNameField.setFont(font);
-
-		// Set the initial value first before listener
-		// to avoid handling an event during the creation.
-		if (initialProjectFieldValue != null)
-			projectNameField.setText(initialProjectFieldValue);
-		projectNameField.addListener(SWT.Modify, nameModifyListener);
-	}
-	
-	/**
-	 * Creates the project location specification controls.
-	 *
-	 * @param projectGroup the parent composite
-	 * @param boolean - the initial enabled state of the widgets created
-	 */
-	private void createUserSpecifiedProjectLocationGroup(Composite projectGroup, boolean enabled) {
-		Font font = projectGroup.getFont();
-		// location label
-		locationLabel = new Label(projectGroup, SWT.NONE);
-		locationLabel.setFont(font);
-		locationLabel.setText(WorkbenchMessages.getString("WizardNewProjectCreationPage.locationLabel")); //$NON-NLS-1$
-		locationLabel.setEnabled(enabled);
-
-		// project location entry field
-		locationPathField = new Text(projectGroup, SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-		locationPathField.setLayoutData(data);
-		locationPathField.setFont(font);
-		locationPathField.setEnabled(enabled);
-
-		// browse button
-		browseButton = new Button(projectGroup, SWT.PUSH);
-		browseButton.setFont(font);
-		browseButton.setText(WorkbenchMessages.getString("WizardNewProjectCreationPage.browseLabel")); //$NON-NLS-1$
-		browseButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				handleLocationBrowseButtonPressed();
-			}
-		});
-
-		browseButton.setEnabled(enabled);
-
-		// Set the initial value first before listener
-		// to avoid handling an event during the creation.
-		if (initialLocationFieldValue != null)
-			locationPathField.setText(initialLocationFieldValue.toOSString());
-		locationPathField.addListener(SWT.Modify, locationModifyListener);
-	}
-	
-	/**
-	 * Returns the current project location path as entered by 
-	 * the user, or its anticipated initial value.
-	 *
-	 * @return the project location path, its anticipated initial value, or <code>null</code>
-	 *   if no project location path is known
-	 */
-	/* package */ IPath getLocationPath() {
-		if (useDefaults)
-			return initialLocationFieldValue;
-
-		return new Path(getProjectLocationFieldValue());
-	}
-	
-	/**
-	 * Creates a project resource handle for the current project name field value.
-	 * <p>
-	 * This method does not create the project resource; this is the responsibility
-	 * of <code>IProject::create</code> invoked by the new project resource wizard.
-	 * </p>
-	 *
-	 * @return the new project resource handle
-	 */
-	/* package */ IProject getProjectHandle() {
-		return ResourcesPlugin.getWorkspace().getRoot().getProject(getProjectName());
-	}
-	
-	/**
-	 * Returns the current project name as entered by the user, or its anticipated
-	 * initial value.
-	 *
-	 * @return the project name, its anticipated initial value, or <code>null</code>
-	 *   if no project name is known
-	 */
-	/* package */ String getProjectName() {
-		if (projectNameField == null)
-			return initialProjectFieldValue;
-
-		return getProjectNameFieldValue();
-	}
-	
-	/**
-	 * Returns the value of the project name field
-	 * with leading and trailing spaces removed.
-	 * 
-	 * @return the project name in the field
-	 */
-	private String getProjectNameFieldValue() {
-		if (projectNameField == null)
-			return ""; //$NON-NLS-1$
-		else
-			return projectNameField.getText().trim();
-	}
-	
-	/**
-	 * Returns the value of the project location field
-	 * with leading and trailing spaces removed.
-	 * 
-	 * @return the project location directory in the field
-	 */
-	private String getProjectLocationFieldValue() {
-		if (locationPathField == null)
-			return ""; //$NON-NLS-1$
-		else
-			return locationPathField.getText().trim();
-	}
-	
-	/**
-	 *	Open an appropriate directory browser
-	 */
-	private void handleLocationBrowseButtonPressed() {
-		DirectoryDialog dialog = new DirectoryDialog(locationPathField.getShell());
-		dialog.setMessage(WorkbenchMessages.getString("WizardNewProjectCreationPage.directoryLabel")); //$NON-NLS-1$
-
-		String dirName = getProjectLocationFieldValue();
-		if (!dirName.equals("")) { //$NON-NLS-1$
-			File path = new File(dirName);
-			if (path.exists())
-				dialog.setFilterPath(new Path(dirName).toOSString());
-		}
-
-		String selectedDirectory = dialog.open();
-		if (selectedDirectory != null) {
-			customLocationFieldValue = selectedDirectory;
-			locationPathField.setText(customLocationFieldValue);
-		}
-	}
-	
-	/**
-	 * Returns whether the currently specified project
-	 * content directory points to an exising project
-	 */
-	private boolean isExistingProjectLocation() {
-		IPath path = getLocationPath();
-		path = path.append(IProjectDescription.DESCRIPTION_FILE_NAME);
-		return path.toFile().exists();
-	}
-	
-	/**
-	 * Sets the initial project name that this page will use when
-	 * created. The name is ignored if the createControl(Composite)
-	 * method has already been called. Leading and trailing spaces
-	 * in the name are ignored.
-	 * 
-	 * @param name initial project name for this page
-	 */
-	/* package */ void setInitialProjectName(String name) {
-		if (name == null)
-			initialProjectFieldValue = null;
-		else
-			initialProjectFieldValue = name.trim();
-	}
-	
-	/**
-	 * Set the location to the default location if we are set to useDefaults.
-	 */
-	private void setLocationForSelection() {
-		if (useDefaults) {
-			IPath defaultPath = Platform.getLocation().append(getProjectNameFieldValue());
-			locationPathField.setText(defaultPath.toOSString());
-		}
-	}
-	
-	/**
-	 * Returns whether this page's controls currently all contain valid 
-	 * values.
-	 *
-	 * @return <code>true</code> if all controls are valid, and
-	 *   <code>false</code> if at least one is invalid
-	 */
-	private boolean validatePage() {
-		IWorkspace workspace = WorkbenchPlugin.getPluginWorkspace();
-
-		String projectFieldContents = getProjectNameFieldValue();
-		if (projectFieldContents.equals("")) { //$NON-NLS-1$
-			setErrorMessage(null);
-			setMessage(WorkbenchMessages.getString("WizardNewProjectCreationPage.projectNameEmpty")); //$NON-NLS-1$
-			return false;
-		}
-
-		IStatus nameStatus = workspace.validateName(projectFieldContents, IResource.PROJECT);
-		if (!nameStatus.isOK()) {
-			setErrorMessage(nameStatus.getMessage());
-			return false;
-		}
-
-		String locationFieldContents = getProjectLocationFieldValue();
-
-		if (locationFieldContents.equals("")) { //$NON-NLS-1$
-			setErrorMessage(null);
-			setMessage(WorkbenchMessages.getString("WizardNewProjectCreationPage.projectLocationEmpty")); //$NON-NLS-1$
-			return false;
-		}
-
-		IPath path = new Path(""); //$NON-NLS-1$
-		if (!path.isValidPath(locationFieldContents)) {
-			setErrorMessage(WorkbenchMessages.getString("WizardNewProjectCreationPage.locationError")); //$NON-NLS-1$
-			return false;
-		}
-		if (!useDefaults && Platform.getLocation().isPrefixOf(new Path(locationFieldContents))) {
-			setErrorMessage(WorkbenchMessages.getString("WizardNewProjectCreationPage.defaultLocationError")); //$NON-NLS-1$
-			return false;
-		}
-
-		if (getProjectHandle().exists()) {
-			setErrorMessage(WorkbenchMessages.getString("WizardNewProjectCreationPage.projectExistsMessage")); //$NON-NLS-1$
-			return false;
-		}
-
-		if (isExistingProjectLocation()) {
-			setErrorMessage(WorkbenchMessages.getString("WizardNewProjectCreationPage.projectLocationExistsMessage")); //$NON-NLS-1$
-			return false;
-		}
-		
-		setErrorMessage(null);
-		setMessage(null);
-		return true;
-	}
-	
-/*
- * see @DialogPage.setVisible(boolean)
- */
-public void setVisible(boolean visible) {
-	super.setVisible(visible);
-	if(visible)
-		projectNameField.setFocus();
-}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WizardStep.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WizardStep.java
deleted file mode 100644
index 6f35f2c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WizardStep.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/**********************************************************************
-Copyright (c) 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:
-**********************************************************************/
-import org.eclipse.jface.wizard.IWizard;
-
-/**
- * Represents a step in a multi-step wizard.
- */
-public abstract class WizardStep {
-	private int number;
-	private boolean done = false;
-	
-	/**
-	 * Creates a wizard step.
-	 * 
-	 * @param number the step number
-	 */
-	public WizardStep(int number) {
-		super();
-		this.number = number;
-	}
-
-	/**
-	 * Returns the label for this step that can
-	 * be presented to the user.
-	 * 
-	 * @return String the label of this step
-	 */
-	abstract public String getLabel();
-	
-	/**
-	 * Returns an explaination of this step that can
-	 * be presented to the user.
-	 * 
-	 * @return String the details of this step
-	 */
-	abstract public String getDetails();
-	
-	/**
-	 * Returns the step's number.
-	 * 
-	 * @return int the step's number
-	 */
-	public int getNumber() {
-		return number;
-	}
-
-	/**
-	 * Returns the step's wizard. Subclasses are
-	 * responsible for calling addPages method on
-	 * the wizard, if needed, before returning.
-	 * 
-	 * @return IWizard the wizard to complete the step
-	 */
-	public abstract IWizard getWizard();
-
-	/**
-	 * Returns whether the step is done it's work
-	 */
-	public boolean isDone() {
-		return done;
-	}
-
-	/**
-	 * Sets the step as being done
-	 */
-	public void markAsDone() {
-		done = true;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchEditorsDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchEditorsDialog.java
deleted file mode 100644
index 788cfe5..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchEditorsDialog.java
+++ /dev/null
@@ -1,597 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. 
-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:
-**********************************************************************/
-import java.text.Collator;
-import java.util.*;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.dialogs.SelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-
-/**
- * Implements a dialog showing all opened editors in the workbench
- * and the recent closed editors
- */
-public class WorkbenchEditorsDialog extends SelectionDialog {
-
-	private WorkbenchWindow window;
-	private Table editorsTable;
-	private Button saveSelected;
-	private Button closeSelected;
-	private Button selectClean;
-	private Button invertSelection;
-	
-	private boolean showAllPersp = false;
-	private int sortColumn;
-	private List elements = new ArrayList();
-	private HashMap imageCache = new HashMap(11);
-	private HashMap disabledImageCache = new HashMap(11);
-	private boolean reverse = false;
-	private Collator collator = Collator.getInstance();
-	private Rectangle bounds;
-	private int columnsWidth[];
-	
-	private static final String SORT = "sort"; //$NON-NLS-1$
-	private static final String HISTORY = "history"; //$NON-NLS-1$
-	private static final String ALLPERSP = "allPersp"; //$NON-NLS-1$
-	private static final String BOUNDS = "bounds"; //$NON-NLS-1$
-	private static final String COLUMNS = "columns"; //$NON-NLS-1$
-	
-	private SelectionListener headerListener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			int index = editorsTable.indexOf((TableColumn) e.widget);
-			if(index == sortColumn)
-				reverse = !reverse;
-			else
-				sortColumn = index;
-			updateItems();
-		}
-	};
-	
-	/**
-	 * Constructor for WorkbenchEditorsDialog.
-	 */
-	public WorkbenchEditorsDialog(WorkbenchWindow window) {
-		super(window.getShell());
-		this.window = window;
-		setTitle(WorkbenchMessages.getString("WorkbenchEditorsDialog.title")); //$NON-NLS-1$
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-		
-		IDialogSettings s = getDialogSettings();
-		if(s.get(ALLPERSP) == null) {
-			sortColumn = 0;			
-		} else {
-			showAllPersp = s.getBoolean(ALLPERSP);
-			sortColumn = s.getInt(SORT);
-			String[] array = s.getArray(BOUNDS);
-			if(array != null) {
-				bounds = new Rectangle(0,0,0,0);
-				bounds.x = new Integer(array[0]).intValue();
-				bounds.y = new Integer(array[1]).intValue();
-				bounds.width = new Integer(array[2]).intValue();
-				bounds.height = new Integer(array[3]).intValue();
-			}
-			array = s.getArray(COLUMNS);
-			if(array != null) {
-				columnsWidth = new int[array.length];
-				for (int i = 0; i < columnsWidth.length; i++)
-					columnsWidth[i] = new Integer(array[i]).intValue();
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on Window.
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		WorkbenchHelp.setHelp(newShell, IHelpContextIds.WORKBENCH_EDITORS_DIALOG);
-	}
-		
-	/**
-	 * Initialize the dialog bounds with the bounds saved
-	 * from the settings.
-	 */
-	protected void initializeBounds() {
-		if(bounds != null) {
-			getShell().setBounds(bounds);		
-		} else {
-			super.initializeBounds();
-		}
-	}
-	
-	/**
-	 * Creates the contents of this dialog, initializes the
-	 * listener and the update thread.
-	 */
-	protected Control createDialogArea(Composite parent) {
-
-		initializeDialogUnits(parent);
-		
-		Font font = parent.getFont();
-		
-		Composite dialogArea = (Composite) super.createDialogArea(parent);
-		//Label over the table
-		Label l = new Label(dialogArea, SWT.NONE);
-		l.setText(WorkbenchMessages.getString("WorkbenchEditorsDialog.label")); //$NON-NLS-1$
-		l.setFont(font);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		l.setLayoutData(data);
-		//Table showing the editors name, full path and perspective
-		editorsTable = new Table(dialogArea, SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
-		editorsTable.setLinesVisible(true);
-		editorsTable.setHeaderVisible(true);
-		editorsTable.setFont(font);
-		
-		final GridData tableData = new GridData(GridData.FILL_BOTH);
-		tableData.heightHint = 16 * editorsTable.getItemHeight();
-		tableData.widthHint = (int) (2.5 * tableData.heightHint);
-		
-		editorsTable.setLayoutData(tableData);
-		editorsTable.setLayout(new Layout() {
-			protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache){
-				return new Point(tableData.widthHint, tableData.heightHint);
-			}
-			protected void layout(Composite composite, boolean flushCache){
-				TableColumn c[] = editorsTable.getColumns();
-				if(columnsWidth == null) {
-					int w = editorsTable.getClientArea().width;
-					c[0].setWidth(w * 1 / 3);
-					c[1].setWidth(w - c[0].getWidth());
-				} else {
-					c[0].setWidth(columnsWidth[0]);
-					c[1].setWidth(columnsWidth[1]);
-				}
-				editorsTable.setLayout(null);
-			}
-		});
-		//Name column
-		TableColumn tc = new TableColumn(editorsTable,SWT.NONE);
-		tc.setResizable(true);
-		tc.setText(WorkbenchMessages.getString("WorkbenchEditorsDialog.name")); //$NON-NLS-1$
-		tc.addSelectionListener(headerListener);
-		//Full path column
-		tc = new TableColumn(editorsTable,SWT.NONE);
-		tc.setResizable(true);
-		tc.setText(WorkbenchMessages.getString("WorkbenchEditorsDialog.path")); //$NON-NLS-1$
-		tc.addSelectionListener(headerListener);
-		//A composite for save editors and close editors buttons
-		Composite selectionButtons = new Composite(dialogArea,SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 4;
-		selectionButtons.setLayout(layout);
-		//Close editors button
-		closeSelected = new Button(selectionButtons,SWT.PUSH);
-		closeSelected.setText(WorkbenchMessages.getString("WorkbenchEditorsDialog.closeSelected")); //$NON-NLS-1$
-		closeSelected.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				closeItems(editorsTable.getSelection());
-			}
-		});
-		closeSelected.setFont(font);
-		setButtonLayoutData(closeSelected);
-		
-		//Save editors button
-		saveSelected = new Button(selectionButtons,SWT.PUSH);
-		saveSelected.setText(WorkbenchMessages.getString("WorkbenchEditorsDialog.saveSelected")); //$NON-NLS-1$
-		saveSelected.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				saveItems(editorsTable.getSelection(),null);
-			}
-		});
-		saveSelected.setFont(font);
-		setButtonLayoutData(saveSelected);
-		
-		//Select clean editors button
-		selectClean = new Button(selectionButtons,SWT.PUSH);
-		selectClean.setText(WorkbenchMessages.getString("WorkbenchEditorsDialog.selectClean")); //$NON-NLS-1$
-		selectClean.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				editorsTable.setSelection(selectClean(editorsTable.getItems()));
-				updateButtons();
-			}
-		});
-		selectClean.setFont(font);
-		setButtonLayoutData(selectClean);
-		
-		//Invert selection button
-		invertSelection = new Button(selectionButtons,SWT.PUSH);
-		invertSelection.setText(WorkbenchMessages.getString("WorkbenchEditorsDialog.invertSelection")); //$NON-NLS-1$
-		invertSelection.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				editorsTable.setSelection(invertedSelection(editorsTable.getItems(),editorsTable.getSelection()));
-				updateButtons();
-			}
-		});
-		invertSelection.setFont(font);
-		setButtonLayoutData(invertSelection);
-		
-		//Show only active perspective button
-		final Button showAllPerspButton = new Button(dialogArea,SWT.CHECK);
-		showAllPerspButton.setText(WorkbenchMessages.getString("WorkbenchEditorsDialog.showAllPersp")); //$NON-NLS-1$
-		showAllPerspButton.setSelection(showAllPersp);
-		showAllPerspButton.setFont(font);
-		setButtonLayoutData(showAllPerspButton);
-		showAllPerspButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				showAllPersp = showAllPerspButton.getSelection();
-				updateItems();
-			}
-		});		
-		//Create the items and update buttons state
-		updateItems();
-		updateButtons();
-		
-		editorsTable.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateButtons();
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-				okPressed();
-			}
-		});
-		editorsTable.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				for (Iterator images = imageCache.values().iterator(); images.hasNext();) {
-					Image i = (Image)images.next();
-					i.dispose();
-				}
-				for (Iterator images = disabledImageCache.values().iterator(); images.hasNext();) {
-					Image i = (Image)images.next();
-					i.dispose();
-				}
-			}
-		});
-		editorsTable.setFocus();
-		return dialogArea;
-	}
-	/**
-	 * Updates the button state (enabled/disabled)
-	 */
-	private void updateButtons() {
-		TableItem selectedItems[] = editorsTable.getSelection();
-		boolean hasDirty = false;
-		for (int i = 0; i < selectedItems.length; i ++) {
-			Adapter editor = (Adapter)selectedItems[i].getData();
-			if(editor.isDirty()) {
-				hasDirty = true;
-				break;
-			}
-		}
-		saveSelected.setEnabled(hasDirty);
-		
-		TableItem allItems[] = editorsTable.getItems();
-		boolean hasClean = false;
-		for (int i = 0; i < allItems.length; i ++) {
-			Adapter editor = (Adapter)allItems[i].getData();
-			if(!editor.isDirty()) {
-				hasClean = true;
-				break;
-			}
-		}
-		selectClean.setEnabled(hasClean);
-		invertSelection.setEnabled(allItems.length > 0);		
-		closeSelected.setEnabled(selectedItems.length > 0);
-		
-		Button ok = getOkButton();
-		if (ok != null)
-			ok.setEnabled(selectedItems.length == 1);
-	}
-	/**
-	 * Closes the specified editors
-	 */
-	private void closeItems(TableItem items[]) {
-		if(items.length == 0)
-			return;
-		for (int i = 0; i < items.length; i++) {
-			Adapter e = (Adapter)items[i].getData();
-			e.close();
-		}
-		updateItems();
-	}
-	/**
-	 * Saves the specified editors
-	 */
-	private void saveItems(TableItem items[],IProgressMonitor monitor) {
-		if(items.length == 0)
-			return;
-		ProgressMonitorDialog pmd = new ProgressMonitorDialog(getShell());
-		pmd.open();
-		for (int i = 0; i < items.length; i++) {
-			Adapter editor = (Adapter)items[i].getData();
-			editor.save(pmd.getProgressMonitor());
-			updateItem(items[i],editor);
-		}
-		pmd.close();
-		updateItems();
-	}
-	/**
-	 * Returns all clean editors from items[];
-	 */
-	private TableItem[] selectClean(TableItem items[]) {
-		if(items.length == 0)
-			return new TableItem[0];
-		ArrayList cleanItems = new ArrayList(items.length);
-		for (int i = 0; i < items.length; i++) {
-			Adapter editor = (Adapter)items[i].getData();
-			if(!editor.isDirty())
-				cleanItems.add(items[i]);
-		}
-		TableItem result[] = new TableItem[cleanItems.size()];
-		cleanItems.toArray(result);
-		return result;
-	}
-	/**
-	 * Returns all clean editors from items[];
-	 */
-	private TableItem[] invertedSelection(TableItem allItems[],TableItem selectedItems[]) {
-		if(allItems.length == 0)
-			return allItems;
-		ArrayList invertedSelection = new ArrayList(allItems.length - selectedItems.length);
-		outerLoop: for (int i = 0; i < allItems.length; i++) {
-			for (int j = 0; j < selectedItems.length; j++) {
-				if(allItems[i] == selectedItems[j])
-					continue outerLoop;
-			}
-			invertedSelection.add(allItems[i]);
-		}
-		TableItem result[] = new TableItem[invertedSelection.size()];
-		invertedSelection.toArray(result);
-		return result;
-	}		
-	/**
-	 * Updates the specified item
-	 */
-	private void updateItem(TableItem item,Adapter editor) {
-		item.setData(editor);
-		item.setText(editor.getText());
-		Image images[] = editor.getImage();
-		for (int i = 0; i < images.length; i++) {
-			if (images[i] != null)
-				item.setImage(i, images[i]);
-		}
-	}
-	/**
-	 * Adds all editors to elements
-	 */
-	private void updateEditors(IWorkbenchPage[] pages) {
-		for (int j = 0; j < pages.length; j++) {
-			IEditorReference editors[] = pages[j].getEditorReferences();
-			for (int k = 0; k < editors.length; k++) {
-				elements.add(new Adapter(editors[k]));
-			}
-		}
-	}
-	/**
-	 * Updates all items in the table
-	 */
-	private void updateItems() {
-		editorsTable.removeAll();
-		elements = new ArrayList();
-		if(showAllPersp) {
-			IWorkbenchWindow windows[] = window.getWorkbench().getWorkbenchWindows();
-			for (int i = 0; i < windows.length; i++)
-				updateEditors(windows[i].getPages());
-		} else {
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null) {
-				updateEditors(new IWorkbenchPage[]{page});
-			}
-		}
-		sort();
-		Object selection = null;
-		if(window.getActivePage() != null)
-			selection = window.getActivePage().getActiveEditor();
-		for (Iterator iterator = elements.iterator(); iterator.hasNext();) {
-			Adapter e = (Adapter) iterator.next();
-			TableItem item = new TableItem(editorsTable,SWT.NULL);
-			updateItem(item,e);
-			if((selection != null) && (selection == e.editorRef))
-				editorsTable.setSelection(new TableItem[]{item});
-		}
-		// update the buttons, because the selection may have changed
-		updateButtons();
-	}
-	/**
-	 * Sorts all the editors according to the table header
-	 */
-	private void sort() {
-		//Backward compatible. Table used to have 3 columns.
-		if(sortColumn > (editorsTable.getColumnCount() - 1))
-			sortColumn = 0;
-		Adapter a[] = new Adapter[elements.size()];
-		elements.toArray(a);
-		Arrays.sort(a);
-		elements = Arrays.asList(a);
-	}
-	/**
- 	 * The user has selected a resource and the dialog is closing.
-     */
-	protected void okPressed() {
-		TableItem items[] = editorsTable.getSelection();
-		if(items.length != 1) {
-			super.okPressed();
-			return;
-		}
-		
-		saveDialogSettings();
-						
-		Adapter selection = (Adapter)items[0].getData();	
-		//It would be better to activate before closing the
-		//dialog but it does not work when the editor is in other
-		//window. Must investigate.
-		super.okPressed();
-		selection.activate();
-	}
-	/**
-	 * Saves the dialog settings.
-	 */
-	private void saveDialogSettings() {
-		IDialogSettings s = getDialogSettings();
-		s.put(ALLPERSP,showAllPersp);
-		s.put(SORT,sortColumn);
-		bounds = getShell().getBounds();
-		String array[] = new String[4];
-		array[0] = String.valueOf(bounds.x);
-		array[1] = String.valueOf(bounds.y);
-		array[2] = String.valueOf(bounds.width);
-		array[3] = String.valueOf(bounds.height);
-		s.put(BOUNDS,array);
-		array = new String[editorsTable.getColumnCount()];
-		for (int i = 0; i < array.length; i++)
-			array[i] = String.valueOf(editorsTable.getColumn(i).getWidth());
-		s.put(COLUMNS,array);
-	}
-
-	/**
-	 * Return a dialog setting section for this dialog
-	 */
-	private IDialogSettings getDialogSettings() {
-		IDialogSettings settings = WorkbenchPlugin.getDefault().getDialogSettings();
-		IDialogSettings thisSettings = settings.getSection(getClass().getName());
-		if (thisSettings == null)
-			thisSettings = settings.addNewSection(getClass().getName());
-		return thisSettings;
-	}
-	/**
-	 * A helper inner class to adapt EditorHistoryItem and IEditorPart
-	 * in the same type.
-	 */
-	private class Adapter implements Comparable {
-		IEditorReference editorRef;
-		IEditorInput input;
-		IEditorDescriptor desc;
-		String text[];
-		Image images[];
-		Adapter(IEditorReference ref) {
-			editorRef = ref;
-		}
-		Adapter(IEditorInput input,IEditorDescriptor desc) {
-			this.input = input;
-			this.desc = desc;
-		}
-		boolean isDirty() {
-			if(editorRef == null)
-				return false;
-			return editorRef.isDirty();
-		}
-		boolean isOpened() {
-			return editorRef != null;
-		}
-		void close() {
-			if(editorRef == null)
-				return;
-			WorkbenchPage p = ((WorkbenchPartReference)editorRef).getPane().getPage();
-			p.closeEditor(editorRef,true);
-		}
-		void save(IProgressMonitor monitor) {
-			if(editorRef == null)
-				return;
-			IEditorPart editor = (IEditorPart)editorRef.getPart(true);
-			if(editor != null)
-				editor.doSave(monitor);
-		}
-		String[] getText() {
-			if(text != null)
-				return text;
-			text = new String[2];
-			if(editorRef != null) {	
-				if(editorRef.isDirty())
-					text[0] = "*" + editorRef.getTitle(); //$NON-NLS-1$
-				else
-					text[0] = editorRef.getTitle();
-				text[1] = editorRef.getTitleToolTip();
-			} else {	
-				text[0] = input.getName();
-				text[1] = input.getToolTipText();
-			}
-			return text;
-		}
-		Image[] getImage() {
-			if(images != null)
-				return images;
-			images = new Image[2];
-			if(editorRef != null) {
-				images[0] = editorRef.getTitleImage();
-  			    WorkbenchPage p = ((WorkbenchPartReference)editorRef).getPane().getPage();
-				IPerspectiveDescriptor persp = p.getPerspective();
-				ImageDescriptor image = persp.getImageDescriptor();
-				if(image == null)
-					image = WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_DEF_PERSPECTIVE);
-			} else {
-				ImageDescriptor image = null;
-				if(desc != null)
-					image = desc.getImageDescriptor();
-				if(image == null) {
-					IEditorRegistry registry = WorkbenchPlugin.getDefault().getEditorRegistry();
-					image = registry.getImageDescriptor(input.getName());
-					if (image == null) {
-						image = registry.getDefaultEditor().getImageDescriptor();
-					}
-				}
-				if (image != null) {
-					images[0] = (Image)disabledImageCache.get(image);
-					if(images[0] == null) {
-						Image enabled = image.createImage();
-						Image disabled = new Image(editorsTable.getDisplay(), enabled, SWT.IMAGE_DISABLE);
-						enabled.dispose();
-						disabledImageCache.put(image, disabled);
-						images[0] = disabled;
-					}
-				}
-			}
-			return images;
-		}
-	
-		private void activate(){
-			if(editorRef != null) {
-				IEditorPart editor = editorRef.getEditor(true);
-				WorkbenchPage p = (WorkbenchPage)editor.getEditorSite().getPage();
-				Shell s = p.getWorkbenchWindow().getShell();
-				if(s.getMinimized())
-					s.setMinimized(false);
-				s.moveAbove(null);
-				p.getWorkbenchWindow().setActivePage(p);
-				p.activate(editor);
-			} else {
-				IWorkbenchPage p = window.getActivePage();
-				try {
-					if(desc != null)
-						p.openEditor(input,desc.getId(),true);
-					else if(input instanceof IFileEditorInput)
-						p.openEditor(((IFileEditorInput)input).getFile());
-				} catch (PartInitException e) {
-				}
-			}
-		}
-		public int compareTo(Object another) {
-			Adapter adapter = (Adapter)another;
-			int result = collator.compare(getText()[sortColumn],adapter.getText()[sortColumn]);
-			if(result == 0) {
-				int column = sortColumn == 0 ? 1 : 0;
-				result = collator.compare(getText()[column],adapter.getText()[column]);
-			}
-			if(reverse)
-				return result * -1;
-			return result;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchPreferenceDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchPreferenceDialog.java
deleted file mode 100644
index 3fe53ae..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchPreferenceDialog.java
+++ /dev/null
@@ -1,260 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.File;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.IPreferencePage;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.swt.SWT;
-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.FileDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-
-
-
-/**
- * Prefence dialog for the workbench including the ability 
- * to load/save preferences.
- */
-public class WorkbenchPreferenceDialog extends PreferenceDialog {
-	/**
-	 * The Load button.
-	 */
-	private Button loadButton;
-	/**
-	 * The Load button id.
-	 */
-	private final static int LOAD_ID = IDialogConstants.CLIENT_ID + 1;
-	/** 
-	 * The Load dialogs settings key
-	 */
-	private final static String LOAD_SETTING = "WorkbenchPreferenceDialog.load";	//$NON-NLS-1$
-	
-	/**
-	 * The Save button.
-	 */
-	private Button saveButton;
-	/**
-	 * The Save button id.
-	 */
-	private final static int SAVE_ID = IDialogConstants.CLIENT_ID + 2;
-	/** 
-	 * The Save dialogs settings key
-	 */
-	private final static String SAVE_SETTING = "WorkbenchPreferenceDialog.save"; //$NON-NLS-1$
-	
-	/**
-	 * The extension for preferences files
-	 */
-	private final static String PREFERENCE_EXT = "epf"; //$NON-NLS-1$
-	
-	/**
-	 * The extensions for the file dialogs
-	 */
-	private final static String[] DIALOG_PREFERENCE_EXTENSIONS = new String[] {"*."+PREFERENCE_EXT, "*.*"}; //$NON-NLS-2$ //$NON-NLS-1$
-
-	/**
-	 * Creates a new preference dialog under the control of the given preference 
-	 * manager.
-	 *
-	 * @param shell the parent shell
-	 * @param manager the preference manager
-	 */
-	public WorkbenchPreferenceDialog(Shell parentShell, PreferenceManager manager) {
-		super(parentShell, manager);
-	}
-		
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void buttonPressed(int buttonId) {
-		switch (buttonId) {
-			case LOAD_ID : {
-				loadPressed();
-				return;
-			}
-			case SAVE_ID : {
-				savePressed();
-				return;
-			}
-		}
-		super.buttonPressed(buttonId);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		parent.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		loadButton = createButton(parent, LOAD_ID, WorkbenchMessages.getString("WorkbenchPreferenceDialog.load"), false); //$NON-NLS-1$
-		saveButton = createButton(parent, SAVE_ID, WorkbenchMessages.getString("WorkbenchPreferenceDialog.save"), false); //$NON-NLS-1$
-		Label l = new Label(parent, SWT.NONE);
-		l.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		GridLayout layout = (GridLayout)parent.getLayout();
-		layout.numColumns++;
-		layout.makeColumnsEqualWidth = false;
-	
-		super.createButtonsForButtonBar(parent);	
-	}
-	
-	/**
-	 * Handle a request to load preferences
-	 */
-	protected void loadPressed() {
-		// Get the file to load
-		String lastFilename = WorkbenchPlugin.getDefault().getDialogSettings().get(LOAD_SETTING);
-		FileDialog d = new FileDialog(getShell(), SWT.OPEN);
-		d.setFileName(lastFilename);
-		d.setFilterExtensions(DIALOG_PREFERENCE_EXTENSIONS);
-		String filename = d.open();
-		if (filename == null)
-			return;
-		// Append the default filename if none was specifed	and such a file does not exist
-		IPath path = new Path(filename);
-		if (path.getFileExtension() == null) {
-			if (!path.toFile().exists()) {
-				path = path.addFileExtension(PREFERENCE_EXT);			
-				filename = path.toOSString();
-			}
-		}
-
-		WorkbenchPlugin.getDefault().getDialogSettings().put(LOAD_SETTING, filename);
-			
-		// Verify the file
-		IStatus status = Preferences.validatePreferenceVersions(path);		
-		if (status.getSeverity() == IStatus.ERROR) {
-			// Show the error and about
-			ErrorDialog.openError(
-				getShell(), 
-				WorkbenchMessages.getString("WorkbenchPreferenceDialog.loadErrorTitle"), //$NON-NLS-1$
-				WorkbenchMessages.format("WorkbenchPreferenceDialog.verifyErrorMessage", new Object[]{filename}), //$NON-NLS-1$
-				status);
-			return;	
-		}
-		if (status.getSeverity() == IStatus.WARNING) {
-			// Show the warning and give the option to continue
-			int result = PreferenceErrorDialog.openError(
-				getShell(), 
-				WorkbenchMessages.getString("WorkbenchPreferenceDialog.loadErrorTitle"), //$NON-NLS-1$
-				WorkbenchMessages.format("WorkbenchPreferenceDialog.verifyWarningMessage", new Object[]{filename}), //$NON-NLS-1$
-				status);
-			if (result != Dialog.OK)
-				return;	
-		}
-		// Load file
-		try {
-			Preferences.importPreferences(path);
-		} catch (CoreException e) {
-			ErrorDialog.openError(
-				getShell(), 
-				WorkbenchMessages.getString("WorkbenchPreferenceDialog.loadErrorTitle"), //$NON-NLS-1$
-				WorkbenchMessages.format("WorkbenchPreferenceDialog.loadErrorMessage", new Object[]{filename}), //$NON-NLS-1$
-				e.getStatus());
-			return;	
-		}
-		
-		MessageDialog.openInformation(
-			getShell(),
-			WorkbenchMessages.getString("WorkbenchPreferenceDialog.loadTitle"), //$NON-NLS-1$
-			WorkbenchMessages.format("WorkbenchPreferenceDialog.loadMessage", new Object[]{filename})); //$NON-NLS-1$
-			
-		// Close the dialog since it shows an invalid state
-		close();
-	}
-			
-	/**
-	 * Handle a request to save preferences
-	 */
-	protected void savePressed() {
-		// Get the file to save
-		String lastFilename = WorkbenchPlugin.getDefault().getDialogSettings().get(SAVE_SETTING);
-		FileDialog d = new FileDialog(getShell(), SWT.SAVE);
-		d.setFileName(lastFilename);
-		d.setFilterExtensions(DIALOG_PREFERENCE_EXTENSIONS);
-		String filename = d.open();
-		if (filename == null)
-			return;
-		// Append the default filename if none was specifed	
-		IPath path = new Path(filename);
-		if (path.getFileExtension() == null) {
-			path = path.addFileExtension(PREFERENCE_EXT);			
-			filename = path.toOSString();
-		}
-			
-		WorkbenchPlugin.getDefault().getDialogSettings().put(SAVE_SETTING, filename);
-		
-		// See if the file already exists
-		File file = path.toFile();
-		if(file.exists()) {
-			if(!MessageDialog.openConfirm(
-				getShell(),
-				WorkbenchMessages.getString("WorkbenchPreferenceDialog.saveTitle"), //$NON-NLS-1$
-				WorkbenchMessages.format("WorkbenchPreferenceDialog.existsErrorMessage", new Object[]{filename}))) //$NON-NLS-1$
-					return;
-		}			
-
-		// Save all the pages and give them a chance to abort
-		Iterator nodes = getPreferenceManager().getElements(PreferenceManager.PRE_ORDER).iterator();
-		while (nodes.hasNext()) {
-			IPreferenceNode node = (IPreferenceNode) nodes.next();
-			IPreferencePage page = node.getPage();
-			if (page != null) {
-				if(!page.performOk())
-					return;
-			}
-		}
-
-		long lastModified = file.lastModified();
-		// Save to file
-		try {
-			Preferences.exportPreferences(path); 
-		} catch (CoreException e) {
-			ErrorDialog.openError(
-				getShell(), 
-				WorkbenchMessages.getString("WorkbenchPreferenceDialog.saveErrorTitle"), //$NON-NLS-1$
-				WorkbenchMessages.format("WorkbenchPreferenceDialog.saveErrorMessage", new Object[]{filename}), //$NON-NLS-1$
-				e.getStatus());
-				return;
-		}
-		// See if we actually created a file (there where preferences to export).
-		if(file.exists() && file.lastModified() != lastModified) {
-			MessageDialog.openInformation(
-				getShell(),
-				WorkbenchMessages.getString("WorkbenchPreferenceDialog.saveTitle"), //$NON-NLS-1$
-				WorkbenchMessages.format("WorkbenchPreferenceDialog.saveMessage", new Object[]{filename})); //$NON-NLS-1$
-		} else {
-			MessageDialog.openError(
-				getShell(),
-				WorkbenchMessages.getString("WorkbenchPreferenceDialog.saveErrorTitle"), //$NON-NLS-1$
-				WorkbenchMessages.getString("WorkbenchPreferenceDialog.noPreferencesMessage")); //$NON-NLS-1$
-		}			
-		
-		
-		// Close since we have "performed Ok" and cancel is no longer valid
-		close();	
-	}
-}
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchPreferenceNode.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchPreferenceNode.java
deleted file mode 100644
index be3d96c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchPreferenceNode.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.preference.PreferenceNode;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * A proxy for a preference page to avoid creation of preference page
- * just to show a node in the preference dialog tree.
- */
-public class WorkbenchPreferenceNode extends PreferenceNode {
-	private String category;
-	private IConfigurationElement configurationElement;
-	public final static String ATT_CONTRIBUTOR_CLASS = "class";//$NON-NLS-1$
-	private IWorkbench workbench;
-public WorkbenchPreferenceNode(String nodeId, String nodeLabel, String category, ImageDescriptor nodeImage, IConfigurationElement element, IWorkbench newWorkbench) {
-	super(nodeId, nodeLabel, nodeImage, null);
-	this.category = category;
-	this.configurationElement = element;
-	this.workbench = newWorkbench;
-}
-public WorkbenchPreferenceNode(String nodeId, String nodeLabel, String category, ImageDescriptor nodeImage, IWorkbenchPreferencePage preferencePage) {
-	super(nodeId, nodeLabel, nodeImage, null);
-	setPage(preferencePage);
-}
-/**
- * Creates the preference page this node stands for.
- */ 
-public void createPage() {
-	IWorkbenchPreferencePage page;
-	try {
-		page = (IWorkbenchPreferencePage)WorkbenchPlugin.createExtension(
-			configurationElement, ATT_CONTRIBUTOR_CLASS);
-	}
-	catch (CoreException e) {
-		// Just inform the user about the error. The details are
-		// written to the log by now.
-		ErrorDialog.openError(
-			(Shell)null, 
-			WorkbenchMessages.getString("PreferenceNode.errorTitle"),  //$NON-NLS-1$
-			WorkbenchMessages.getString("PreferenceNode.errorMessage"),  //$NON-NLS-1$
-			e.getStatus());
-		page = new EmptyPreferencePage();
-	}
-	
-	page.init(workbench);
-	if (getLabelImage() != null)
-		page.setImageDescriptor(getImageDescriptor());
-	page.setTitle(getLabelText());
-	setPage(page);
-}
-/**
- * 
- * @return java.lang.String
- */
-public String getCategory() {
-	return category;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchPreferencePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchPreferencePage.java
deleted file mode 100644
index 56dd89f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchPreferencePage.java
+++ /dev/null
@@ -1,382 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.preference.*;
-import org.eclipse.jface.util.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-
-public class WorkbenchPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-	private IWorkbench workbench;
-	private Button autoBuildButton;
-	private Button autoSaveAllButton;
-	private Button refreshButton;
-	private Button showTasks;
-	private IntegerFieldEditor saveInterval;
-
-	private Button doubleClickButton;
-	private Button singleClickButton;
-	private Button selectOnHoverButton;
-	private Button openAfterDelayButton;
-	private boolean openOnSingleClick;
-	private boolean selectOnHover;
-	private boolean openAfterDelay;
-
-	/**
-	 * Creates composite control and sets the default layout data.
-	 *
-	 * @param parent  the parent of the new composite
-	 * @param numColumns  the number of columns for the new composite
-	 * @return the newly-created coposite
-	 */
-	private Composite createComposite(Composite parent, int numColumns) {
-		Composite composite = new Composite(parent, SWT.NULL);
-
-		// GridLayout
-		GridLayout layout = new GridLayout();
-		layout.numColumns = numColumns;
-		composite.setLayout(layout);
-
-		// GridData
-		GridData data = new GridData();
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalAlignment = GridData.FILL;
-		composite.setLayoutData(data);
-		return composite;
-	}
-	/**
-	 *	Create this page's visual contents
-	 *
-	 *	@return org.eclipse.swt.widgets.Control
-	 *	@param parent org.eclipse.swt.widgets.Composite
-	 */
-	protected Control createContents(Composite parent) {
-		
-		Font font = parent.getFont();
-
-		WorkbenchHelp.setHelp(parent, IHelpContextIds.WORKBENCH_PREFERENCE_PAGE);
-
-		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.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL));
-		composite.setFont(font);
-
-		autoBuildButton = new Button(composite, SWT.CHECK);
-		autoBuildButton.setText(WorkbenchMessages.getString("WorkbenchPreference.autobuild")); //$NON-NLS-1$
-		autoBuildButton.setFont(font);
-
-		autoSaveAllButton = new Button(composite, SWT.CHECK);
-		autoSaveAllButton.setText(WorkbenchMessages.getString("WorkbenchPreference.savePriorToBuilding")); //$NON-NLS-1$
-		autoSaveAllButton.setFont(font);
-
-		refreshButton = new Button(composite, SWT.CHECK);
-		refreshButton.setText(WorkbenchMessages.getString("WorkbenchPreference.refreshButton")); //$NON-NLS-1$
-		refreshButton.setFont(font);
-		
-		showTasks = new Button(composite, SWT.CHECK);
-		showTasks.setText(WorkbenchMessages.getString("WorkbenchPreference.showTasks")); //$NON-NLS-1$
-		showTasks.setFont(font);
-
-		createSpace(composite);
-		createSaveIntervalGroup(composite);
-		
-		createSpace(composite);
-		createSingleClickGroup(composite);
-
-		// set initial values
-		IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-		autoBuildButton.setSelection(ResourcesPlugin.getWorkspace().isAutoBuilding());
-		autoSaveAllButton.setSelection(store.getBoolean(IPreferenceConstants.SAVE_ALL_BEFORE_BUILD));
-		refreshButton.setSelection(store.getBoolean(IPreferenceConstants.REFRESH_WORKSPACE_ON_STARTUP));
-		showTasks.setSelection(store.getBoolean(IPreferenceConstants.SHOW_TASKS_ON_BUILD));
-		
-		return composite;
-	}
-	
-	private void createSingleClickGroup(Composite composite) {
-		
-		Font font = composite.getFont();
-		
-		Group buttonComposite = new Group(composite, SWT.LEFT);
-		GridLayout layout = new GridLayout();
-		buttonComposite.setLayout(layout);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
-		buttonComposite.setLayoutData(data);
-		buttonComposite.setText(WorkbenchMessages.getString("WorkbenchPreference.openMode")); //$NON-NLS-1$
-		buttonComposite.setFont(font);
-		
-
-		String label = WorkbenchMessages.getString("WorkbenchPreference.doubleClick"); //$NON-NLS-1$	
-		doubleClickButton = createRadioButton(buttonComposite,label);
-		doubleClickButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectClickMode(singleClickButton.getSelection());
-			}
-		});
-		doubleClickButton.setSelection(!openOnSingleClick);
-
-		label = WorkbenchMessages.getString("WorkbenchPreference.singleClick"); //$NON-NLS-1$
-		singleClickButton = createRadioButton(buttonComposite,label);
-		singleClickButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectClickMode(singleClickButton.getSelection());
-			}
-		});
-		singleClickButton.setSelection(openOnSingleClick);
-		
-		label = WorkbenchMessages.getString("WorkbenchPreference.singleClick_SelectOnHover"); //$NON-NLS-1$				
-		selectOnHoverButton = new Button(buttonComposite, SWT.CHECK | SWT.LEFT);
-		selectOnHoverButton.setText(label);
-		selectOnHoverButton.setFont(font);
-		selectOnHoverButton.setEnabled(openOnSingleClick);
-		selectOnHoverButton.setSelection(selectOnHover);
-		selectOnHoverButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectOnHover = selectOnHoverButton.getSelection();
-			}
-		});
-		data = new GridData();
-		data.horizontalIndent = 20;
-		selectOnHoverButton.setLayoutData(data);
-		
-		
-		label = WorkbenchMessages.getString("WorkbenchPreference.singleClick_OpenAfterDelay"); //$NON-NLS-1$				
-		openAfterDelayButton = new Button(buttonComposite, SWT.CHECK | SWT.LEFT);
-		openAfterDelayButton.setText(label);
-		openAfterDelayButton.setEnabled(openOnSingleClick);
-		openAfterDelayButton.setSelection(openAfterDelay);
-		openAfterDelayButton.setFont(font);
-		openAfterDelayButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				openAfterDelay = openAfterDelayButton.getSelection();
-			}
-		});		
-		data = new GridData();
-		data.horizontalIndent = 20;
-		openAfterDelayButton.setLayoutData(data);
-		
-		createNoteComposite(
-			font,
-			buttonComposite,
-			WorkbenchMessages.getString("Preference.note"),//$NON-NLS-1$
-			WorkbenchMessages.getString("WorkbenchPreference.noEffectOnAllViews")); //$NON-NLS-1$
-	}
-	
-	private void selectClickMode(boolean singleClick) {
-		openOnSingleClick = singleClick;
-		selectOnHoverButton.setEnabled(openOnSingleClick);
-		openAfterDelayButton.setEnabled(openOnSingleClick);
-	}	
-	/**
-	 * Create a composite that contains entry fields specifying save interval preference.
-	 */
-	private void createSaveIntervalGroup(Composite composite) {
-		Composite groupComposite = new Composite(composite, SWT.LEFT);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		groupComposite.setLayout(layout);
-		GridData gd = new GridData();
-		gd.horizontalAlignment = GridData.FILL;
-		gd.grabExcessHorizontalSpace = true;
-		groupComposite.setLayoutData(gd);	
-		groupComposite.setFont(composite.getFont());
-		
-		saveInterval = new IntegerFieldEditor(IPreferenceConstants.SAVE_INTERVAL, WorkbenchMessages.getString("WorkbenchPreference.saveInterval"), groupComposite); //$NON-NLS-1$
-
-		saveInterval.setPreferenceStore(WorkbenchPlugin.getDefault().getPreferenceStore());
-		saveInterval.setPreferencePage(this);
-		saveInterval.setTextLimit(Integer.toString(IPreferenceConstants.MAX_SAVE_INTERVAL).length());
-		saveInterval.setErrorMessage(WorkbenchMessages.format("WorkbenchPreference.saveIntervalError", new Object[] { new Integer(IPreferenceConstants.MAX_SAVE_INTERVAL)})); //$NON-NLS-1$
-		saveInterval.setValidateStrategy(StringFieldEditor.VALIDATE_ON_KEY_STROKE);
-		saveInterval.setValidRange(1, IPreferenceConstants.MAX_SAVE_INTERVAL);
-
-		IWorkspaceDescription description = ResourcesPlugin.getWorkspace().getDescription();
-		long interval = description.getSnapshotInterval() / 60000;
-		saveInterval.setStringValue(Long.toString(interval));
-
-		saveInterval.setPropertyChangeListener(new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (event.getProperty().equals(FieldEditor.IS_VALID)) 
-					setValid(saveInterval.isValid());
-			}
-		});
-		
-	}	
-	/**
-	 * Utility method that creates a radio button instance
-	 * and sets the default layout data.
-	 *
-	 * @param parent  the parent for the new button
-	 * @param label  the label for the new button
-	 * @return the newly-created button
-	 */
-	protected static Button createRadioButton(Composite parent, String label) {
-		Button button = new Button(parent, SWT.RADIO | SWT.LEFT);
-		button.setText(label);
-		button.setFont(parent.getFont());
-		return button;
-	}
-	/**
-	 * Utility method that creates a combo box
-	 *
-	 * @param parent  the parent for the new label
-	 * @return the new widget
-	 */
-	protected static Combo createCombo(Composite parent) {
-		Combo combo = new Combo(parent, SWT.READ_ONLY);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		combo.setLayoutData(data);
-		combo.setFont(parent.getFont());
-		return combo;
-	}
-	/**
-	 * Utility method that creates a label instance
-	 * and sets the default layout data.
-	 *
-	 * @param parent  the parent for the new label
-	 * @param text  the text for the new label
-	 * @return the new label
-	 */
-	protected static Label createLabel(Composite parent, String text) {
-		Label label = new Label(parent, SWT.LEFT);
-		label.setText(text);
-		label.setFont(parent.getFont());
-		GridData data = new GridData();
-		data.horizontalSpan = 1;
-		data.horizontalAlignment = GridData.FILL;
-		label.setLayoutData(data);
-		return label;
-	}
-	/**
-	 * Creates a tab of one horizontal spans.
-	 *
-	 * @param parent  the parent in which the tab should be created
-	 */
-	protected static void createSpace(Composite parent) {
-		Label vfiller = new Label(parent, SWT.LEFT);
-		GridData gridData = new GridData();
-		gridData = new GridData();
-		gridData.horizontalAlignment = GridData.BEGINNING;
-		gridData.grabExcessHorizontalSpace = false;
-		gridData.verticalAlignment = GridData.CENTER;
-		gridData.grabExcessVerticalSpace = false;
-		vfiller.setLayoutData(gridData);
-	}
-	/**
-	 * Returns preference store that belongs to the our plugin.
-	 *
-	 * @return the preference store for this plugin
-	 */
-	protected IPreferenceStore doGetPreferenceStore() {
-		return WorkbenchPlugin.getDefault().getPreferenceStore();
-	}
-	/**
-	 *	@see IWorkbenchPreferencePage
-	 */
-	public void init(IWorkbench aWorkbench) {
-		workbench = aWorkbench;
-		IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-		openOnSingleClick = store.getBoolean(IPreferenceConstants.OPEN_ON_SINGLE_CLICK); //$NON-NLS-1$
-		selectOnHover = store.getBoolean(IPreferenceConstants.SELECT_ON_HOVER); //$NON-NLS-1$
-		openAfterDelay = store.getBoolean(IPreferenceConstants.OPEN_AFTER_DELAY); //$NON-NLS-1$
-	}
-	/**
-	 * The default button has been pressed. 
-	 */
-	protected void performDefaults() {
-		IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-		autoBuildButton.setSelection(store.getDefaultBoolean(IPreferenceConstants.AUTO_BUILD));
-		autoSaveAllButton.setSelection(store.getDefaultBoolean(IPreferenceConstants.SAVE_ALL_BEFORE_BUILD));
-		refreshButton.setSelection(store.getDefaultBoolean(IPreferenceConstants.REFRESH_WORKSPACE_ON_STARTUP));
-		showTasks.setSelection(store.getBoolean(IPreferenceConstants.SHOW_TASKS_ON_BUILD));
-		saveInterval.loadDefault();
-		
-		openOnSingleClick = store.getDefaultBoolean(IPreferenceConstants.OPEN_ON_SINGLE_CLICK); //$NON-NLS-1$
-		selectOnHover = store.getDefaultBoolean(IPreferenceConstants.SELECT_ON_HOVER); //$NON-NLS-1$
-		openAfterDelay = store.getDefaultBoolean(IPreferenceConstants.OPEN_AFTER_DELAY); //$NON-NLS-1$
-		singleClickButton.setSelection(openOnSingleClick);
-		doubleClickButton.setSelection(!openOnSingleClick);
-		selectOnHoverButton.setSelection(selectOnHover);
-		openAfterDelayButton.setSelection(openAfterDelay);
-		selectOnHoverButton.setEnabled(openOnSingleClick);
-		openAfterDelayButton.setEnabled(openOnSingleClick);		
-		
-		super.performDefaults();
-	}
-	/**
-	 *	The user has pressed Ok.  Store/apply this page's values appropriately.
-	 */
-	public boolean performOk() {
-		IPreferenceStore store = getPreferenceStore();
-
-		// inform the workbench of whether it should do autobuilds or not
-		IWorkspaceDescription description = ResourcesPlugin.getWorkspace().getDescription();
-		boolean coreAutoBuildSetting = description.isAutoBuilding();
-		boolean preferenceStoreCurrentSetting = store.getBoolean(IPreferenceConstants.AUTO_BUILD);
-		boolean newAutoBuildSetting = autoBuildButton.getSelection();
-		
-		//As older versions of Eclipse did not use the preference store for this
-		//setting it is possible that the setting in Core will be false 
-		//and the preference store will have the default value of true.
-		//Do a second setValue if required here to synch them up
-		if(preferenceStoreCurrentSetting && !coreAutoBuildSetting)		
-			store.setValue(IPreferenceConstants.AUTO_BUILD, coreAutoBuildSetting);
-		
-		// store the auto build in the preference store so that we can enable import and export
-		store.setValue(IPreferenceConstants.AUTO_BUILD, newAutoBuildSetting);
-
-		// store the save all prior to build setting
-		store.setValue(IPreferenceConstants.SAVE_ALL_BEFORE_BUILD, autoSaveAllButton.getSelection());
-
-		// store the link navigator to editor setting
-		store.setValue(IPreferenceConstants.REFRESH_WORKSPACE_ON_STARTUP, refreshButton.getSelection());
-
-		//store the preference for bringing task view to front on build
-		store.setValue(IPreferenceConstants.SHOW_TASKS_ON_BUILD, showTasks.getSelection());
-
-		long oldSaveInterval = description.getSnapshotInterval() / 60000;
-		long newSaveInterval = new Long(saveInterval.getStringValue()).longValue();
-		if(oldSaveInterval != newSaveInterval) {
-			try {
-				description.setSnapshotInterval(newSaveInterval * 60000);
-				ResourcesPlugin.getWorkspace().setDescription(description);
-				store.firePropertyChangeEvent(IPreferenceConstants.SAVE_INTERVAL, new Integer((int)oldSaveInterval), new Integer((int)newSaveInterval));
-			} catch (CoreException e) {
-				WorkbenchPlugin.log("Error changing save interval preference", e.getStatus());
-			}
-		}
-
-		store.setValue(IPreferenceConstants.OPEN_ON_SINGLE_CLICK,openOnSingleClick); //$NON-NLS-1$
-		store.setValue(IPreferenceConstants.SELECT_ON_HOVER,selectOnHover); //$NON-NLS-1$
-		store.setValue(IPreferenceConstants.OPEN_AFTER_DELAY,openAfterDelay); //$NON-NLS-1$
-		int singleClickMethod = openOnSingleClick ? OpenStrategy.SINGLE_CLICK : OpenStrategy.DOUBLE_CLICK;
-		if(openOnSingleClick) {
-			if(selectOnHover)
-				singleClickMethod |= OpenStrategy.SELECT_ON_HOVER;
-			if(openAfterDelay)
-				singleClickMethod |= OpenStrategy.ARROW_KEYS_OPEN;
-		}
-		OpenStrategy.setOpenMethod(singleClickMethod);
-
-		WorkbenchPlugin.getDefault().savePluginPreferences();
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchWizardElement.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchWizardElement.java
deleted file mode 100644
index 79abce1..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchWizardElement.java
+++ /dev/null
@@ -1,201 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.*;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.internal.SelectionEnabler;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.model.WorkbenchAdapter;
-import org.eclipse.ui.internal.registry.WizardsRegistryReader;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- *	Instances represent registered wizards.
- */
-public class WorkbenchWizardElement extends WorkbenchAdapter implements IAdaptable {
-	private String id;
-	private String name;
-	private ImageDescriptor imageDescriptor;
-	private String description;
-	private SelectionEnabler selectionEnabler;
-	private IConfigurationElement configurationElement;
-/**
- *	Create a new instance of this class
- *
- *	@param name java.lang.String
- */
-public WorkbenchWizardElement(String name) {
-	this.name = name;
-}
-/**
- *	Answer a boolean indicating whether the receiver is able to handle the
- *	passed selection
- *
- *	@return boolean
- *	@param selection IStructuredSelection
- */
-public boolean canHandleSelection(IStructuredSelection selection) {
-	return getSelectionEnabler().isEnabledForSelection(selection);
-}
-
-/**
- *	Answer the selection for the reciever based on whether the 
- *  it can handle the selection. If it can return the selection.
- *  If it can handle the adapted to IResource value of the selection.
- *  If it satisfies neither of these conditions return an empty
- *  IStructuredSelection.
- *
- *	@return IStructuredSelection
- *	@param selection IStructuredSelection
- */
-public IStructuredSelection adaptedSelection(IStructuredSelection selection) {
-	if (canHandleSelection(selection))
-		return selection;
-		
-	IStructuredSelection adaptedSelection = convertToResources(selection);
-	if (canHandleSelection(adaptedSelection))
-		return adaptedSelection;
-		
-	//Couldn't find one that works so just return
-	return StructuredSelection.EMPTY;
-}
-
-/**
- * Create an the instance of the object described by the configuration
- * element. That is, create the instance of the class the isv supplied in
- * the extension point.
- */
-public Object createExecutableExtension ()  throws CoreException {
-	return WorkbenchPlugin.createExtension(configurationElement,
-		WizardsRegistryReader.ATT_CLASS);
-}
-/**
- * Returns an object which is an instance of the given class
- * associated with this object. Returns <code>null</code> if
- * no such object can be found.
- */
-public Object getAdapter(Class adapter) {
-	if (adapter == IWorkbenchAdapter.class) {
-		return this;
-	}
-	return Platform.getAdapterManager().getAdapter(this, adapter);
-}
-/**
- * 
- * @return IConfigurationElement
- */
-public IConfigurationElement getConfigurationElement() {
-	return configurationElement;
-}
-/**
- *	Answer the description parameter of this element
- *
- *	@return java.lang.String
- */
-public String getDescription() {
-	return description;
-}
-/**
- *	Answer the id as specified in the extension.
- *
- *	@return java.lang.String
- */
-public String getID() {
-	return id;
-}
-/**
- * Answer the icon of this element.
- */
-public ImageDescriptor getImageDescriptor() {
-	return imageDescriptor;
-}
-/**
- * Returns the name of this wizard element.
- */
-public ImageDescriptor getImageDescriptor(Object element) {
-	return imageDescriptor;
-}
-/**
- * Returns the name of this wizard element.
- */
-public String getLabel(Object element) {
-	return name;
-}
-/**
- *	Answer self's action enabler, creating it first iff necessary
- */
-protected SelectionEnabler getSelectionEnabler() {
-	if (selectionEnabler == null)
-		selectionEnabler = new SelectionEnabler(configurationElement);
-		
-	return selectionEnabler;
-}
-/**
- * 
- * @param newConfigurationElement IConfigurationElement
- */
-public void setConfigurationElement(IConfigurationElement newConfigurationElement) {
-	configurationElement = newConfigurationElement;
-}
-/**
- *	Set the description parameter of this element
- *
- *	@param value java.lang.String
- */
-public void setDescription(String value) {
-	description = value;
-}
-/**
- *	Set the id parameter of this element
- *
- *	@param value java.lang.String
- */
-public void setID(String value) {
-	id = value;
-}
-/**
- * Set the icon of this element.
- */
-public void setImageDescriptor(ImageDescriptor value) {
-	imageDescriptor = value;
-}
-
-/**
- * Attempt to convert the elements in the passed selection into resources
- * by asking each for its IResource property (iff it isn't already a resource).
- * If all elements in the initial selection can be converted to resources then
- * answer a new selection containing these resources; otherwise answer a new
- * empty selection
- *
- * @param originalSelection IStructuredSelection
- * @return IStructuredSelection
- */
-private IStructuredSelection convertToResources(IStructuredSelection originalSelection) {
-	List result = new ArrayList();
-	Iterator elements = originalSelection.iterator();
-	
-	while (elements.hasNext()) {
-		Object currentElement = elements.next();
-		if (currentElement instanceof IResource) {				// already a resource
-			result.add(currentElement);
-		} else if (!(currentElement instanceof IAdaptable))	{	// cannot be converted to resource
-			return StructuredSelection.EMPTY;					// so fail
-		} else {
-			Object adapter = ((IAdaptable)currentElement).getAdapter(IResource.class);
-			if (!(adapter instanceof IResource))				// chose not to be converted to resource
-				return StructuredSelection.EMPTY;				// so fail
-			result.add(adapter);							// add the converted resource
-		}
-	}
-	
-	return new StructuredSelection(result.toArray());						// all converted fine, answer new selection
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchWizardListSelectionPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchWizardListSelectionPage.java
deleted file mode 100644
index 036b0a3..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchWizardListSelectionPage.java
+++ /dev/null
@@ -1,156 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.wizard.IWizardNode;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.model.AdaptableList;
-import org.eclipse.ui.model.*;
-
-/**
- * Abstract implementation of a wizard selection page which simply displays
- * a list of specified wizard elements and allows the user to select one to
- * be launched.  Subclasses just need to provide a method which creates an
- * appropriate wizard node based upon a user selection.
- */
-public abstract class WorkbenchWizardListSelectionPage extends WorkbenchWizardSelectionPage 
-	implements ISelectionChangedListener, IDoubleClickListener {
-	private String message;
-
-	// id constants
-	private static final String STORE_SELECTED_WIZARD_ID = "WizardListSelectionPage.STORE_SELECTED_WIZARD_ID";//$NON-NLS-1$
-	private final static int SIZING_LISTS_HEIGHT = 200;
-	private final static int SIZING_LISTS_WIDTH = 150;
-/**
- * Creates a <code>WorkbenchWizardListSelectionPage</code>.
- *
- * @param aWorkbench the current workbench
- * @param currentSelection the workbench's current resource selection
- * @param wizardElements the collection of <code>WorkbenchWizardElements</code> to display for selection
- * @param message the message to display above the selection list
- */
-protected WorkbenchWizardListSelectionPage(IWorkbench aWorkbench, IStructuredSelection currentSelection, AdaptableList wizardElements, String message) {
-	super("singleWizardSelectionPage", aWorkbench, currentSelection, wizardElements);//$NON-NLS-1$
-	setDescription(WorkbenchMessages.getString("WizardList.description")); //$NON-NLS-1$
-	this.message = message;
-}
-/** (non-Javadoc)
- * Method declared on IDialogPage.
- */
-public void createControl(Composite parent) {
-	
-	Font font = parent.getFont();
-
-	// create composite for page.
-	Composite outerContainer = new Composite(parent, SWT.NONE);
-	outerContainer.setLayout(new GridLayout());
-	outerContainer.setLayoutData(new GridData(
-		GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL));
-	outerContainer.setFont(font);
-
-	Label messageLabel = new Label(outerContainer,SWT.NONE);
-	messageLabel.setText(message);
-	messageLabel.setFont(font);
-
-	//Create a table for the list
-	Table table = new Table(outerContainer, SWT.BORDER);
-	GridData data = new GridData(GridData.FILL_BOTH);
-	data.widthHint = SIZING_LISTS_WIDTH;
-	data.heightHint = SIZING_LISTS_HEIGHT;
-	table.setLayoutData(data);
-	table.setFont(font);
-
-	// the list viewer		
-	wizardSelectionViewer = new TableViewer(table);
-	wizardSelectionViewer.setContentProvider(new WorkbenchContentProvider());
-	wizardSelectionViewer.setLabelProvider(new WorkbenchLabelProvider());
-	wizardSelectionViewer.setSorter(new WorkbenchViewerSorter());
-	wizardSelectionViewer.addSelectionChangedListener(this);
-	wizardSelectionViewer.addDoubleClickListener(this);
-
-	wizardSelectionViewer.setInput(wizardElements);
-	restoreWidgetValues();
-		
-	setControl(outerContainer);
-}
-/**
- * Returns an <code>IWizardNode</code> representing the specified workbench wizard
- * which has been selected by the user.  <b>Subclasses</b> must override this
- * abstract implementation.
- *
- * @param element the wizard element that an <code>IWizardNode</code> is needed for
- * @return org.eclipse.jface.wizards.IWizardNode
- */
-protected abstract IWizardNode createWizardNode(WorkbenchWizardElement element);
-/**
- * An item in a viewer has been double-clicked.
- */
-public void doubleClick(DoubleClickEvent event) {
-	selectionChanged(
-		new SelectionChangedEvent(
-			wizardSelectionViewer,
-			wizardSelectionViewer.getSelection()));
-	getContainer().showPage(getNextPage());
-}
-/**
- * Uses the dialog store to restore widget values to the values that they held
- * last time this wizard was used to completion.
- */
-private void restoreWidgetValues() {
-	// reselect previous wizard
-	String wizardId = getDialogSettings().get(STORE_SELECTED_WIZARD_ID);
-	WorkbenchWizardElement wizard = findWizard(wizardId);
-	if (wizard == null)
-		return;				// wizard no longer exists, or has moved
-
-	StructuredSelection selection = new StructuredSelection(wizard);
-	wizardSelectionViewer.setSelection(selection);
-	selectionChanged(new SelectionChangedEvent(wizardSelectionViewer,selection));
-}
-/**
- * Since Finish was pressed, write widget values to the dialog store so that they
- * will persist into the next invocation of this wizard page
- */
-public void saveWidgetValues() {
-	IDialogSettings settings = getDialogSettings();
-	
-	// since the user is able to leave this page then exactly one wizard
-	// must be currently selected
-	IStructuredSelection sel = (IStructuredSelection)wizardSelectionViewer.getSelection();
-	// We are losing the selection going back
-	if (sel.size() > 0) {
-		WorkbenchWizardElement selectedWizard = (WorkbenchWizardElement) sel.getFirstElement();
-		settings.put(
-			STORE_SELECTED_WIZARD_ID,
-			selectedWizard.getID());
-	}
-}
-/**
- * Notes the newly-selected wizard element and updates the page accordingly.
- *
- * @param event the selection changed event
- */
-public void selectionChanged(SelectionChangedEvent event) {
-	setErrorMessage(null);
-	IStructuredSelection selection = (IStructuredSelection) event.getSelection();
-	WorkbenchWizardElement currentWizardSelection = (WorkbenchWizardElement) selection.getFirstElement();
-	if (currentWizardSelection == null) {
-		setMessage(null);
-		setSelectedNode(null);
-		return;
-	}
-
-	setSelectedNode(createWizardNode(currentWizardSelection));
-	setMessage((String) currentWizardSelection.getDescription());
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchWizardNode.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchWizardNode.java
deleted file mode 100644
index 8bac5bf..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchWizardNode.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.IWizardNode;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWizard;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * A wizard node represents a "potential" wizard. Wizard nodes
- * are used by wizard selection pages to allow the user to pick
- * from several available nested wizards.
- * <p>
- * <b>Subclasses</b> simply need to overide method <code>createWizard()</code>,
- * which is responsible for creating an instance of the wizard it represents
- * AND ensuring that this wizard is the "right" type of wizard (eg.-
- * New, Import, etc.).</p>
- */
-public abstract class WorkbenchWizardNode implements IWizardNode {
-	protected WorkbenchWizardElement wizardElement;
-	protected IWizard wizard;
-	protected WorkbenchWizardSelectionPage parentWizardPage;
-/**
- * Creates a <code>WorkbenchWizardNode</code> that holds onto a wizard
- * element.  The wizard element provides information on how to create
- * the wizard supplied by the ISV's extension.
- */
-public WorkbenchWizardNode(WorkbenchWizardSelectionPage aWizardPage, WorkbenchWizardElement element) {
-	super(); 
-	this.parentWizardPage = aWizardPage;
-	this.wizardElement = element;
-}
-
-/**
- * Returns the wizard represented by this wizard node.  <b>Subclasses</b>
- * must override this method.
- */
-public abstract IWorkbenchWizard createWizard() throws CoreException;
-/**
- * @see org.eclipse.jface.wizard.IWizardNode#dispose()
- */
-public void dispose() {
-	// Do nothing since the wizard wasn't created via reflection.
-}
-/**
- * Returns the current resource selection that is being given to the wizard.
- */
-protected IStructuredSelection getCurrentResourceSelection() {
-	return parentWizardPage.getCurrentResourceSelection();
-}
-/**
- * @see org.eclipse.jface.wizard.IWizardNode#getExtent()
- */
-public Point getExtent() {
-	return new Point(-1,-1);
-}
-/**
- * @see org.eclipse.jface.wizards.IWizardNode#getWizard()
- */
-public IWizard getWizard() {
-	if (wizard != null)
-		return wizard;						// we've already created it
-
-	final IWorkbenchWizard[] workbenchWizard = new IWorkbenchWizard[1];
-	final IStatus statuses[] = new IStatus[1];
-	// Start busy indicator.
-	BusyIndicator.showWhile(parentWizardPage.getShell().getDisplay(), new Runnable() {
-		public void run() {
-			Platform.run(new SafeRunnable() {
-				public void run() {
-					try {
-						workbenchWizard[0] = createWizard();		// create instance of target wizard
-					} catch (CoreException e) {
-						statuses[0] = e.getStatus();
-					}
-				}
-				
-				/**
-				 * Add the exception details to status is one happens.
-		 		 */
-				public void handleException(Throwable e) {
-					statuses[0] = 
-						new Status(
-							IStatus.ERROR, 
-							wizardElement.getConfigurationElement().getDeclaringExtension().getUniqueIdentifier(),
-		  					IStatus.OK, 
-		  					e.getMessage(), 
-		  					e);	
-				}
-			});
-		}
-	});
-
-	if (statuses[0] != null) {
-		parentWizardPage.setErrorMessage(WorkbenchMessages.getString("WorkbenchWizard.errorMessage")); //$NON-NLS-1$
-		ErrorDialog.openError(
-			parentWizardPage.getShell(),
-			WorkbenchMessages.getString("WorkbenchWizard.errorTitle"), //$NON-NLS-1$
-			WorkbenchMessages.getString("WorkbenchWizard.errorMessage"), //$NON-NLS-1$
-			statuses[0]);
-		return null;
-	}
-
-	IStructuredSelection currentSelection = getCurrentResourceSelection();
-	
-	//Get the adapted version of the selection that works for the
-	//wizard node
-	currentSelection = wizardElement.adaptedSelection(currentSelection);
-		
-	workbenchWizard[0].init(getWorkbench(),currentSelection);
-
-	wizard = workbenchWizard[0];
-	return wizard;
-}
-/**
- * Returns the wizard element.
- */
-public WorkbenchWizardElement getWizardElement() {
-	return wizardElement;
-}
-/**
- * Returns the current workbench.
- */
-protected IWorkbench getWorkbench() {
-	return parentWizardPage.getWorkbench();
-}
-/**
- * @see org.eclipse.jface.wizard.IWizardNode#isContentCreated()
- */
-public boolean isContentCreated() {
-	return wizard != null;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchWizardSelectionPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchWizardSelectionPage.java
deleted file mode 100644
index 2cb7762..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchWizardSelectionPage.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.wizard.IWizardNode;
-import org.eclipse.jface.wizard.WizardSelectionPage;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.model.AdaptableList;
-
-/**
- * Page for selecting a wizard from a group of available wizards.
- */
-public abstract class WorkbenchWizardSelectionPage extends WizardSelectionPage {
-
-	// variables
-	protected IWorkbench workbench;
-	protected AdaptableList wizardElements;
-	public TableViewer wizardSelectionViewer;
-	protected IStructuredSelection currentResourceSelection;
-/**
- *	Create an instance of this class
- */
-public WorkbenchWizardSelectionPage(String name, IWorkbench aWorkbench, IStructuredSelection currentSelection, AdaptableList elements) {
-	super(name);
-	this.wizardElements = elements;
-	this.currentResourceSelection = currentSelection;
-	this.workbench = aWorkbench;
-	setTitle(WorkbenchMessages.getString("Select")); //$NON-NLS-1$
-}
-/**
- *	Answer the wizard object corresponding to the passed id, or null
- *	if such an object could not be found
- *
- *	@return WizardElement
- *	@param searchPath java.lang.String
- */
-protected WorkbenchWizardElement findWizard(String searchId) {
-	Object[] children = wizardElements.getChildren();
-	for (int i = 0; i < children.length; ++i) {
-		WorkbenchWizardElement currentWizard = (WorkbenchWizardElement)children[i];
-		if (currentWizard.getID().equals(searchId))
-			return currentWizard;
-	}
-	
-	return null;
-}
-public IStructuredSelection getCurrentResourceSelection() {
-	return currentResourceSelection;
-}
-public IWorkbench getWorkbench() {
-	return this.workbench;
-}
-/**
- *	Specify the passed wizard node as being selected, meaning that if
- *	it's non-null then the wizard to be displayed when the user next
- *	presses the Next button should be determined by asking the passed
- *	node.
- *
- *	@param node org.eclipse.jface.wizards.IWizardNode
- */
-public void selectWizardNode(IWizardNode node) {
-	setSelectedNode(node);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkingSetEditWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkingSetEditWizard.java
deleted file mode 100644
index 79084a5..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkingSetEditWizard.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines 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 API and implementation
- ******************************************************************************/
-package org.eclipse.ui.internal.dialogs;
-
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.dialogs.IWorkingSetEditWizard;
-import org.eclipse.ui.dialogs.IWorkingSetPage;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * A working set edit wizard allows the user to edit a 
- * working set using a plugin specified working set page.
- * 
- * @since 2.0
- * @see org.eclipse.ui.dialog.IWorkingSetPage
- */
-public class WorkingSetEditWizard extends Wizard implements IWorkingSetEditWizard {
-	private IWorkingSetPage workingSetEditPage;
-	private IWorkingSet workingSet;
-
-	/**
-	 * Creates a new instance of the receiver.
-	 * 
-	 * @param editPage the working set page that is going to 
-	 * 	be used for editing a working set.
-	 */
-	public WorkingSetEditWizard(IWorkingSetPage editPage) {
-		super();
-		workingSetEditPage = editPage;
-		workingSetEditPage.setWizard(this);
-		setWindowTitle(WorkbenchMessages.getString("WorkingSetEditWizard.title"));	//$NON-NLS-1$
-	}
-	/**
-	 * Overrides Wizard.
-	 * 
-	 * @see org.eclipse.jface.wizard.Wizard#addPages
-	 */	
-	public void addPages() {
-		super.addPages();
-		addPage(workingSetEditPage);
-	}		
-	/**
-	 * Overrides Wizard.
-	 * 
-	 * @see org.eclipse.jface.wizard.Wizard#canFinish()
-	 */
-	public boolean canFinish() {
-		return workingSetEditPage.isPageComplete();
-	}
-	/**
-	 * Returns the working set that is being edited.
-	 * 
-	 * @return the working set that is being edited.
-	 */
-	public IWorkingSet getSelection() {
-		return workingSet;
-	}
-	/**
-	 * Overrides Wizard.
-	 * Notifies the IWorkingSetPage that the wizard is being closed.
-	 * 
-	 * @see org.eclipse.jface.wizard.Wizard#performFinish
-	 */		
-	public boolean performFinish() {
-		workingSetEditPage.finish();
-		return true;
-	}
-	/**
-	 * Sets the working set that should be edited.
-	 * 
-	 * @param workingSet the working set that should be edited.
-	 */
-	public void setSelection(IWorkingSet workingSet) {
-		this.workingSet = workingSet;
-		workingSetEditPage.setSelection(workingSet);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkingSetNewWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkingSetNewWizard.java
deleted file mode 100644
index 8645546..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkingSetNewWizard.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/************************************************************************
-Copyright (c) 2002, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-package org.eclipse.ui.internal.dialogs;
-
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.dialogs.IWorkingSetPage;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.registry.WorkingSetDescriptor;
-import org.eclipse.ui.internal.registry.WorkingSetRegistry;
-
-/**
- * A new working set wizard allows the user to create a 
- * new working set using a plugin specified working set page.
- * 
- * @since 2.0
- * @see org.eclipse.ui.dialog.IWorkingSetPage
- */
-public class WorkingSetNewWizard extends Wizard {
-	private WorkingSetTypePage workingSetTypePage;
-	private IWorkingSetPage workingSetEditPage;
-	private String editPageId;
-	private IWorkingSet workingSet;
-	private String workingSetEditPageId;
-
-	/**
-	 * Creates a new instance of the receiver.
-	 */
-	public WorkingSetNewWizard() {
-		super();
-		setWindowTitle(WorkbenchMessages.getString("WorkingSetNewWizard.title"));	//$NON-NLS-1$
-	}
-	/**
-	 * Overrides method in Wizard.
-	 * Adds a page listing the available kinds of working sets.
-	 * The second wizard page will depend on the selected working set 
-	 * type.
-	 * 
-	 * @see org.eclipse.jface.wizard.Wizard#addPages()
-	 */	
-	public void addPages() {
-		super.addPages();
-
-		IWizardPage page;
-		WorkingSetRegistry registry = WorkbenchPlugin.getDefault().getWorkingSetRegistry();
-		WorkingSetDescriptor[] descriptors = registry.getWorkingSetDescriptors();	
-		if (descriptors.length > 1) {
-			page = workingSetTypePage = new WorkingSetTypePage();
-		}
-		else {
-			editPageId = descriptors[0].getId();
-			page = workingSetEditPage = registry.getWorkingSetPage(editPageId);
-		}
-		page.setWizard(this);
-		addPage(page);
-		setForcePreviousAndNextButtons(descriptors.length > 1);
-	}
-	/**
-	 * Overrides method in Wizard.
-	 * 
-	 * @see org.eclipse.jface.wizard.Wizard#canFinish()
-	 */
-	public boolean canFinish() {
-		return (workingSetEditPage != null && workingSetEditPage.isPageComplete());
-	}
-	/**
-	 * Overrides method in Wizard.
-	 * Returns a working set page for creating the new working set.
-	 * This second page is loaded from the plugin that defined the
-	 * selected working set type.
-	 * 
-	 * @see org.eclipse.jface.wizard.Wizard#getNextPage(IWizardPage)
-	 */	
-	public IWizardPage getNextPage(IWizardPage page) {
-		if (workingSetTypePage != null && page == workingSetTypePage) {
-			String pageId = workingSetTypePage.getSelection();
-			if (pageId != null) {			
-				if (workingSetEditPage == null || pageId != editPageId) {
-					WorkingSetRegistry registry = WorkbenchPlugin.getDefault().getWorkingSetRegistry();
-					workingSetEditPage = registry.getWorkingSetPage(pageId);
-					workingSetEditPage.setWizard(this);
-					editPageId = pageId;
-				}			
-				return workingSetEditPage;
-			}
-		}
-		return null;
-	}
-	/**
-	 * Returns the new working set. Returns null if the wizard has 
-	 * been cancelled.
-	 * 
-	 * @return the new working set or null if the wizard has been 
-	 * 	cancelled.
-	 */
-	public IWorkingSet getSelection() {
-		return workingSet;
-	}
-	/**
-	 * Overrides method in Wizard.
-	 * Stores the newly created working set and the id of the page
-	 * used to create it.
-	 * 
-	 * @see org.eclipse.jface.wizard.Wizard#performFinish()
-	 */	
-	public boolean performFinish() {
-		workingSetEditPage.finish();
-		workingSet = workingSetEditPage.getSelection();
-		workingSet.setId(editPageId);
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkingSetSelectionDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkingSetSelectionDialog.java
deleted file mode 100644
index aa5e11e..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkingSetSelectionDialog.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-	Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog font 
-		should be activated and used by other components.
-*************************************************************************/
-package org.eclipse.ui.internal.dialogs;
-
-import java.util.*;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-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.*;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.dialogs.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.registry.WorkingSetDescriptor;
-import org.eclipse.ui.internal.registry.WorkingSetRegistry;
-import org.eclipse.ui.model.WorkbenchViewerSorter;
-
-/**
- * A working set selection dialog displays a list of working
- * sets available in the workbench.
- * 
- * @see IWorkingSetSelectionDialog
- * @since 2.0
- */
-public class WorkingSetSelectionDialog extends SelectionDialog implements IWorkingSetSelectionDialog {
-	private final static int SIZING_SELECTION_WIDGET_HEIGHT = 200;
-	private final static int SIZING_SELECTION_WIDGET_WIDTH = 50;
-
-	private static class WorkingSetLabelProvider extends LabelProvider {
-		private Map icons;
-
-		public WorkingSetLabelProvider() {
-			icons = new Hashtable();
-		}
-		public void dispose() {
-			Iterator iterator = icons.values().iterator();
-			
-			while (iterator.hasNext()) {
-				Image icon = (Image) iterator.next();
-				icon.dispose();
-			}
-			super.dispose();
-		}
-		public Image getImage(Object object) {
-			Assert.isTrue(object instanceof IWorkingSet);
-			IWorkingSet workingSet = (IWorkingSet) object; 
-			WorkingSetRegistry registry = WorkbenchPlugin.getDefault().getWorkingSetRegistry();
-			WorkingSetDescriptor descriptor = registry.getWorkingSetDescriptor(workingSet.getId());
-			
-			if (descriptor == null) {
-				return null;
-			}
-			ImageDescriptor imageDescriptor = descriptor.getIcon();
-			if (imageDescriptor == null) {
-				return null;
-			}
-			Image icon = (Image) icons.get(imageDescriptor);
-			if (icon == null) {
-				icon = imageDescriptor.createImage();
-				icons.put(imageDescriptor, icon);
-			}
-			return icon;
-		}
-		public String getText(Object object) {
-			Assert.isTrue(object instanceof IWorkingSet);
-			IWorkingSet workingSet = (IWorkingSet) object; 
-			return workingSet.getName();
-		}
-	}
-
-	private ILabelProvider labelProvider;
-	private IStructuredContentProvider contentProvider;
-	private TableViewer listViewer;
-	private Button newButton;
-	private Button detailsButton;
-	private Button removeButton;
-	private IWorkingSet[] result;
-	private boolean multiSelect;
-	private List addedWorkingSets;	
-	private List removedWorkingSets;
-	private Map editedWorkingSets;
-
-	/**
-	 * Creates a working set selection dialog.
-	 *
-	 * @param parentShell the parent shell
-	 * @param multi true=more than one working set can be chosen 
-	 * 	in the dialog. false=only one working set can be chosen. Multiple
-	 * 	working sets can still be selected and removed from the list but
-	 * 	the dialog can only be closed when a single working set is selected.
-	 */
-	public WorkingSetSelectionDialog(Shell parentShell, boolean multi) {
-		super(parentShell);
-		contentProvider = new ListContentProvider();
-		labelProvider = new WorkingSetLabelProvider();
-		multiSelect = multi;		
-		if (multiSelect) {
-			setTitle(WorkbenchMessages.getString("WorkingSetSelectionDialog.title.multiSelect")); //$NON-NLS-1$;
-			setMessage(WorkbenchMessages.getString("WorkingSetSelectionDialog.message.multiSelect")); //$NON-NLS-1$
-		}
-		else {
-			setTitle(WorkbenchMessages.getString("WorkingSetSelectionDialog.title")); //$NON-NLS-1$;
-			setMessage(WorkbenchMessages.getString("WorkingSetSelectionDialog.message")); //$NON-NLS-1$
-		}
-	}
-	/**
-	 * Adds the modify buttons to the dialog.
-	 * 
-	 * @param composite Composite to add the buttons to
-	 */
-	private void addModifyButtons(Composite composite) {
-		Composite buttonComposite = new Composite(composite, SWT.RIGHT);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		buttonComposite.setLayout(layout);
-		buttonComposite.setFont(composite.getFont());
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.GRAB_HORIZONTAL);
-		data.grabExcessHorizontalSpace = true;
-		composite.setData(data);
-
-		int id = IDialogConstants.CLIENT_ID + 1;
-		newButton = createButton(buttonComposite, id++, WorkbenchMessages.getString("WorkingSetSelectionDialog.newButton.label"), false); //$NON-NLS-1$
-		newButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				createWorkingSet();
-			}
-		});
-
-		detailsButton = createButton(buttonComposite, id++, WorkbenchMessages.getString("WorkingSetSelectionDialog.detailsButton.label"), false); //$NON-NLS-1$
-		detailsButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				editSelectedWorkingSet();
-			}
-		});
-
-		removeButton = createButton(buttonComposite, id++, WorkbenchMessages.getString("WorkingSetSelectionDialog.removeButton.label"), false); //$NON-NLS-1$
-		removeButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				removeSelectedWorkingSets();
-			}
-		});
-	}
-	/**
-	 * Overrides method from Dialog.
-	 * 
-	 * @see Dialog#cancelPressed()
-	 */
-	protected void cancelPressed() {
-		restoreAddedWorkingSets();
-		restoreChangedWorkingSets();
-		restoreRemovedWorkingSets();
-		super.cancelPressed();
-	}
-	/** 
-	 * Overrides method from Window.
-	 * 
-	 * @see org.eclipse.jface.window.Window#configureShell(Shell)
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		WorkbenchHelp.setHelp(shell, IHelpContextIds.WORKING_SET_SELECTION_DIALOG);
-	}
-	/**
-	 * Overrides method from Dialog.
-	 * Create the dialog widgets.
-	 * 
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = (Composite) super.createDialogArea(parent);
-
-		createMessageArea(composite);
-		listViewer = new TableViewer(composite, SWT.BORDER | SWT.MULTI);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.heightHint = SIZING_SELECTION_WIDGET_HEIGHT;
-		data.widthHint = SIZING_SELECTION_WIDGET_WIDTH;
-		listViewer.getTable().setLayoutData(data);
-		listViewer.getTable().setFont(parent.getFont());
-		
-		listViewer.setLabelProvider(labelProvider);
-		listViewer.setContentProvider(contentProvider);
-		listViewer.setSorter(new WorkbenchViewerSorter());
-		listViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				handleSelectionChanged();
-			}
-		});
-		listViewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				okPressed();
-			}
-		});
-		addModifyButtons(composite);
-		listViewer.setInput(Arrays.asList(WorkbenchPlugin.getDefault().getWorkingSetManager().getWorkingSets()));
-
-		return composite;
-	}
-	/**
-	 * Overrides method from Dialog.
-	 * Sets the initial selection, if any.
-	 * 
-	 * @see org.eclipse.jface.dialogs.Dialog#createContents(Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Control control = super.createContents(parent);
-		List selections = getInitialElementSelections();
-		if (!selections.isEmpty()) {
-			listViewer.setSelection(new StructuredSelection(selections), true);
-		}
-		updateButtonAvailability();
-		//don't allow ok dismissal until a change has been made. 
-		//Fixes bug 22735.
-		getOkButton().setEnabled(false);
-		return control;
-	}
-	/**
-	 * Opens a working set wizard for creating a new working set.
-	 */
-	private void createWorkingSet() {
-		WorkingSetNewWizard wizard = new WorkingSetNewWizard();
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-	
-		dialog.create();		
-		WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.WORKING_SET_NEW_WIZARD);
-		if (dialog.open() == Window.OK) {
-			IWorkingSetManager manager = WorkbenchPlugin.getDefault().getWorkingSetManager();			
-			IWorkingSet workingSet = wizard.getSelection();
-
-			listViewer.add(workingSet);
-			listViewer.setSelection(new StructuredSelection(workingSet), true);
-			manager.addWorkingSet(workingSet);
-			addedWorkingSets.add(workingSet);
-		}
-	}
-	/**
-	 * Opens a working set wizard for editing the currently selected 
-	 * working set.
-	 * 
-	 * @see org.eclipse.ui.IWorkingSetPage
-	 */
-	private void editSelectedWorkingSet() {
-		IWorkingSetManager manager = WorkbenchPlugin.getDefault().getWorkingSetManager();			
-		IWorkingSet editWorkingSet = (IWorkingSet) getSelectedWorkingSets().get(0);		
-		IWorkingSetEditWizard wizard = manager.createWorkingSetEditWizard(editWorkingSet);
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		IWorkingSet originalWorkingSet = (IWorkingSet) editedWorkingSets.get(editWorkingSet);
-		boolean firstEdit = originalWorkingSet == null;
-		
-		// save the original working set values for restoration when selection 
-		// dialog is cancelled.
-		if (firstEdit) {
-			originalWorkingSet = new WorkingSet(editWorkingSet.getName(), editWorkingSet.getElements());
-		}
-		else {
-			editedWorkingSets.remove(editWorkingSet);
-		}
-		dialog.create();
-		WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.WORKING_SET_EDIT_WIZARD);
-		if (dialog.open() == Window.OK) {		
-			editWorkingSet = (IWorkingSet) wizard.getSelection();
-			listViewer.update(editWorkingSet, null);
-		}
-		editedWorkingSets.put(editWorkingSet, originalWorkingSet);
-	}
-	/**
-	 * Implements IWorkingSetSelectionDialog.
-	 *
-	 * @see org.eclipse.ui.dialogs.IWorkingSetSelectionDialog#getSelection()
-	 */
-	public IWorkingSet[] getSelection() {
-		return result;
-	}
-	/**
-	 * Returns the selected working sets.
-	 * 
-	 * @return the selected working sets
-	 */
-	private List getSelectedWorkingSets() {
-		ISelection selection = listViewer.getSelection();
-		if (selection instanceof IStructuredSelection)
-			return ((IStructuredSelection) selection).toList();
-		return null;
-	}
-	/**
-	 * Called when the selection has changed.
-	 */
-	private void handleSelectionChanged() {
-		updateButtonAvailability();
-	}
-	/**
-	 * Sets the selected working sets as the dialog result.
-	 * Overrides method from Dialog
-	 * 
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		List newResult = getSelectedWorkingSets();
-
-		result = (IWorkingSet[]) newResult.toArray(new IWorkingSet[newResult.size()]);
-		setResult(newResult);
-		super.okPressed();
-	}
-	/**
-	 * Overrides method in Dialog
-	 * 
-	 * @see org.eclipse.jface.dialogs.Dialog#open()
-	 */
-	public int open() {
-		addedWorkingSets = new ArrayList();
-		removedWorkingSets = new ArrayList();
-		editedWorkingSets = new HashMap();
-		return super.open();
-	}
-	/**
-	 * Removes the selected working sets from the workbench.
-	 */
-	private void removeSelectedWorkingSets() {
-		ISelection selection = listViewer.getSelection();
-
-		if (selection instanceof IStructuredSelection) {
-			IWorkingSetManager manager = WorkbenchPlugin.getDefault().getWorkingSetManager();
-			Iterator iter = ((IStructuredSelection) selection).iterator();
-			while (iter.hasNext()) {
-				IWorkingSet workingSet = (IWorkingSet) iter.next();
-				manager.removeWorkingSet(workingSet);
-				if (addedWorkingSets.contains(workingSet)) {
-					addedWorkingSets.remove(workingSet);
-				}
-				else {
-					removedWorkingSets.add(workingSet);
-				}
-			}
-			listViewer.remove(((IStructuredSelection) selection).toArray());
-		}			
-	}
-	/**
-	 * Removes newly created working sets from the working set manager.
-	 */
-	private void restoreAddedWorkingSets() {
-		IWorkingSetManager manager = WorkbenchPlugin.getDefault().getWorkingSetManager();
-		Iterator iterator = addedWorkingSets.iterator();
-		
-		while (iterator.hasNext()) {
-			manager.removeWorkingSet(((IWorkingSet) iterator.next()));
-		}		
-	}
-	/**
-	 * Rolls back changes to working sets.
-	 */
-	private void restoreChangedWorkingSets() {
-		Iterator iterator = editedWorkingSets.keySet().iterator();
-		
-		while (iterator.hasNext()) {
-			IWorkingSet editedWorkingSet = (IWorkingSet) iterator.next();
-			IWorkingSet originalWorkingSet = (IWorkingSet) editedWorkingSets.get(editedWorkingSet);
-						
-			if (editedWorkingSet.getName().equals(originalWorkingSet.getName()) == false) {
-				editedWorkingSet.setName(originalWorkingSet.getName());
-			}
-			if (editedWorkingSet.getElements().equals(originalWorkingSet.getElements()) == false) {
-				editedWorkingSet.setElements(originalWorkingSet.getElements());
-			}
-		}		
-	}
-
-	/**
-	 * Adds back removed working sets to the working set manager.
-	 */
-	private void restoreRemovedWorkingSets() {
-		IWorkingSetManager manager = WorkbenchPlugin.getDefault().getWorkingSetManager();
-		Iterator iterator = removedWorkingSets.iterator();
-		
-		while (iterator.hasNext()) {
-			manager.addWorkingSet(((IWorkingSet) iterator.next()));
-		}		
-	}
-	/**
-	 * Implements IWorkingSetSelectionDialog.
-	 *
-	 * @see org.eclipse.ui.dialogs.IWorkingSetSelectionDialog#setSelection(IWorkingSet[])
-	 */
-	public void setSelection(IWorkingSet[] workingSets) {
-		result = workingSets;
-		setInitialSelections(workingSets);
-	}
-	/**
-	 * Updates the modify buttons' enabled state based on the 
-	 * current seleciton.
-	 */
-	private void updateButtonAvailability() {
-		ISelection selection = listViewer.getSelection();
-		boolean hasSelection = selection != null && !selection.isEmpty();
-		boolean hasSingleSelection = hasSelection;
-
-		removeButton.setEnabled(hasSelection);
-		if (hasSelection && selection instanceof IStructuredSelection) {
-			hasSingleSelection = ((IStructuredSelection) selection).size() == 1;
-		}
-		detailsButton.setEnabled(hasSingleSelection);
-		if (multiSelect == false) {
-			getOkButton().setEnabled(hasSelection == false || hasSingleSelection);
-		}
-		else {
-			getOkButton().setEnabled(true);
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkingSetTypePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkingSetTypePage.java
deleted file mode 100644
index 44b95fe..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkingSetTypePage.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines 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 API and implementation
- * Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog font should be
- * activated and used by other components.
- * *****************************************************************************/
-package org.eclipse.ui.internal.dialogs;
-
-import java.util.*;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.registry.WorkingSetDescriptor;
-import org.eclipse.ui.internal.registry.WorkingSetRegistry;
-
-/**
- * The working set type page is used in the new working set 
- * wizard to select from a list of plugin defined working set 
- * types.
- * 
- * @since 2.0
- */
-public class WorkingSetTypePage extends WizardPage {
-	private final static int SIZING_SELECTION_WIDGET_WIDTH = 50;
-	private final static int SIZING_SELECTION_WIDGET_HEIGHT = 200;
-
-	private TableViewer typesListViewer;
-	private Map icons;
-
-	/**
-	 * Creates a new instance of the receiver
-	 */
-	public WorkingSetTypePage() {
-		super("workingSetTypeSelectionPage", WorkbenchMessages.getString("Select"), WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_WIZBAN_RESOURCEWORKINGSET_WIZ)); //$NON-NLS-1$ //$NON-NLS-2$
-		setDescription(WorkbenchMessages.getString("WorkingSetTypePage.description")); //$NON-NLS-1$				
-		icons = new Hashtable();
-	}
-	/** 
-	 * Overrides method in WizardPage
-	 * 
-	 * @see org.eclipse.jface.wizard.IWizardPage#canFlipToNextPage()
-	 */
-	public boolean canFlipToNextPage() {
-		return isPageComplete();
-	}
-	/**
-	 * Populates the working set types list.
-	 */
-	private void createContent() {
-		WorkingSetRegistry registry = WorkbenchPlugin.getDefault().getWorkingSetRegistry();
-		WorkingSetDescriptor[] descriptors = registry.getWorkingSetDescriptors();
-		Table table = (Table) typesListViewer.getControl();
-
-		for (int i = 0; i < descriptors.length; i++) {
-			TableItem tableItem = new TableItem(table, SWT.NULL);
-			ImageDescriptor imageDescriptor = descriptors[i].getIcon();
-			
-			if (imageDescriptor != null) {
-				Image icon = (Image) icons.get(imageDescriptor);
-				if (icon == null) {
-					icon = imageDescriptor.createImage();
-					icons.put(imageDescriptor, icon);
-				}
-				tableItem.setImage(icon);
-			}
-			tableItem.setText(descriptors[i].getName());
-			tableItem.setData(descriptors[i]);
-		}
-	}
-	/** 
-	 * Implements IDialogPage
-	 * 
-	 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		Font font = parent.getFont();
-		Composite composite = new Composite(parent, SWT.NULL);
-		composite.setLayout(new GridLayout());
-		composite.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		setControl(composite);
-
-		WorkbenchHelp.setHelp(composite, IHelpContextIds.WORKING_SET_TYPE_PAGE);
-		Label typesLabel = new Label(composite, SWT.NONE);
-		typesLabel.setText(WorkbenchMessages.getString("WorkingSetTypePage.typesLabel")); //$NON-NLS-1$
-		GridData data = new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER);
-		typesLabel.setLayoutData(data);
-		typesLabel.setFont(font);
-
-		typesListViewer = new TableViewer(composite, SWT.BORDER | SWT.MULTI);
-		data = new GridData(GridData.FILL_BOTH);
-		data.heightHint = SIZING_SELECTION_WIDGET_HEIGHT;
-		data.widthHint = SIZING_SELECTION_WIDGET_WIDTH;
-		typesListViewer.getTable().setLayoutData(data);
-		typesListViewer.getTable().setFont(font);
-		typesListViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				handleSelectionChanged();
-			}
-		});
-		typesListViewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				handleDoubleClick();
-			}
-		});		
-		createContent();
-		setPageComplete(false);
-	}
-	/** 
-	 * Overrides method in DialogPage
-	 * 
-	 * @see org.eclipse.jface.dialogs.IDialogPage#dispose()
-	 */
-	public void dispose() {
-		Iterator iterator = icons.values().iterator();
-		
-		while (iterator.hasNext()) {
-			Image icon = (Image) iterator.next();
-			icon.dispose();
-		}
-		super.dispose();
-	}
-	/**
-	 * Returns the page id of the selected working set type.
-	 * 
-	 * @return the page id of the selected working set type.
-	 */
-	public String getSelection() {
-		ISelection selection = typesListViewer.getSelection();
-		boolean hasSelection = selection != null && selection.isEmpty() == false;
-
-		if (hasSelection && selection instanceof IStructuredSelection) {
-			WorkingSetDescriptor workingSetDescriptor = (WorkingSetDescriptor) ((IStructuredSelection) selection).getFirstElement();
-			return workingSetDescriptor.getId();
-		}
-		return null;
-	}
-	/**
-	 * Called when a working set type is double clicked.
-	 */
-	private void handleDoubleClick() {
-		handleSelectionChanged();
-		getContainer().showPage(getNextPage());
-	}
-	/**
-	 * Called when the selection has changed.
-	 */
-	private void handleSelectionChanged() {
-		ISelection selection = typesListViewer.getSelection();
-		boolean hasSelection = selection != null && selection.isEmpty() == false;
-
-		setPageComplete(hasSelection);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ZipFileResourceExportOperation.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ZipFileResourceExportOperation.java
deleted file mode 100644
index 7b2d126..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ZipFileResourceExportOperation.java
+++ /dev/null
@@ -1,310 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.jface.operation.*;
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-/**
- *	Operation for exporting a resource and its children to a new .zip file
- */
-/*package*/ class ZipFileResourceExportOperation implements IRunnableWithProgress {
-	private ZipFileResourceExporter		exporter;
-	private String				destinationFilename;
-	private IProgressMonitor	monitor;
-	private	int					leadupStartDepth = 0;
-	private List				resourcesToExport;
-	private IResource			resource;
-	private List				errorTable = new ArrayList(1);  //IStatus
-
-	private boolean				useCompression = true;
-	private boolean				createLeadupStructure = true;
-	private boolean				generateManifestFile = false;
-/**
- *	Create an instance of this class.  Use this constructor if you wish to
- *	export specific resources without a common parent resource
- *
- *	@param resources java.util.Vector
- *	@param filename java.lang.String
- */
-public ZipFileResourceExportOperation(List resources,String filename) {
-	super();
-
-	// Eliminate redundancies in list of resources being exported
-	Iterator elementsEnum = resources.iterator();
-	while (elementsEnum.hasNext()) {
-		IResource currentResource = (IResource) elementsEnum.next();
-		if (isDescendent(resources, currentResource))
-			elementsEnum.remove(); //Removes currentResource;
-	}
-
-	resourcesToExport = resources;
-	destinationFilename = filename;
-}
-/**
- *  Create an instance of this class.  Use this constructor if you wish
- *  to recursively export a single resource.
- *
- *  @param res org.eclipse.core.resources.IResource;
- *  @param filename java.lang.String
- */
-public ZipFileResourceExportOperation(IResource res,String filename) {
-	super();
-	resource = res;
-	destinationFilename = filename;
-}
-/**
- *  Create an instance of this class.  Use this constructor if you wish to
- *  export specific resources with a common parent resource (affects container
- *  directory creation)
- *
- *  @param res org.eclipse.core.resources.IResource
- *  @param resources java.util.Vector
- *  @param filename java.lang.String
- */
-public ZipFileResourceExportOperation(IResource res, List resources, String filename) {
-	this(res,filename);
-	resourcesToExport = resources;
-}
-/**
- * Add a new entry to the error table with the passed information
- */
-protected void addError(String message,Throwable e) {
-	errorTable.add(
-		new Status(
-			IStatus.ERROR,
-			PlatformUI.PLUGIN_ID,
-			0,
-			message,
-			e));
-}
-/**
- *  Answer the total number of file resources that exist at or below self
- *  in the resources hierarchy.
- *
- *  @return int
- *  @param resource org.eclipse.core.resources.IResource
- */
-protected int countChildrenOf(IResource resource) throws CoreException {
-	if (resource.getType() == IResource.FILE)
-		return 1;
-
-	int count = 0;
-	if (resource.isAccessible()) {
-		IResource[] children = ((IContainer) resource).members();
-		for (int i = 0; i<children.length; i++) 
-			count += countChildrenOf(children[i]);
-	}
-
-	return count;
-}
-/**
- *	Answer a boolean indicating the number of file resources that were
- *	specified for export
- *
- *	@return int
- */
-protected int countSelectedResources() throws CoreException {
-	int result = 0;
-	Iterator resources = resourcesToExport.iterator();
-	while (resources.hasNext())
-		result += countChildrenOf((IResource)resources.next());
-		
-	return result;
-}
-/**
- *  Export the passed resource to the destination .zip
- *
- *  @param resource org.eclipse.core.resources.IResource
- */
-protected void exportResource(IResource resource) throws InterruptedException {
-	if (!resource.isAccessible())
-		return;
-		
-	if (resource.getType() == IResource.FILE) {
-		String destinationName = resource.getFullPath().removeFirstSegments(leadupStartDepth).toString();
-		monitor.subTask(destinationName);
-
-		try {
-			exporter.write((IFile)resource,destinationName);
-		} catch (IOException e) {
-			addError(WorkbenchMessages.format("ZipExport.errorOnResource", new Object[] {resource.getFullPath()}) ,e); //$NON-NLS-1$
-		} catch (CoreException e) {
-			addError(WorkbenchMessages.format("ZipExport.errorOnResource", new Object[] {resource.getFullPath()}) ,e); //$NON-NLS-1$
-		}
-		
-		monitor.worked(1);
-		ModalContext.checkCanceled(monitor);
-	} else {
-		IResource[] children = null;
-		
-		try {
-			children = ((IContainer)resource).members();
-		} catch (CoreException e) {
-			// this should never happen because an #isAccessible check is done before #members is invoked
-			addError(WorkbenchMessages.format("ZipExport.errorOnResource", new Object[] {resource.getFullPath()}) ,e); //$NON-NLS-1$
-		}
-
-		for (int i = 0; i<children.length; i++) 
-			exportResource(children[i]);
-	}
-}
-/**
- *	Export the resources contained in the previously-defined
- *	resourcesToExport collection
- */
-protected void exportSpecifiedResources() throws InterruptedException {
-	Iterator resources = resourcesToExport.iterator();
-	
-	while (resources.hasNext()) {
-		IResource currentResource = (IResource)resources.next();
-		if (resource == null && !createLeadupStructure)
-			leadupStartDepth = currentResource.getFullPath().segmentCount() - 1;
-
-		exportResource(currentResource);
-	}
-}
-/**
- *	Answer the error table
- *
- *	@return Vector of IStatus
- */
-public List getResult() {
-	return errorTable;
-}
-/**
- * Returns the status of the operation.
- * If there were any errors, the result is a status object containing
- * individual status objects for each error.
- * If there were no errors, the result is a status object with error code <code>OK</code>.
- *
- * @return the status
- */
-public IStatus getStatus() {
-	IStatus[] errors = new IStatus[errorTable.size()];
-	errorTable.toArray(errors);
-	return new MultiStatus(
-		PlatformUI.PLUGIN_ID, 
-		IStatus.OK, 
-		errors,
-		WorkbenchMessages.getString("ZipExport.problemEncountered"),  //$NON-NLS-1$
-		null);
-}
-/**
- *	Initialize this operation
- *
- *	@exception java.io.IOException
- */
-protected void initialize() throws IOException {
-	exporter = new ZipFileResourceExporter(destinationFilename,useCompression,generateManifestFile);
-
-	if (resource == null) 	// ie.- no parent resource was specified so just strip out projects
-		leadupStartDepth = 1;
-	else {
-		leadupStartDepth = resource.getFullPath().segmentCount();
-
-		if (resource.getType() == IResource.FILE)
-			leadupStartDepth--;
-			
-		if (createLeadupStructure)
-			leadupStartDepth = Math.min(1,leadupStartDepth);
-	}
-}
-/**
- *  Answer a boolean indicating whether the passed child is a descendent
- *  of one or more members of the passed resources collection
- *
- *  @return boolean
- *  @param resources java.util.Vector
- *  @param child org.eclipse.core.resources.IResource
- */
-protected boolean isDescendent(List resources, IResource child) {
-	if (child.getType() == IResource.PROJECT)
-		return false;
-
-	IResource parent = child.getParent();
-	if (resources.contains(parent))
-		return true;
-		
-	return isDescendent(resources,parent);
-}
-/**
- *	Export the resources that were previously specified for export
- *	(or if a single resource was specified then export it recursively)
- */
-public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-	this.monitor = monitor;
-
-	try {
-		initialize();
-	} catch (IOException e) {
-		throw new InvocationTargetException(e, WorkbenchMessages.getString("ZipExport.unableToOpen") + e.getMessage()); //$NON-NLS-1$
-	}
-
-	try {
-		// ie.- a single resource for recursive export was specified
-		int totalWork = IProgressMonitor.UNKNOWN;
-		try {
-			if (resourcesToExport == null)
-				totalWork = countChildrenOf(resource);
-			else
-				totalWork = countSelectedResources();
-		}
-		catch (CoreException e) {
-			// Should not happen
-		}
-		monitor.beginTask(WorkbenchMessages.getString("ZipExport.progress"), totalWork); //$NON-NLS-1$
-		if (resourcesToExport == null) {
-			exportResource(resource);
-		}
-		else {
-			// ie.- a list of specific resources to export was specified
-			exportSpecifiedResources();
-		}
-
-		try {
-			exporter.finished();
-		} catch (IOException e) {
-			throw new InvocationTargetException(e, WorkbenchMessages.getString("ZipExport.unableToClose") + e.getMessage()); //$NON-NLS-1$
-		}
-	} finally {
-		monitor.done();
-	}
-}
-/**
- *	Set this boolean indicating whether each exported resource's path should
- *	include containment hierarchies as dictated by its parents
- *
- *	@param value boolean
- */
-public void setCreateLeadupStructure(boolean value) {
-	createLeadupStructure = value;
-}
-/**
- *	Set this boolean indicating whether a manifest.mf file based upon
- *	the exported contents should be created and included in the final
- *	archive
- *
- *	@param value boolean
- */
-public void setGenerateManifestFile(boolean value) {
-	generateManifestFile = value;
-}
-/**
- *	Set this boolean indicating whether exported resources should
- *	be compressed (as opposed to simply being stored)
- *
- *	@param value boolean
- */
-public void setUseCompression(boolean value) {
-	useCompression = value;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ZipFileResourceExporter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ZipFileResourceExporter.java
deleted file mode 100644
index bb68622..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ZipFileResourceExporter.java
+++ /dev/null
@@ -1,173 +0,0 @@
-package org.eclipse.ui.internal.dialogs;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.*;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.zip.*;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- *	Exports resources to a .zip file
- */
-/*package*/ class ZipFileResourceExporter {
-	private ZipOutputStream		outputStream;
-	private StringBuffer		manifestContents;
-
-	private boolean				generateManifestFile = false;
-	private boolean				useCompression = true;
-
-	// constants
-	private static final String newline = "\r\n";			//$NON-NLS-1$
-	private static final String	manifestMagic = "Manifest-Version: 1.0" + newline + newline;//$NON-NLS-1$
-	private static final String	nameLabel = "Name: ";//$NON-NLS-1$
-	private static final String	digestsLabel = "Digest-Algorithms: SHA MD5" + newline;//$NON-NLS-1$
-	private static final String shaLabel = "SHA-Digest: ";//$NON-NLS-1$
-	private static final String md5Label = "MD5-Digest: ";//$NON-NLS-1$
-	private static final String	manifestPath = "meta-inf/Manifest.mf";//$NON-NLS-1$
-/**
- *	Create an instance of this class.
- *
- *	@param filename java.lang.String
- *	@param compress boolean
- *	@param includeManifestFile boolean
- *	@exception java.io.IOException
- */
-public ZipFileResourceExporter(String filename,boolean compress,boolean includeManifestFile) throws IOException {
-	outputStream = new ZipOutputStream(new FileOutputStream(filename));
-	useCompression = compress;
-	generateManifestFile = includeManifestFile;
-
-	if (generateManifestFile)
-		manifestContents = new StringBuffer(manifestMagic);
-}
-/**
- *  Create a new entry in the manifest file being constructed.
- *
- *  @param pathname java.lang.String
- *  @param file org.eclipse.core.resources.IFile
- *  @exception java.io.IOException
- *  @exception org.eclipse.core.runtime.CoreException
- */
-protected void appendToManifest(String pathname, IFile file) throws IOException, CoreException {
-	StringBuffer manifestEntry = new StringBuffer();
-	manifestEntry.append(nameLabel);
-	manifestEntry.append(pathname);
-	manifestEntry.append(newline);
-	manifestEntry.append(digestsLabel);
-	manifestEntry.append(shaLabel);
-	
-	byte[] fileContents = null;
-
-	// we don't have to EnsureLocal because it was already done in #write
-	InputStream contentStream = file.getContents(false);
-	Reader in = new InputStreamReader(contentStream);
-	int chunkSize = contentStream.available();
-	StringBuffer buffer = new StringBuffer(chunkSize);
-	char[] readBuffer = new char[chunkSize];
-	int n = in.read(readBuffer);
-	while (n > 0) {
-		buffer.append(readBuffer);
-		n = in.read(readBuffer);
-	}
-	contentStream.close();  
-	fileContents = buffer.toString().getBytes();
-	
-	try {
-		byte[] hashValue = MessageDigest.getInstance("SHA").digest(fileContents);//$NON-NLS-1$
-		manifestEntry.append(InternalBase64Encoder.encode(hashValue));
-		manifestEntry.append(newline);
-		manifestEntry.append(md5Label);
-		hashValue = MessageDigest.getInstance("MD5").digest(fileContents);//$NON-NLS-1$
-		manifestEntry.append(InternalBase64Encoder.encode(hashValue));
-		manifestEntry.append(newline + newline);
-	} catch (NoSuchAlgorithmException e) {
-		// should never happen
-		return;
-	}
-	manifestContents.append(manifestEntry.toString());
-}
-/**
- *	Do all required cleanup now that we're finished with the
- *	currently-open .zip
- *
- *	@exception java.io.IOException
- */
-public void finished() throws IOException {
-	if (generateManifestFile)
-		writeManifestFile();
-		
-	outputStream.close();
-}
-/**
- *	Create a new ZipEntry with the passed pathname and contents, and write it
- *	to the current archive
- *
- *	@param pathname java.lang.String
- *	@param contents byte[]
- *	@exception java.io.IOException
- */
-protected void write(String pathname, byte[] contents) throws IOException {
-	ZipEntry newEntry = new ZipEntry(pathname);
-
-	// if the contents are being compressed then we get the below for free.
-	if (!useCompression) {
-		newEntry.setMethod(ZipEntry.STORED);
-		newEntry.setSize(contents.length);
-		CRC32 checksumCalculator = new CRC32();
-		checksumCalculator.update(contents);
-		newEntry.setCrc(checksumCalculator.getValue());
-	}
-
-	outputStream.putNextEntry(newEntry);
-	outputStream.write(contents);
-	outputStream.closeEntry();
-}
-/**
- *  Write the passed resource to the current archive
- *
- *  @param resource org.eclipse.core.resources.IFile
- *  @param destinationPath java.lang.String
- *  @exception java.io.IOException
- *  @exception org.eclipse.core.runtime.CoreException
- */
-public void write(IFile resource, String destinationPath) throws IOException, CoreException {
-	ByteArrayOutputStream output = null;
-	InputStream contentStream = null;
-
-	try {
-		output = new ByteArrayOutputStream();
-		contentStream = resource.getContents(false);
-		int chunkSize = contentStream.available();
-		byte[] readBuffer = new byte[chunkSize];
-		int n = contentStream.read(readBuffer);
-		
-		while (n > 0) {
-			output.write(readBuffer);
-			n = contentStream.read(readBuffer);
-		}
-	} finally {
-		if (output != null)
-			output.close();
-		if (contentStream != null)
-			contentStream.close();
-	}
-	
-	write(destinationPath,output.toByteArray());
-	if (generateManifestFile)
-		appendToManifest(destinationPath, resource);
-}
-/**
- *	Write the constructed manifest.mf file to the current archive
- *
- *	@exception java.io.IOException
- */
-protected void writeManifestFile() throws IOException {
-	write(manifestPath,manifestContents.toString().getBytes());
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/fonts/FontDefinition.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/fonts/FontDefinition.java
deleted file mode 100644
index 101cf1f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/fonts/FontDefinition.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package org.eclipse.ui.internal.fonts;
-
-import java.util.Collection;
-
-import org.eclipse.core.runtime.Platform;
-
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation 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 - Initial implementation
- ******************************************************************************/
-
-/**
- * The FontDefiniton is the representation of the fontDefinition
- * from the plugin.xml of a type.
- */
-public class FontDefinition {
-
-	private String label;
-	private String id;
-	private String registryKey;
-	private String defaultsTo;
-	private String description;
-
-	//The elements for use by the preference page
-	public static FontDefinition[] definitions;
-
-	/**
-	 * Get the currently defined definitions for the workbench. Read them in if
-	 * they are not set.
-	 * @return FontDefinition[]
-	 */
-	public static FontDefinition[] getDefinitions() {
-		if (definitions == null) {
-			FontDefinitionReader reader = new FontDefinitionReader();
-			Collection values =
-				reader.readRegistry(Platform.getPluginRegistry());
-			definitions = new FontDefinition[values.size()];
-			values.toArray(definitions);
-		}
-		return definitions;
-	}
-
-	/**
-	 * Create a new instance of the receiver.
-	 * 
-	 * @param fontName The name display
-	 * ed in the preference page.
-	 * @param uniqueId The id used to refer to this definition.
-	 * @param defaultsId The id of the font this defaults to.
-	 * @param fontDescription The description of the font in the preference page.
-	 */
-	FontDefinition(
-		String fontName,
-		String uniqueId,
-		String defaultsId,
-		String fontDescription) {
-		this.label = fontName;
-		this.id = uniqueId;
-		this.defaultsTo = defaultsId;
-		this.description = fontDescription;
-	}
-
-	/**
-	 * Returns the defaultsTo. This is the id of the text font
-	 * that this font defualts to.
-	 * @return String or <pre>null</pre>.
-	 */
-	public String getDefaultsTo() {
-		return defaultsTo;
-	}
-
-	/**
-	 * Returns the description.
-	 * @return String or <pre>null</pre>.
-	 */
-	public String getDescription() {
-		return description;
-	}
-
-	/**
-	 * Returns the label.
-	 * @return String
-	 */
-	public String getLabel() {
-		return label;
-	}
-
-
-	/**
-	 * Returns the id.
-	 * @return String
-	 */
-	public String getId() {
-		return id;
-	}
-
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/fonts/FontDefinitionReader.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/fonts/FontDefinitionReader.java
deleted file mode 100644
index e63c7d2..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/fonts/FontDefinitionReader.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.eclipse.ui.internal.fonts;
-
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation 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 - Initial implementation
- ******************************************************************************/
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.registry.RegistryReader;
-
-/**
- * The FontDefinitionReader reads the font definitions in the
- * workspace.
- */
-class FontDefinitionReader extends RegistryReader {
-
-	//The registry values are the ones read from the registry
-	static Collection values;
-
-	private static String EXTENSION_ID = "fontDefinitions"; //$NON-NLS-1$
-	private static String ATT_LABEL = "label"; //$NON-NLS-1$
-	private static String ATT_ID = "id"; //$NON-NLS-1$
-	private static String ATT_DEFAULTS_TO = "defaultsTo"; //$NON-NLS-1$
-	private static String CHILD_DESCRIPTION = "description"; //$NON-NLS-1$
-
-	/*
-	 * @see RegistryReader#readElement(IConfigurationElement)
-	 */
-	protected boolean readElement(IConfigurationElement element) {
-
-		String name = element.getAttribute(ATT_LABEL);
-
-		String id = element.getAttribute(ATT_ID);
-
-		String defaultMapping = element.getAttribute(ATT_DEFAULTS_TO);
-
-		String description = null;
-
-		IConfigurationElement[] descriptions =
-			element.getChildren(CHILD_DESCRIPTION);
-
-		if (descriptions.length > 0)
-			description = descriptions[0].getValue();
-
-		values.add(
-			new FontDefinition(
-				name,
-				id,
-				defaultMapping,
-				description));
-
-		return true;
-
-	}
-
-	/**
-	 * Read the decorator extensions within a registry and set
-	 * up the registry values.
-	 */
-	Collection readRegistry(IPluginRegistry in) {
-		values = new ArrayList();
-		readRegistry(in, PlatformUI.PLUGIN_ID, EXTENSION_ID);
-		return values;
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/messages.properties b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/messages.properties
deleted file mode 100644
index 180ebc2..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/messages.properties
+++ /dev/null
@@ -1,1424 +0,0 @@
-#==============================================================================
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved.   This program and the accompanying materials
-# are 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
-#
-# Contributors:
-# 	IBM - Initial implementation
-#==============================================================================
-
-# package: org.eclipse.ui
-
-
-# ==============================================================================
-# Global Actions
-# ==============================================================================
-
-# --- File Menu ---
-Workbench.file = &File
-Workbench.new = &New
-CreateProjectAction.text = Configurable &Project...
-CreateProjectAction.toolTip = Open New Configurable Project Wizard
-NewProjectAction.text = P&roject...
-NewProjectAction.toolTip = Open New Project Wizard
-NewWizardAction.text = &Other...
-NewWizardAction.toolTip = Open The New Wizard
-CloseAllAction.text = C&lose All
-CloseAllAction.toolTip = Close All Open Editors
-CloseAllSavedAction.text = Cl&ose All Saved
-CloseAllSavedAction.toolTip = Close All Saved Editors
-CloseEditorAction.text = &Close
-CloseEditorAction.toolTip = Close Open Editor
-SaveAction.text = &Save
-SaveAction.textOneArg = &Save {0}
-SaveAction.toolTip = Save
-SaveAs.text = Save &As...
-SaveAs.textOneArg = Save {0} &As...
-SaveAs.toolTip = Save As
-SaveAsDialog.title = Save As
-SaveAsDialog.message = Save file to another location.
-SaveAsDialog.text = Save File As
-SaveAsDialog.fileLabel = &File name:
-SaveAsDialog.file = file
-SaveAsDialog.overwriteQuestion = The file {0} already exists. Do you want to replace the existing file?
-SaveAll.text = Sav&e All
-SaveAll.toolTip = Save All Open Files
-Workbench.print = &Print...
-Workbench.printToolTip = Print
-ExportResourcesAction.text = E&xport...
-ExportResourcesAction.fileMenuText = Exp&ort...
-ExportResourcesAction.toolTip = Export Selected Resources
-ImportResourcesAction.text = &Import...
-ImportResourcesAction.toolTip = Import Resources
-Workbench.openRecent = &Open Recent
-OpenRecent.errorTitle = Problems opening editor
-Exit.text = E&xit
-Exit.toolTip = Exit Workbench
-
-# --- Edit Menu ---
-Workbench.edit = &Edit
-Workbench.undo = &Undo
-Workbench.undoToolTip = Undo Last Action
-Workbench.redo = &Redo
-Workbench.redoToolTip = Redo Last Action
-Workbench.cut = Cu&t
-Workbench.cutToolTip = Cut Selection
-Workbench.copy = &Copy
-Workbench.copyToolTip = Copy Selection
-Workbench.paste = &Paste
-Workbench.pasteToolTip = Paste
-Workbench.delete = &Delete
-Workbench.deleteToolTip = Delete Selection
-Workbench.selectAll = Select &All
-Workbench.selectAllToolTip = Select Entire Contents
-Workbench.findReplace = &Find/Replace...
-Workbench.findReplaceToolTip = Open Find Replace Dialog
-Workbench.addBookMark = Add Bookmar&k...
-Workbench.addBookMarkToolTip = Add Bookmark
-Workbench.addTask = Add Ta&sk...
-Workbench.addTaskToolTip = Add Task
-
-# --- Navigate Menu ---
-NavigationHistoryAction.forward.text=&Forward
-NavigationHistoryAction.forward.toolTip=Forward
-NavigationHistoryAction.backward.text=&Back
-NavigationHistoryAction.backward.toolTip=Back
-NavigationHistoryAction.forward.toolTipName=Forward to {0}
-NavigationHistoryAction.backward.toolTipName=Back to {0}
-
-OpenWorkspaceFileAction.errorTitle=Open Resource
-OpenWorkspaceFileAction.errorMessage=An exception occurred while opening the resource.
-
-ShowInAction.text = Sho&w In...
-ShowInAction.toolTip = Show In...
-
-# --- Perspective Menu ---
-Workbench.perspective = &Perspective
-Workbench.showPerspectiveError = Problems opening perspective: ({0})
-
-Workbench.open = &Open
-PerspectiveMenu.otherItem = &Other...
-SelectPerspective.shellTitle = Select Perspective
-ChangeToPerspectiveMenu.errorTitle = Problems Changing Perspective
-
-Workbench.showView = Show &View
-ShowView.title = &Other...
-ShowView.shellTitle = Show View
-ShowView.errorTitle = Problems Showing View
-
-ToggleEditor.hideEditors = Hide &Editors
-ToggleEditor.showEditors = Show &Editors
-ToggleEditor.toolTip = Toggle Editor Area Visibility
-
-SavePerspective.text = Save &As...
-SavePerspective.toolTip = Save Current Perspective Layout
-SavePerspective.shellTitle = Save Perspective As...
-SavePerspectiveDialog.description = Enter or select a name to save the current\nperspective as.
-SavePerspective.name = &Name:
-SavePerspective.existing = &Existing Perspectives:
-SavePerspective.overwriteTitle = Overwrite Perspective
-SavePerspective.overwriteQuestion = A perspective with the name ({0}) already exist. Do you want to overwrite?
-SavePerspective.singletonQuestion = The current perspective can only be opened once and cannot be saved using a new name. Do you want to overwrite?
-SavePerspective.errorTitle = Cannot Save Perspective
-SavePerspective.errorMessage = Invalid Perspective Descriptor
-
-EditorActionSetsAction.text = Customi&ze...
-EditorActionSetsAction.toolTip = Customize Current Perspective...
-ActionSetSelection.customize = Customize Perspective
-ActionSetSelection.selectLabel = Select the items to be displayed in the current perspective ({0}).
-ActionSetSelection.available = Available &Items:
-ActionSetSelection.details = Details:
-ActionSetRegistry.otherCategory = Other
-ActionSetDialogInput.viewCategory = Window > Show View
-ActionSetDialogInput.perspectiveCategory = Window > Open Perspective
-ActionSetDialogInput.wizardCategory = File > New
-
-ResetPerspective.message = Do you want to reset the current {0} perspective to its defaults?
-ResetPerspective.title = Reset Perspective
-ResetPerspective.text = &Reset...
-ResetPerspective.toolTip = Reset Current Perspective
-ClosePerspectiveAction.text = &Close
-ClosePerspectiveAction.toolTip = Close Active Perspective
-CloseAllPerspectivesAction.text = C&lose All
-CloseAllPerspectivesAction.toolTip = Close All Perspectives
-
-# --- Workbench Menu ---
-Workbench.workbench = Work&bench
-GlobalBuildAction.text = &Build
-GlobalBuildAction.toolTip = Global Incremental Build Of Modified Resources
-GlobalBuildAction.rebuildText = Rebuild &All
-GlobalBuildAction.rebuildToolTip = Global Full Build Of All Resources
-GlobalBuildAction.problemTitle = Build Problems
-GlobalBuildAction.buildProblems = Build problems
-GlobalBuildAction.internalError = Internal error: {0}
-OpenPreferences.text = &Preferences
-OpenPreferences.toolTip = Open Preferences Dialog
-
-# --- Window Menu ---
-Workbench.window = &Window
-Workbench.launch = &Launch
-Workbench.shortcuts = &Keyboard Shortcuts
-Workbench.openNewWindow = &New Window
-OpenNewWindowAction.text = &New Window
-OpenNewWindowAction.toolTip = Open New Window
-OpenNewWindowAction.errorTitle = Problems Opening New Window
-OpenInNewWindowAction.text = Open in &New Window
-OpenInNewWindowAction.toolTip = Open in New Window
-OpenInNewWindowAction.errorTitle = Problems Opening New Window
-CycleEditorAction.next.text = Next Editor
-CycleEditorAction.next.toolTip = Next Editor
-CycleEditorAction.prev.text = Previous Editor
-CycleEditorAction.prev.toolTip = Previous Editor
-CycleEditorAction.header=Editors
-CyclePartAction.next.text = Next View
-CyclePartAction.next.toolTip = Next View
-CyclePartAction.prev.text = Previous View
-CyclePartAction.prev.toolTip = Previous View
-CyclePartAction.header = Views
-CyclePartAction.editor = Editor
-CyclePerspectiveAction.next.text = Next Perspective
-CyclePerspectiveAction.next.toolTip = Next Perspective
-CyclePerspectiveAction.prev.text = Previous Perspective
-CyclePerspectiveAction.prev.toolTip = Previous Perspective
-CyclePerspectiveAction.header=Perspectives
-ActivateEditorAction.text = Activate Editor
-ActivateEditorAction.toolTip = Activate Editor
-
-
-# --- Help Menu ---
-Workbench.help = &Help
-QuickStart.text = &Welcome...
-QuickStart.toolTip = Open a Welcome Editor
-QuickStartMessageDialog.title = Welcome
-QuickStartMessageDialog.message = No features with quick start information are available
-WelcomePageSelectionDialog.title = Welcome
-WelcomePageSelectionDialog.message = &Show welcome page for:
-AboutAction.text = &About {0}
-AboutAction.toolTip = About {0}
-AboutDialog.shellTitle = About {0}
-AboutDialog.featureInfo = &Feature Details
-AboutDialog.pluginInfo = &Plug-in Details
-AboutDialog.platformInfo = Built with Eclipse technology
-AboutDialog.systemInfo = &Configuration Details
-AboutDialog.notSpecified= Not Specified
-ProductInfoDialog.errorTitle = Problems Opening Link
-ProductInfoDialog.unableToOpenWebBrowser = Unable to open web browser.
-AboutPluginsDialog.shellTitle = About {0} Plugins
-AboutPluginsDialog.pluginName = Plugin name
-AboutPluginsDialog.version = Version
-AboutPluginsDialog.provider = Provider
-AboutPluginsDialog.moreInfo = More &Info
-AboutPluginsDialog.errorTitle = Problems Opening File
-AboutPluginsDialog.unableToOpenFile = Unable to find file {0} in plugin {1}.
-AboutFeaturesDialog.shellTitle = About {0} Features
-AboutFeaturesDialog.featureName = Feature name
-AboutFeaturesDialog.version = Version
-AboutFeaturesDialog.provider = Provider
-AboutFeaturesDialog.moreInfo = More &Info
-AboutFeaturesDialog.pluginsInfo = &Plug-in Details
-AboutFeaturesDialog.errorTitle = Error
-AboutFeaturesDialog.unableToOpenFile = Unable to find file {0} in plugin {1}
-AboutFeaturesDialog.noInformation = No further information is available for this feature.
-AboutFeaturesDialog.pluginInfoTitle = Feature Plug-ins
-AboutFeaturesDialog.pluginInfoMessage = Plug-ins contributed by feature: {0}
-AboutFeaturesDialog.unableToObtainFeatureInfo = Unable to obtain feature information.
-AboutFeaturesDialog.noInfoTitle = No Further Information
-
-
-# --- Shortcutbar ---
-SetPagePerspectiveAction.text = Change Perspective
-SetPagePerspectiveAction.toolTip = {0} Perspective
-
-WorkbenchWindow.close = Close
-WorkbenchWindow.closeAll = Close All
-WorkbenchWindow.restore = Fast View
-WorkbenchPage.PerspectiveFormat = {0} - {1}
-WorkbenchPage.ErrorRecreatingPerspective = Unable to recreate perspective
-WorkbenchPage.UndefinedPerspective = Perspective ID is undefined
-
-# --- menu reorg ---
-Workbench.project = &Project
-Workbench.navigate = &Navigate
-
-Workbench.revert = Rever&t
-Workbench.revertToolTip = Revert
-Workbench.refresh = Re&fresh
-Workbench.refreshToolTip = Refresh
-Workbench.properties = P&roperties
-Workbench.propertiesToolTip = Properties
-
-Workbench.move = Mo&ve...
-Workbench.moveToolTip = Move
-Workbench.rename = Rena&me...
-Workbench.renameToolTip = Rename
-Workbench.goInto = Go &Into
-Workbench.goIntoToolTip = Go Into
-Workbench.goTo = &Go To
-Workbench.back = &Back
-Workbench.backToolTip = Back
-Workbench.forward = &Forward
-Workbench.forwardToolTip = Forward
-Workbench.up = &Up One Level
-Workbench.upToolTip = Up
-Workbench.next = Ne&xt
-Workbench.nextToolTip = Next
-Workbench.previous = Pre&vious
-Workbench.previousToolTip = Previous
-Workbench.buildProject = &Build Project
-Workbench.buildProjectToolTip = Build Project
-Workbench.rebuildProject = &Rebuild Project
-Workbench.rebuildProjectToolTip = Rebuild Project
-Workbench.buildAll = Build &All
-Workbench.buildAllToolTip = Build All
-Workbench.rebuildAll = Rebuild A&ll
-Workbench.rebuildAllToolTip = Rebuild All
-Workbench.openProject = &Open Project
-Workbench.openProjectToolTip = Open Project
-Workbench.closeProject = &Close Project
-Workbench.closeProjectToolTip = Close Project
-
-Workbench.openPerspective = &Open Perspective
-Workbench.savePerspectiveAs = Save Perspective &As...
-Workbench.customizePerspective = Customi&ze Perspective...
-Workbench.lockPerspectiveToolBar = Lock the &Toolbars
-Workbench.resetPerspective = &Reset Perspective
-Workbench.closePerspective = &Close Perspective
-Workbench.closeAllPerspectives = Close A&ll Perspectives
-
-# --- end menu reorg ---
-
-
-# ==============================================================================
-# Navigator Actions
-# ==============================================================================
-OpenWithMenu.dialogTitle = Problems Opening Editor
-
-CopyProjectAction.title = &Copy
-CopyProjectAction.toolTip = Copy Project
-CopyProjectAction.progressTitle = Copying:
-CopyProjectAction.copyTitle = Copy Project
-CopyProjectAction.copyNameOneArg = Copy of {0}
-CopyProjectAction.copyNameTwoArgs = Copy ({0}) of {1}
-CopyProjectAction.alreadyExists = Project {0} already exists.
-CopyProjectAction.copyFailedMessage = Problems occurred copying the project.
-CopyProjectAction.copyFailedTitle = Copy Problems
-CopyProjectAction.internalError = Internal error: {0}
-
-CopyResourceAction.title = &Copy
-CopyResourceAction.toolTip = Copy Resource
-CopyResourceAction.selectDestination = Select the &destination:
-CopyResourceAction.operationTitle = Copying
-CopyResourceAction.copying = Copying
-CopyResourceAction.copyNameTwoArgs = Copy ({0}) of {1}
-CopyResourceAction.copyNameOneArg = Copy of {0}
-CopyResourceAction.resourceExists = Resource Exists
-CopyResourceAction.overwriteProblem = The folder {0} already exists and cannot be overwritten since it contains {1}.
-CopyResourceAction.overwriteProblemTitle = Overwrite Problem
-CopyResourceAction.overwriteQuestion = {0} exists. Do you wish to overwrite?
-CopyResourceAction.nameCollision = A resource name collision was detected.
-CopyResourceAction.copyFailedTitle = Copy Problems
-CopyResourceAction.deletingCollision = Deleting collisions
-CopyResourceAction.problemMessage = Problems occurred copying the selected resources.
-CopyResourceAction.internalError = Internal error: {0}
-CopyResourceAction.destinationAccessError = Destination folder must be accessible.
-CopyResourceAction.destinationDescendentError = Destination cannot be a descendent of the source.
-
-MoveProjectAction.text = Mo&ve...
-MoveProjectAction.toolTip = Move Project
-MoveProjectAction.moveTitle = Move Project
-MoveProjectAction.progressMessage = Moving:
-MoveProjectAction.dialogTitle = Move Problems
-MoveProjectAction.internalError = Internal error: {0}
-
-MoveResourceAction.text = Mo&ve...
-MoveResourceAction.toolTip = Move Resource
-MoveResourceAction.sameSourceAndDest = The source and destination are the same.
-MoveResourceAction.title = Check Move
-MoveResourceAction.checkMoveMessage = {0} is read only. Do you still wish to move it?
-MoveResourceAction.progressMessage = Moving
-MoveResourceAction.dialogTitle = Move Problems
-MoveResourceAction.problemMessage = Problems occurred moving the selected resources.
-
-ReadOnlyCheck.problems = Read Only Checking Problems
-
-RenameResourceAction.text = Rena&me
-RenameResourceAction.toolTip = Rename Resource
-RenameResourceAction.inputDialogTitle = Rename Resource
-RenameResourceAction.inputDialogMessage = Enter the new resource name:
-RenameResourceAction.checkTitle = Check Rename
-RenameResourceAction.readOnlyCheck = {0} is read only. Do you still wish to rename it?
-RenameResourceAction.resourceExists = Resource Exists
-RenameResourceAction.nameExists = A resource with that name already exists
-RenameResourceAction.overwriteQuestion = {0} exists. Do you wish to overwrite?
-RenameResourceAction.progressMessage = Renaming
-RenameResourceAction.problemTitle = Rename Problems
-RenameResourceAction.progress = Renaming:
-RenameResourceAction.nameMustBeDifferent = You must use a different name
-RenameResourceAction.problemMessage = Problems occurred renaming the selected resource.
-
-DeleteResourceAction.text = &Delete
-DeleteResourceAction.toolTip = Delete
-DeleteResourceAction.title1 = Confirm Resource Delete
-DeleteResourceAction.titleN = Confirm Multiple Resource Delete
-DeleteResourceAction.confirm1 = Are you sure you want to delete ''{0}''?
-DeleteResourceAction.confirmN = Are you sure you want to delete these {0} resources?
-DeleteResourceAction.titleProject1 = Confirm Project Delete
-DeleteResourceAction.titleProjectN = Confirm Multiple Project Delete
-DeleteResourceAction.confirmProject1 = Are you sure you want to delete project ''{0}''?
-DeleteResourceAction.confirmProjectN = Are you sure you want to delete these {0} projects?
-DeleteResourceAction.deleteContents1 = &Also delete contents under {0}
-DeleteResourceAction.deleteContentsN = &Also delete contents in the file system
-DeleteResourceAction.doNotDeleteContents = &Do not delete contents
-DeleteResourceAction.confirmLinkedResource1 = Are you sure you want to delete linked resource ''{0}''?\nOnly the workspace link will be deleted. Link target will remain unchanged.
-DeleteResourceAction.confirmLinkedResourceN = Are you sure you want to delete these {0} resources?\n\nSelection contains linked resources.\nOnly the workspace links will be deleted. Link targets will remain unchanged.
-DeleteResourceAction.readOnlyQuestion = {0} is read only. Do you still wish to delete it?
-DeleteResourceAction.errorTitle = Delete Problems
-DeleteResourceAction.messageTitle = Problems deleting
-DeleteResourceAction.internalError = Internal error: {0}
-DeleteResourceAction.outOfSyncError = Resource is out of sync with the file system. Refresh and try again.
-DeleteResourceAction.outOfSyncQuestion = Resource {0} is out of sync with the file system. Do you want to delete it anyway?
-
-AddBookmarkLabel = Add Boo&kmark...
-AddBookmarkToolTip = Add Bookmark
-AddBookmarkDialog.title = Add Bookmark
-AddBookmarkDialog.message = Enter bookmark name:
-
-AddTaskLabel = Add &Task
-AddTaskToolTip = Add Task
-
-OpenFileAction.text = Op&en
-OpenFileAction.toolTip = Edit File
-OpenFileAction.openFileError = Workbench page must be supplied to OpenFileAction
-OpenFileAction.openFileErrorTitle = Error in OpenFileAction.openFile
-OpenFileAction.openFileShellTitle = Problems Opening Editor
-
-OpenResourceAction.text = Op&en Project
-OpenResourceAction.toolTip = Open Project
-OpenResourceAction.dialogTitle = Open Problems
-OpenResourceAction.problemMessage = Problems occurred opening the selected resources.
-
-CloseResourceAction.text = Clo&se Project
-CloseResourceAction.toolTip = Close Project
-CloseResourceAction.title = Close Problems
-CloseResourceAction.problemMessage = Problems occurred closing the selected resources.
-
-BuildAction.text = &Build Project
-BuildAction.toolTip = Incremental Build Of Selected Projects
-BuildAction.problemMessage = Problems occurred building the selected resources.
-BuildAction.problemTitle = Build Problems
-BuildAction.verifyExceptionMessage = Exception in {0}.run: {1}
-BuildAction.buildProblems = Build problems
-BuildAction.operationMessage =
-BuildAction.internalError = Internal error: {0}
-
-RebuildAction.text = Rebuild Pro&ject
-RebuildAction.tooltip = Full Build Of Selected Projects
-
-RefreshAction.text = Re&fresh
-RefreshAction.toolTip = Refresh
-RefreshAction.progressMessage = Refreshing:
-RefreshAction.problemTitle = Refresh Problems
-RefreshAction.problemMessage = Problems occurred refreshing the selected resources.
-RefreshAction.locationDeletedMessage = The location for project {0} ({1}) has been deleted.\n Delete {0} from the workspace?
-RefreshAction.dialogTitle = Project location has been deleted
-
-SelectWorkingSetAction.text= Select &Working Set...
-SelectWorkingSetAction.toolTip= Select a working set
-EditWorkingSetAction.text= &Edit Active Working Set...
-EditWorkingSetAction.toolTip= Edit the active working set
-EditWorkingSetAction.error.nowizard.title= Edit Working Set
-EditWorkingSetAction.error.nowizard.message= Can not edit the active working set.
-ClearWorkingSetAction.text= Deselect Wor&king Set
-ClearWorkingSetAction.toolTip= Deselect the active working set
-
-# --- Operations ---
-CopyProjectOperation.progressTitle = Copying:
-CopyProjectOperation.copyFailedMessage = Problems occurred copying the project.
-CopyProjectOperation.copyFailedTitle = Copy Problems
-CopyProjectOperation.internalError = Internal error: {0}
-CopyProjectOperation.copyProject = Copy Project
-
-CopyFilesAndFoldersOperation.copyFailedTitle = Copy Problems
-CopyFilesAndFoldersOperation.problemMessage = Problems occurred copying the selected resources.
-CopyFilesAndFoldersOperation.operationTitle = Copying
-CopyFilesAndFoldersOperation.nameCollision = A resource name collision was detected.
-CopyFilesAndFoldersOperation.internalError = Internal error: {0}
-CopyFilesAndFoldersOperation.resourceExists = Resource Exists
-CopyFilesAndFoldersOperation.overwriteQuestion = {0} exists. Do you wish to overwrite?
-CopyFilesAndFoldersOperation.overwriteMergeQuestion = {0} exists. Do you wish to overwrite?\nFolder contents will be merged, existing files will be overwritten.
-CopyFilesAndFoldersOperation.linkedFolder = Linked Resource
-CopyFilesAndFoldersOperation.deepCopyQuestion = Do you wish to perform a deep copy of linked resource {0}?
-CopyFilesAndFoldersOperation.deepMoveQuestion = Do you wish to perform a deep move of linked resource {0}?
-CopyFilesAndFoldersOperation.copyNameTwoArgs = Copy ({0}) of {1}
-CopyFilesAndFoldersOperation.copyNameOneArg = Copy of {0}
-CopyFilesAndFoldersOperation.destinationAccessError = Destination folder must be accessible.
-CopyFilesAndFoldersOperation.destinationDescendentError = Destination cannot be a descendent of the source.
-CopyFilesAndFoldersOperation.overwriteProblem = The folder {0} already exists and cannot be overwritten since it contains {1}.
-CopyFilesAndFoldersOperation.overwriteProblemTitle = Overwrite Problem
-CopyFilesAndFoldersOperation.deletingCollision = Deleting collisions
-CopyFilesAndFoldersOperation.copying = Copying
-CopyFilesAndFoldersOperation.question = Question
-CopyFilesAndFoldersOperation.importErrorDialogTitle = Import Problems
-CopyFilesAndFoldersOperation.inputDialogTitle = Name Conflict
-CopyFilesAndFoldersOperation.inputDialogMessage = Enter a new name for ''{0}''
-CopyFilesAndFoldersOperation.nameExists = A resource with that name already exists
-CopyFilesAndFoldersOperation.nameMustBeDifferent = You must use a different name
-CopyFilesAndFoldersOperation.sameSourceAndDest = Cannot copy {0}. The source and destination are the same.
-CopyFilesAndFoldersOperation.importSameSourceAndDest = Cannot import {0}. The source and destination are the same.
-CopyFilesAndFoldersOperation.resourceDeleted = The resource {0} does not exist.
-CopyFilesAndFoldersOperation.linkCopyToNonProject = Destination of a linked resource must be a project.
-CopyFilesAndFoldersOperation.missingPathVariable = The resource {0} is linked using a missing path variable.
-
-MoveFilesAndFoldersOperation.sameSourceAndDest = Cannot move {0}. The source and destination are the same.
-MoveFilesAndFoldersOperation.moveFailedTitle = Move Problems
-MoveFilesAndFoldersOperation.problemMessage = Problems occurred moving the selected resources.
-
-# ==============================================================================
-# Drill Actions
-# ==============================================================================
-GoHome.text = Go &Home
-GoHome.toolTip = Home
-GoBack.text = Go &Back
-GoBack.toolTip = Back
-GoInto.text = Go &Into
-GoInto.toolTip = Go Into
-
-
-# ==============================================================================
-# Capability selection group
-# ==============================================================================
-ProjectCapabilitySelectionGroup.categories = Ca&tegories:
-ProjectCapabilitySelectionGroup.capabilities = &Capabilities:
-ProjectCapabilitySelectionGroup.description = &Description:
-ProjectCapabilitySelectionGroup.grayItems = Note that some checked capabilities appear grayed out because they are\nrequired by other checked capabilities.
-ProjectCapabilitySelectionGroup.disabledLabel = Disabled: {0}
-ProjectCapabilitySelectionGroup.errorTitle = Capability Problem
-ProjectCapabilitySelectionGroup.disabledCapability = The disabled capability cannot be added to the project.
-ProjectCapabilitySelectionGroup.invalidCapability = The missing capability cannot be added to the project.
-ProjectCapabilitySelectionGroup.missingPrereqs = The {0} capability requires a capability that is disabled or missing ({1}).\n\nThe {0} capability cannot be checked.
-ProjectCapabilitySelectionGroup.requiredPrereq = The {0} capability is required by the {1} capability, which is checked.\n\nThe {0} capability must remain checked.
-ProjectCapabilitySelectionGroup.requiredPrereqs = The {0} capability is required by the following checked capabilities: {1}\n\nThe {0} capability must remain checked.
-ProjectCapabilitySelectionGroup.membershipConflict = The project cannot have both the {0} and {1} capabilities at the same time. Uncheck the {1} capability first.
-ProjectCapabilitySelectionGroup.membershipPrereqConflict = The {0} capability requires the {1} capability. However the project cannot have both the {1} and {2} capabilities at the same time. Uncheck the {2} capability first.
-
-Capability.nameMissing = Missing ({0})
-
-ICategory.other = Other
-
-# ==============================================================================
-# Wizards
-# ==============================================================================
-NewWizard.title = New
-NewWizardNewPage.description = The following resource creation wizards are available.
-WizardList.description = The following wizards are available.
-Select = Select
-NewWizardSelectionPage.description = Select a wizard
-NewWizardShortcutAction.errorTitle = Problem Opening Wizard
-NewWizardShortcutAction.errorMessage = The selected wizard could not be started.
-
-NewWizardsRegistryReader.otherCategory = Other
-
-WorkbenchWizard.errorMessage = The selected wizard could not be started.
-WorkbenchWizard.errorTitle = Problem Opening Wizard
-WizardDataTransfer.existsQuestion = {0} already exists.  Would you like to overwrite it?
-WizardDataTransfer.overwriteNameAndPathQuestion = Overwrite {0} in folder {1}?
-WizardDataTransfer.exceptionMessage =  Error occured during operation: {0}
-WizardTransferPage.selectTypes = Select &Types...
-WizardTransferPage.selectAll = &Select All
-WizardTransferPage.deselectAll = &Deselect All
-TypesFiltering.title = Select Types
-TypesFiltering.message = Reduce selection to only files of &type(s):
-TypesFiltering.otherExtensions = &Other Extensions:
-TypesFiltering.typeDelimiter = ,
-
-NewProjectWizard.windowTitle = New Configurable Project
-NewProjectWizard.title = Project
-NewProjectWizard.errorTitle = New Project Problems
-NewProjectWizard.invalidCapabilities = The requested group of capabilities is invalid.
-NewProjectWizard.noWizard = The current step, {0}, could not be started. This wizard will be closed.\n\nThe project will not be configured correctly. Open the project''s properties to add missing capabilities.
-
-CreateProjectWizard.errorTitle = Creation Problems
-CreateProjectWizard.internalError = Internal error: {0}
-CreateProjectWizard.caseVariantExistsError = The project contents directory specified is being used by another project. Please enter a new project contents directory.
-
-RemoveCapabilityWizard.errorMessage = Remove Capability Problem
-RemoveCapabilityWizard.internalError = Internal error: {0}
-
-WizardNewProjectCapabilityPage.description = Choose project's capabilities
-WizardNewProjectCapabilityPage.noCapabilities = There are no capabilities available to choose from.
-WizardProjectReviewPage.description = Review project
-WizardProjectConfigurePage.description = Configure project's capability
-
-UpdateProjectCapabilityWizard.windowTitle = Update Project
-UpdateProjectCapabilityWizard.title = Project
-UpdateProjectCapabilityWizard.errorTitle = Update Project Problems
-UpdateProjectCapabilityWizard.noWizard = The current step, {0}, could not be started. This wizard will be closed.\n\nThe project will not be configured correctly.
-
-WizardStepGroup.stepsLabel = &Steps:
-MultiStepReviewWizardPage.detailsLabel = &Details:
-MultiStepReviewWizardPage.instructionNextLabel = Review steps and press Next button when ready to continue.
-MultiStepReviewWizardPage.instructionFinishLabel = Review steps and press Finish button when ready to continue.
-
-MultiStepWizard.finishLabel = &Finish Step
-
-CreateProjectStep.label = Create Project
-CreateProjectStep.details = This step will create a new project resource named "{0}".
-
-InstallCapabilityStep.label = Add {0}
-
-RemoveCapabilityStep.label = Remove {0}
-RemoveCapabilityStep.defaultDescription0 = Removes the {0} capability from the project.
-RemoveCapabilityStep.defaultDescription1 = Removes the {0} capability from the project, along with the {1} capability.
-RemoveCapabilityStep.defaultDescription2 = Removes the {0} capability from the project, along with the following capabilities: {1}.
-
-ProjectCapabilitySimpleSelectionPage.description = Choose a capability
-ProjectCapabilitySimpleSelectionPage.title = Select
-ProjectCapabilitySimpleSelectionPage.windowTitle = Add Capability
-ProjectCapabilitySimpleSelectionPage.capabilityExist = The project already has the chosen capability.
-ProjectCapabilitySimpleSelectionPage.capabilityRequired = The chosen capability requires the {0} capability to be added first.
-ProjectCapabilitySimpleSelectionPage.capabilityMissing = The chosen capability requires a missing capability ({0}).
-ProjectCapabilitySimpleSelectionPage.capabilitySet = The chosen capability cannot be added until the {0} capability is removed.
-
-# --- Import ---
-ImportWizard.title = Import
-ImportWizard.selectSource = &Select an import source:
-WizardImportPage.specifyFolder = Please specify folder
-WizardImportPage.folderMustExist = Folder must be accessible.
-WizardImportPage.errorDialogTitle = Import Problems
-WizardImportPage.folder = Folder:
-WizardImportPage.browseLabel = Browse...
-WizardImportPage.browse2 = Bro&wse...
-WizardImportPage.selectFolderLabel = Select a folder to import into:
-WizardImportPage.destinationLabel = Select the destination for imported resources:
-WizardImportPage.options = Options:
-WizardImportPage.projectNotExist = Destination project does not exist.
-WizardImportPage.importOnReceiver = Source is in the hierarchy of the destination.
-WizardImportPage.noOpenProjects = Cannot import into a workspace with no open projects. Please create a project before importing.
-WizardImportPage.undefinedPathVariable = Destination folder location is based on an undefined path variable.
-WizardImportPage.containerNotExist = Destination folder does not exist.
-
-# --- Export ---
-ExportWizard.title = Export
-ExportWizard.selectDestination = &Select an export destination:
-WizardExportPage.errorDialogTitle = Export Problems
-WizardExportPage.mustExistMessage = Resource must exist.
-WizardExportPage.mustBeAccessibleMessage = Resource must be accessible.
-WizardExportPage.detailsMessage = All file resources matching this criteria
-WizardExportPage.whatLabel = Select the resources to &export:
-WizardExportPage.whereLabel = Select the export destination:
-WizardExportPage.options = Options:
-WizardExportPage.selectionDialogMessage = Select the resource types to export.
-WizardExportPage.resourceTypeDialog = Resource Type Selection
-WizardExportPage.progressMessage = Retrieving content:
-WizardExportPage.contentRetrievalProblems = Content Retrieval Problems
-WizardExportPage.contentRetrievalProblemsMessage = Problems occurred retrieving content for the selected resources.
-WizardExportPage.folder = Fo&lder:
-WizardExportPage.browse = Browse...
-WizardExportPage.allTypes = All types
-WizardExportPage.specificTypes = Specific types:
-WizardExportPage.edit = Edit...
-WizardExportPage.details = Details...
-WizardExportPage.selectResourcesTitle = Select the resources to export.
-WizardExportPage.oneResourceSelected = 1 resource selected
-WizardExportPage.selectResourcesToExport = Select the resource to export.
-WizardExportPage.internalErrorTitle = Internal error
-WizardExportPage.internalErrorMessage = Internal error: {0} 
-WizardExportPage.resourceCountMessage = {0} resources selected
-
-ZipExport.problemEncountered = Problems were encountered during export:
-ZipExport.progress = Exporting:
-ZipExport.unableToOpen = Unable to open destination file: {0}
-ZipExport.unableToClose = Unable to close destination file: {0}
-ZipExport.errorOnResource = Error exporting {0}
-
-# --- New Project ---
-NewProject.title = New Project
-WizardNewProjectCreationPage.description = Create a new project
-WizardNewProjectCreationPage.locationError = Invalid project contents directory
-WizardNewProjectCreationPage.defaultLocationError = Project contents cannot be inside workspace directory
-WizardNewProjectCreationPage.projectNameEmpty = Project name must be specified
-WizardNewProjectCreationPage.projectLocationEmpty = Project contents directory must be specified
-WizardNewProjectCreationPage.projectExistsMessage = A project with that name already exists in the workspace.
-WizardNewProjectCreationPage.projectLocationExistsMessage = Another project exist at the specified content directory.
-WizardNewProjectCreationPage.projectContentsLabel = Project contents:
-WizardNewProjectCreationPage.projectContentsGroupLabel = Project contents
-WizardNewProjectCreationPage.useDefaultLabel = Use &default
-WizardNewProjectCreationPage.nameLabel = &Project name:
-WizardNewProjectCreationPage.directoryLabel = Select the project contents directory.
-WizardNewProjectCreationPage.locationLabel = Director&y:
-WizardNewProjectCreationPage.browseLabel = B&rowse...
-WizardNewProjectReferences.title = &Referenced projects:
-
-# --- New Folder ---
-WizardNewFolderMainPage.folderName = Folder &name:
-WizardNewFolderMainPage.folderLabel = folder
-WizardNewFolderMainPage.advancedButtonCollapsed = &Advanced >
-WizardNewFolderMainPage.advancedButtonExpanded = &Advanced <
-WizardNewFolderMainPage.description = Create a new folder resource.
-WizardNewFolderCreationPage.progress = Creating
-WizardNewFolderCreationPage.errorTitle = Creation Problems
-WizardNewFolderCreationPage.internalErrorTitle = Creation problems
-WizardNewFolder.internalError = Internal error: {0}
-
-# --- New File ---
-WizardNewFileCreationPage.progress = Creating
-WizardNewFileCreationPage.errorTitle = Creation Problems
-WizardNewFileCreationPage.fileLabel = File &name:
-WizardNewFileCreationPage.file = file
-WizardNewFileCreationPage.advancedButtonCollapsed = &Advanced >
-WizardNewFileCreationPage.advancedButtonExpanded = &Advanced <
-WizardNewFileCreationPage.internalErrorTitle = Creation problems
-WizardNewFileCreationPage.internalErrorMessage = Internal error: {0}
-WizardNewFileCreationPage.fileExistsMessage = A file {0} already exists in the file system.
-
-# --- Linked Resource ---
-WizardNewLinkPage.linkFileButton = &Link to file on the file system
-WizardNewLinkPage.linkFolderButton = &Link to folder on the file system
-WizardNewLinkPage.browseButton = &Browse...
-WizardNewLinkPage.variablesButton = &Variables...
-WizardNewLinkPage.targetSelectionLabel = Select the link target.
-WizardNewLinkPage.linkTargetEmpty = Link target must be specified
-WizardNewLinkPage.linkTargetInvalid = Link target name is invalid
-WizardNewLinkPage.linkTargetLocationInvalid = Link target location is invalid
-WizardNewLinkPage.linkTargetNonExistent = Link target does not exist
-WizardNewLinkPage.linkTargetNotFile = Link target must be a file
-WizardNewLinkPage.linkTargetNotFolder = Link target must be a folder
-
-# ==============================================================================
-# Preference Pages
-# ==============================================================================
-PreferenceNode.errorTitle = Preference Page Creation Problems
-PreferenceNode.errorMessage = Unable to create the selected preference page.
-Preference.note = Note:
-
-# --- Workbench ---
-WorkbenchPreference.acceleratorConfiguration = &Key bindings: 
-WorkbenchPreference.autobuild = Perform &build automatically on resource modification
-WorkbenchPreference.savePriorToBuilding = Save all &modified resources automatically prior to manual build
-WorkbenchPreference.refreshButton = &Refresh Workspace on startup
-WorkbenchPreference.editorsListButton = &Show Editors drop-down
-WorkbenchPreference.closeEditorsButton = Close all editors on &exit
-WorkbenchPreference.showTasks = Show &Tasks view when build has errors or warnings
-WorkbenchPreference.replaceCurrent = &Replace current
-WorkbenchPreference.control = Ctrl
-WorkbenchPreference.shift = Shift
-WorkbenchPreference.shiftAlt = Shift-Alt
-WorkbenchPreference.encoding = Text file encoding 
-WorkbenchPreference.defaultEncoding = Defaul&t ({0})
-WorkbenchPreference.otherEncoding = &Other:
-WorkbenchPreference.unsupportedEncoding = The selected encoding is not supported.
-WorkbenchPreference.numDefaultEncodings = 6
-WorkbenchPreference.defaultEncoding1 = ISO-8859-1
-WorkbenchPreference.defaultEncoding2 = UTF-8
-WorkbenchPreference.defaultEncoding3 = UTF-16
-WorkbenchPreference.defaultEncoding4 = UTF-16BE
-WorkbenchPreference.defaultEncoding5 = UTF-16LE
-WorkbenchPreference.defaultEncoding6 = US-ASCII
-
-# --- Appearance ---
-ViewsPreference.colorIcons = Show color &icons in toolbars
-ViewsPreference.editors = Editor tab positions
-ViewsPreference.editors.top = &Top
-ViewsPreference.editors.bottom = &Bottom
-ViewsPreference.views = View tab positions
-ViewsPreference.views.top = To&p
-ViewsPreference.views.bottom = Botto&m
-ViewsPreference.note = Note:
-ViewsPreference.applyMessage = Changes to the above settings are not applied to the current workbench. \nRestart the workbench to use the new settings.
-ViewsPreference.ColorsTitle = Workbench colors
-ViewsPreference.ErrorText =  &Error text
-ViewsPreference.HyperlinkText = &Hyperlink text
-ViewsPreference.ActiveHyperlinkText = A&ctive hyperlink text
-
-# --- Path Variables ---
-PathVariablesPreference.explanation = Path variables specify a location in the file system for the \ncreation of linked resources with paths relative to the variable.  
-
-PathVariableDialog.shellTitle.newVariable = New Variable
-PathVariableDialog.shellTitle.existingVariable = Edit Variable
-PathVariableDialog.dialogTitle.newVariable = Define a New Path Variable
-PathVariableDialog.dialogTitle.existingVariable = Edit an Existing Path Variable
-PathVariableDialog.message.newVariable = Enter a new variable name and its associated location.
-PathVariableDialog.message.existingVariable = Edit variable's name and path value.
-PathVariableDialog.variableName = &Name:
-PathVariableDialog.variableValue = &Location:
-PathVariableDialog.variableNameEmptyMessage = You must provide a variable name.
-PathVariableDialog.variableValueEmptyMessage = You must provide a file or folder path as variable value.
-PathVariableDialog.variableValueInvalidMessage = The provided value is not a valid path.
-PathVariableDialog.file = &File...
-PathVariableDialog.folder = F&older...
-PathVariableDialog.selectFileTitle = File selection
-PathVariableDialog.selectFolderTitle = Folder selection
-PathVariableDialog.selectFolderMessage = &Specify folder to be represented by the variable.
-PathVariableDialog.variableAlreadyExistsMessage = This variable name is already in use.
-PathVariableDialog.pathIsRelativeMessage = Path must be absolute.
-PathVariableDialog.pathDoesNotExistMessage = Path does not exist.
-
-# --- File Editors ---
-FileEditorPreference.fileTypes = File &types:
-FileEditorPreference.add = &Add...
-FileEditorPreference.remove = &Remove
-FileEditorPreference.associatedEditors = Associated &editors:
-FileEditorPreference.addEditor = A&dd...
-FileEditorPreference.removeEditor = Re&move
-FileEditorPreference.default = De&fault
-FileEditorPreference.existsTitle = File Type Exists
-FileEditorPreference.existsMessage = An entry already exists for that file type
-FileEditorPreference.type = Type
-FileEditorPreference.defaultLabel = (default)
-
-FileExtension.extensionEmptyMessage = The file extension cannot be empty
-FileExtension.fileNameInvalidMessage = The file name cannot include the wild card character (*) in the current location
-FileExtension.fileTypeMessage = Enter file type to add: (e.g. *.doc or report.doc)
-FileExtension.fileTypeLabel = File &type: 
-FileExtension.shellTitle = New File Type
-FileExtension.dialogTitle = Define a New File Type
-
-Choose_the_editor_for_file = Choose the editor for files of type ({0})
-EditorSelection.chooseAnEditor = Choose an editor:
-EditorSelection.internal = &Internal Editors
-EditorSelection.external = &External Programs
-EditorSelection.browse = &Browse...
-EditorSelection.title = Editor Selection
-
-# --- Local History ---
-FileHistory.longevity = Days to &keep files:
-FileHistory.entries = &Entries per file:
-FileHistory.diskSpace = &Maximum file size (MB):
-FileHistory.mustBePositive = Values must be positive
-FileHistory.invalid = Invalid value: {0} 
-FileHistory.exceptionSaving = Internal error saving local history
-FileHistory.aboveMaxEntries = Above maximum Entries per file: {0}
-FileHistory.aboveMaxFileSize = Above maximum File size value: {0}
-FileHistory.restartNote = The Entries per file and Days to keep files values are only applied on Workbench restart. 
-
-# --- Perspectives ---
-OpenPerspectiveMode.optionsTitle = Open a new perspective
-OpenPerspectiveMode.sameWindow = In the &same window
-OpenPerspectiveMode.newWindow = In a &new window
-PerspectivesPreference.MakeDefault = Ma&ke Default
-PerspectivesPreference.MakeDefaultTip = Make the Current Selection the Default Perspective
-PerspectivesPreference.Reset = &Reset
-PerspectivesPreference.ResetTip = Reset the Current Selection to its Original Value
-PerspectivesPreference.Delete = D&elete
-PerspectivesPreference.DeleteTip = Delete a User Defined Perspective
-PerspectivesPreference.available = A&vailable perspectives:
-PerspectivesPreference.defaultLabel = {0} (default)
-PerspectivesPreference.cannotdelete.title=Unable to delete perspective
-PerspectivesPreference.cannotdelete.message=Unable to delete perspective {0}. It has open instances.
-							
-PerspectiveLabelProvider.unknown = Unknown Element Type
-OpenViewMode.title = Open a new view
-OpenViewMode.embed = Within the &perspective
-OpenViewMode.fast = As &fast view
-OpenViewMode.float = As f&loating view
-
-#---- General Preferences----
-PreferencePage.noDescription = (No description available)
-
-# --- Workbench -----
-WorkbenchPreference.projectOptionsTitle = New project options
-WorkbenchPreference.switch = S&witch to recommended perspective 
-WorkbenchPreference.openMode=Open mode
-WorkbenchPreference.doubleClick=D&ouble click
-WorkbenchPreference.singleClick=&Single click
-WorkbenchPreference.singleClick_SelectOnHover=Select on &hover
-WorkbenchPreference.singleClick_OpenAfterDelay=Open when using arrow &keys
-WorkbenchPreference.noEffectOnAllViews=This preference may not take effect on all views
-
-# --- Build Order --- 
-BuildOrderPreference.up = &Up
-BuildOrderPreference.down = Dow&n
-BuildOrderPreference.add = Add &Project...
-BuildOrderPreference.remove = &Remove Project
-BuildOrderPreference.selectProject = Select a Project
-BuildOrderPreference.selectOtherProjects = Select &projects to add to build path:
-BuildOrderPreference.useDefaults = Use d&efault build order
-BuildOrderPreference.projectBuildOrder = Project build &order:
-BuildOrderPreference.removeNote = A project removed from the list is still built but after those specified in the list.
-
-# --- Fonts ---
-FontsPreference.fonts = &Fonts:
-FontsPreference.preview = &Preview:
-FontsPreference.SampleText=AaBbYyZz
-FontsPreference.useSystemFont=&Use System Font
-FontsPreference.description=De&scription:
-
-# --- Decorators ---
-DecoratorsPreferencePage.description = Descriptio&n:
-DecoratorsPreferencePage.decoratorsLabel = Available &label decorations:
-DecoratorsPreferencePage.explanation = Label decorations show extra information about an item on its label or icon.\n\Select which additional decorations should be displayed.
-
-# --- Startup preferences ---
-StartupPreferencePage.label=&Plugins activated on startup:
-
-# ==============================================================================
-# Property Pages
-# ==============================================================================
-PropertyDialog.text = P&roperties
-PropertyDialog.toolTip = Open Properties Dialog
-PropertyDialog.messageTitle = Property Pages
-PropertyDialog.noPropertyMessage = No property pages for {0}.
-PropertyDialog.propertyMessage = Properties for {0}
-PropertyPageNode.errorTitle = Property Page Creation Problems
-PropertyPageNode.errorMessage = Unable to create the selected property page.
-
-# --- Info ---
-ResourceInfo.readOnly = &Read Only
-ResourceInfo.derived = Deri&ved
-ResourceInfo.name = Name:
-ResourceInfo.type = Type:
-ResourceInfo.location = Location:
-ResourceInfo.resolvedLocation = Resolved location:
-ResourceInfo.size = Size:
-ResourceInfo.bytes = {0}  bytes
-ResourceInfo.file = File
-ResourceInfo.folder = Folder
-ResourceInfo.project = Project
-ResourceInfo.linkedFile = Linked File
-ResourceInfo.linkedFolder = Linked Folder
-ResourceInfo.unknown = Unknown
-ResourceInfo.notLocal = <file contents not local>
-ResourceInfo.undefinedPathVariable = <undefined path variable>
-ResourceInfo.notExist = <resource does not exist>
-ResourceInfo.fileNotExist = - (does not exist)
-ResourceInfo.path = Path: 
-ResourceInfo.lastModified = Last Modified:
-
-# --- Project References ---
-ProjectReferencesPage.label = Projects may refer to other projects in the workspace.\nUse this page to specify what other projects are referenced by the project.\n\n&Project references for {0}:
-
-# --- Project Capabilities ---
-ProjectCapabilityPropertyPage.chooseCapabilities = Choose the capabilities for the project.
-ProjectCapabilityPropertyPage.noCapabilities = There are no capabilities available to choose from.
-ProjectCapabilityPropertyPage.errorTitle = Project Capability Problems
-ProjectCapabilityPropertyPage.internalError = Internal error updating project''s capabilities.
-ProjectCapabilityPropertyPage.invalidSelection = The requested project capability changes are invalid.
-
-ProjectCapabilityEditingPropertyPage.add = &Add...
-ProjectCapabilityEditingPropertyPage.remove = &Remove
-ProjectCapabilityPropertyPage.capabilityRequired = The chosen capability is required by the {0} capability and cannot be removed.
-
-# ==============================================================================
-# Editors
-# ==============================================================================
-OleEditor.renameTitle = Rename File
-OleEditor.renameMessage = Enter new file name:
-OleEditor.errorSaving = Exception saving file
-OleEditor.oleExceptionTitle = OLE Exception
-OleEditor.oleExceptionMessage = OLE Error Saving 
-OleEditor.savingTitle = Error Saving
-OleEditor.savingMessage = Could not save 
-OleEditor.invalidInput = Invalid Input: {0}.  Input must implement IFileEditorInput
-OleEditor.noFileInput = Invalid Input: {0}.  Input must also exist in the filesystem
-
-SystemEditorDescription.name = &System Editor
-DefaultEditorDescription.name = &Default Editor
-
-WelcomeEditor.accessException = An exception occurred when trying to access the welcome page
-WelcomeEditor.readFileError = Error in WelcomeEditor.readFile
-WelcomeEditor.title = Welcome
-WelcomeEditor.toolTip = Welcome to {0}
-WelcomeEditor.copy.text=&Copy
-
-WelcomeItem.unableToLoadClass = Unable to load class 
-WelcomeParser.parseError = Error in WelcomeParser.parse
-WelcomeParser.parseException = An exception occurred when parsing the welcome page
-Workbench.openEditorErrorDialogTitle = Problem
-Workbench.openEditorErrorDialogMessage = Unable to open editor
-QuickStartAction.openEditorException = An exception occurred when opening the editor
-
-# ==============================================================================
-# Dialogs
-# ==============================================================================
-Error = Error
-Information = Information
-Question = Question
-
-WorkbenchPreferenceDialog.load = Import...
-WorkbenchPreferenceDialog.save = Export...
-WorkbenchPreferenceDialog.verifyErrorMessage = The file {0} is not a valid preference file.
-WorkbenchPreferenceDialog.verifyWarningMessage = There is a minor compatibility problem with the preferences in file {0}. Do you wish to continue? 
-WorkbenchPreferenceDialog.loadErrorTitle = Import Problem
-WorkbenchPreferenceDialog.loadErrorMessage = Unable to import preferences from file {0}
-WorkbenchPreferenceDialog.loadTitle = Import
-WorkbenchPreferenceDialog.loadMessage = Preferences imported from file {0}.
-WorkbenchPreferenceDialog.saveErrorTitle = Export Problem
-WorkbenchPreferenceDialog.saveErrorMessage = Unable to export preferences to file {0}
-WorkbenchPreferenceDialog.saveTitle = Export
-WorkbenchPreferenceDialog.saveMessage = Preferences exported to file {0}.
-WorkbenchPreferenceDialog.existsErrorMessage = {0} already exists.  Would you like to overwrite it?
-WorkbenchPreferenceDialog.noPreferencesMessage = No preferences have been set. 
-
-ContainerSelectionDialog.title = Folder Selection
-ContainerSelectionDialog.message = Enter or select the folder:
-
-ContainerGroup.message = &Enter or select the folder:
-ContainerGroup.selectFolder = Select the folder:
-
-ContainerGenerator.progressMessage = Generate Folder
-
-ResourceGroup.resource = resource
-ResourceGroup.nameExists = The same name already exists.
-ResourceGroup.folderEmpty = The folder is empty.
-ResourceGroup.noProject = The specified project does not exist.
-ResourceGroup.emptyName = The {0} name is empty.
-ResourceGroup.containsSeparator = The {0} name contains a separator.
-ResourceGroup.invalidFilename = {0} is not a valid file name.
-
-FileSelectionDialog.title = File Selection
-FileSelectionDialog.message = Select the files:
-
-ListSelection.title = Selection Needed
-ListSelection.message = Select the items:
-
-ProjectLocationSelectionDialog.nameLabel = &Project name:
-ProjectLocationSelectionDialog.locationLabel = &Location:
-ProjectLocationSelectionDialog.browseLabel = &Browse...
-ProjectLocationSelectionDialog.directoryLabel = Select the location directory.
-ProjectLocationSelectionDialog.locationError = Invalid location path
-ProjectLocationSelectionDialog.selectionTitle = Project
-ProjectLocationSelectionDialog.useDefaultLabel = Use &default location
-
-ProjectPerspectiveChoiceDialog.title = Choose Perspective
-ProjectPerspectiveChoiceDialog.choosePerspective = Show project in &perspective:
-ProjectPerspectiveChoiceDialog.options = Options
-ProjectPerspectiveChoiceDialog.newWindow = &New window
-ProjectPerspectiveChoiceDialog.sameWindow = &Same window
-ProjectPerspectiveChoiceDialog.errorTitle = Show Perspective Problem
-ProjectPerspectiveChoiceDialog.errorMessage = Unable to show the chosen perspective.
-
-ResourceSelectionDialog.title = Resource Selection
-ResourceSelectionDialog.message = Select the resources:
-
-SelectionDialog.selectLabel = &Select All
-SelectionDialog.deselectLabel = &Deselect All
-
-MarkerResolutionSelectionDialog.title = Quick Fix
-MarkerResolutionSelectionDialog.messageLabel = Available fixes:
-
-ElementTreeSelectionDialog.nothing_available=No entries available.
-
-CheckedTreeSelectionDialog.nothing_available=No entries available.
-CheckedTreeSelectionDialog.select_all=Select &All
-CheckedTreeSelectionDialog.deselect_all=&Deselect All
-
-MultiElementListSelectionDialog.pageInfoMessage=Page {0} of {1}
-
-FilterDialog.workingSet = Select a &working set (matching files will be shown):
-FilterDialog.workingSetOther = Other...
-
-CopyToClipboardProblemDialog.title=Problem Copying to Clipboard
-CopyToClipboardProblemDialog.message=There was a problem when accessing the system clipboard. Retry?
-
-ResourceSelectionDialog.label = Choose a resource:
-ResourceSelectionDialog.pattern = &Pattern (? = any character, * = any string):
-ResourceSelectionDialog.matching = &Matching Resources:
-ResourceSelectionDialog.folders = In &Folders:
-
-OpenResourceDialog.title = Open Resource
-
-NewFolderDialog.title = New Folder
-NewFolderDialog.nameLabel = &Folder name:
-NewFolderDialog.alreadyExists = Folder {0} already exists.
-NewFolderDialog.folderNameEmpty = Folder name must be specified
-NewFolderDialog.progress = Creating new folder
-NewFolderDialog.errorTitle = Creation Problems
-NewFolderDialog.internalError = Internal error: {0}
-
-CreateLinkedResourceGroup.linkFileButton = &Link to file in the file system
-CreateLinkedResourceGroup.linkFolderButton = &Link to folder in the file system
-CreateLinkedResourceGroup.browseButton = &Browse...
-CreateLinkedResourceGroup.variablesButton = &Variables...
-CreateLinkedResourceGroup.resolvedPathLabel = Resolved location:
-CreateLinkedResourceGroup.targetSelectionLabel = Select the link target.
-CreateLinkedResourceGroup.linkTargetEmpty = Link target must be specified
-CreateLinkedResourceGroup.linkTargetNotFile = Link target must be a file
-CreateLinkedResourceGroup.linkTargetNotFolder = Link target must be a folder
-CreateLinkedResourceGroup.linkTargetInvalid = Link target name is invalid
-CreateLinkedResourceGroup.linkTargetNonExistent = Link target does not exist
-CreateLinkedResourceGroup.linkTargetNotAbsolute = Link target must be absolute path or path variable and relative path.
-
-PathVariablesBlock.variablesLabel = &Defined path variables:
-PathVariablesBlock.addVariableButton = &New...
-PathVariablesBlock.editVariableButton = &Edit...
-PathVariablesBlock.removeVariableButton = &Remove
-
-PathVariableSelectionDialog.title = Select Path Variable
-
-ShowInDialog.title = Show In
-ShowInDialog.message = Select the &view in which to show the selection:
-
-# ==============================================================================
-# Editor Framework
-# ==============================================================================
-EditorManager.saveResourcesMessage = Select the &resources to save:
-EditorManager.saveResourcesTitle = Save Resources
-EditorManager.saveFailed = Save Failed
-EditorManager.exceptionRestoringEditor = Internal error activating an Editor.
-EditorManager.unableToCreateEditor = Unable to create editor: {0}.
-EditorManager.systemEditorError = System editor can only open file base resources.
-EditorManager.unableToInstantiate = Unable to instantiate editor: {0} {1}
-EditorManager.siteIncorrect = Editor initialization failed: {0}.  Site is incorrect.
-EditorManager.saveFailedMessage = Save Failed: {0}
-EditorManager.unknownEditorIDMessage = Unable to open editor, unknown editor ID: {0}
-EditorManager.errorOpeningExternalEditor = Unable to open external editor {0} ({1}).
-EditorManager.errorInitializingExternalEditor = Unable to open external editor {0} ({1}){2}).
-EditorManager.unableToOpenExternalEditor = Unable to open external editor for {0}.
-EditorManager.unableToOpenEditor=Unable to open editor for {0}.
-EditorManager.operationFailed = {0} Failed
-EditorManager.saveChangesQuestion = {0} has been modified. Save changes?
-EditorPane.errorMessage = An error has occurred when creating this editor
-EditorPane.moveEditor=&Editor
-EditorPane.moveFolder=&Tab Group
-EditorPane.pinEditor=&Pin
-
-OpenSystemEditorAction.pageError = Workbench page must be supplied to OpenSystemEditorAction
-OpenSystemEditorAction.logTitle = Error in OpenSystemEditorAction.openFile
-OpenSystemEditorAction.dialogTitle = Problems Opening System Editor
-OpenSystemEditorAction.text = &System Editor
-OpenSystemEditorAction.toolTip = Edit File With System Editor
-
-ExternalEditor.errorMessage = Error opening external editor ({0}).
-) = )
-Save = Save
-Save_Resource = Save Resource
-Save_All = Save All
-
-
-# ==============================================================================
-# Perspective Framework
-# ==============================================================================
-OpenNewPage.text = Open In Same Window
-OpenNewPage.toolTip = Open In Same Window
-OpenNewPage.errorTitle = Problems Opening Perspective
-
-OpenNewPageMenu.dialogTitle = Problems Opening Page
-OpenNewPageMenu.unknownPageInput = Unknown Page Input
-
-OpenNewWindowMenu.dialogTitle = Problems Opening Window
-OpenNewWindowMenu.unknownInput = Unknown Window Input
-
-OpenPerspectiveMenu.pageProblemsTitle = Problems Opening Perspective
-OpenPerspectiveMenu.errorUnknownInput = Unknown Perspective Input
-OpenPerspectiveMenu.dialogTitle = Problems Opening Window
-OpenPerspectiveMenu.unknownInput = Unknown Window Input
-
-Perspective.oneErrorRestoring = An error has occurred while restoring the workbench: See error log for more details.
-Perspective.multipleErrorsRestoring = Errors have occurred while restoring the workbench: See error log for more details.
-
-Perspective.oneError = An error has occurred while saving the workbench: See error log for more details.
-Perspective.multipleErrors = Errors have occurred while saving the workbench: See error log for more details.
-
-Perspective.problemRestoringTitle = Restoring Problems
-Perspective.errorReadingState = Unable to read workbench state.
-Perspective.problemLoadingTitle = Loading Problems
-Perspective.errorLoadingState = Unable to load perspective.
-WorkbenchPage.problemRestoringTitle = Restoring Problems
-WorkbenchPage.errorReadingState = Unable to read workbench state.
-
-Perspective.problemSavingTitle = Saving Problems
-Perspective.problemSavingMessage = Unable to store layout state.
-
-Perspective.unableToLoad = Unable to load perspective: {0}
-Perspective.exceptionRestoringView = An error has occurred while restoring the view: {0}
-Perspective.couldNotFind = Could not find view: {0}
-
-PerspectiveContributionItem.toolTip = Open a Perspective
-
-# ==============================================================================
-# Views Framework
-# ==============================================================================
-Menu = Menu
-Close = Close
-ViewPane.fastView = &Fast View
-ViewPane.minimize = Minimize
-ViewPane.minimizeView= Mi&nimize
-ViewPane.pin = Fast View
-ViewPane.errorMessage = An error has occurred when creating this view
-ViewPane.moveView=&View
-ViewPane.moveFolder=&Tab Group
-
-ViewLabel.unknown = Unknown
-
-ViewFactory.initException = Unable to instantiate view: {0}
-ViewFactory.siteException = View initialization failed: {0}.  Site is incorrect.
-ViewFactory.couldNotCreate = Could not create view: {0}
-ViewFactory.couldNotSave = Could not save view: {0}
-ViewFactory.unableToRestoreViewTitle = Error Restoring View
-ViewFactory.unableToRestoreViewMessage = Unable to restore: {0}.
-
-
-# ==============================================================================
-# Workspace
-# ==============================================================================
-WorkspaceAction.problemsTitle = Problems
-WorkspaceAction.logTitle = Exception in {0}. run: {1}
-WorkbenchAction.problemsMessage = The following problems occurred.
-WorkbenchAction.internalError = Internal error.
-Workspace = Workspace
-UIWorkspaceLock.errorModDuringNotification = The resource tree is locked for modifications.
-
-
-# ==============================================================================
-# Workbench
-# ==============================================================================
-WorkbenchWindow.shellTitle = {0} - {1}
-WorkbenchWindow.noPerspective = All perspectives were closed. Select a perspective in the Window->Open Perspective menu.
-
-WorkbenchPage.UnknownLabel = <Unknown Label>
-
-WorkbenchPage.editorAlreadyOpenedMsg = {0} is opened and has unsaved changes. Do you want to save it?
-
-PartPane.restore = &Restore
-PartPane.move=&Move
-PartPane.size=&Size
-PartPane.sizeLeft=&Left
-PartPane.sizeRight=&Right
-PartPane.sizeTop=&Top
-PartPane.sizeBottom=&Bottom
-PartPane.maximize = Ma&ximize
-PartPane.close = &Close
-PartPane.unableToCreate = Unable to create part: {0}
-
-EditorManager.unableToRestoreEditorTitle = Error Restoring Editor
-EditorManager.unableToRestoreEditorMessage = Unable to restore: {0}.
-
-PluginAction.operationNotAvailableMessage = The chosen operation is not currently available.
-PluginAction.disabledMessage = The chosen operation is not enabled.
-ActionDescriptor.invalidLabel = Unknown Label
-
-XMLMemento.parserConfigError = Internal XML parser configuration error.
-XMLMemento.ioError = Could not read content of XML file.
-XMLMemento.formatError = Could not parse content of XML file.
-XMLMemento.noElement = Could not find root element node of XML file.
-
-# --- Workbench Errors/Problems ---
-WorkbenchWindow.exceptionMessage = Abnormal Workbench Condition
-WorkbenchPage.AbnormalWorkbenchCondition = Abnormal Workbench Condition
-Abnormal_Workbench_Conditi = Abnormal Workbench Condition
-WorkbenchPage.ErrorActivatingView = An error has occurred when activating this view
-WorkbenchPage.ErrorExtractingEditorIDFromMarker = Error extracting editor ID from marker
-WorkbenchPage.oneErrorClosingPage = An error has occurred while closing workbench page: See error log for more details.
-WorkbenchPage.multipleErrorsClosingPage = Errors have occurred while closing workbench page: See error log for more details.
-
-DecoratorManager.ErrorActivatingDecorator = An error has occurred activating decorator {0}.
-
-EditorRegistry.errorTitle = Load Problem
-EditorRegistry.errorMessage = Unable to load editor associations.
-
-SafeRunnable.errorMessage = An error has occurred. See error log for more details.
-ActionSetLabelProvider.Unknown = Unknown
-
-ErrorClosing = An error has occurred when closing the workbench. See error log for more details.
-ErrorClosingNoArg = An error has occurred. See error log for more details. Do you want to exit?
-ErrorClosingOneArg = An error has occurred: {0}. See error log for more details. Do you want to exit?
-ErrorReadingState = Unable to read workbench state. Workbench UI layout will be reset.
-ErrorReadingWorkbenchState = Unable to read workbench state.
-
-Internal_error = Internal error
-InternalError = Internal Error
-InternalErrorNoArg = An internal error has occurred.\nSee error log for more details.\n\nExit workspace?
-InternalErrorOneArg = An internal error has occurred.\n{0}\nSee error log for more details.\n\nExit workspace?
-
-FatalError_RecursiveError = A internal error occurred while showing an internal error.
-FatalError_OutOfMemoryError = An out of memory error has occurred.
-FatalError_StackOverflowError = A stack overflow error has occurred.
-FatalError_VirtualMachineError = A virtual machine error has occurred.
-FatalError_SWTError = A SWT error has occurred.
-FatalError = \nIt is recommended to exit the workbench.\nSubsequent errors may happen and may terminate the workbench without warning.\nSee error log for more details.\n\nExit workspace?
-
-Invalid_workbench_state_ve = Invalid workbench state version. workbench.xml will be deleted
-Workbench.incompatibleUIState = Cannot Preserve Layout
-Workbench.incompatibleSavedStateVersion = \
-  The saved user interface layout is in an obsolete format and cannot be preserved.\n\n\
-  Your projects and files will not be affected.\n\n\
-  Press OK to convert to the new format.\n\
-  Press Cancel to exit with no changes.
-ProblemSavingState = Unable to store workbench state.
-ProblemSavingWorkbench = Problems occurred while trying to save the state of the workbench.
-ProblemsSavingWorkspace = Problems saving workspace
-SavingProblem = Saving Problems
-
-Problems_Opening_Page = Problems Opening Page
-Restoring_Problem = Restoring Problem
-Restoring_Problems = Restoring Problems
-
-Workbench.instalationError = Installation error detected.
-Unhandled_exception = Unhandled exception caught in event loop.
-
-Workspace.problemMessage = Problems occurred refreshing workspace.
-Workspace.problemsTitle = Problems
-
-Workbench.problemsRestoringMsg=Could not restore workbench layout.
-Workbench.problemsSavingMsg=Could not save workbench layout.
-Workbench.problemsRestoring=Problems occurred restoring workbench.
-Workbench.problemsSaving=Problems occurred saving workbench.
-WorkbenchWindow.problemsRestoringWindow=Problems occurred restoring window.
-WorkbenchWindow.problemsSavingWindow=Problems occurred saving window.
-EditorManager.problemsRestoringEditors=Problems occurred restoring editors.
-EditorManager.problemsSavingEditors=Problems occurred saving editors.
-RootLayoutContainer.problemsRestoringPerspective=Problems occurred restoring perspective.
-RootLayoutContainer.problemsSavingPerspective=Problems occurred saving perspective.
-ViewFactory.problemsSavingViews=Problems occurred saving views.
-
-EditorManager.unableToSaveEditor=Unable to save editor: {0}.
-Perspective.problemsRestoringPerspective=Problems occurred restoring perspective.
-Perspective.problemsSavingPerspective=Problems occurred saving perspective.
-Perspective.problemsRestoringViews=Problems occurred restoring views.
-WorkbenchWindow.unableToRestorePerspective=Unable to restore perspective: {0}.
-WorkbenchPage.unableToRestorePerspective=Unable to restore perspective: {0}.
-WorkbenchPage.unableToSavePerspective=Unable to save perspective: {0}.
-Perspective.unableToRestorePerspective=Unable to restore perspective: {0}.
-
-# ==============================================================================
-# Keys with references but don't show in the UI
-# ==============================================================================
-CreateFileAction.text = New &File
-CreateFileAction.toolTip = Create New File
-CreateFileAction.title = New
-
-CreateFolderAction.text = New F&older
-CreateFolderAction.toolTip = Create New Folder
-CreateFolderAction.title = New
-
-NewWizardDropDown.text = &New Wizards
-ScrubLocalAction.problemsMessage = Problems occurred removing the local contents of the selected resources.
-ScrubLocalAction.text = Discard &Local Copy
-ScrubLocalAction.toolTip = Discard Local Contents
-ScrubLocalAction.problemsTitle = Content Removal Problems
-ScrubLocalAction.progress = Discarding content:
-
-ReplacePerspective.text = Replace With
-ReplacePerspective.toolTip = Replace Perspective
-
-TextAction.selectAll = Select All
-Cut = Cut
-Copy = Copy
-Paste = Paste
-Delete = Delete
-
-# ==============================================================================
-# Keys used in the reuse editor which is released as experimental.
-# ==============================================================================
-EditorManager.openNewEditorLabel=Open new editor
-EditorManager.reuseEditorDialogTitle=Reusing dirty editors
-PinEditorAction.text=Pin Active Editor
-PinEditorAction.toolTip=Pin the active editor so it won't be reused.
-WorkbenchPreference.reuseEditors=&Close editors automatically
-WorkbenchPreference.reuseDirtyEditorGroupTitle=When all editors are dirty or pinned
-WorkbenchPreference.promptToReuseEditor=&Prompt to save and reuse
-WorkbenchPreference.openNewEditor=Open ne&w editor
-WorkbenchPreference.reuseEditorsThreshold=Number of opened editors before closin&g:
-WorkbenchPreference.reuseEditorsThresholdError=The number of opened editors should be more than 0.
-WorkbenchPreference.recentFiles=Size of &recently opened files list:
-WorkbenchPreference.recentFilesError=The size of the recently opened files list should be between 0 and {0}.
-WorkbenchPreference.saveInterval=&Workspace save interval (in minutes):
-WorkbenchPreference.saveIntervalError=The workspace save interval should be between 1 and {0}.
-WorkbenchPreference.editorTabSpanMultipleLine=Editor tabs span multiple lines
-WorkbenchPreference.editorTabCompression=Editor tab compression
-WorkbenchPreference.editorTabCompressionNone=&None
-WorkbenchPreference.editorTabCompressionLow=&Low
-WorkbenchPreference.editorTabCompressionMedium=&Medium
-WorkbenchPreference.editorTabCompressionHigh=&High
-WorkbenchPreference.numberEditorTabs=Maximum number of editor tabs:
-WorkbenchPreference.numberEditorTabsError=The number of editor editors should be between 0 and {0}.
-WorkbenchEditorsAction.label=&Switch to Editor...
-
-WorkbenchEditorsDialog.title=Switch to Editor
-WorkbenchEditorsDialog.label=Select an &editor to switch to:
-WorkbenchEditorsDialog.closeSelected=&Close Selected Editors
-WorkbenchEditorsDialog.saveSelected=&Save Selected Editors
-WorkbenchEditorsDialog.selectClean=Se&lect Clean Editors
-WorkbenchEditorsDialog.invertSelection=&Invert Selection
-WorkbenchEditorsDialog.showAllPersp=Show editors from &all windows
-WorkbenchEditorsDialog.includeRecentlyUsed=Include &recently used editors
-WorkbenchEditorsDialog.name=Name
-WorkbenchEditorsDialog.path=Path
-WorkbenchEditorsDialog.perspective=Perspective
-WorkbenchEditorsDialog.recentlyUsed=<Recently Used>
-
-ShowPartPaneMenuAction.text=Show System Menu
-ShowPartPaneMenuAction.toolTip=Show System Menu
-ShowViewMenuAction.text=Show View Menu
-ShowViewMenuAction.toolTip=Show View Menu
-
-EditorInputTransfer.errorMessage=Received wrong transfer data.
-
-# ==============================================================================
-# Working Set Framework.
-# ==============================================================================
-ProblemSavingWorkingSetState.message = Unable to store working set state.
-ProblemSavingWorkingSetState.title = Saving Problems
-ProblemRestoringWorkingSetState.message = Unable to restore working set state.
-ProblemRestoringWorkingSetState.title = Restoring Problems
-
-WorkingSetEditWizard.title=Edit Working Set
-WorkingSetNewWizard.title=New Working Set
-
-WorkingSetTypePage.description=Select a working set type.
-WorkingSetTypePage.typesLabel=&Working set type:
-
-ResourceWorkingSetPage.title=Resource Working Set
-ResourceWorkingSetPage.description=Enter a working set name and select the working set resources.
-ResourceWorkingSetPage.message=&Working set name:
-ResourceWorkingSetPage.label.tree=Working set &contents:
-ResourceWorkingSetPage.warning.nameMustNotBeEmpty= The name must not be empty.
-ResourceWorkingSetPage.warning.nameWhitespace= The name must not have leading or trailing whitespace.
-ResourceWorkingSetPage.warning.workingSetExists= A working set with the same name already exists.
-ResourceWorkingSetPage.warning.resourceMustBeChecked= At least one resource must be checked.
-ResourceWorkingSetPage.error= Error
-ResourceWorkingSetPage.error.updateCheckedState= Error during update of checked state
-ResourceWorkingSetPage.projectClosedDialog.message= A closed project can not be modified
-ResourceWorkingSetPage.projectClosedDialog.title= Working Set Change
-
-WorkingSetSelectionDialog.title= Select Working Set
-WorkingSetSelectionDialog.title.multiSelect= Select Working Sets
-WorkingSetSelectionDialog.message= &Select a working set:
-WorkingSetSelectionDialog.message.multiSelect= &Select working sets:
-WorkingSetSelectionDialog.detailsButton.label= &Edit...
-WorkingSetSelectionDialog.newButton.label= &New...
-WorkingSetSelectionDialog.removeButton.label= &Remove
-
-# =================================================================
-# System Summary
-# =================================================================
-SystemSummary.name=Configuration Details
-SystemSummary.tooltip=Configuration Details
-SystemSummary.dialogTitle=Save As
-SystemSummary.saveErrorTitle = Error
-SystemSummary.saveErrorMessage = An error occured saving to file {0}\n\n{1}.
-
-# =================================================================
-# Editor List
-# =================================================================
-EditorList.saveSelected.text=&Save
-EditorList.saveSelected.toolTip=Save
-EditorList.closeSelected.text=&Close
-EditorList.closeSelected.toolTip=Close
-
-EditorList.selectClean.text=Select &Clean Editors
-EditorList.selectClean.toolTip=Select Clean Editors
-EditorList.invertSelection.text=&Invert Selection
-EditorList.invertSelection.toolTip=Invert Selection
-EditorList.selectAll.text=Select &All
-EditorList.selectAll.toolTip=Select All
-
-EditorList.FullName.text=Show Full &Name
-EditorList.FullName.toolTip=Show Full Name
-
-EditorList.SortBy.text=Sort &By
-EditorList.SortBy.toolTip= Sort By
-EditorList.SortByName.text=&Name
-EditorList.SortByName.toolTip=Name
-EditorList.SortByMostRecentlyUsed.text=&Most Recently Used
-EditorList.SortByMostRecentlyUsed.toolTip=Most Recently Used
-
-EditorList.ApplyTo.text=Show Editors &From
-EditorList.DisplayAllWindows.text=&All Windows
-EditorList.DisplayAllWindows.toolTip=Show Editors from All Windows
-EditorList.DisplayAllPage.text=&Current Window
-EditorList.DisplayAllPage.toolTip=Show Editors in Current Window
-EditorList.DisplayTabGroup.text=&Tab Group
-EditorList.DisplayTabGroup.toolTip=Show Editors in Tab Group
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/AcceleratorHook.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/AcceleratorHook.java
deleted file mode 100644
index 46e2a0f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/AcceleratorHook.java
+++ /dev/null
@@ -1,192 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import java.util.*;
-
-/**
- * A strategy for hooking accelerators on a control.
- * <p>
- * In SWT an accelerator which is defined in a shell menu is global.  If 
- * enabled, it will always be executed regardless of the current focus control or its 
- * abilities.  This creates a problem where the focus control has an equivalent
- * key sequence.  For example, if <code>Ctrl+C</code> is defined as the accelerator
- * for <code>Copy</code> at the shell level it will override the same key sequence
- * in a text widget within the shell, thus breaking the text widget.
- * </p><p>
- * To avoid this problem an <code>AcceleratorHook</code> may be used to define
- * the accelerators locally on each control rather than globally on the shell.
- * The accelerators defined in an <code>AcceleratorHook</code> are only operational
- * when the control has focus.
- * </p><p>
- * To use this class, instantiate an instance for a particular control and register
- * each action which has an accelerator.  If the accelerator is pressed the action will
- * be invoked.
- * </p><p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class AcceleratorHook implements Listener {
-	private ArrayList actionList;
-	
-	private class ActionItem {
-		public ActionItem(int accel, IAction act) {
-			accelerator = accel;
-			action = act;
-		}
-		public int accelerator;
-		public IAction action;
-	}
-
-	private class FakeAction extends Action {
-		public FakeAction(String name) {
-			super(name);
-		}
-		public void run() {
-		}
-	}
-/**
- * AcceleratorHook constructor comment.
- */
-public AcceleratorHook(Control ctrl) {
-	actionList = new ArrayList(5);
-	ctrl.addListener(SWT.KeyDown, this);
-	ctrl.addListener(SWT.KeyUp, this);
-}
-/**
- * Adds an action to the control.  If the action accelerator is pressed
- * the action will be run.
- * <p>
- * The accelerator for the action is derived from the action.   
- * </p>
- *
- * @param action an action with unique accelerator
- */
-public void add(IAction action) {
-	if (action.getAccelerator() == 0)
-		return;
-	actionList.add(new ActionItem(action.getAccelerator(), action));
-}
-/**
- * Adds an action to the control with a particular accelerator.  
- * If the accelerator is pressed the action will be run.
- * <p>
- * The accelerator for the action is derived from <code>strAccel</code>
- * string. The content of this string must conform to the standard JFace
- * conventions for accelerator declaration.  For more information see
- * the <code>org.eclipse.jface.action.Action</code> class.
- * </p>
- *
- * @param action an action
- * @param strAccel the action accelerator
- * @see org.eclipse.jface.action.Action
- */
-public void add(IAction action, String strAccel) {
-	Action fakeAction = new FakeAction("Fake\t"+strAccel);//$NON-NLS-1$
-	if (fakeAction.getAccelerator() == 0)
-		return;
-	actionList.add(new ActionItem(fakeAction.getAccelerator(), action));
-}
-/**
- * Returns the first item which represents the action.
- *
- * @returns the first item to match, or <code>null</code>.
- */
-private ActionItem findItem(IAction action) {
-	Iterator iter = actionList.iterator();
-	while (iter.hasNext()) {
-		ActionItem item = (ActionItem)iter.next();
-		if (item.action == action)
-			return item;
-	}
-	return null;
-}
-/**
- * Returns the first item with an accelerator which maches
- * the key event.
- *
- * @returns the first item to match, or <code>null</code>.
- */
-private ActionItem findItem(Event e) {
-	// Map event to accel.
-	int accel = getAccel(e);
-	if (accel == 0)
-		return null;
-	
-	// Map accelerator to item.
-	Iterator iter = actionList.iterator();
-	while (iter.hasNext()) {
-		ActionItem item = (ActionItem)iter.next();
-		// System.out.println("Accel = " + Integer.toString(item.accelerator, 16));
-		if (item.accelerator == accel)
-			return item;
-	}
-	return null;
-}
-/**
- * Convert a key event to an accelerator.
- *
- * @param e the key event
- * @return the int accelerator value
- */
-private int getAccel(Event e) {
-	// Debug.
-	/*
-	System.out.println("KeyEvent");
-	System.out.println("\tChar = " + Integer.toString((int)e.character, 16));
-	System.out.println("\tKeyCode = " + Integer.toString(e.keyCode, 16));
-	System.out.println("\tState Mask = " + Integer.toString(e.stateMask, 16));
-	*/
-	
-	// Real work.
-	int key = (int)Character.toUpperCase(e.character);
-	int mods = 0;
-	if ((e.stateMask & SWT.ALT) > 0)
-		mods |= SWT.ALT;
-	if ((e.stateMask & SWT.SHIFT) > 0)
-		mods |= SWT.SHIFT;
-	if ((e.stateMask & SWT.CTRL) > 0) {
-		mods |= SWT.CTRL;
-		key = key + 'A' - 1; // Convert unicode to char.
-	}
-	int accel = key | mods | e.keyCode;
-
-	// Debug
-	/*
-	System.out.println("Accel = " + Integer.toString(accel, 16));
-	*/
-	return accel;
-}
-
-/**
- * Notifies that a key has been pressed on the system keyboard.
- * <p>
- * This method is a callback from the target control for this hook.
- * Other clients are not expected to call this method.
- * </p>
- *
- * @param e an event containing information about the key press
- */
-public void handleEvent(Event event) {
-	ActionItem item = findItem(event);
-	if (item != null)
-		item.action.runWithEvent(event);
-}
-
-/**
- * Removes an action from the hook.  Does nothing if the action is
- * not found.
- *
- * @param action an action
- */
-public void remove(IAction action) {
-	ActionItem item = findItem(action);
-	if (item != null)
-		actionList.remove(item);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ActivatorBar.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ActivatorBar.java
deleted file mode 100644
index f61d486..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ActivatorBar.java
+++ /dev/null
@@ -1,184 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.*;
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * A Label which supports aligned text and/or an image and different border styles.
- * If there is not enough space a SmartLabel uses the following strategy to fit the information into the
- * available space:
- * <pre>
- * - ignores the indent in left align mode
- * - ignores the image and the gap
- * - shortens the text by replacing the center portion of the label with an ellipsis
- * - shortens the text by removing the center portion of the label
- * </pre>
- */
-public class ActivatorBar extends Canvas implements PaintListener {
-	private ActivatorItem activeItem = null;
-	private ItemListener listener;
-	private ArrayList items = new ArrayList(5);
-	/**
-	 * Create a SmartLabel with the given borderStyle as a child of parent.
-	 */
-	public ActivatorBar(Composite parent) {
-		super(parent, SWT.NONE);
-		addPaintListener(this);
-		setLayout(new ActivatorBarLayout());
-	}
-/**
- * Add an item to the bar.
- */
-protected void addItem(ActivatorItem item) {
-	items.add(item);
-	layout();
-}
-/**
- * Add a selection listener.
- */
-public void addItemListener(ItemListener listener) {
-	this.listener = listener;
-}
-/**
- * Gets the item count.
- */
-public ActivatorItem getItem(int nX) {
-	return (ActivatorItem)items.get(nX);
-}
-/**
- * Gets the item count.
- */
-public int getItemCount() {
-	return items.size();
-}
-/**
- * Gets the active tab.
- */
-public ActivatorItem getSelection() {
-	return activeItem;
-}
-/**
- * Gets the active tab.
- */
-public int getSelectionIndex() {
-	if (activeItem == null)
-		return -1;
-	else
-		return items.indexOf(activeItem);
-}
-/**
- * A close button has been pressed.  Notify any listeners.
- */
-protected void itemClosePressed(ActivatorItem item) {
-	if (listener != null)
-		listener.itemClosePressed(item);
-}
-/**
- * A button has been pressed.  Notify any listeners.
- */
-protected void itemSelected(ActivatorItem item) {
-	if (listener != null)
-		listener.itemSelected(item);
-}
-	//---- painting
-	
-	/**
- 	 * Implements PaintListener.
- 	 * @private
- 	 */
-	public void paintControl(PaintEvent event) {
-		Display disp = getDisplay();
-		GC gc= event.gc;
-		Rectangle r= getClientArea();
-		paintGradient(disp, gc, r);
-	}
-	//---- painting
-	static protected void paintGradient(Display disp, GC gc, Rectangle r) 
-	{
-		Color c1 = disp.getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW);
-		Color c2 = disp.getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW);
-
-		int y = 0;
-		int STEPS = 20;
-		int dY = r.height / STEPS + 1;
-
-		// Loop through bands.
-		for (int nStep = 0; nStep < STEPS; nStep ++) {
-			// Calculate band color.
-			int red = (c1.getRed() * (STEPS - nStep) + c2.getRed() * nStep) / STEPS;
-			int green = (c1.getGreen() * (STEPS - nStep) + c2.getGreen() * nStep) / STEPS;
-			int blue = (c1.getBlue() * (STEPS - nStep) + c2.getBlue() * nStep) / STEPS;
-
-			// Draw the band.
-			Color bandColor = new Color(disp, red, green, blue);
-			Color oldColor = gc.getBackground();
-			gc.setBackground(bandColor);
-			gc.fillRectangle(0, y, r.width, dY);
-			gc.setBackground(oldColor);
-			bandColor.dispose();
-
-			// Next step.
-			y += dY;
-		}
-	}
-/**
- * Remove all items from the bar.
- */
-public void removeAllItems() {
-	List safeCopy = (List)items.clone();
-	Iterator enum = safeCopy.iterator();
-	while (enum.hasNext()) {
-		ActivatorItem item = (ActivatorItem)enum.next();
-		item.dispose(); // This affects the item list.
-	}
-	items.clear();
-	layout();
-}
-/**
- * Remove an item from o the bar.
- */
-protected void removeItem(ActivatorItem item) {
-	int nIndex = items.indexOf(item);
-	if (nIndex >= 0) {
-		if (activeItem == item)
-			activeItem = null;
-		items.remove(nIndex);
-	}
-	layout();
-}
-/**
- * Remove a selection listener.
- */
-public void removeSelectionListener (ItemListener listener) {
-	this.listener = null;
-}
-/**
- * Sets the active tab.
- */
-public void setSelection(ActivatorItem item) {
-	if (activeItem == item)
-		return;
-	if (activeItem != null)
-		activeItem.setPressed(false);
-	activeItem = item;
-	if (activeItem != null)
-		activeItem.setPressed(true);
-}
-/**
- * Sets the active tab.
- */
-public void setSelectionIndex(int nX) {
-	ActivatorItem item = (ActivatorItem)items.get(nX);
-	setSelection(item);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ActivatorBarLayout.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ActivatorBarLayout.java
deleted file mode 100644
index e0bf29e..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ActivatorBarLayout.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.SWT;
-
-public class ActivatorBarLayout extends Layout {
-	private int preferredWidth;
-	private int lastClientWidth;
-public ActivatorBarLayout() {
-}
-/**
- * Computes the size of the client area
- **/
-protected Point computeSize (Composite composite, int wHint, int hHint, boolean flushCache) {
-	Control [] children = composite.getChildren ();
-	int count = children.length;
-	if (count == 0)
-		return new Point(5, 22);
-	int width = 0, height = 22;
-	for (int i=0; i<count; i++) {
-		Control child = children [i];
-		Point pt = child.computeSize (SWT.DEFAULT, SWT.DEFAULT, flushCache);
-		width += pt.x;
-		height = Math.max(height, pt.y);
-	}
-	preferredWidth = width;
-	return new Point(width, height);
-}
-/**
- * Lays out children of a composite in a horizontal fashion.  
- * If the preferred size of these children extend beyond the 
- * horizontal space available they are scaled accordingly.
- */
-protected void layout (Composite composite, boolean flushCache) 
-{
-	// Get the children.
-	Control [] children = composite.getChildren ();
-	int count = children.length;
-	if (count == 0) return;
-
-	// Get the basic proportions for layout.
-	Rectangle client = composite.getClientArea ();
-	int x = client.x;
-	int y = client.y;
-	int height = client.height;
-
-	// Scale everything if the client area is too small.
-	float scale = 1.0f;
-	if (flushCache || (client.width != lastClientWidth)) {
-		preferredWidth = computeSize(composite, 0, 0, true).x;
-		lastClientWidth = client.width;
-	}
-	// System.out.println("Pref " + preferredWidth);
-	// System.out.println("Avail " + client.width);
-	if (preferredWidth > client.width)
-		scale = (float)client.width / (float)preferredWidth;
-		
-	// Layout children.
-	for (int i=0; i<count; i++) {
-		Control child = children [i];
-		Point pt = child.computeSize (SWT.DEFAULT, SWT.DEFAULT, false);
-		int width = (int)((float)pt.x * scale);
-		if ((scale < 1.0f) && (i == (count - 1)))
-			width = client.width - x;
-		child.setBounds (x, y, width, height);
-		x += width;
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ActivatorItem.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ActivatorItem.java
deleted file mode 100644
index 91e43bd..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ActivatorItem.java
+++ /dev/null
@@ -1,393 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.internal.IWorkbenchGraphicConstants;
-import org.eclipse.ui.internal.WorkbenchImages;
-
-
-/**
- * A Label which supports aligned text and/or an image and different border styles.
- * If there is not enough space a SmartLabel uses the following strategy to fit the information into the
- * available space:
- * <pre>
- * - ignores the indent in left align mode
- * - ignores the image and the gap
- * - shortens the text by replacing the center portion of the label with an ellipsis
- * - shortens the text by removing the center portion of the label
- * </pre>
- */
-public class ActivatorItem extends Canvas implements PaintListener,
-	MouseListener, DisposeListener
-{
-
-	protected String fText;
-	protected Image fImage;
-	static protected Image fCloseImage;
-	static protected int fInstanceCount;
-	protected ActivatorBar fParent;
-	protected boolean fPressed = false;
-	final static int GAP = 5;   
-	/**
-	 * Create a SmartLabel with the given borderStyle as a child of parent.
-	 */
-	public ActivatorItem(ActivatorBar parent) {
-		super(parent, 0);
-		addInstance();
-		fParent = parent;
-		addPaintListener(this);
-		addMouseListener(this);
-		addDisposeListener(this);
-		fParent.addItem(this);
-	}
-/**
- * Add an instance.  Create the close image.
- */
-static private void addInstance() {
-	if (fInstanceCount == 0) {
-		ImageDescriptor desc = WorkbenchImages.getImageDescriptor(
-			IWorkbenchGraphicConstants.IMG_LCL_CLOSE_VIEW);
-		if (desc != null)
-			fCloseImage = desc.createImage();
-	}
-	++ fInstanceCount;
-}
-	//---- layout
-	
-	/**
-	 * Compute the size.
- 	 * @private
-	 */
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		Point e= getMinimumSize();
-		if (wHint != SWT.DEFAULT)
-			e.x= wHint;
-		if (hHint != SWT.DEFAULT)
-			e.y= hHint;
-		return e;
-	}
-	/**
-	 * Dispose the control.
-	 */
-	public void dispose() {
-		super.dispose();
-		fParent.removeItem(this);
-	}
-	//---- private stuff
-	
-	/**
-	 * Draw a rectangle in the given colors.
-	 * @private
-	 */
-	private static void drawBevelRect(GC gc, int x, int y, int w, int h, Color topleft, Color bottomright) {
-		
-		gc.setForeground(topleft);
-		gc.drawLine(x, y, x+w-1, y);
-		gc.drawLine(x, y, x, y+h-1);
-		
-		gc.setForeground(bottomright);
-		gc.drawLine(x+w, y, x+w, y+h);
-		gc.drawLine(x, y+h, x+w, y+h);
-	}
-	/**
-	 * Return the SmartLabel's image or <code>null</code>.
-	 */
-	public Image getImage() {
-		return fImage;
-	}
-	/**
-	 * Compute the minimum size.
- 	 * @private
-	 */
-	public Point getMinimumSize() {
-		Point size= new Point(0, 22);
-
-		// get image extent.
-		if (fImage != null) {
-			Rectangle r= fImage.getBounds();
-			size.x = r.width;
-		}
-
-		// get text extent.
-		if (fText != null && fText.length() > 0) {
-			GC gc= new GC(this);
-			Point e= gc.textExtent(fText);
-			size.x += e.x + 2 * GAP;
-			gc.dispose();
-		}
-
-		// get close button extent.
-		if (fCloseImage != null) {
-			Rectangle r= fCloseImage.getBounds();
-			size.x += r.width + 2;
-		}
-
-		return size;
-	}
-	//---- setters & getters
-	
-	/**
-	 * Return the SmartLabel's label text.
-	 */
-	public String getText() {
-		return fText;
-	}
-/**
- * mouseDoubleClick method comment.
- */
-public void mouseDoubleClick(org.eclipse.swt.events.MouseEvent e) {}
-/**
- * mouseDown method comment.
- */
-public void mouseDown(org.eclipse.swt.events.MouseEvent e) {
-	if (e.button == 1) {
-		int textExtent = 100000;
-		if (fPressed && (fCloseImage != null))
-			textExtent = getClientArea().width - fCloseImage.getBounds().width - 4;
-		if (e.x < textExtent)
-			fParent.itemSelected(this);
-		else
-			fParent.itemClosePressed(this);
-	}
-}
-/**
- * mouseUp method comment.
- */
-public void mouseUp(org.eclipse.swt.events.MouseEvent e) {}
-	/**
-	 * Paint the Label's border.
-	 */
-	protected void paintBorder(GC gc, Rectangle r) {
-
-		Display disp= getDisplay();
-		
-		Color c1= null;
-		Color c2= null;
-
-		if (fPressed) {
-			c1= disp.getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW);
-			c2= disp.getSystemColor(SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW);
-		} else {
-			c1= disp.getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW);
-			c2= disp.getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW);
-		}
-		
-		if (c1 != null && c2 != null) {
-			gc.setLineWidth(1);
-			drawBevelRect(gc, r.x, r.y, r.width-1, r.height-1, c1, c2);
-		}
-	}
-	/**
-	 * Paint the Label's border.
-	 */
-	protected void paintBorder(GC gc, Rectangle r, boolean bPressed) {
-
-		Display disp= getDisplay();
-		
-		Color c1= null;
-		Color c2= null;
-
-		if (bPressed) {
-			c1= disp.getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW);
-			c2= disp.getSystemColor(SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW);
-		} else {
-			c1= disp.getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW);
-			c2= disp.getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW);
-		}
-		
-		if (c1 != null && c2 != null) {
-			gc.setLineWidth(1);
-			drawBevelRect(gc, r.x, r.y, r.width-1, r.height-1, c1, c2);
-		}
-	}
-	//---- painting
-	
-	/**
- 	 * Implements PaintListener.
- 	 * @private
- 	 */
-	public void paintControl(PaintEvent event) {
-
-		GC gc= event.gc;
-		Rectangle r= getClientArea();
-
-		// Draw background.
-		if (fPressed) {
-			gc.setBackground(getDisplay().getSystemColor(SWT.COLOR_WHITE));
-			gc.fillRectangle(r);
-		} else
-			ActivatorBar.paintGradient(getDisplay(), gc, r);
-
-		// Draw border.
-		paintBorder(gc, r);
-		
-		// Get image extent.
-		int imageWidth = 0;
-		Image image= fImage;
-		Rectangle imageBounds = null;
-		if (image != null) {
-			imageBounds = image.getBounds();
-			imageWidth = image.getBounds().width;
-		}
-
-		// Get text extent.
-		Point textExtent = null;
-		if (fText != null && fText.length() > 0)
-			textExtent= gc.textExtent(fText);
-
-		// Get close button extent.
-		Rectangle closeBox = new Rectangle(0, 0, 0, 0);
-		if (fCloseImage != null) {
-			int width = fCloseImage.getBounds().width + 2;
-			closeBox = new Rectangle(r.x + r.width - width, r.y,
-				width, r.height);
-		}
-	
-		// Shorten text as required.
-		boolean shortenText= false;
-		if (fText != null) {
-			int availableWidth= r.width - 2 * GAP - imageWidth - closeBox.width;
-			if (textExtent.x > availableWidth) {
-				image = null;
-				imageWidth = 0;
-				availableWidth= r.width - 2 * GAP - imageWidth - closeBox.width;
-				if (textExtent.x > availableWidth) {
-					shortenText= true;
-				}
-			}
-		}
-		String t= fText;
-		if (shortenText) {
-			int availableWidth= r.width - 2 * GAP - imageWidth - closeBox.width;
-			t= shortenText(gc, fText, availableWidth);
-			textExtent.x= gc.textExtent(t).x;
-			setToolTipText(fText);
-		} else {
-			setToolTipText(null);
-		}
-		
-		// draw the image		
-		int x= r.x;
-		if (image != null) {
-			gc.drawImage(image, 0, 0, imageBounds.width, imageBounds.height, 
-				x, (r.height-imageBounds.height)/2, imageBounds.width, imageBounds.height);
-			x+= imageBounds.width;
-		}
-
-		// draw the text
-		if (t != null) {
-			x+= GAP;
-			gc.setForeground(getDisplay().getSystemColor(SWT.COLOR_BLACK));
-			gc.drawText(t, x, r.y + (r.height - textExtent.y) / 2, true);
-		}
-
-		// draw the close box.
-		if (fPressed && (fCloseImage != null)) {
-			closeBox.x += 1;
-			closeBox.width -= 2;
-			closeBox.y += 1;
-			closeBox.height -= 2;
-			gc.setBackground(getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
-			gc.fillRectangle(closeBox);
-			Rectangle imgBounds = fCloseImage.getBounds();
-			gc.drawImage(fCloseImage, 0, 0, imgBounds.width, imgBounds.height, 
-				closeBox.x + (closeBox.width-imgBounds.width) / 2, 
-				closeBox.y + (closeBox.height-imgBounds.height) / 2, 
-				imgBounds.width, imgBounds.height);
-			paintBorder(gc, closeBox, false); 
-		}
-	}
-/**
- * Remove an instance.  Dispose the close image.
- */
-static private void removeInstance() {
-	-- fInstanceCount;
-	if (fInstanceCount <= 0) {
-	    if (fCloseImage != null) {
-			fCloseImage.dispose();
-			fCloseImage = null;
-	    }
-	}
-}
-	/**
-	 * Sets the widget's font to the given value and forces
-	 * a redraw of the widget.
-	 */
-	public void setFont(Font font) {
-		super.setFont(font);
-		redraw();
-	}
-	/**
-	 * Set the SmartLabel's Image.
-	 * The value <code>null</code> clears it.
-	 */
-	public void setImage(Image image) {
-		if (image != fImage) {
-			fImage= image;
-			redraw();
-		}
-	}
-	/**
-	 * Sets the control state.
-	 */
-	public void setPressed(boolean pressed) {
-		fPressed = pressed;
-		redraw();
-	}
-	/**
-	 * Set the SmartLabel's label text.
-	 * The value <code>null</code> clears it.
-	 */
-	public void setText(String text) {
-		if (text == null)
-			text= "";//$NON-NLS-1$
-		if (!text.equals(fText)) {
-			fText= text;
-		}
-		fParent.layout();
-		redraw();
-	}
-	/**
-	 * Shorten the given text <code>t</code> so that its length doesn't exceed
-	 * the given width. The default implementation replaces characters in the
-	 * center of the original string with an ellipsis ("...").
-	 * Override if you need a different strategy.
-	 */
-	protected String shortenText(GC gc, String t, int width) {
-		String ellipsis= "...";//$NON-NLS-1$
-		int w= gc.textExtent(ellipsis).x;
-		int l= t.length();
-		int pivot= l/2;
-		int s= pivot;
-		int e= pivot+1;
-		while (s >= 0 && e < l) {
-			String s1= t.substring(0, s);
-			String s2= t.substring(e, l);
-			int l1= gc.textExtent(s1).x;
-			int l2= gc.textExtent(s2).x;
-			if (l1+w+l2 < width) {
-				t= s1 + ellipsis + s2;
-				break;
-			}
-			s--;
-			e++;
-		}
-		return t;
-	}
-/**
- * widgetDisposed method comment.
- */
-public void widgetDisposed(org.eclipse.swt.events.DisposeEvent e) {
-	if (fImage != null)
-		fImage.dispose();
-	removeInstance();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/Assert.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/Assert.java
deleted file mode 100644
index ec8f8a5..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/Assert.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-/**
- * <code>Assert</code> is useful for for embedding runtime sanity checks
- * in code.
- * The predicate methods all test a condition and throw some
- * type of unchecked exception if the condition does not hold.
- * <p>
- * Assertion failure exceptions, like most runtime exceptions, are
- * thrown when something is misbehaving. Assertion failures are invariably
- * unspecified behavior; consequently, clients should never rely on
- * these being thrown (and certainly should not being catching them
- * specifically).
- * </p>
- */
-public final class Assert {
-/* This class is not intended to be instantiated. */
-private Assert() {
-}
-/** Asserts that an argument is legal. If the given boolean is
- * not <code>true</code>, an <code>IllegalArgumentException</code>
- * is thrown.
- *
- * @param expression the outcode of the check
- * @return <code>true</code> if the check passes (does not return
- *    if the check fails)
- * @exception IllegalArgumentException if the legality test failed
- */
-public static boolean isLegal(boolean expression) {
-	return isLegal(expression, "");//$NON-NLS-1$
-}
-/** Asserts that an argument is legal. If the given boolean is
- * not <code>true</code>, an <code>IllegalArgumentException</code>
- * is thrown.
- * The given message is included in that exception, to aid debugging.
- *
- * @param expression the outcode of the check
- * @param message the message to include in the exception
- * @return <code>true</code> if the check passes (does not return
- *    if the check fails)
- * @exception IllegalArgumentException if the legality test failed
- */
-public static boolean isLegal(boolean expression, String message) {
-	if (!expression)
-		throw new IllegalArgumentException();
-	return expression;
-}
-/** Asserts that the given object is not <code>null</code>. If this
- * is not the case, some kind of unchecked exception is thrown.
- * 
- * @param object the value to test
- * @exception IllegalArgumentException if the object is <code>null</code>
- */
-public static void isNotNull(Object object) {
-	isNotNull(object, "");//$NON-NLS-1$
-}
-/** Asserts that the given object is not <code>null</code>. If this
- * is not the case, some kind of unchecked exception is thrown.
- * The given message is included in that exception, to aid debugging.
- *
- * @param object the value to test
- * @param message the message to include in the exception
- * @exception IllegalArgumentException if the object is <code>null</code>
- */
-public static void isNotNull(Object object, String message) {
-	if (object == null)
-		throw new AssertionFailedException("null argument;" + message);//$NON-NLS-1$
-}
-/** Asserts that the given boolean is <code>true</code>. If this
- * is not the case, some kind of unchecked exception is thrown.
- *
- * @param expression the outcode of the check
- * @return <code>true</code> if the check passes (does not return
- *    if the check fails)
- */
-public static boolean isTrue(boolean expression) {
-	return isTrue(expression, "");//$NON-NLS-1$
-}
-/** Asserts that the given boolean is <code>true</code>. If this
- * is not the case, some kind of unchecked exception is thrown.
- * The given message is included in that exception, to aid debugging.
- *
- * @param expression the outcode of the check
- * @param message the message to include in the exception
- * @return <code>true</code> if the check passes (does not return
- *    if the check fails)
- */
-public static boolean isTrue(boolean expression, String message) {
-	if (!expression)
-		throw new AssertionFailedException("assertion failed; "+message);//$NON-NLS-1$
-	return expression;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/AssertionFailedException.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/AssertionFailedException.java
deleted file mode 100644
index abda07b..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/AssertionFailedException.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-/**
- * <code>AssertionFailedException</code> is a runtime exception thrown
- * by some of the methods in <code>Assert</code>.
- * <p>
- * This class is not declared public to prevent some misuses; programs that catch 
- * or otherwise depend on assertion failures are susceptible to unexpected
- * breakage when assertions in the code are added or removed.
- * </p>
- */
-/* package */
-class AssertionFailedException extends RuntimeException {
-/** Constructs a new exception.
- */
-public AssertionFailedException() {
-}
-/** Constructs a new exception with the given message.
- */
-public AssertionFailedException(String detail) {
-	super(detail);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/CheckboxDoubleListGroup.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/CheckboxDoubleListGroup.java
deleted file mode 100644
index 048ed2c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/CheckboxDoubleListGroup.java
+++ /dev/null
@@ -1,401 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002. All Rights Reserved.
- * Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog font should be
- * activated and used by other components.
- */
-import java.util.*;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- *	Workbench-level composite that combines two CheckboxListViewers.
- *	All viewer selection-driven interactions are handled within this object
- */
-public class CheckboxDoubleListGroup extends Composite implements ICheckStateListener, ISelectionChangedListener {
-	private	Object			root;
-	private	Object			currentList1Selection;
-	private	Map				checkedStateStore = new HashMap(9);
-	private	ListenerList	listeners = new ListenerList();
-	private	boolean			singleList1Check = false;
-	private	boolean			singleList2Check = false;
-	
-	private	IStructuredContentProvider	list1ContentProvider;
-	private	IStructuredContentProvider	list2ContentProvider;
-	private ILabelProvider				list1LabelProvider;
-	private ILabelProvider				list2LabelProvider;
-	
-	// widgets
-	private	CheckboxTableViewer	list1Viewer;
-	private	CheckboxTableViewer	list2Viewer;
-/**
- *	Create an instance of this class.  Use this constructor if you want
- *	the combined widget to act like others w.r.t. sizing and set its
- *	size according to whatever is required to fill its context.
- *
- *	@param parent org.eclipse.swt.widgets.Composite
- *  @param rootObject java.lang.Object
- *	@param style int
- *	@param childPropertyName java.lang.String
- *	@param parentPropertyName java.lang.String
- *	@param listPropertyName java.lang.String
- */
-public CheckboxDoubleListGroup(
-	Composite parent,Object rootObject,
-	IStructuredContentProvider list1ContentProvider,ILabelProvider list1LabelProvider,
-	IStructuredContentProvider list2ContentProvider,ILabelProvider list2LabelProvider,
-	int style) {
-		
-	this(
-		parent,rootObject,
-		list1ContentProvider,list1LabelProvider,
-		list2ContentProvider,list2LabelProvider,
-		style,-1,-1);
-}
-/**
- *	Create an instance of this class.  Use this constructor if you wish to specify
- *	the width and/or height of the combined widget (to only hardcode one of the
- *	sizing dimensions, specify the other dimension's value as -1)
- *
- *	@param parent org.eclipse.swt.widgets.Composite
- *	@param style int
- *  @param rootObject java.lang.Object
- *	@param childPropertyName java.lang.String
- *	@param parentPropertyName java.lang.String
- *	@param listPropertyName java.lang.String
- *	@param width int
- *	@param height int
- */
-public CheckboxDoubleListGroup(
-	Composite parent,Object rootObject,
-	IStructuredContentProvider list1ContentProvider,ILabelProvider list1LabelProvider,
-	IStructuredContentProvider list2ContentProvider,ILabelProvider list2LabelProvider,
-	int style,int width,int height) {
-
-	super(parent,style);
-	root = rootObject;
-	this.list1ContentProvider = list1ContentProvider;
-	this.list2ContentProvider = list2ContentProvider;
-	this.list1LabelProvider = list1LabelProvider;
-	this.list2LabelProvider = list2LabelProvider;
-	createContents(parent,width,height);
-}
-/**
- *	Add the passed listener to self's collection of clients
- *	that listen for changes to element checked states
- *
- *	@param listener ICheckStateListener
- */
-public void addCheckStateListener(ICheckStateListener listener) {
-	listeners.add(listener);
-}
-/**
- *	An item was checked in one of self's two views.  Determine which
- *	view this occurred in and delegate appropriately
- *
- *	@param event CheckStateChangedEvent
- */
-public void checkStateChanged(CheckStateChangedEvent event) {
-	if (event.getCheckable().equals(list1Viewer))
-		list1ItemChecked(event.getElement(),event.getChecked());
-	else
-		list2ItemChecked(event.getElement(),event.getChecked());
-
-	notifyCheckStateChangeListeners(event);
-}
-/**
- *	Compute the preferred size.
- *
- *	@return org.eclipse.swt.graphics.Point
- *	@param wHint int
- *	@param hHint int
- *	@param changed boolean
- */
-public Point computeSize(int wHint,int hHint,boolean changed) {
-	return new Point(-1,-1);
-}
-/**
- *	Lay out and initialize self's visual components.
- *
- *	@param parent org.eclipse.swt.widgets.Composite
- *	@param width int
- *	@param height int
- */
-protected void createContents(Composite parent,int width,int height) {
-	// group pane
-	Composite composite = new Composite(parent,SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 2;
-	composite.setFont(parent.getFont());
-	composite.setLayout(layout);
-	composite.setLayoutData(new GridData(
-		GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL));
-	
-	createList1Viewer(createViewPane(composite, width/2, height/2));
-	createList2Viewer(createViewPane(composite, width/2, height/2));
-	
-	list1Viewer.setInput(root);
-}
-/**
- *	Create the left viewer for this group.
- *
- *	@param parent org.eclipse.swt.widgets.Composite
- */
-protected void createList1Viewer(Composite parent) {
-	list1Viewer = CheckboxTableViewer.newCheckList(parent, SWT.NONE);
-	list1Viewer.setContentProvider(list1ContentProvider);
-	list1Viewer.setLabelProvider(list1LabelProvider);
-	list1Viewer.addCheckStateListener(this);
-	list1Viewer.addSelectionChangedListener(this);
-	list1Viewer.getTable().setFont(parent.getFont());
-}
-/**
- *	Create the right viewer for this group.
- *
- *	@param parent org.eclipse.swt.widgets.Composite
- */
-protected void createList2Viewer(Composite parent) {
-	list2Viewer = CheckboxTableViewer.newCheckList(parent, SWT.NONE);
-	list2Viewer.setContentProvider(list2ContentProvider);
-	list2Viewer.setLabelProvider(list2LabelProvider);
-	list2Viewer.addCheckStateListener(this);
-	list2Viewer.getTable().setFont(parent.getFont());
-}
-/**
- *	Create a viewer pane in this group for the passed viewer.
- *
- *	@param parent org.eclipse.swt.widgets.Composite
- *	@param width int
- *	@param height int
- */
-protected Composite createViewPane(Composite parent, int width, int height) {
-	Composite pane = new Composite(parent, SWT.BORDER);
-	GridData spec = new GridData(GridData.FILL_BOTH);
-	spec.widthHint = width;
-	spec.heightHint = height;
-	pane.setLayoutData(spec);
-	pane.setLayout(new FillLayout());
-	pane.setFont(parent.getFont());
-	return pane;
-}
-/**
- *	Answer a collection of all of the checked elements in the list 1
- *	portion of self
- *
- *	@return java.util.Set
- */
-public Set getAllCheckedList1Items() {
-	return checkedStateStore.keySet();
-}
-/**
- *	Answer a flat collection of all of the checked elements in the
- *	list 2 portion of self
- *
- *	@return java.util.Vector
- */
-public List getAllCheckedList2Items() {
-	List result = new ArrayList();
-	Iterator listCollectionsEnum = checkedStateStore.values().iterator();
-	
-	while (listCollectionsEnum.hasNext()) {
-		Iterator currentCollection = ((List)listCollectionsEnum.next()).iterator();
-		while (currentCollection.hasNext())
-			result.add(currentCollection.next());
-	}
-	
-	return result;
-}
-/**
- *	Answer the number of elements that have been checked by the
- *	user.
- *
- *	@return int
- */
-public int getCheckedElementCount() {
-	return checkedStateStore.size();
-}
-/**
- *	Set the checked state of the passed list 1 element, as well
- *	as its associated list 2 elements
- */
-public void initialCheckList1Item(Object element) {
-	checkedStateStore.put(element,new ArrayList());
-	list1Viewer.setChecked(element,true);
-}
-/**
- *	Handle the checking of a list 1 item
- */
-protected void list1ItemChecked(Object listElement,boolean state) {
-
-	if (state) {
-		// if only one list 1 item can be checked at a time then clear the
-		// previous checked list 1 item, if any
-		if (singleList1Check) {
-			checkedStateStore.clear();
-			list1Viewer.setAllChecked(false);
-		}
-
-		checkedStateStore.put(listElement,new ArrayList());
-		
-	} else {
-		checkedStateStore.remove(listElement);
-		list2Viewer.setAllChecked(false);
-	}
-
-	// the following may seem redundant, but it allows other methods to invoke
-	// this method in order to fully simulate the user clicking a list 1 item
-	list1Viewer.setChecked(listElement,state);
-}
-/**
- *	Handle the checking of a list 2 item
- */
-protected void list2ItemChecked(Object listElement,boolean state) {
-	List checkedListItems = (List)checkedStateStore.get(currentList1Selection);
-
-	if (state) {
-		// if only one list 2 item can be checked at a time then clear the
-		// previous checked list 2 item, if any
-		if (singleList2Check) {
-			checkedListItems = null;
-			list2Viewer.setAllChecked(false);
-			list2Viewer.setChecked(listElement,true);
-		}
-
-		if (checkedListItems == null) {
-			list1ItemChecked(currentList1Selection,true);
-			checkedListItems = (List)checkedStateStore.get(currentList1Selection);
-		}
-
-		checkedListItems.add(listElement);
-
-	} else {
-		checkedListItems.remove(listElement);
-		if (checkedListItems.isEmpty())
-			list1ItemChecked(currentList1Selection,false);
-	}
-}
-/**
- *	Notify all checked state listeners that the passed element has had
- *	its checked state changed to the passed state
- */
-protected void notifyCheckStateChangeListeners(final CheckStateChangedEvent event) {
-	Object[] array = listeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final ICheckStateListener l = (ICheckStateListener)array[i];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.checkStateChanged(event);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removeCheckStateListener(l);
-			}
-		});
-	}
-}
-/**
- *	Remove the passed listener from self's collection of clients
- *	that listen for changes to element checked states
- *
- *	@param listener ICheckStateListener
- */
-public void removeCheckStateListener(ICheckStateListener listener) {
-	listeners.remove(listener);
-}
-/**
- *Handle the selection of a list 1 item
- *
- *@param selection ISelection
- */
-public void selectionChanged(SelectionChangedEvent event) {
-	IStructuredSelection selection = (IStructuredSelection) event.getSelection();
-	final Object selectedElement = selection.getFirstElement();
-	if (selectedElement == null) {
-		currentList1Selection = null;
-		list2Viewer.setInput(currentList1Selection);
-		return;
-	}
-
-	// ie.- if not an item deselection
-	if (selectedElement != currentList1Selection) {
-		list2Viewer.setInput(selectedElement);
-		List listItemsToCheck = (List)checkedStateStore.get(selectedElement);
-		if (listItemsToCheck != null) {
-			Iterator listItemsEnum = listItemsToCheck.iterator();
-			while (listItemsEnum.hasNext())
-				list2Viewer.setChecked(listItemsEnum.next(), true);
-		}
-	}
-	currentList1Selection = selectedElement;
-}
-/**
- *	Change the list 1 viewer's providers to those passed
- *
- *	@param contentProvider ITreeContentProvider
- *	@param labelProvider ILabelProvider
- */
-public void setList1Providers(IStructuredContentProvider contentProvider, ILabelProvider labelProvider) {
-	list1Viewer.setContentProvider(contentProvider);
-	list1Viewer.setLabelProvider(labelProvider);
-}
-/**
- *	Set the sorter that is to be applied to self's list 1 viewer
- */
-public void setList1Sorter(ViewerSorter sorter) {
-	list1Viewer.setSorter(sorter);
-}
-/**
- *	Change the list 2 viewer's providers to those passed
- *
- *	@param contentProvider ITreeContentProvider
- *	@param labelProvider ILabelProvider
- */
-public void setList2Providers(IStructuredContentProvider contentProvider, ILabelProvider labelProvider) {
-	list2Viewer.setContentProvider(contentProvider);
-	list2Viewer.setLabelProvider(labelProvider);
-}
-/**
- *	Set the sorter that is to be applied to self's list 2 viewer
- *
- *	@param sorter IViewerSorter
- */
-public void setList2Sorter(ViewerSorter sorter) {
-	list2Viewer.setSorter(sorter);
-}
-/**
- *	Set the root element that determines the content of list viewer 1
- */
-public void setRoot(Object rootElement) {
-	root = rootElement;
-	checkedStateStore.clear();
-	list1Viewer.setInput(rootElement);
-}
-/**
- *	If this is set to true then only one list 1 item can be
- *	checked at a time.  The default value for this is false.
- *
- *	@param value boolean
- */
-public void setSingleList1Check(boolean value) {
-	singleList1Check = value;
-}
-/**
- *	If this is set to true then only one list 2 item can be
- *	checked at a time.  The default value for this is false.
- *
- *	@param value boolean
- */
-public void setSingleList2Check(boolean value) {
-	singleList2Check = value;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/CheckboxTreeAndListGroup.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/CheckboxTreeAndListGroup.java
deleted file mode 100644
index 19c6e64..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/CheckboxTreeAndListGroup.java
+++ /dev/null
@@ -1,695 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002. All Rights Reserved.
- * Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog font should be
- * activated and used by other components.
- */
-import java.util.*;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-
-/**
- *	Workbench-level composite that combines a CheckboxTreeViewer and CheckboxListViewer.
- *	All viewer selection-driven interactions are handled within this object
- */
-public class CheckboxTreeAndListGroup implements ICheckStateListener, ISelectionChangedListener, ITreeViewerListener {
-	private	Object			root;
-	private	Object			currentTreeSelection;
-	private	List			expandedTreeNodes = new ArrayList();
-	private	Map				checkedStateStore = new HashMap(9);
-	private List			whiteCheckedTreeItems = new ArrayList();
-	private	ListenerList	listeners = new ListenerList();
-	
-	private	ITreeContentProvider		treeContentProvider;
-	private	IStructuredContentProvider	listContentProvider;
-	private ILabelProvider				treeLabelProvider;
-	private ILabelProvider				listLabelProvider;
-	
-	// widgets
-	private	CheckboxTreeViewer	treeViewer;
-	private	CheckboxTableViewer	listViewer;
-/**
- *	Create an instance of this class.  Use this constructor if you wish to specify
- *	the width and/or height of the combined widget (to only hardcode one of the
- *	sizing dimensions, specify the other dimension's value as -1)
- *
- *	@param parent org.eclipse.swt.widgets.Composite
- *	@param style int
- *  @param rootObject java.lang.Object
- *	@param childPropertyName java.lang.String
- *	@param parentPropertyName java.lang.String
- *	@param listPropertyName java.lang.String
- *	@param width int
- *	@param height int
- */
-public CheckboxTreeAndListGroup(
-	Composite parent,Object rootObject,
-	ITreeContentProvider treeContentProvider,ILabelProvider treeLabelProvider,
-	IStructuredContentProvider listContentProvider,ILabelProvider listLabelProvider,
-	int style,int width,int height) {
-
-	root = rootObject;
-	this.treeContentProvider = treeContentProvider;
-	this.listContentProvider = listContentProvider;
-	this.treeLabelProvider = treeLabelProvider;
-	this.listLabelProvider = listLabelProvider;
-	createContents(parent, width, height, style);
-}
-/**
- * This method must be called just before this window becomes visible.
- */
-public void aboutToOpen() {
-	determineWhiteCheckedDescendents(root);
-	checkNewTreeElements(treeContentProvider.getElements(root));
-	currentTreeSelection = null;
-
-	//select the first element in the list
-	Object[] elements = treeContentProvider.getElements(root);
-	Object primary = elements.length > 0 ? elements[0] : null;
-	if (primary != null) {
-		treeViewer.setSelection(new StructuredSelection(primary));
-	}
-	treeViewer.getControl().setFocus();
-}
-/**
- *	Add the passed listener to self's collection of clients
- *	that listen for changes to element checked states
- *
- *	@param listener ICheckStateListener
- */
-public void addCheckStateListener(ICheckStateListener listener) {
-	listeners.add(listener);
-}
-/**
- *	Add the receiver and all of it's ancestors to the checkedStateStore if they
- * are not already there.
- */
-private void addToHierarchyToCheckedStore(Object treeElement) {
-
-	// if this tree element is already gray then its ancestors all are as well
-	if (!checkedStateStore.containsKey(treeElement))
-		checkedStateStore.put(treeElement, new ArrayList());
-
-	Object parent = treeContentProvider.getParent(treeElement);
-	if (parent != null)
-		addToHierarchyToCheckedStore(parent);
-}
-/**
- *	Return a boolean indicating whether all children of the passed tree element
- *	are currently white-checked
- *
- *	@return boolean
- *	@param treeElement java.lang.Object
- */
-protected boolean areAllChildrenWhiteChecked(Object treeElement) {
-	Object[] children = treeContentProvider.getChildren(treeElement);
-	for (int i = 0; i < children.length; ++i) {
-		if (!whiteCheckedTreeItems.contains(children[i]))
-			return false;
-	}
-	
-	return true;
-}
-/**
- *	Return a boolean indicating whether all list elements associated with
- *	the passed tree element are currently checked
- *
- *	@return boolean
- *	@param treeElement java.lang.Object
- */
-protected boolean areAllElementsChecked(Object treeElement) {
-	List checkedElements = (List)checkedStateStore.get(treeElement);
-	if (checkedElements == null)	// ie.- tree item not even gray-checked
-		return false;
-
-	return getListItemsSize(treeElement) == checkedElements.size();
-}
-/**
- *	Iterate through the passed elements which are being realized for the first
- *	time and check each one in the tree viewer as appropriate
- */
-protected void checkNewTreeElements(Object[] elements) {
-	for (int i = 0; i < elements.length; ++i) {
-		Object currentElement = elements[i];
-		boolean checked = checkedStateStore.containsKey(currentElement);
-		treeViewer.setChecked(currentElement,checked);
-		treeViewer.setGrayed(currentElement,checked && !whiteCheckedTreeItems.contains(currentElement));
-	}
-}
-/**
-*	An item was checked in one of self's two views.  Determine which
-*	view this occurred in and delegate appropriately
-*
-*	@param event CheckStateChangedEvent
-*/
-public void checkStateChanged(final CheckStateChangedEvent event) {
-
-	//Potentially long operation - show a busy cursor
-	BusyIndicator.showWhile(treeViewer.getControl().getDisplay(), new Runnable() {
-		public void run() {
-			if (event.getCheckable().equals(treeViewer))
-				treeItemChecked(event.getElement(), event.getChecked());
-			else
-				listItemChecked(event.getElement(), event.getChecked(), true);
-
-			notifyCheckStateChangeListeners(event);
-		}
-	});
-}
-/**
- *	Lay out and initialize self's visual components.
- *
- *	@param parent org.eclipse.swt.widgets.Composite
- *	@param width int
- *	@param height int
- */
-protected void createContents(Composite parent, int width, int height, int style) {
-	// group pane
-	Composite composite = new Composite(parent,style);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 2;
-	layout.makeColumnsEqualWidth = true;
-	layout.marginHeight = 0;
-	layout.marginWidth = 0;
-	composite.setLayout(layout);
-	composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-	composite.setFont(parent.getFont());
-			
-	createTreeViewer(composite, width/2, height);
-	createListViewer(composite, width/2, height);
-	
-	initialize();
-}
-/**
- *	Create this group's list viewer.
- */
-protected void createListViewer(Composite parent, int width, int height) {
-	listViewer = CheckboxTableViewer.newCheckList(parent, SWT.BORDER);
-	GridData data = new GridData(GridData.FILL_BOTH);
-	data.widthHint = width;
-	data.heightHint = height;
-	listViewer.getTable().setLayoutData(data);
-	listViewer.getTable().setFont(parent.getFont());
-	listViewer.setContentProvider(listContentProvider);
-	listViewer.setLabelProvider(listLabelProvider);
-	listViewer.addCheckStateListener(this);
-}
-/**
- *	Create this group's tree viewer.
- */
-protected void createTreeViewer(Composite parent, int width, int height) {
-	Tree tree = new Tree(parent, SWT.CHECK | SWT.BORDER);
-	GridData data = new GridData(GridData.FILL_BOTH);
-	data.widthHint = width;
-	data.heightHint = height;
-	tree.setLayoutData(data);
-	tree.setFont(parent.getFont());
-	
-	treeViewer = new CheckboxTreeViewer(tree);
-	treeViewer.setContentProvider(treeContentProvider);
-	treeViewer.setLabelProvider(treeLabelProvider);
-	treeViewer.addTreeListener(this);
-	treeViewer.addCheckStateListener(this);
-	treeViewer.addSelectionChangedListener(this);
-}
-/**
- * Returns a boolean indicating whether the passed tree element should be
- * at LEAST gray-checked.  Note that this method does not consider whether
- * it should be white-checked, so a specified tree item which should be
- * white-checked will result in a <code>true</code> answer from this method.
- * To determine whether a tree item should be white-checked use method
- * #determineShouldBeWhiteChecked(Object).
- *
- * @param element java.lang.Object
- * @return boolean
- * @see #determineShouldBeWhiteChecked(java.lang.Object)
- */
-protected boolean determineShouldBeAtLeastGrayChecked(Object treeElement) {
-	// if any list items associated with treeElement are checked then it
-	// retains its gray-checked status regardless of its children
-	List checked = (List)checkedStateStore.get(treeElement);
-	if (checked != null && (!checked.isEmpty()))
-		return true;
-
-	// if any children of treeElement are still gray-checked then treeElement
-	// must remain gray-checked as well
-	Object[] children = treeContentProvider.getChildren(treeElement);
-	for (int i = 0 ; i < children.length; ++i) {
-		if (checkedStateStore.containsKey(children[i]))
-			return true;
-	}
-
-	return false;
-}
-/**
- * Returns a boolean indicating whether the passed tree item should be
- * white-checked.
- *
- * @return boolean
- * @param treeElement java.lang.Object
- */
-protected boolean determineShouldBeWhiteChecked(Object treeElement) {
-	return areAllChildrenWhiteChecked(treeElement) && areAllElementsChecked(treeElement);
-}
-/**
- *	Recursively add appropriate tree elements to the collection of
- *	known white-checked tree elements.
- *
- *	@param treeElement java.lang.Object
- */
-protected void determineWhiteCheckedDescendents(Object treeElement) {
-	// always go through all children first since their white-checked
-	// statuses will be needed to determine the white-checked status for
-	// this tree element
-	Object[] children = treeContentProvider.getElements(treeElement);
-	for (int i = 0; i < children.length; ++i)
-		determineWhiteCheckedDescendents(children[i]);
-
-	// now determine the white-checked status for this tree element
-	if (determineShouldBeWhiteChecked(treeElement))
-		setWhiteChecked(treeElement,true);
-}
-/**
- * Cause the tree viewer to expand all its items
- */
-public void expandAll() {
-	treeViewer.expandAll();
-}
-/**
- *	Answer a flat collection of all of the checked elements in the
- *	list portion of self
- *
- *	@return java.util.Vector
- */
-public Iterator getAllCheckedListItems() {
-	List result = new ArrayList();
-	Iterator listCollectionsEnum = checkedStateStore.values().iterator();
-	
-	while (listCollectionsEnum.hasNext()) {
-		Iterator currentCollection = ((List)listCollectionsEnum.next()).iterator();
-		while (currentCollection.hasNext())
-			result.add(currentCollection.next());
-	}
-	
-	return result.iterator();
-}
-/**
- *	Answer a collection of all of the checked elements in the tree portion
- *	of self
- *
- *	@return java.util.Vector
- */
-public Set getAllCheckedTreeItems() {
-	return checkedStateStore.keySet();
-}
-/**
- *	Answer the number of elements that have been checked by the
- *	user.
- *
- *	@return int
- */
-public int getCheckedElementCount() {
-	return checkedStateStore.size();
-}
-/**
- *	Return a count of the number of list items associated with a
- *	given tree item.
- *
- *	@return int
- *	@param treeElement java.lang.Object
- */
-protected int getListItemsSize(Object treeElement) {
-	Object[] elements = listContentProvider.getElements(treeElement);
-	return elements.length;
-}
-/**
- * Get the table the list viewer uses.
- * @return org.eclipse.swt.widgets.Table
- */
-public Table getListTable() {
-	return this.listViewer.getTable();
-}
-/**
- *	Logically gray-check all ancestors of treeItem by ensuring that they
- *	appear in the checked table
- */
-protected void grayCheckHierarchy(Object treeElement) {
-
-	// if this tree element is already gray then its ancestors all are as well
-	if (checkedStateStore.containsKey(treeElement))
-		return;		// no need to proceed upwards from here
-
-	checkedStateStore.put(treeElement,new ArrayList());
-	if (determineShouldBeWhiteChecked(treeElement)) {
-		setWhiteChecked(treeElement, true);
-	}
-	Object parent = treeContentProvider.getParent(treeElement);
-	if (parent != null)
-		grayCheckHierarchy(parent);
-}
-/**
- *	Set the initial checked state of the passed list element to true.
- */
-public void initialCheckListItem(Object element) {
-	Object parent = treeContentProvider.getParent(element);
-	currentTreeSelection = parent;
-	//As this is not done from the UI then set the box for updating from the selection to false 
-	listItemChecked(element, true, false);
-	updateHierarchy(parent);
-}
-/**
- *	Set the initial checked state of the passed element to true,
- *	as well as to all of its children and associated list elements
- */
-public void initialCheckTreeItem(Object element) {
-	treeItemChecked(element, true);
-}
-/**
- *	Initialize this group's viewers after they have been laid out.
- */
-protected void initialize() {
-	treeViewer.setInput(root);
-}
-/**
- *	Callback that's invoked when the checked status of an item in the list
- *	is changed by the user. Do not try and update the hierarchy if we are building the
- *  initial list.
- */
-protected void listItemChecked(
-	Object listElement,
-	boolean state,
-	boolean updatingFromSelection) {
-	List checkedListItems = (List) checkedStateStore.get(currentTreeSelection);
-
-	if (state) {
-		if (checkedListItems == null) {
-			// since the associated tree item has gone from 0 -> 1 checked
-			// list items, tree checking may need to be updated
-			grayCheckHierarchy(currentTreeSelection);
-			checkedListItems = (List) checkedStateStore.get(currentTreeSelection);
-		}
-		checkedListItems.add(listElement);
-	} else {
-		checkedListItems.remove(listElement);
-		if (checkedListItems.isEmpty()) {
-			// since the associated tree item has gone from 1 -> 0 checked
-			// list items, tree checking may need to be updated
-			ungrayCheckHierarchy(currentTreeSelection);
-		}
-	}
-
-	if (updatingFromSelection)
-		updateHierarchy(currentTreeSelection);
-}
-/**
- *	Notify all checked state listeners that the passed element has had
- *	its checked state changed to the passed state
- */
-protected void notifyCheckStateChangeListeners(final CheckStateChangedEvent event) {
-	Object[] array = listeners.getListeners();
-	for (int i = 0; i < array.length; i ++) {
-		final ICheckStateListener l = (ICheckStateListener)array[i];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.checkStateChanged(event);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removeCheckStateListener(l);
-			}
-		});
-	}
-}
-/**
- *Set the contents of the list viewer based upon the specified selected
- *tree element.  This also includes checking the appropriate list items.
- *
- *@param treeElement java.lang.Object
- */
-protected void populateListViewer(final Object treeElement) {
-	listViewer.setInput(treeElement);
-	List listItemsToCheck = (List) checkedStateStore.get(treeElement);
-
-	if (listItemsToCheck != null) {
-		Iterator listItemsEnum = listItemsToCheck.iterator();
-		while (listItemsEnum.hasNext())
-			listViewer.setChecked(listItemsEnum.next(), true);
-	}
-}
-/**
- *	Remove the passed listener from self's collection of clients
- *	that listen for changes to element checked states
- *
- *	@param listener ICheckStateListener
- */
-public void removeCheckStateListener(ICheckStateListener listener) {
-	listeners.remove(listener);
-}
-/**
- *	Handle the selection of an item in the tree viewer
- *
- *	@param selection ISelection
- */
-public void selectionChanged(SelectionChangedEvent event) {
-	IStructuredSelection selection = (IStructuredSelection) event.getSelection();
-	Object selectedElement = selection.getFirstElement();
-	if (selectedElement == null) {
-		currentTreeSelection = null;
-		listViewer.setInput(currentTreeSelection);
-		return;
-	}
-
-	// ie.- if not an item deselection
-	if (selectedElement != currentTreeSelection)
-		populateListViewer(selectedElement);
-	
-	currentTreeSelection = selectedElement;
-}
-/**
- * Select or deselect all of the elements in the tree depending on the value of the selection
- * boolean. Be sure to update the displayed files as well.
- */
-public void setAllSelections(final boolean selection) {
-
-	//Potentially long operation - show a busy cursor
-	BusyIndicator.showWhile(treeViewer.getControl().getDisplay(), new Runnable() {
-		public void run() {
-			setTreeChecked(root, selection);
-			listViewer.setAllChecked(selection);
-		}
-	});
-}
-/**
- *	Set the list viewer's providers to those passed
- *
- *	@param contentProvider ITreeContentProvider
- *	@param labelProvider ILabelProvider
- */
-public void setListProviders(IStructuredContentProvider contentProvider, ILabelProvider labelProvider) {
-	listViewer.setContentProvider(contentProvider);
-	listViewer.setLabelProvider(labelProvider);
-}
-/**
- *	Set the sorter that is to be applied to self's list viewer
- */
-public void setListSorter(ViewerSorter sorter) {
-	listViewer.setSorter(sorter);
-}
-/**
- * Set the root of the widget to be new Root. Regenerate all of the tables and lists from this
- * value.
- * @param newRoot 
- */
-public void setRoot(Object newRoot) {
-	this.root = newRoot;
-	initialize();
-}
-/**
- *	Set the checked state of the passed tree element appropriately, and
- *	do so recursively to all of its child tree elements as well
- */
-protected void setTreeChecked(Object treeElement,boolean state) {
-
-	if (treeElement.equals(currentTreeSelection)) {
-	    listViewer.setAllChecked(state);
-	}
-	
-	if (state) {
-		Object[] listItems = listContentProvider.getElements(treeElement);
-		List listItemsChecked = new ArrayList();
-		for (int i = 0; i < listItems.length; ++i)
-			listItemsChecked.add(listItems[i]);
-
-		checkedStateStore.put(treeElement,listItemsChecked);
-	} else
-		checkedStateStore.remove(treeElement);
-
-	setWhiteChecked(treeElement,state);
-	treeViewer.setChecked(treeElement,state);
-	treeViewer.setGrayed(treeElement,false);
-			
-	// now logically check/uncheck all children as well
-	Object[] children = treeContentProvider.getChildren(treeElement);
-	for (int i = 0; i < children.length; ++i) {
-		setTreeChecked(children[i],state);
-	}
-}
-/**
- *	Set the tree viewer's providers to those passed
- *
- *	@param contentProvider ITreeContentProvider
- *	@param labelProvider ILabelProvider
- */
-public void setTreeProviders(ITreeContentProvider contentProvider, ILabelProvider labelProvider) {
-	treeViewer.setContentProvider(contentProvider);
-	treeViewer.setLabelProvider(labelProvider);
-}
-/**
- *	Set the sorter that is to be applied to self's tree viewer
- */
-public void setTreeSorter(ViewerSorter sorter) {
-	treeViewer.setSorter(sorter);
-}
-/**
- *	Adjust the collection of references to white-checked tree elements appropriately.
- *
- *	@param treeElement java.lang.Object
- *	@param isWhiteChecked boolean
- */
-protected void setWhiteChecked(Object treeElement, boolean isWhiteChecked) {
-	if (isWhiteChecked) {
-		if (!whiteCheckedTreeItems.contains(treeElement))
-			whiteCheckedTreeItems.add(treeElement);
-	} else
-		whiteCheckedTreeItems.remove(treeElement);
-}
-/**
- *	Handle the collapsing of an element in a tree viewer
- */
-public void treeCollapsed(TreeExpansionEvent event) {
-	// We don't need to do anything with this
-}
-/**
- *	Handle the expansionsion of an element in a tree viewer
- */
-public void treeExpanded(TreeExpansionEvent event) {
-
-	Object item = event.getElement();
-	
-	// First see if the children need to be given their checked state at all.  If they've
-	// already been realized then this won't be necessary
-	if (!expandedTreeNodes.contains(item)) {
-		expandedTreeNodes.add(item);
-		checkNewTreeElements(treeContentProvider.getChildren(item));
-	}
-}
-/**
- *  Callback that's invoked when the checked status of an item in the tree
- *  is changed by the user.
- */
-protected void treeItemChecked(Object treeElement,boolean state) {
-
-	// recursively adjust all child tree elements appropriately
-	setTreeChecked(treeElement,state);
-
-	Object parent = treeContentProvider.getParent(treeElement);
-	if (parent == null)
-		return;
-
-	// now update upwards in the tree hierarchy 
-	if (state)
-		grayCheckHierarchy(parent);
-	else
-		ungrayCheckHierarchy(parent);
-		
-	updateHierarchy(treeElement);
-}
-/**
- *	Logically un-gray-check all ancestors of treeItem iff appropriate.
- */
-protected void ungrayCheckHierarchy(Object treeElement) {
-	if (!determineShouldBeAtLeastGrayChecked(treeElement))
-		checkedStateStore.remove(treeElement);
-
-	Object parent = treeContentProvider.getParent(treeElement);
-	if (parent != null)
-		ungrayCheckHierarchy(parent);
-}
-/**
- *	Set the checked state of self and all ancestors appropriately
- */
-protected void updateHierarchy(Object treeElement) {
-
-	boolean whiteChecked = determineShouldBeWhiteChecked(treeElement);
-	boolean shouldBeAtLeastGray = determineShouldBeAtLeastGrayChecked(treeElement);
-
-	treeViewer.setChecked(treeElement, shouldBeAtLeastGray);
-	setWhiteChecked(treeElement, whiteChecked);
-	if (!whiteChecked)
-		treeViewer.setGrayed(treeElement, shouldBeAtLeastGray);
-
-	// proceed up the tree element hierarchy
-	Object parent = treeContentProvider.getParent(treeElement);
-	if (parent != null) {
-		updateHierarchy(parent);
-	}
-}
-/**
- * Update the selections of the tree elements in items to reflect the new
- * selections provided.
- * @param Map with keys of Object (the tree element) and values of List (the selected
- * list elements).
- */
-public void updateSelections(final Map items) {
-
-	//Potentially long operation - show a busy cursor
-	BusyIndicator.showWhile(treeViewer.getControl().getDisplay(), new Runnable() {
-		public void run() {
-			Iterator keyIterator = items.keySet().iterator();
-
-			//Update the store before the hierarchy to prevent updating parents before all of the children are done
-			while (keyIterator.hasNext()) {
-				Object key = keyIterator.next();
-				//Replace the items in the checked state store with those from the supplied items
-				List selections = (List) items.get(key);
-				if (selections.size() == 0)
-					//If it is empty remove it from the list
-					checkedStateStore.remove(key);
-				else {
-					checkedStateStore.put(key, selections);
-					// proceed up the tree element hierarchy
-					Object parent = treeContentProvider.getParent(key);
-					if (parent != null) {
-						addToHierarchyToCheckedStore(parent);
-					}
-				}
-			}
-
-			//Now update hierarchies
-			keyIterator = items.keySet().iterator();
-
-			while (keyIterator.hasNext()) {
-				Object key = keyIterator.next();
-				updateHierarchy(key);
-				if (currentTreeSelection != null && currentTreeSelection.equals(key)) {
-					listViewer.setAllChecked(false);
-					listViewer.setCheckedElements(((List) items.get(key)).toArray());
-				}
-			}
-		}
-	});
-
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ContainerContentProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ContainerContentProvider.java
deleted file mode 100644
index a39483d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ContainerContentProvider.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.*;
-import java.util.*;
-/**
- * Provides content for a tree viewer that shows only containers.
- */
-public class ContainerContentProvider implements ITreeContentProvider {
-	private Viewer viewer;
-	private boolean showClosedProjects = true;
-/**
- * Creates a new ResourceContentProvider.
- */
-public ContainerContentProvider() {
-}
-/**
- * The visual part that is using this content provider is about
- * to be disposed. Deallocate all allocated SWT resources.
- */
-public void dispose() {}
-/**
- * @see ITreeContentProvider#getChildren
- */
-public Object[] getChildren(Object element) {
-	if (element instanceof IWorkspace) {
-		// check if closed projects should be shown
-		IProject[] allProjects = ((IWorkspace) element).getRoot().getProjects();
-		if (showClosedProjects)
-			return allProjects;
-		
-		ArrayList accessibleProjects = new ArrayList();
-		for (int i = 0; i < allProjects.length; i++){
-			if (allProjects[i].isOpen()){
-				accessibleProjects.add(allProjects[i]);
-			}
-		}
-		return accessibleProjects.toArray();
-	} else if (element instanceof IContainer) {
-		IContainer container = (IContainer)element;
-		if (container.isAccessible()) {
-		    try {
-			    List children = new ArrayList();
-			    IResource[] members = container.members();
-			    for (int i = 0; i < members.length; i++) {
-				    if (members[i].getType() != IResource.FILE) {
-					    children.add(members[i]);
-				    }
-			    }
-			    return children.toArray();
-			} catch (CoreException e) {
-				// this should never happen because we call #isAccessible before invoking #members
-			}
-		}
-	}
-	return new Object[0];
-}
-/**
- * @see ITreeContentProvider#getElements
- */
-public Object[] getElements(Object element) {
-	return getChildren(element);
-}
-/**
- * @see ITreeContentProvider#getParent
- */
-public Object getParent(Object element) {
-	if (element instanceof IResource) 
-		return ((IResource) element).getParent();
-	return null;
-}
-/**
- * @see ITreeContentProvider#hasChildren
- */
-public boolean hasChildren(Object element) {
-	return getChildren(element).length > 0;
-}
-/**
- * @see IContentProvider#inputChanged
- */
-public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-	this.viewer = viewer;
-}
-/**
- * @see IContentProvider#isDeleted
- */
-public boolean isDeleted(Object element) {
-	return ((element instanceof IResource) && !((IResource) element).exists());
-}
-/**
- * Specify whether or not to show closed projects in the tree 
- * viewer.  Default is to show closed projects.
- * 
- * @param show boolean if false, do not show closed projects in the tree
- */
-public void showClosedProjects(boolean show){
-	showClosedProjects = show;
-}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ContainerSelectionGroup.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ContainerSelectionGroup.java
deleted file mode 100644
index 850b9a1..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ContainerSelectionGroup.java
+++ /dev/null
@@ -1,267 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.part.DrillDownComposite;
-
-/**
- * Workbench-level composite for choosing a container.
- */
-public class ContainerSelectionGroup extends Composite {
-	// The listener to notify of events
-	private Listener listener;
-
-	// Enable user to type in new container name
-	private boolean allowNewContainerName = true;
-
-	// show all projects by default
-	private boolean showClosedProjects = true;
-	
-	// Last selection made by user
-	private IContainer selectedContainer;
-	
-	// handle on parts
-	private Text containerNameField;
-	private TreeViewer treeViewer;
-
-	// the message to display at the top of this dialog
-	private static final String DEFAULT_MSG_NEW_ALLOWED = WorkbenchMessages.getString("ContainerGroup.message"); //$NON-NLS-1$
-	private static final String DEFAULT_MSG_SELECT_ONLY = WorkbenchMessages.getString("ContainerGroup.selectFolder"); //$NON-NLS-1$
-
-	// sizing constants
-	private static final int SIZING_SELECTION_PANE_WIDTH = 320;
-	private static final int SIZING_SELECTION_PANE_HEIGHT = 300;
-/**
- * Creates a new instance of the widget.
- *
- * @param parent The parent widget of the group.
- * @param listener A listener to forward events to. Can be null if
- *	 no listener is required.
- * @param allowNewContainerName Enable the user to type in a new container
- *  name instead of just selecting from the existing ones.
- */
-public ContainerSelectionGroup (Composite parent, Listener listener, boolean allowNewContainerName) {
-	this(parent, listener, allowNewContainerName, null);
-}
-/**
- * Creates a new instance of the widget.
- *
- * @param parent The parent widget of the group.
- * @param listener A listener to forward events to.  Can be null if
- *	 no listener is required.
- * @param allowNewContainerName Enable the user to type in a new container
- *  name instead of just selecting from the existing ones.
- * @param message The text to present to the user.
- */
-public ContainerSelectionGroup (Composite parent, Listener listener, boolean allowNewContainerName, String message) {
-	this(parent, listener, allowNewContainerName, message, true);
-}
-/**
- * Creates a new instance of the widget.
- *
- * @param parent The parent widget of the group.
- * @param listener A listener to forward events to.  Can be null if
- *	 no listener is required.
- * @param allowNewContainerName Enable the user to type in a new container
- *  name instead of just selecting from the existing ones.
- * @param message The text to present to the user.
- * @param showClosedProjects Whether or not to show closed projects.
- */
-public ContainerSelectionGroup (Composite parent, Listener listener, boolean allowNewContainerName, String message, boolean showClosedProjects) {
-	this(parent, listener, allowNewContainerName, message, showClosedProjects, SIZING_SELECTION_PANE_HEIGHT);
-}
-/**
- * Creates a new instance of the widget.
- *
- * @param parent The parent widget of the group.
- * @param listener A listener to forward events to.  Can be null if
- *	 no listener is required.
- * @param allowNewContainerName Enable the user to type in a new container
- *  name instead of just selecting from the existing ones.
- * @param message The text to present to the user.
- * @param showClosedProjects Whether or not to show closed projects.
- * @param heightHint height hint for the drill down composite
- */
-public ContainerSelectionGroup (Composite parent, Listener listener, boolean allowNewContainerName, String message, boolean showClosedProjects, int heightHint) {
-	super (parent, SWT.NONE);
-	this.listener = listener;
-	this.allowNewContainerName = allowNewContainerName;
-	this.showClosedProjects = showClosedProjects;
-	this.setFont(parent.getFont());
-	if (message != null)
-		createContents(message, heightHint);
-	else if (allowNewContainerName)
-		createContents(DEFAULT_MSG_NEW_ALLOWED, heightHint);
-	else
-		createContents(DEFAULT_MSG_SELECT_ONLY, heightHint);
-}
-/**
- * The container selection has changed in the
- * tree view. Update the container name field
- * value and notify all listeners.
- */
-public void containerSelectionChanged(IContainer container) {
-	selectedContainer = container;
-	
-	if (allowNewContainerName) {
-		if (container == null)
-			containerNameField.setText("");//$NON-NLS-1$
-		else
-			containerNameField.setText(container.getFullPath().makeRelative().toString());
-	}
-
-	// fire an event so the parent can update its controls
-	if (listener != null) {
-		Event changeEvent = new Event();
-		changeEvent.type = SWT.Selection;
-		changeEvent.widget = this;
-		listener.handleEvent(changeEvent);
-	}
-}
-/**
- * Creates the contents of the composite.
- */
-public void createContents(String message) {
-	createContents(message, SIZING_SELECTION_PANE_HEIGHT);
-}
-/**
- * Creates the contents of the composite.
- * 
- * @param heightHint height hint for the drill down composite
- */
-public void createContents(String message, int heightHint) {
-	GridLayout layout = new GridLayout();
-	layout.marginWidth = 0;
-	setLayout(layout);
-	setLayoutData(new GridData(GridData.FILL_BOTH));
-
-	Label label = new Label(this,SWT.WRAP);
-	label.setText(message);
-	label.setFont(this.getFont());
-
-	if (allowNewContainerName) {
-		containerNameField = new Text(this, SWT.SINGLE | SWT.BORDER);
-		containerNameField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		containerNameField.addListener(SWT.Modify, listener);
-		containerNameField.setFont(this.getFont());
-	}
-	else {
-		// filler...
-		new Label(this, SWT.NONE);
-	}
-
-	createTreeViewer(heightHint);
-}
-/**
- * Returns a new drill down viewer for this dialog.
- *
- * @param heightHint height hint for the drill down composite
- * @return a new drill down viewer
- */
-protected void createTreeViewer(int heightHint) {
-	// Create drill down.
-	DrillDownComposite drillDown = new DrillDownComposite(this, SWT.BORDER);
-	GridData spec = new GridData(
-		GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL |
-		GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
-	spec.widthHint = SIZING_SELECTION_PANE_WIDTH;
-	spec.heightHint = heightHint;
-	drillDown.setLayoutData(spec);
-	drillDown.setFont(this.getFont());
-
-	// Create tree viewer inside drill down.
-	treeViewer = new TreeViewer(drillDown, SWT.NONE);
-	drillDown.setChildTree(treeViewer);
-	ContainerContentProvider cp = new ContainerContentProvider();
-	cp.showClosedProjects(showClosedProjects);
-	treeViewer.setContentProvider(cp);
-	treeViewer.setLabelProvider(new WorkbenchLabelProvider());
-	treeViewer.setSorter(new ViewerSorter() {});
-	treeViewer.addSelectionChangedListener(
-		new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				IStructuredSelection selection = (IStructuredSelection)event.getSelection();
-				containerSelectionChanged((IContainer) selection.getFirstElement()); // allow null
-			}
-		});
-	treeViewer.addDoubleClickListener(
-		new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				ISelection selection = event.getSelection();
-				if (selection instanceof IStructuredSelection) {
-					Object item = ((IStructuredSelection)selection).getFirstElement();
-					if (treeViewer.getExpandedState(item))
-						treeViewer.collapseToLevel(item, 1);
-					else
-						treeViewer.expandToLevel(item, 1);
-				}
-			}
-		});
-
-	// This has to be done after the viewer has been laid out
-	treeViewer.setInput(ResourcesPlugin.getWorkspace());
-	treeViewer.getTree().setFont(this.getFont());
-}
-/**
- * Returns the currently entered container name.
- * Null if the field is empty. Note that the
- * container may not exist yet if the user
- * entered a new container name in the field.
- */
-public IPath getContainerFullPath() {
-	if (allowNewContainerName) {
-		String pathName = containerNameField.getText();
-		if (pathName == null || pathName.length() < 1)
-			return null;
-		else
-			//The user may not have made this absolute so do it for them
-			return (new Path(pathName)).makeAbsolute();
-	} else {
-		if (selectedContainer == null)
-			return null;
-		else
-			return selectedContainer.getFullPath();
-	}
-}
-/**
- * Gives focus to one of the widgets in the group, as determined by the group.
- */
-public void setInitialFocus() {
-	if (allowNewContainerName)
-		containerNameField.setFocus();
-	else
-		treeViewer.getTree().setFocus();
-}
-/**
- * Sets the selected existing container.
- */
-public void setSelectedContainer(IContainer container) {
-	selectedContainer = container;
-	
-	//expand to and select the specified container
-	List itemsToExpand = new ArrayList();
-	IContainer parent = container.getParent();
-	while (parent != null) {
-		itemsToExpand.add(0,parent);
-		parent = parent.getParent();
-	}
-	treeViewer.setExpandedElements(itemsToExpand.toArray()); 
-	treeViewer.setSelection(new StructuredSelection(container),true);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ExternalEditor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ExternalEditor.java
deleted file mode 100644
index 48fa5ad..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ExternalEditor.java
+++ /dev/null
@@ -1,116 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.*;
-import org.eclipse.swt.program.Program;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.registry.EditorDescriptor;
-
-public class ExternalEditor {
-	private IFile file;
-	private EditorDescriptor descriptor;
-/**
- * Create an external editor.
- */
-public ExternalEditor(IFile newFile, EditorDescriptor editorDescriptor) {
-	this.file = newFile;
-	this.descriptor = editorDescriptor;
-}
-/**
- * open the editor. If the descriptor has a program then use it - otherwise build its
- * info from the descriptor.
- * @exception	Throws a CoreException if the external editor could not be opened.
- */
-public void open() throws CoreException {
-
-	Program program = this.descriptor.getProgram();
-	if (program == null) {
-		openWithUserDefinedProgram();
-	} else {
-		String path = new String();
-		IPath location = file.getLocation();
-		if(location != null) {
-			path = location.toOSString();
-			if(program.execute(path))
-				return;
-		}
-		throw new CoreException(new Status(
-			Status.ERROR, 
-			WorkbenchPlugin.PI_WORKBENCH, 
-			0, 
-			WorkbenchMessages.format("ExternalEditor.errorMessage", new Object[] {path}), //$NON-NLS-1$
-			null));
-	}
-}
-/**
- * open the editor.
- * @exception	Throws a CoreException if the external editor could not be opened.
- */
-public void openWithUserDefinedProgram() throws CoreException {
-	// We need to determine if the command refers to a program in the plugin
-	// install directory. Otherwise we assume the program is on the path.
-
-	String programFileName = null;
-	IConfigurationElement configurationElement = descriptor.getConfigurationElement();
-
-	// Check if we have a config element (if we don't it is an
-	// external editor created on the resource associations page).
-	if (configurationElement != null) {
-		// Get editor's plugin directory.
-		URL installURL = configurationElement.getDeclaringExtension().getDeclaringPluginDescriptor().getInstallURL();
-		try {
-			// See if the program file is in the plugin directory
-			URL commandURL = new URL(installURL, descriptor.getFileName());
-			URL localName = Platform.asLocalURL(commandURL); // this will bring the file local if the plugin is on a server
-			File file = new File(localName.getFile());
-			//Check that it exists before we assert it is valid
-			if(file.exists())
-				programFileName = file.getAbsolutePath();
-		} catch (IOException e) {
-			// Program file is not in the plugin directory
-		}
-	}
-
-	if (programFileName == null) 
-		// Program file is not in the plugin directory therefore
-		// assume it is on the path
-		programFileName = descriptor.getFileName();
-
-	// Get the full path of the file to open
-	IPath location = file.getLocation();
-	if(location == null) {
-		throw new CoreException(new Status(
-			Status.ERROR, 
-			WorkbenchPlugin.PI_WORKBENCH, 
-			0, 
-			WorkbenchMessages.format("ExternalEditor.errorMessage", new Object[] {programFileName}), //$NON-NLS-1$
-			null));
-	}
-	String path = location.toOSString();
-
-	// Open the file
-	
-	// ShellCommand was removed in response to PR 23888.  If an exception was 
-	// thrown, it was not caught in time, and no feedback was given to user
-	
-	try {
-		Runtime.getRuntime().exec(new String[]{programFileName, path});
-	} catch (Exception e) {
-		throw new CoreException(new Status(
-			Status.ERROR, 
-			WorkbenchPlugin.PI_WORKBENCH, 
-			0, 
-			WorkbenchMessages.format("ExternalEditor.errorMessage", new Object[] {programFileName}), //$NON-NLS-1$
-			e));
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ExternalProgramImageDescriptor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ExternalProgramImageDescriptor.java
deleted file mode 100644
index ec0860a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ExternalProgramImageDescriptor.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.program.Program;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.internal.WorkbenchImages;
-
-/**
- * The external program image descriptor is the descriptor used to
- * handle images that are from a Program.
- */
-public class ExternalProgramImageDescriptor extends ImageDescriptor {
-	
-	public Program program;
-/**
- * Creates a new ImageDescriptor. The image is loaded 
- * from a file with the given name <code>name</code>.
- */
-public ExternalProgramImageDescriptor(Program program) {
-	this.program = program;
-}
-/**
- * @see Object#equals
- */
-public boolean equals(Object o) {
-	if (!(o instanceof ExternalProgramImageDescriptor)) {
-		return false;
-	}
-	ExternalProgramImageDescriptor other = (ExternalProgramImageDescriptor) o;
-
-	//See if there is a name - compare it if so and compare the programs if not
-	String otherName = other.program.getName();
-	if (otherName == null)
-		return other.program.equals(program);
-	else {
-		return otherName.equals(program.getName());
-	}
-}
-/**
- * Returns an SWT Image that is described by the information
- * in this descriptor.  Each call returns a new Image.
- */
-public Image getImage() {
-	return createImage();
-}
-/**
- * Returns an SWT Image that is described by the information
- * in this descriptor.  Each call returns a new Image.
- */
-public ImageData getImageData() {
-	ImageData data = null;
-	ImageData defaultImage = WorkbenchImages.getImageDescriptor(ISharedImages.IMG_OBJ_FILE).getImageData();
-	if(defaultImage == null)
-		return null;
-		
-	if (program == null || ((data = program.getImageData()) == null))
-		return defaultImage;
-
-	//The images in GNOME are too big. Scaling them does not give nice result so return defaultImage;
-	if(data.height > defaultImage.height || data.width > defaultImage.width)
-		return defaultImage;
-		
-	return data;
-}
-/**
- * @see Object#hashCode
- */
-public int hashCode() {
-	String programName = program.getName();
-	if(programName == null)
-		return program.hashCode();
-	else
-		return programName.hashCode();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ItemListener.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ItemListener.java
deleted file mode 100644
index 05e2d24..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ItemListener.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-/**
- * Defines the events fired by an <code>ActivatorItem</code>.
- */
-public interface ItemListener {
-/**
- * Notifies the receiver that the close box has been pressed for an item.
- */
-public void itemClosePressed(ActivatorItem item);
-/**
- * Notifies the receiver that an item has been selected.
- */
-public void itemSelected(ActivatorItem item);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/OverlayComposite.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/OverlayComposite.java
deleted file mode 100644
index fd8eff4..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/OverlayComposite.java
+++ /dev/null
@@ -1,169 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.resource.*;
-import org.eclipse.swt.graphics.*;
-import java.util.*;
-/**
- *	Instances represent images that are composed by overlaying one or more
- *	stand-alone images directly on top of each other.
- */
-public class OverlayComposite extends CompositeImageDescriptor {		
-	private ImageData backgroundImage;
-	private ImageData	leftImage;
-	private ImageData	rightImage;
-	private ImageData	topImage;
-	private ImageData	bottomImage;
-
-	private List foregroundImages = new ArrayList();
-/**
- *	Create an instance of this class.
- */
-public OverlayComposite(ImageData background) {
-	backgroundImage = background;
-}
-/**
- *	Add the passed image to this descriptor's collection of images to 
- * be composed together to create an image.
- */
-public void addForegroundImage(ImageData image) {
-	foregroundImages.add(image);
-}
-/**
- *Superimpose self's images within the given bounds by means of #drawImage
- *
- *@see CompositeImage#drawImage(ImageData src,int ox,int oy)
- */
-protected void drawCompositeImage(int width, int height) {
-	//draw background
-	drawImage(backgroundImage, getLeftBound(), getTopBound());
-
-	//draw foreground images
-	Iterator e = foregroundImages.iterator();
-	while (e.hasNext())
-		drawImage(((ImageData) e.next()), getLeftBound(), getTopBound());
-
-	//draw extensions
-	if (topImage != null)
-		drawImage(topImage, getLeftBound(), 0);
-	if (bottomImage != null)
-		drawImage(bottomImage, getLeftBound(), height - bottomImage.height);
-	if (leftImage != null)
-		drawImage(leftImage, 0, getTopBound());
-	if (rightImage != null)
-		drawImage(rightImage, width - rightImage.width, getTopBound());
-
-}
-/**
- * @see Object#equals
- */
-public boolean equals(Object o) {
-	if (!(o instanceof OverlayComposite)) {
-		return false;
-	}
-	OverlayComposite other = (OverlayComposite) o;
-
-	return equals(backgroundImage, other.backgroundImage)
-		&& equals(leftImage, other.leftImage)
-		&& equals(rightImage, other.rightImage)
-		&& equals(topImage, other.topImage)
-		&& equals(bottomImage, other.bottomImage)
-		&& equals(foregroundImages, other.foregroundImages);
-}
-/**
- * Private utility for comparing two possibly-null objects.
- */
-private boolean equals(Object o1, Object o2) {
-	return o1 == null ? o2 == null : o1.equals(o2);
-}
-/**
- *	Answer the left-most coordinate that the main image can draw to
- *
- *	@return int
- */
-protected int getLeftBound() {
-	if (leftImage == null)
-		return 0;
-		
-	return leftImage.width;
-}
-/**
- *	Answer self's size, as determined by the size of the initially-
- *	provided base-level image
- */
-protected Point getSize() {
-	//start with basic size
-	Point size = new Point(backgroundImage.width,backgroundImage.height);
-
-	//overlays may increase size.
-	if (topImage != null)
-		size.y += topImage.height;
-
-	if (bottomImage != null)
-		size.y += bottomImage.height;
-
-	if (leftImage != null)
-		size.x += leftImage.width;
-
-	if (rightImage != null)
-		size.x += rightImage.width;
-
-	return size;	
-}
-/**
- *	Answer the top-most coordinate that the main image can draw to
- *
- *	@return int
- */
-protected int getTopBound() {
-	if (topImage == null)
-		return 0;
-		
-	return topImage.height;
-}
-/**
- * @see Object#hashCode
- */
-public int hashCode() {
-	return hashCode(backgroundImage)
-		+ hashCode(leftImage)
-		+ hashCode(rightImage)
-		+ hashCode(topImage)
-		+ hashCode(bottomImage)
-		+ hashCode(foregroundImages);
-}
-/**
- * Private utility for getting the hashCode for an
- * object that may be null.
- */
-private int hashCode(Object o) {
-	return o == null ? 0 : o.hashCode();
-}
-/**
- *  Set the image to be drawn below the primary overlay region.
- */
-public void setBottomExtension(ImageData value) {
-	bottomImage = value;
-}
-/**
- *  Set the image to be drawn to the left of the primary overlay region.
- */
-public void setLeftExtension(ImageData value) {
-	leftImage = value;
-}
-/**
- *  Set the image to be drawn to the right of the primary overlay region.
- */
-public void setRightExtension(ImageData value) {
-	rightImage = value;
-}
-/**
- *  Set the image to be drawn above the primary overlay region.
- */
-public void setTopExtension(ImageData value) {
-	topImage = value;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/OverlayIcon.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/OverlayIcon.java
deleted file mode 100644
index 380b766..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/OverlayIcon.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * An OverlayIcon consists of a main icon and several adornments.
- */
-public class OverlayIcon extends CompositeImageDescriptor {
-	
-	static final int DEFAULT_WIDTH= 22;
-	static final int DEFAULT_HEIGHT= 16;
-	
-	private Point fSize= null;
-		
-	private ImageDescriptor fBase;
-	private ImageDescriptor fOverlays[][];
-
-	public OverlayIcon(ImageDescriptor base, ImageDescriptor[][] overlays, Point size) {
-		fBase= base;
-		fOverlays= overlays;
-		fSize= size;
-	}
-	protected void drawBottomLeft(ImageDescriptor[] overlays) {
-		if (overlays == null)
-			return;
-		int length= overlays.length;
-		int x= 0;
-		for (int i= 0; i < 3; i++) {
-			if (i < length && overlays[i] != null) {
-				ImageData id= overlays[i].getImageData();
-				drawImage(id, x, getSize().y-id.height);
-				x+= id.width;
-			}
-		}
-	}
-	protected void drawBottomRight(ImageDescriptor[] overlays) {
-		if (overlays == null)
-			return;
-		int length= overlays.length;
-		int x= getSize().x;
-		for (int i= 2; i >= 0; i--) {
-			if (i < length && overlays[i] != null) {
-				ImageData id= overlays[i].getImageData();
-				x-= id.width;
-				drawImage(id, x, getSize().y-id.height);
-			}
-		}
-	}
-	/**
-	 * @see CompositeImage#fill
-	 */
-	protected void drawCompositeImage(int width, int height) {
-		ImageData bg;
-		if (fBase == null || (bg= fBase.getImageData()) == null)
-			bg= DEFAULT_IMAGE_DATA;
-		drawImage(bg, 0, 0);
-		
-		if (fOverlays != null) {
-			if (fOverlays.length > 0)
-				drawTopRight( fOverlays[0]);
-				
-			if (fOverlays.length > 1)
-				drawBottomRight(fOverlays[1]);
-				
-			if (fOverlays.length > 2)
-				drawBottomLeft(fOverlays[2]);
-				
-			if (fOverlays.length > 3)
-				drawTopLeft(fOverlays[3]);
-		}	
-	}
-	protected void drawTopLeft(ImageDescriptor[] overlays) {
-		if (overlays == null)
-			return;
-		int length= overlays.length;
-		int x= 0;
-		for (int i= 0; i < 3; i++) {
-			if (i < length && overlays[i] != null) {
-				ImageData id= overlays[i].getImageData();
-				drawImage(id, x, 0);
-				x+= id.width;
-			}
-		}
-	}
-	protected void drawTopRight(ImageDescriptor[] overlays) {
-		if (overlays == null)
-			return;
-		int length= overlays.length;
-		int x= getSize().x;
-		for (int i= 2; i >= 0; i--) {
-			if (i < length && overlays[i] != null) {
-				ImageData id= overlays[i].getImageData();
-				x-= id.width;
-				drawImage(id, x, 0);
-			}
-		}
-	}
-	/**
-	 * @see CompositeImage#getSize
-	 */
-	protected Point getSize() {
-		return fSize;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/Policy.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/Policy.java
deleted file mode 100644
index fb1a0c0..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/Policy.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-package org.eclipse.ui.internal.misc;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ui.PlatformUI;
-
-public class Policy {
-	public static boolean DEFAULT = false;
-	
-	public static boolean DEBUG_OPEN_ERROR_DIALOG = DEFAULT;
-	public static boolean DEBUG_SWT_GRAPHICS = DEFAULT;
-
-	public static boolean DEBUG_PART_CREATE = DEFAULT;
-	public static boolean DEBUG_PART_ACTIVATE = DEFAULT;
-	public static boolean DEBUG_PART_LISTENERS = DEFAULT;
-	public static boolean DEBUG_PERSPECTIVE = DEFAULT;
-	public static boolean DEBUG_RESTORE_WORKBENCH = DEFAULT;
-	public static boolean DEBUG_START_WORKBENCH = DEFAULT;
-
-	static {
-		if (getDebugOption("/debug")) { //$NON-NLS-1$
-			DEBUG_OPEN_ERROR_DIALOG = getDebugOption("/debug/internalerror/openDialog"); //$NON-NLS-1$
-			DEBUG_SWT_GRAPHICS = getDebugOption("/trace/graphics"); //$NON-NLS-1$
-			DEBUG_PART_CREATE = getDebugOption("/trace/part.create"); //$NON-NLS-1$
-			DEBUG_PERSPECTIVE = getDebugOption("/trace/perspective"); //$NON-NLS-1$
-			DEBUG_RESTORE_WORKBENCH = getDebugOption("/trace/workbench.restore"); //$NON-NLS-1$
-			DEBUG_START_WORKBENCH = getDebugOption("/trace/workbench.start"); //$NON-NLS-1$
-			DEBUG_PART_ACTIVATE = getDebugOption("/trace/part.activate"); //$NON-NLS-1$
-			DEBUG_PART_LISTENERS = getDebugOption("/trace/part.listeners"); //$NON-NLS-1$
-		}
-	}
-	
-	private static boolean getDebugOption(String option) {
-		return "true".equalsIgnoreCase(Platform.getDebugOption(PlatformUI.PLUGIN_ID + option)); //$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ProgramImageDescriptor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ProgramImageDescriptor.java
deleted file mode 100644
index 38b5cb1..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ProgramImageDescriptor.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.internal.WorkbenchImages;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.*;
-
-/**
- * An image descriptor that loads its data from a program file.
- */
-public class ProgramImageDescriptor extends ImageDescriptor {
-	private String filename;
-	private int offset;
-/**
- * Creates a new ImageDescriptor. The image is loaded 
- * from a file with the given name <code>name</code>.
- */
-public ProgramImageDescriptor(String fullPath, int offsetInFile) {
-	filename = fullPath;
-	offset = offsetInFile;
-}
-/**
- * @see Object#equals
- */
-public boolean equals(Object o) {
-	if (!(o instanceof ProgramImageDescriptor)) {
-		return false;
-	}
-	ProgramImageDescriptor other = (ProgramImageDescriptor)o;
-	return filename.equals(other.filename) && offset == other.offset;
-}
-/**
- * Returns an SWT Image that is described by the information
- * in this descriptor.  Each call returns a new Image.
- */
-public Image getImage() {
-	return createImage();
-}
-/**
- * Returns an SWT Image that is described by the information
- * in this descriptor. 
- */
-public ImageData getImageData() {
-	/*This is a user defined offset into the file which always
-	*returns us the defualt - return the default regardless*/
-
-	return WorkbenchImages
-		.getImageDescriptor(ISharedImages.IMG_OBJ_FILE)
-		.getImageData();
-}
-/**
- * @see Object#hashCode
- */
-public int hashCode() {
-	return filename.hashCode() + offset;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ProjectCapabilitySelectionGroup.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ProjectCapabilitySelectionGroup.java
deleted file mode 100644
index 6daac7a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ProjectCapabilitySelectionGroup.java
+++ /dev/null
@@ -1,748 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/**********************************************************************
-Copyright (c) 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:
-Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog font should be
-activated and used by other components.
-*********************************************************************/
-import java.text.Collator;
-import java.util.*;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.registry.*;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * A group of controls used to view and modify the
- * set of capabilities on a project.
- */
-public class ProjectCapabilitySelectionGroup {
-	private static final String EMPTY_DESCRIPTION = "\n\n\n"; //$NON-NLS-1$
-	
-	private CapabilityRegistry registry;
-	private ICategory[] initialCategories;
-	private Capability[] initialCapabilities;
-	private Capability[] disabledCapabilities;
-	private boolean modified = false;
-	private Text descriptionText;
-	private CheckboxTableViewer checkboxViewer;
-	private ICheckStateListener checkStateListener;
-	private ArrayList visibleCapabilities = new ArrayList();
-	private ArrayList checkedCapabilities = new ArrayList();
-	private Collection disabledCaps;
-
-	// For a given capability as key, the value will be a list of
-	// other capabilities that require the capability. Also,
-	// it may include the capability key if it was selected by the
-	// user before being required by other capabilities.
-	private HashMap dependents = new HashMap();
-	
-	// For a given membership set id as key, the value is
-	// a checked capability
-	private HashMap memberships = new HashMap();
-
-	// Sort categories
-	private Comparator categoryComparator = new Comparator() {
-		private Collator collator = Collator.getInstance();
-
-		public int compare(Object ob1, Object ob2) {
-			ICategory c1 = (ICategory) ob1;
-			ICategory c2 = (ICategory) ob2;
-			return collator.compare(c1.getLabel(), c2.getLabel());
-		}
-	};
-
-	// Sort capabilities
-	private Comparator capabilityComparator = new Comparator() {
-		private Collator collator = Collator.getInstance();
-
-		public int compare(Object ob1, Object ob2) {
-			Capability c1 = (Capability) ob1;
-			Capability c2 = (Capability) ob2;
-			return collator.compare(c1.getName(), c2.getName());
-		}
-	};
-	
-	/**
-	 * Creates a new instance of the <code>ProjectCapabilitySelectionGroup</code>
-	 * 
-	 * @param categories the initial collection of valid categories to select
-	 * @param capabilities the intial collection of valid capabilities to select
-	 * @param registry all available capabilities registered by plug-ins
-	 */
-	public ProjectCapabilitySelectionGroup(ICategory[] categories, Capability[] capabilities, CapabilityRegistry registry) {
-		this(categories, capabilities, null, registry);
-	}
-
-	/**
-	 * Creates a new instance of the <code>ProjectCapabilitySelectionGroup</code>
-	 * 
-	 * @param categories the initial collection of valid categories to select
-	 * @param capabilities the intial collection of valid capabilities to select
-	 * @param disabledCapabilities the collection of capabilities to show as disabled
-	 * @param registry all available capabilities registered by plug-ins
-	 */
-	public ProjectCapabilitySelectionGroup(ICategory[] categories, Capability[] capabilities, Capability[] disabledCapabilities, CapabilityRegistry registry) {
-		super();
-		this.initialCategories = categories;
-		this.initialCapabilities = capabilities;
-		this.disabledCapabilities = disabledCapabilities;
-		this.registry = registry;
-	}
-
-	/**
-	 * Create the contents of this group. The basic layout is a checkbox
-	 * list with a text field at the bottom to display the capability
-	 * description.
-	 */
-	public Control createContents(Composite parent) {
-		Font font = parent.getFont();
-		// Create the main composite for the other controls
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.makeColumnsEqualWidth = true;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		// Composite for category label and list...
-		Composite catComposite = new Composite(composite, SWT.NONE);
-		catComposite.setLayout(new GridLayout());
-		catComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		// Add a label to identify the list viewer of categories
-		Label categoryLabel = new Label(catComposite, SWT.LEFT);
-		categoryLabel.setText(WorkbenchMessages.getString("ProjectCapabilitySelectionGroup.categories")); //$NON-NLS-1$
-		GridData data = new GridData();
-		data.verticalAlignment = SWT.TOP;
-		categoryLabel.setLayoutData(data);
-		categoryLabel.setFont(font);
-		
-		// List viewer of all available categories
-		ListViewer listViewer = new ListViewer(catComposite);
-		listViewer.getList().setLayoutData(new GridData(GridData.FILL_BOTH));
-		listViewer.getList().setFont(font);
-		listViewer.setLabelProvider(new WorkbenchLabelProvider());
-		listViewer.setContentProvider(getContentProvider());
-		listViewer.setInput(getAvailableCategories());
-		
-		// Composite for capability label and table...
-		Composite capComposite = new Composite(composite, SWT.NONE);
-		capComposite.setLayout(new GridLayout());
-		capComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		// Add a label to identify the checkbox tree viewer of capabilities
-		Label capabilityLabel = new Label(capComposite, SWT.LEFT);
-		capabilityLabel.setText(WorkbenchMessages.getString("ProjectCapabilitySelectionGroup.capabilities")); //$NON-NLS-1$
-		data = new GridData();
-		data.verticalAlignment = SWT.TOP;
-		capabilityLabel.setLayoutData(data);
-		capabilityLabel.setFont(font);
-		
-		// Checkbox tree viewer of capabilities in selected categories
-		checkboxViewer = CheckboxTableViewer.newCheckList(capComposite, SWT.SINGLE | SWT.TOP | SWT.BORDER);
-		checkboxViewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
-		checkboxViewer.getTable().setFont(font);
-		checkboxViewer.setLabelProvider(new CapabilityLabelProvider());
-		checkboxViewer.setContentProvider(getContentProvider());
-		checkboxViewer.setInput(visibleCapabilities);
-
-		// Add a label to identify the text field of capability's description
-		Label descLabel = new Label(composite, SWT.LEFT);
-		descLabel.setText(WorkbenchMessages.getString("ProjectCapabilitySelectionGroup.description")); //$NON-NLS-1$
-		data = new GridData();
-		data.verticalAlignment = SWT.TOP;
-		data.horizontalSpan = 2;
-		descLabel.setLayoutData(data);
-		descLabel.setFont(font);
-		
-		// Text field to display the capability's description
-		descriptionText = new Text(composite, SWT.WRAP | SWT.MULTI | SWT.V_SCROLL | SWT.BORDER);
-		descriptionText.setText(EMPTY_DESCRIPTION);
-		descriptionText.setEditable(false);
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.grabExcessHorizontalSpace = true;
-		data.horizontalSpan = 2;
-		descriptionText.setLayoutData(data);
-		descriptionText.setFont(font);
-		
-		// Add a text field to explain grayed out items
-		Label grayLabel = new Label(composite, SWT.LEFT);
-		grayLabel.setText(WorkbenchMessages.getString("ProjectCapabilitySelectionGroup.grayItems")); //$NON-NLS-1$
-		data = new GridData();
-		data.verticalAlignment = SWT.TOP;
-		data.horizontalSpan = 2;
-		grayLabel.setLayoutData(data);
-		grayLabel.setFont(font);
-
-		// Setup initial context		
-		populateDependents();
-		populateMemberships();
-		
-		// Listen for selection changes to update the description field
-		checkboxViewer.addSelectionChangedListener(new ISelectionChangedListener () {
-			public void selectionChanged(SelectionChangedEvent event) {
-				updateDescription(event.getSelection());
-			}
-		});
-		
-		// Properly handle user checking and unchecking project features
-		checkboxViewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				Capability cap = (Capability)event.getElement();
-				if (event.getChecked())
-					handleCapabilityChecked(cap);
-				else
-					handleCapabilityUnchecked(cap);
-				checkboxViewer.setSelection(new StructuredSelection(cap));
-			}
-		});
-
-		// Listen for category selection and update the list of capabilities
-		listViewer.addSelectionChangedListener(new ISelectionChangedListener () {
-			public void selectionChanged(SelectionChangedEvent event) {
-				if (event.getSelection() instanceof IStructuredSelection) {
-					IStructuredSelection sel = (IStructuredSelection)event.getSelection();
-					visibleCapabilities.clear();
-					Iterator enum = sel.iterator();
-					while (enum.hasNext()) {
-						ICategory cat = (ICategory)enum.next();
-						visibleCapabilities.addAll(cat.getElements());
-					}
-					Collections.sort(visibleCapabilities, capabilityComparator);
-					checkboxViewer.refresh();
-					enum = visibleCapabilities.iterator();
-					while (enum.hasNext()) {
-						Capability cap = (Capability)enum.next();
-						if (hasDependency(cap))
-							checkboxViewer.setGrayed(cap, true);
-						if (checkedCapabilities.contains(cap))
-							checkboxViewer.setChecked(cap, true);
-					}
-					updateDescription(checkboxViewer.getSelection());
-				}
-			}
-		});
-
-		// initialize
-		if (initialCapabilities != null)
-			checkedCapabilities.addAll(Arrays.asList(initialCapabilities));
-		if (initialCategories != null)
-			listViewer.setSelection(new StructuredSelection(initialCategories));
-			
-		return composite;
-	}
-	
-	/**
-	 * Marks the capability as being checked.
-	 */
-	private void markCapabilityChecked(Capability target, Capability dependent) {
-		// Check the target capability
-		if (!checkedCapabilities.contains(target))
-			checkedCapabilities.add(target);
-		checkboxViewer.setChecked(target, true);
-		
-		// Gray the target to show the user its required
-		// by another capability.
-		if (target != dependent)
-			checkboxViewer.setGrayed(target, true);
-			
-		// Update the dependent map for the target capability
-		addDependency(target, dependent);
-		
-		// Update the membership set for the target capability
-		String[] ids = registry.getMembershipSetIds(target);
-		for (int j = 0; j < ids.length; j++) 
-			memberships.put(ids[j], target);
-	}
-	
-	/**
-	 * Marks the capability as being unchecked.
-	 */
-	private void markCapabilityUnchecked(Capability target) {
-		// Uncheck the target capability
-		checkedCapabilities.remove(target);
-		checkboxViewer.setChecked(target, false);
-
-		// Ungray the target as there is no dependency on it
-		checkboxViewer.setGrayed(target, false);
-
-		// Remove the dependency entry
-		dependents.remove(target);
-							
-		// Update the membership set for the target capability
-		String[] ids = registry.getMembershipSetIds(target);
-		for (int j = 0; j < ids.length; j++) {
-			if (memberships.get(ids[j]) == target)
-				memberships.remove(ids[j]);
-		}
-	}
-	
-	/**
-	 * Returns the list of categories that have capabilities
-	 * registered against it.
-	 */
-	private ArrayList getAvailableCategories() {
-		ArrayList results = registry.getUsedCategories();
-		Collections.sort(results, categoryComparator);
-		if (registry.getMiscCategory() != null)
-			results.add(registry.getMiscCategory());
-		return results;
-	}
-	
-	/**
-	 * Return <code>true</code> if the user may have made changes
-	 * to the capabilities of the project. Otherwise <code>false</code>
-	 * if no changes were made.
-	 * 
-	 * @return <code>true</true> when possible changes may have been made,
-	 *    <code>false</code> otherwise
-	 */
-	public boolean getCapabilitiesModified() {
-		return modified;
-	}
-
-	/**
-	 * Returns the content provider for the viewers
-	 */
-	private IContentProvider getContentProvider() {
-		return new WorkbenchContentProvider() {
-			public Object[] getChildren(Object parentElement) {
-				if (parentElement instanceof ArrayList)
-					return ((ArrayList)parentElement).toArray();
-				else
-					return null;
-			}
-		};
-	}
-	
-	/**
-	 * The user has changed the project capability selection.
-	 * Set the modified flag and clear the caches.
-	 */
-	private void capabilitiesModified() {
-		modified = true;
-	}
-	
-	/**
-	 * Add a dependency between the target and dependent
-	 * capabilities
-	 */
-	private void addDependency(Capability target, Capability dependent) {
-		ArrayList descriptors = (ArrayList) dependents.get(target);
-		if (descriptors == null) {
-			descriptors = new ArrayList();
-			descriptors.add(dependent);
-			dependents.put(target, descriptors);
-		}
-		else if (!descriptors.contains(dependent)) {
-			descriptors.add(dependent);
-		}
-	}
-
-	/**
-	 * Returns true if the capability has any
-	 * dependencies on it.
-	 */
-	private boolean hasDependency(Capability capability) {
-		ArrayList descriptors = (ArrayList) dependents.get(capability);
-		if (descriptors == null)
-			return false;
-		if (descriptors.size() == 1 && descriptors.get(0) == capability)
-			return false;
-		return true;
-	}
-	
-	/**
-	 * Returns whether the category is considered disabled
-	 */
-	private boolean isDisabledCapability(Capability cap) {
-		if (disabledCaps == null) {
-			if (disabledCapabilities == null)
-				disabledCaps = new ArrayList(0);
-			else
-				disabledCaps = Arrays.asList(disabledCapabilities);
-		}
-		return disabledCaps.contains(cap);
-	}
-
-	/**
-	 * Populate the dependents map based on the
-	 * current set of capabilities.
-	 */
-	private void populateDependents() {
-		if (initialCapabilities == null)
-			return;
-			
-		LinkedList capabilities = new LinkedList();
-		capabilities.addAll(Arrays.asList(initialCapabilities));
-			
-		while (!capabilities.isEmpty()) {
-			// Retrieve the target capability
-			Capability target;
-			target = (Capability) capabilities.removeFirst();
-			// Add the capability as a dependent of itself.
-			// It will indicate to the uncheck handler to not uncheck this
-			// capability automatically even if a another capability which
-			// depended on it is unchecked.
-			addDependency(target, target);
-			
-			if (registry.hasPrerequisites(target)) {
-				// Retrieve the prerequisite capabilities...
-				String[] prereqIds = registry.getPrerequisiteIds(target);
-				Capability[] prereqCapabilities;
-				prereqCapabilities = registry.findCapabilities(prereqIds);
-				// For each prerequisite capability...
-				for (int i = 0; i < prereqCapabilities.length; i++) {
-					// Update the dependent map for the prerequisite capability
-					addDependency(prereqCapabilities[i], target);
-					// Recursive if prerequisite capability also has prerequisites
-					if (registry.hasPrerequisites(prereqCapabilities[i]))
-						capabilities.addLast(prereqCapabilities[i]);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Populate the memberships map based on the
-	 * current set of capabilities.
-	 */
-	private void populateMemberships() {
-		if (initialCapabilities == null)
-			return;
-			
-		Iterator enum = (Arrays.asList(initialCapabilities)).iterator();
-		while (enum.hasNext()) {
-			Capability cap = (Capability)enum.next();
-			String[] ids = registry.getMembershipSetIds(cap);
-			for (int j = 0; j < ids.length; j++) {
-				memberships.put(ids[j], cap);
-			}
-		}
-	}
-	
-	/**
-	 * Handle the case of a capability being checked
-	 * by ensuring the action is allowed and the prerequisite
-	 * capabilities are also checked.
-	 */
-	private void handleCapabilityChecked(Capability capability) {
-		// Cannot allow a disabled capability to be checked
-		if (isDisabledCapability(capability)) {
-			MessageDialog.openWarning(
-				checkboxViewer.getControl().getShell(),
-				WorkbenchMessages.getString("ProjectCapabilitySelectionGroup.errorTitle"), //$NON-NLS-1$
-				WorkbenchMessages.format("ProjectCapabilitySelectionGroup.disabledCapability", new Object[] {capability.getName()})); //$NON-NLS-1$
-			checkboxViewer.setChecked(capability, false);
-			return;
-		}
-		
-		// Cannot allow an invalid capability to be checked
-		if (!capability.isValid()) {
-			MessageDialog.openWarning(
-				checkboxViewer.getControl().getShell(),
-				WorkbenchMessages.getString("ProjectCapabilitySelectionGroup.errorTitle"), //$NON-NLS-1$
-				WorkbenchMessages.format("ProjectCapabilitySelectionGroup.invalidCapability", new Object[] {capability.getName()})); //$NON-NLS-1$
-			checkboxViewer.setChecked(capability, false);
-			return;
-		}
-
-		// Is there a membership set problem...
-		String[] ids = registry.getMembershipSetIds(capability);
-		for (int i = 0; i < ids.length; i++) {
-			Capability member = (Capability)memberships.get(ids[i]);
-			if (member != null && member != capability) {
-				MessageDialog.openWarning(
-					checkboxViewer.getControl().getShell(),
-					WorkbenchMessages.getString("ProjectCapabilitySelectionGroup.errorTitle"), //$NON-NLS-1$
-					WorkbenchMessages.format("ProjectCapabilitySelectionGroup.membershipConflict", new Object[] {capability.getName(), member.getName()})); //$NON-NLS-1$
-				checkboxViewer.setChecked(capability, false);
-				return;
-			}
-		}
-		
-		// Handle prerequisite by auto-checking them if possible
-		if (registry.hasPrerequisites(capability)) {
-			// Check for any prerequisite problems...
-			// Retrieve all the prerequisite capabilities, including
-			// any prerequisite of the prerequisites!
-			LinkedList capabilities = new LinkedList();
-			capabilities.addLast(capability);
-			while (!capabilities.isEmpty()) {
-				Capability target;
-				target = (Capability) capabilities.removeFirst();
-				// Retrieve the capability's immediate prerequisites
-				String[] prereqIds = registry.getPrerequisiteIds(target);
-				Capability[] prereqCapabilities;
-				prereqCapabilities = registry.findCapabilities(prereqIds);
-				for (int i = 0; i < prereqCapabilities.length; i++) {
-					// If the prerequisite is missing, warn the user and
-					// do not allow the check to proceed.
-					if (prereqCapabilities[i] == null || isDisabledCapability(prereqCapabilities[i]) || !prereqCapabilities[i].isValid()) {
-						MessageDialog.openWarning(
-							checkboxViewer.getControl().getShell(),
-							WorkbenchMessages.getString("ProjectCapabilitySelectionGroup.errorTitle"), //$NON-NLS-1$
-							WorkbenchMessages.format("ProjectCapabilitySelectionGroup.missingPrereqs", new Object[] {capability.getName(), prereqIds[i]})); //$NON-NLS-1$
-						checkboxViewer.setChecked(capability, false);
-						return;
-					}
-					// If there is a membership problem, warn the user and
-					// do not allow the check to proceed
-					ids = registry.getMembershipSetIds(prereqCapabilities[i]);
-					for (int j = 0; j < ids.length; j++) {
-						Capability member = (Capability)memberships.get(ids[j]);
-						if (member != null && member != prereqCapabilities[i]) {
-							MessageDialog.openWarning(
-								checkboxViewer.getControl().getShell(),
-								WorkbenchMessages.getString("ProjectCapabilitySelectionGroup.errorTitle"), //$NON-NLS-1$
-								WorkbenchMessages.format("ProjectCapabilitySelectionGroup.membershipPrereqConflict", new Object[] {capability.getName(), prereqCapabilities[i].getName(), member.getName()})); //$NON-NLS-1$
-							checkboxViewer.setChecked(capability, false);
-							return;
-						}
-					}
-					// If the prerequisite capability has prerequisites
-					// also, then add it to be processed.
-					if (registry.hasPrerequisites(prereqCapabilities[i]))
-						capabilities.addLast(prereqCapabilities[i]);
-				}
-			}
-			
-			// Auto-check all prerequisite capabilities
-			capabilities = new LinkedList();
-			capabilities.addLast(capability);
-			// For each capability that has prerequisites...
-			while (!capabilities.isEmpty()) {
-				Capability target;
-				target = (Capability) capabilities.removeFirst();
-				// Retrieve the prerequisite capabilities...
-				String[] prereqIds = registry.getPrerequisiteIds(target);
-				Capability[] prereqCapabilities;
-				prereqCapabilities = registry.findCapabilities(prereqIds);
-				// For each prerequisite capability...
-				for (int i = 0; i < prereqCapabilities.length; i++) {
-					// Mark it as being checked
-					markCapabilityChecked(prereqCapabilities[i], target);
-					// Recursive if prerequisite capability also has prerequisites
-					if (registry.hasPrerequisites(prereqCapabilities[i]))
-						capabilities.addLast(prereqCapabilities[i]);
-				}
-			}
-		}
-		
-		// Mark the capability as checked. Adds itself as a
-		// dependent - this will indicate to the uncheck handler
-		// to not uncheck this capability automatically even if
-		// another capability which depends on it is unchecked.
-		markCapabilityChecked(capability, capability);
-
-		// Notify those interested
-		capabilitiesModified();
-		notifyCheckStateListner();
-	}
-	
-	/**
-	 * Handle the case of a capability being unchecked
-	 * by ensuring the action is allowed. 
-	 */
-	private void handleCapabilityUnchecked(Capability capability) {
-		ArrayList descriptors = (ArrayList) dependents.get(capability);
-		
-		// Note, there is no need to handle the case where descriptors size
-		// is zero because it cannot happen. For this method to be called, the
-		// item must have been checked previously. If it was checked by the user,
-		// then the item itself would be a dependent. If the item was checked
-		// because it was required by another capability, then that other capability
-		// would be a dependent.
-		
-		if (descriptors.size() == 1 && descriptors.get(0) == capability) {
-			// If the only dependent is itself, then its ok to uncheck
-			capabilitiesModified();
-			markCapabilityUnchecked(capability);
-
-			// Remove this capability as a dependent on its prerequisite
-			// capabilities. Recursive if a prerequisite capability
-			// no longer has any dependents.
-			if (registry.hasPrerequisites(capability)) {
-				LinkedList capabilities = new LinkedList();
-				capabilities.addLast(capability);
-				// For each capability that has prerequisite capabilities
-				while (!capabilities.isEmpty()) {
-					Capability target;
-					target = (Capability) capabilities.removeFirst();
-					// Retrieve the prerequisite capabilities...
-					String[] prereqIds = registry.getPrerequisiteIds(target);
-					Capability[] prereqCapabilities;
-					prereqCapabilities = registry.findCapabilities(prereqIds);
-					// For each prerequisite capability...
-					for (int i = 0; i < prereqCapabilities.length; i++) {
-						// Retrieve the list of dependents on the prerequisite capability...
-						Capability prereqCap = prereqCapabilities[i];
-						ArrayList prereqDependents = (ArrayList) dependents.get(prereqCap);
-						// Remove the dependent target capability...
-						prereqDependents.remove(target);
-						if (prereqDependents.isEmpty()) {
-							// Unchecked the prerequisite capability
-							markCapabilityUnchecked(prereqCap);
-							// Recursive if prerequisite capability also has
-							// prerequisite capabilities
-							if (registry.hasPrerequisites(prereqCap))
-								capabilities.addLast(prereqCap);
-						}
-						else if (prereqDependents.size() == 1 && prereqDependents.get(0) == prereqCap) {
-							// Only dependent is itself so ungray the item to let the
-							// user know no other capability is dependent on it
-							checkboxViewer.setGrayed(prereqCap, false);
-						}
-					}
-				}
-			}
-			
-			// Notify those interested
-			notifyCheckStateListner();
-		}
-		else {
-			// At least one other capability depends on it being checked
-			// so force it to remain checked and warn the user.
-			checkboxViewer.setChecked(capability, true);
-			// Get a copy and remove the target capability
-			ArrayList descCopy = (ArrayList) descriptors.clone();
-			descCopy.remove(capability);
-			// Show the prereq problem to the user
-			if (descCopy.size() == 1) {
-				Capability cap = (Capability) descCopy.get(0);
-				MessageDialog.openWarning(
-					checkboxViewer.getControl().getShell(),
-					WorkbenchMessages.getString("ProjectCapabilitySelectionGroup.errorTitle"), //$NON-NLS-1$
-					WorkbenchMessages.format("ProjectCapabilitySelectionGroup.requiredPrereq", new Object[] {capability.getName(), cap.getName()})); //$NON-NLS-1$
-			} else {
-				StringBuffer msg = new StringBuffer();
-				Iterator enum = descCopy.iterator();
-				while (enum.hasNext()) {
-					Capability cap = (Capability) enum.next();
-					msg.append("\n    "); //$NON-NLS-1$
-					msg.append(cap.getName());
-				}
-				MessageDialog.openWarning(
-					checkboxViewer.getControl().getShell(),
-					WorkbenchMessages.getString("ProjectCapabilitySelectionGroup.errorTitle"), //$NON-NLS-1$
-					WorkbenchMessages.format("ProjectCapabilitySelectionGroup.requiredPrereqs", new Object[] {capability.getName(), msg.toString()})); //$NON-NLS-1$
-			}
-		}
-	}
-	
-	/**
-	 * Returns the collection of capabilities selected
-	 * by the user. The collection is not in prerequisite
-	 * order.
-	 * 
-	 * @return array of selected capabilities
-	 */
-	public Capability[] getSelectedCapabilities() {
-		Capability[] capabilities = new Capability[checkedCapabilities.size()];
-		checkedCapabilities.toArray(capabilities);
-		return capabilities;
-	}
-
-	/**
-	 * Return the current listener interested when the check
-	 * state of a capability actually changes.
-	 * 
-	 * @return Returns a ICheckStateListener
-	 */
-	public ICheckStateListener getCheckStateListener() {
-		return checkStateListener;
-	}
-
-	/**
-	 * Set the current listener interested when the check
-	 * state of a capability actually changes.
-	 * 
-	 * @param checkStateListener The checkStateListener to set
-	 */
-	public void setCheckStateListener(ICheckStateListener checkStateListener) {
-		this.checkStateListener = checkStateListener;
-	}
-
-	/**
-	 * Notify the check state listener that a capability
-	 * check state has changed. The event past will
-	 * always be <code>null</code> as it could be
-	 * triggered by code instead of user input.
-	 */
-	private void notifyCheckStateListner() {
-		if (checkStateListener != null)
-			checkStateListener.checkStateChanged(null);
-	}
-	
-	/**
-	 * Updates the description field for the selected capability
-	 */
-	private void updateDescription(ISelection selection) {
-		String text = EMPTY_DESCRIPTION;
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection sel = (IStructuredSelection)selection;
-			Capability cap = (Capability)sel.getFirstElement();
-			if (cap != null)
-				text = cap.getDescription();
-		}
-		descriptionText.setText(text);
-	}
-	
-	class CapabilityLabelProvider extends LabelProvider {
-		private Map imageTable;
-		
-		public void dispose() {
-			if (imageTable != null) {
-				Iterator enum = imageTable.values().iterator();
-				while (enum.hasNext())
-					((Image) enum.next()).dispose();
-				imageTable = null;
-			}
-		}
-
-		public Image getImage(Object element) {
-			ImageDescriptor descriptor = ((Capability) element).getIconDescriptor();
-			if (descriptor == null)
-				return null;
-			
-			//obtain the cached image corresponding to the descriptor
-			if (imageTable == null) {
-				 imageTable = new Hashtable(40);
-			}
-			Image image = (Image) imageTable.get(descriptor);
-			if (image == null) {
-				image = descriptor.createImage();
-				imageTable.put(descriptor, image);
-			}
-			return image;
-		}
-
-		public String getText(Object element) {
-			Capability cap = (Capability) element;
-			String text = cap.getName();
-			if (isDisabledCapability(cap))
-				text = WorkbenchMessages.format("ProjectCapabilitySelectionGroup.disabledLabel", new Object[] {text}); //$NON-NLS-1$
-			return text;
-		}
-	}
-}
-
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ResourceAndContainerGroup.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ResourceAndContainerGroup.java
deleted file mode 100644
index 77335d3..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/ResourceAndContainerGroup.java
+++ /dev/null
@@ -1,351 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/**
- * 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: 
- *  Randy Giffen: Added initial file selection
- * 	Eduardo Pereira: Fix for 1GIT1G6
- *  Karice McIntyre: Fix for 1GF68LO and pruint support
- *  Leon J. Breedt: Added multiple folder creation support
- *  Tod Creasey: Integration of patches and fonts   
- */
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * Workbench-level composite for resource and container specification by the user.
- * Services such as field validation are performed by the group.
- * The group can be configured to accept existing resources, or only
- * new resources.
- */
-public class ResourceAndContainerGroup implements Listener {
-	// problem identifiers
-	public static final int PROBLEM_NONE = 0;
-	public static final int PROBLEM_RESOURCE_EMPTY = 1;
-	public static final int PROBLEM_RESOURCE_EXIST = 2;
-	public static final int PROBLEM_RESOURCE_CONTAINS_SEPARATOR = 3;
-	public static final int PROBLEM_PATH_INVALID = 4;
-	public static final int PROBLEM_CONTAINER_EMPTY = 5;
-	public static final int PROBLEM_PROJECT_DOES_NOT_EXIST = 6;
-	public static final int PROBLEM_NAME_INVALID = 7;
-	
-	// the client to notify of changes
-	private Listener client;
-
-	// whether to allow existing resources
-	private boolean allowExistingResources = false;
-
-	// resource type (file, folder, project)
-	private String resourceType = WorkbenchMessages.getString("ResourceGroup.resource"); //$NON-NLS-1$
-
-	// show closed projects in the tree, by default
-	private boolean showClosedProjects = true;
-	
-	// problem indicator
-	private String problemMessage = "";//$NON-NLS-1$
-	private int problemType = PROBLEM_NONE;
-
-	// widgets
-	private ContainerSelectionGroup containerGroup;
-	private Button browseButton;
-	private Text resourceNameField;
-
-	// constants
-	private static final int SIZING_TEXT_FIELD_WIDTH = 250;
-/**
- * Create an instance of the group to allow the user
- * to enter/select a container and specify a resource
- * name.
- *
- * @param parent composite widget to parent the group
- * @param client object interested in changes to the group's fields value
- * @param resourceFieldLabel label to use in front of the resource name field
- * @param resourceType one word, in lowercase, to describe the resource to the user (file, folder, project)
- */
-public ResourceAndContainerGroup(Composite parent, Listener client, String resourceFieldLabel, String resourceType) {
-	this(parent, client, resourceFieldLabel, resourceType, true);
-}
-/**
- * Create an instance of the group to allow the user
- * to enter/select a container and specify a resource
- * name.
- *
- * @param parent composite widget to parent the group
- * @param client object interested in changes to the group's fields value
- * @param resourceFieldLabel label to use in front of the resource name field
- * @param resourceType one word, in lowercase, to describe the resource to the user (file, folder, project)
- * @param showClosedProjects whether or not to show closed projects
- */
-public ResourceAndContainerGroup(Composite parent, Listener client, String resourceFieldLabel, String resourceType, boolean showClosedProjects) {
-	this(parent,client,resourceFieldLabel, resourceType, showClosedProjects, SWT.DEFAULT);
-}
-/**
- * Create an instance of the group to allow the user
- * to enter/select a container and specify a resource
- * name.
- *
- * @param parent composite widget to parent the group
- * @param client object interested in changes to the group's fields value
- * @param resourceFieldLabel label to use in front of the resource name field
- * @param resourceType one word, in lowercase, to describe the resource to the user (file, folder, project)
- * @param showClosedProjects whether or not to show closed projects
- * @param heightHint height hint for the container selection widget group
- */
-public ResourceAndContainerGroup(Composite parent, Listener client, String resourceFieldLabel, String resourceType, boolean showClosedProjects, int heightHint) {
-	super();
-	this.resourceType = resourceType;
-	this.showClosedProjects = showClosedProjects;
-	createContents(parent,resourceFieldLabel,heightHint);
-	this.client = client;
-}
-/**
- * Returns a boolean indicating whether all controls in this group
- * contain valid values.
- *
- * @return boolean
- */
-public boolean areAllValuesValid() {
-	return problemType == PROBLEM_NONE;
-}
-/**
- * Creates this object's visual components.
- *
- * @param parent org.eclipse.swt.widgets.Composite
- * @param heightHint height hint for the container selection widget group
- */
-protected void createContents(Composite parent,String resourceLabelString,int heightHint) {
-	
-	Font font = parent.getFont();	
-	// server name group
-	Composite composite = new Composite(parent,SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.marginWidth = 0;
-	layout.marginHeight = 0;
-	composite.setLayout(layout);
-	composite.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-	composite.setFont(font);
-
-	// container group
-	if (heightHint == SWT.DEFAULT)
-		containerGroup = new ContainerSelectionGroup(composite, this, true, null,showClosedProjects);
-	else
-		containerGroup = new ContainerSelectionGroup(composite, this, true, null,showClosedProjects, heightHint);
-	
-	// resource name group
-	Composite nameGroup = new Composite(composite,SWT.NONE);
-	layout = new GridLayout();
-	layout.numColumns = 2;
-	layout.marginWidth = 0;
-	nameGroup.setLayout(layout);
-	nameGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-	nameGroup.setFont(font);
-
-	Label label = new Label(nameGroup,SWT.NONE);
-	label.setText(resourceLabelString);
-	label.setFont(font);
-
-	// resource name entry field
-	resourceNameField = new Text(nameGroup,SWT.BORDER);
-	resourceNameField.addListener(SWT.Modify,this);
-	GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
-	data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-	resourceNameField.setLayoutData(data);
-	resourceNameField.setFont(font);
-
-	validateControls();
-}
-/**
- * Returns the path of the currently selected container
- * or null if no container has been selected. Note that
- * the container may not exist yet if the user entered
- * a new container name in the field.
- */
-public IPath getContainerFullPath() {
-	return containerGroup.getContainerFullPath();
-}
-/**
- * Returns an error message indicating the current problem with the value
- * of a control in the group, or an empty message if all controls in the
- * group contain valid values.
- *
- * @return java.lang.String
- */
-public String getProblemMessage() {
-	return problemMessage;
-}
-/**
- * Returns the type of problem with the value of a control
- * in the group.
- *
- * @return one of the PROBLEM_* constants
- */
-public int getProblemType() {
-	return problemType;
-}
-/**
- * Returns a string that is the path of the currently selected
- * container.  Returns an empty string if no container has been
- * selected.
- */
-public String getResource() {
-	return resourceNameField.getText();
-}
-/**
- * Handles events for all controls in the group.
- *
- * @param e org.eclipse.swt.widgets.Event
- */
-public void handleEvent(Event e) {
-	validateControls();
-	if (client != null) {
-		client.handleEvent(e);
-	}
-}
-/**
- * Sets the flag indicating whether existing resources are permitted.
- */
-public void setAllowExistingResources(boolean value) {
-	allowExistingResources = value;
-}
-/**
- * Sets the value of this page's container.
- *
- * @param value Full path to the container.
- */
-public void setContainerFullPath(IPath path) {
-	IResource initial = 
-		ResourcesPlugin.getWorkspace().getRoot().findMember(path); 
-	if (initial != null) {
-		if (!(initial instanceof IContainer)) {
-			initial = initial.getParent();
-		}
-		containerGroup.setSelectedContainer((IContainer) initial);
-	}
-	validateControls();
-}
-/**
- * Gives focus to the resource name field and selects its contents
- */
-public void setFocus() {
-	//select the whole resource name.
-	resourceNameField.setSelection(0, resourceNameField.getText().length());
-	resourceNameField.setFocus();
-}
-/**
- * Sets the value of this page's resource name.
- *
- * @param value new value
- */
-public void setResource(String value) {
-	resourceNameField.setText(value);
-	validateControls();
-}
-/**
- * Returns a <code>boolean</code> indicating whether a container name represents
- * a valid container resource in the workbench.  An error message is stored for
- * future reference if the name does not represent a valid container.
- *
- * @return <code>boolean</code> indicating validity of the container name
- */
-protected boolean validateContainer() {
-	IPath path = containerGroup.getContainerFullPath();
-	if (path == null) {
-		problemType = PROBLEM_CONTAINER_EMPTY;
-		problemMessage = WorkbenchMessages.getString("ResourceGroup.folderEmpty"); //$NON-NLS-1$
-		return false;
-	}
-	IWorkspace workspace = ResourcesPlugin.getWorkspace();
-	String projectName = path.segment(0);
-	if (projectName == null || !workspace.getRoot().getProject(projectName).exists()) {
-		problemType = PROBLEM_PROJECT_DOES_NOT_EXIST;
-		problemMessage = WorkbenchMessages.getString("ResourceGroup.noProject"); //$NON-NLS-1$
-		return false;
-	}
-	return true;
-}
-/**
- * Validates the values for each of the group's controls.  If an invalid
- * value is found then a descriptive error message is stored for later
- * reference.  Returns a boolean indicating the validity of all of the
- * controls in the group.
- */
-protected boolean validateControls() {
-	// don't attempt to validate controls until they have been created
-	if (containerGroup == null) {
-		return false;
-	}
-	problemType = PROBLEM_NONE;
-	problemMessage = "";//$NON-NLS-1$
-
-	if (!validateContainer() || !validateResourceName())
-		return false;
-
-	IPath path = containerGroup.getContainerFullPath().append(resourceNameField.getText());
-	return validateFullResourcePath(path);
-}
-/**
- * Returns a <code>boolean</code> indicating whether the specified resource
- * path represents a valid new resource in the workbench.  An error message
- * is stored for future reference if the path  does not represent a valid
- * new resource path.
- *
- * @param containerName the container name to validate
- * @return <code>boolean</code> indicating validity of the resource path
- */
-protected boolean validateFullResourcePath(IPath resourcePath) {
-	IWorkspace workspace = ResourcesPlugin.getWorkspace();
-
-	IStatus result = workspace.validatePath(resourcePath.toString(),IResource.FOLDER);
-	if (!result.isOK()) {
-		problemType = PROBLEM_PATH_INVALID;
-		problemMessage = result.getMessage();
-		return false;
-	}
-
-	if (!allowExistingResources && (workspace.getRoot().getFolder(resourcePath).exists() || workspace.getRoot().getFile(resourcePath).exists())) {
-		problemType = PROBLEM_RESOURCE_EXIST;
-		problemMessage = WorkbenchMessages.getString("ResourceGroup.nameExists"); //$NON-NLS-1$
-		return false;
-	} 
-	return true;
-}
-/**
- * Returns a <code>boolean</code> indicating whether the resource name rep-
- * resents a valid resource name in the workbench.  An error message is stored
- * for future reference if the name does not represent a valid resource name.
- *
- * @return <code>boolean</code> indicating validity of the resource name
- */
-protected boolean validateResourceName() {
-    String resourceName = resourceNameField.getText();
-
-    if (resourceName.equals("")) {//$NON-NLS-1$
-        problemType = PROBLEM_RESOURCE_EMPTY;
-        problemMessage = WorkbenchMessages.format("ResourceGroup.emptyName", new Object[] {resourceType}); //$NON-NLS-1$
-        return false;
-    }
-    
-    if(!(new Path("")).isValidSegment(resourceName)){
-		problemType = PROBLEM_NAME_INVALID;
-		problemMessage = WorkbenchMessages.format("ResourceGroup.invalidFilename", new String[] {resourceName});
-		return false;
-	}
-	
-    return true;
-}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/Sorter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/Sorter.java
deleted file mode 100644
index b23e5e3..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/Sorter.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-/**
- *	The SortOperation takes a collection of objects and returns
- *	a sorted collection of these objects.  Concrete instances of this
- *	class provide the criteria for the sorting of the objects based on
- *	the type of the objects.
- */
-public abstract class Sorter {
-/**
- *	Returns true if elementTwo is 'greater than' elementOne
- *	This is the 'ordering' method of the sort operation.
- *	Each subclass overides this method with the particular
- *	implementation of the 'greater than' concept for the 
- *	objects being sorted.
- */
-public abstract boolean compare(Object elementOne, Object elementTwo);
-/**
- *	Sort the objects in sorted collection and return that collection.
- */
-private Object[] quickSort(Object[] sortedCollection, int left, int right) {
-	int originalLeft = left;
-	int originalRight = right;
-	Object mid = sortedCollection[ (left + right) / 2];
-	
-	do {
-		while (compare(sortedCollection[left], mid))
-			left++;
-		while (compare(mid, sortedCollection[right]))
-			right--;
-		if (left <= right) {
-			Object tmp = sortedCollection[left];
-			sortedCollection[left] = sortedCollection[right];
-			sortedCollection[right] = tmp;
-			left++;
-			right--;
-		}
-	} while (left <= right);
-	
-	if (originalLeft < right)
-		sortedCollection = quickSort(sortedCollection, originalLeft, right);
-	if (left < originalRight)
-		sortedCollection = quickSort(sortedCollection, left, originalRight);
-		
-	return sortedCollection;
-}
-/**
- *	Return a new sorted collection from this unsorted collection.
- *	Sort using quick sort.
- */
-public Object[] sort(Object[] unSortedCollection) {
-	int size = unSortedCollection.length;
-	Object[] sortedCollection = new Object[size];
-	
-	//copy the array so can return a new sorted collection	
-	System.arraycopy(unSortedCollection, 0, sortedCollection, 0, size);
-	if (size > 1)
-		quickSort(sortedCollection, 0, size - 1);
-		
-	return sortedCollection;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/StatusUtil.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/StatusUtil.java
deleted file mode 100644
index f18059c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/StatusUtil.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.*;
-import java.util.*;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * Utility class to create status objects.
- *
- * @private - This class is an internal implementation class and should
- * not be referenced or subclassed outside of the workbench
- *
- * <p>
- * [Issue: Implementation contains illegal references to
- *  org.eclipse.core.internal.resources.ResourceStatus,
- * ]
- * </p>
- */
-public class StatusUtil {
-/**
- *	Answer a flat collection of the passed status and its recursive children
- */
-protected static List flatten(IStatus aStatus) {
-	List result = new ArrayList();
-
-	if (aStatus.isMultiStatus()) {
-		IStatus[] children = aStatus.getChildren();
-		for (int i = 0; i < children.length; i++){
-			IStatus currentChild = children[i];
-			if (currentChild.isMultiStatus()) {
-				Iterator childStatiiEnum = flatten(currentChild).iterator();
-				while (childStatiiEnum.hasNext())
-					result.add(childStatiiEnum.next());
-			} else
-				result.add(currentChild);
-		}
-	} else
-		result.add(aStatus);
-	
-	return result;
-}
-/**
- * This method must not be called outside the workbench.
- *
- * Utility method for creating status.
- */
-protected static IStatus newStatus(
-		IStatus[] stati, 
-		String message, 
-		Throwable exception) {
-
-	Assert.isTrue(message != null);
-	Assert.isTrue(message.trim().length() != 0);
-
-	return new MultiStatus(WorkbenchPlugin.PI_WORKBENCH, IStatus.ERROR, 
-		stati, message, exception);
-}
-/**
- * This method must not be called outside the workbench.
- *
- * Utility method for creating status.
- */
-public static IStatus newStatus(
-	int severity, 
-	String message, 
-	Throwable exception) {
-
-	Assert.isTrue(message != null);
-	Assert.isTrue(message.trim().length() != 0);
-
-	return new Status(severity, WorkbenchPlugin.PI_WORKBENCH, severity, message, exception);
-}
-/**
- * This method must not be called outside the workbench.
- *
- * Utility method for creating status.
- */
-public static IStatus newStatus(
-		List children, 
-		String message, 
-		Throwable exception) {
-	
-	List flatStatusCollection = new ArrayList();
-	Iterator iter = children.iterator();
-	while (iter.hasNext()) {
-		IStatus currentStatus = (IStatus)iter.next();
-		Iterator childrenIter = flatten(currentStatus).iterator();
-		while (childrenIter.hasNext())
-			flatStatusCollection.add(childrenIter.next());
-	}
-
-	IStatus[] stati = new IStatus[flatStatusCollection.size()];
-	flatStatusCollection.toArray(stati);
-	return newStatus(stati, message, exception);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/Stopwatch.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/Stopwatch.java
deleted file mode 100644
index 326ebf6..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/Stopwatch.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.Map;
-import java.util.HashMap;
-
-/**
- * A Stopwatch is used to measure the time elapsed during 
- * an operation.  To do this create a stopwatch before the
- * operation is executed and call stop() when the operation 
- * afterwards.  The elapsed time will be printed.
- *
- * A Stopwatch can also be used to measure an interval time.  To
- * do this create a stopwatch and call printInterval after
- * every important interval.  The resetInterval method can also
- * be used to start a new interval.
- *
- * A Stopwatch can also be registered for global access.  To 
- * do this create a stopwatch and call register.  From this point 
- * on a handle to the stopwatch can be retrieved by calling
- * Stopwatch.getStopwatch("name").  The stopwatch should be
- * unregistered when no longer needed.
- */
-public class Stopwatch {
-	private long startTime;
-	private long lastTime;
-	private String name;
-	private static Map registry;
-/**
- * Construct a new Stopwatch and start it.
- * To reset the watch at a later time just call start() again.
- */
-public Stopwatch(String name) {
-	this.name = name;
-	start();
-}
-/**
- * Get a stopwatch from the registry.
- */
-static public Stopwatch getStopwatch(String name) {
-	if (registry != null)
-		return (Stopwatch)registry.get(name);
-	else
-		return null;
-}
-/**
- * Print the elapsed time since start(), printInterval(), or 
- * resetInterval() was last called.
- */
-public void printInterval(String hint) {
-	long time = System.currentTimeMillis() - lastTime;
-	System.out.println(name + " '" + hint + "' took " + time + " ms");//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
-	lastTime = System.currentTimeMillis();
-}
-/**
- * Print the current elapsed time.
- */
-public void printTime() {
-	long time = System.currentTimeMillis() - startTime;
-	System.out.print(name + " is now " + time + " ms");//$NON-NLS-2$//$NON-NLS-1$
-}
-/**
- * Add this stopwatch to the registry.
- */
-public void register() {
-	if (registry == null)
-		registry = new HashMap(2);
-	registry.put(name, this);
-}
-/**
- * Reset the interval timer.
- */
-public void resetInterval() {
-	lastTime = System.currentTimeMillis();
-}
-/**
- * Start the watch.
- */
-public void start() {
-	startTime = lastTime = System.currentTimeMillis();
-	System.out.println(name + " started");//$NON-NLS-1$
-}
-/**
- * Stop the watch and print the elapsed time.
- */
-public void stop() {
-	long time = System.currentTimeMillis() - startTime;
-	System.out.println(name + " finished in " + time + " ms");//$NON-NLS-2$//$NON-NLS-1$
-}
-/**
- * Remove this stopwatch from the registry.
- */
-public void unregister() {
-	if (registry != null)
-		registry.remove(name);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/StringMatcher.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/StringMatcher.java
deleted file mode 100644
index 0977f9c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/StringMatcher.java
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-package org.eclipse.ui.internal.misc;
-
-import java.util.*;
-
-/**
- * A string pattern matcher, suppporting * and ? wildcards.
- */
-public class StringMatcher {
-	protected String fPattern;
-	protected int fLength; // pattern length
-	protected boolean fIgnoreWildCards;
-	protected boolean fIgnoreCase;
-	protected boolean fHasLeadingStar;
-	protected boolean fHasTrailingStar;
-	protected String fSegments[]; //the given pattern is split into * separated segments
-
-	/* boundary value beyond which we don't need to search in the text */
-	protected int fBound= 0;
-	
-
-	protected static final char fSingleWildCard= '\u0000';
-	
-	public static class Position {
-		int start; //inclusive
-		int end; //exclusive
-		public Position(int start, int end) {
-			this.start= start;
-			this.end= end;
-		}
-		public int getStart() {
-			return start;
-		}
-		public int getEnd() {
-			return end;
-		}
-	}
-	/**
-	 * StringMatcher constructor takes in a String object that is a simple 
-	 * pattern which may contain ‘*’ for 0 and many characters and
-	 * ‘?’ for exactly one character.  
-	 *
-	 * Literal '*' and '?' characters must be escaped in the pattern 
-	 * e.g., "\*" means literal "*", etc.
-	 *
-	 * Escaping any other character (including the escape character itself), 
-	 * just results in that character in the pattern.
-	 * e.g., "\a" means "a" and "\\" means "\"
-	 *
-	 * If invoking the StringMatcher with string literals in Java, don't forget
-	 * escape characters are represented by "\\".
-	 *
-	 * @param pattern the pattern to match text against
-	 * @param ignoreCase if true, case is ignored
-	 * @param ignoreWildCards if true, wild cards and their escape sequences are ignored
-	 * 		  (everything is taken literally).
-	 */
-	public StringMatcher(String pattern, boolean ignoreCase, boolean ignoreWildCards) {
-		if (pattern == null)
-			throw new IllegalArgumentException();
-		fIgnoreCase= ignoreCase;
-		fIgnoreWildCards= ignoreWildCards;
-		fPattern= pattern;
-		fLength= pattern.length();
-		
-		if (fIgnoreWildCards) {
-			parseNoWildCards();
-		} else {
-			parseWildCards();
-		}
-	}
-	/**
-	 * Find the first occurrence of the pattern between <code>start</code)(inclusive) 
-	 * and <code>end</code>(exclusive).  
-	 * @param <code>text</code>, the String object to search in 
-	 * @param <code>start</code>, the starting index of the search range, inclusive
-	 * @param <code>end</code>, the ending index of the search range, exclusive
-	 * @return an <code>StringMatcher.Position</code> object that keeps the starting 
-	 * (inclusive) and ending positions (exclusive) of the first occurrence of the 
-	 * pattern in the specified range of the text; return null if not found or subtext
-	 * is empty (start==end). A pair of zeros is returned if pattern is empty string
-	 * Note that for pattern like "*abc*" with leading and trailing stars, position of "abc"
-	 * is returned. For a pattern like"*??*" in text "abcdf", (1,3) is returned
-	 */
-	public StringMatcher.Position find(String text, int start, int end) {
-		if (text == null)
-			throw new IllegalArgumentException();
-			
-		int tlen= text.length();
-		if (start < 0)
-			start= 0;
-		if (end > tlen)
-			end= tlen;
-		if (end < 0 ||start >= end )
-			return null;
-		if (fLength == 0)
-			return new Position(start, start);
-		if (fIgnoreWildCards) {
-			int x= posIn(text, start, end);
-			if (x < 0)
-				return null;
-			return new Position(x, x+fLength);
-		}
-
-		int segCount= fSegments.length;
-		if (segCount == 0)//pattern contains only '*'(s)
-			return new Position (start, end);
-					
-		int curPos= start;
-		int matchStart= -1;
-		int i;
-		for (i= 0; i < segCount && curPos < end; ++i) {
-			String current= fSegments[i];
-			int nextMatch= regExpPosIn(text, curPos, end, current);
-			if (nextMatch < 0 )
-				return null;
-			if(i == 0)
-				matchStart= nextMatch;
-			curPos= nextMatch + current.length();
-		}
-		if (i < segCount)
-			return null;
-		return new Position(matchStart, curPos);
-	}
-	/**
-	 * match the given <code>text</code> with the pattern 
-	 * @return true if matched eitherwise false
-	 * @param <code>text</code>, a String object 
-	 */
-	public boolean match(String text) {
-		return match(text, 0, text.length());
-	}
-	/**
-	 * Given the starting (inclusive) and the ending (exclusive) positions in the   
-	 * <code>text</code>, determine if the given substring matches with aPattern  
-	 * @return true if the specified portion of the text matches the pattern
-	 * @param String <code>text</code>, a String object that contains the substring to match 
-	 * @param int <code>start<code> marks the starting position (inclusive) of the substring
-	 * @param int <code>end<code> marks the ending index (exclusive) of the substring 
-	 */
-	public boolean match(String text, int start, int end) {
-		if (null == text)
-			throw new IllegalArgumentException();
-			
-		if (start > end)
-			return false;
-		
-		if (fIgnoreWildCards)
-			return (end - start == fLength) && fPattern.regionMatches(fIgnoreCase, 0, text, start, fLength);
-		int segCount= fSegments.length;
-		if (segCount == 0 && (fHasLeadingStar || fHasTrailingStar))  // pattern contains only '*'(s)
-			return true;
-		if (start == end)
-			return fLength == 0;
-		if (fLength == 0)
-			return start == end;	
-		 
-		int tlen= text.length();
-		if (start < 0)
-			start= 0;
-		if (end > tlen)
-			end= tlen; 
-					
-		int tCurPos= start;
-		int bound= end - fBound;
-		if ( bound < 0)
-			return false;
-		int i=0;
-		String current= fSegments[i];
-		int segLength= current.length();
-
-		/* process first segment */
-		if (!fHasLeadingStar){ 
-			if(!regExpRegionMatches(text, start, current, 0, segLength)) {
-				return false;
-			} else {
-				++i;
-				tCurPos= tCurPos + segLength;
-			}
-		}
-		if ((fSegments.length == 1) && (!fHasLeadingStar) && (!fHasTrailingStar)) {
-			// only one segment to match, no wildcards specified
-			return tCurPos == end;
-		}
-		/* process middle segments */	
-		while (i < segCount) {
-			current= fSegments[i];
-			int currentMatch;
-			int k= current.indexOf(fSingleWildCard);
-			if (k < 0) {
-				currentMatch= textPosIn(text, tCurPos, end, current);
-				if (currentMatch < 0)
-					return false;
-			} else { 
-				currentMatch= regExpPosIn(text, tCurPos, end, current);
-				if (currentMatch < 0)
-					return false;
-			}
-			tCurPos= currentMatch + current.length();
-			i++;
-		}
-
-		/* process final segment */
-		if (!fHasTrailingStar && tCurPos != end) {
-			int clen= current.length();
-			return regExpRegionMatches(text, end - clen, current, 0, clen);
-		}
-		return i == segCount ;
-	}
-	/**
-	 * This method parses the given pattern into segments seperated by wildcard '*' characters.
-	 * Since wildcards are not being used in this case, the pattern consists of a single segment.
-	 */
-	private void parseNoWildCards() {
-		fSegments= new String[1];
-		fSegments[0]= fPattern;
-		fBound= fLength;
-	}
-	/**
-	 * Parses the given pattern into segments seperated by wildcard '*' characters.
-	 * @param p, a String object that is a simple regular expression with ‘*’ and/or ‘?’
-	 */
-	private void parseWildCards() {
-		if(fPattern.startsWith("*"))//$NON-NLS-1$
-			fHasLeadingStar= true;
-		if(fPattern.endsWith("*")) {//$NON-NLS-1$
-			/* make sure it's not an escaped wildcard */
-			if (fLength > 1 && fPattern.charAt(fLength - 2) != '\\') {
-				fHasTrailingStar= true;
-			}
-		}
-
-		Vector temp= new Vector();
-
-		int pos= 0;
-		StringBuffer buf= new StringBuffer();
-		while (pos < fLength) {
-			char c= fPattern.charAt(pos++);
-			switch (c) {
-				case '\\':
-					if (pos >= fLength) {
-						buf.append(c);
-					} else {
-						char next= fPattern.charAt(pos++);
-						/* if it's an escape sequence */
-						if (next == '*' || next == '?' || next == '\\') {
-							buf.append(next);
-						} else {
-							/* not an escape sequence, just insert literally */
-							buf.append(c);
-							buf.append(next);
-						}
-					}
-				break;
-				case '*':
-					if (buf.length() > 0) {
-						/* new segment */
-						temp.addElement(buf.toString());
-						fBound += buf.length();
-						buf.setLength(0);
-					}
-				break;
-				case '?':
-					/* append special character representing single match wildcard */
-					buf.append(fSingleWildCard);
-				break;
-				default:
-					buf.append(c);
-			}
-		}
-
-		/* add last buffer to segment list */
-		if (buf.length() > 0) {
-			temp.addElement(buf.toString());
-			fBound += buf.length();
-		}
-			
-		fSegments= new String[temp.size()];
-		temp.copyInto(fSegments);
-	}
-	/** 
-	 * @param <code>text</code>, a string which contains no wildcard
-	 * @param <code>start</code>, the starting index in the text for search, inclusive
-	 * @param <code>end</code>, the stopping point of search, exclusive
-	 * @return the starting index in the text of the pattern , or -1 if not found 
-	 */
-	protected int posIn(String text, int start, int end) {//no wild card in pattern
-		int max= end - fLength;
-		
-		if (!fIgnoreCase) {
-			int i= text.indexOf(fPattern, start);
-			if (i == -1 || i > max)
-				return -1;
-			return i;
-		}
-		
-		for (int i= start; i <= max; ++i) {
-			if (text.regionMatches(true, i, fPattern, 0, fLength))
-				return i;
-		}
-		
-		return -1;
-	}
-	/** 
-	 * @param <code>text</code>, a simple regular expression that may only contain '?'(s)
-	 * @param <code>start</code>, the starting index in the text for search, inclusive
-	 * @param <code>end</code>, the stopping point of search, exclusive
-	 * @param <code>p</code>, a simple regular expression that may contains '?'
-	 * @param <code>caseIgnored</code>, wether the pattern is not casesensitive
-	 * @return the starting index in the text of the pattern , or -1 if not found 
-	 */
-	protected int regExpPosIn(String text, int start, int end, String p) {
-		int plen= p.length();
-		
-		int max= end - plen;
-		for (int i= start; i <= max; ++i) {
-			if (regExpRegionMatches(text, i, p, 0, plen))
-				return i;
-		}
-		return -1;
-	}
-	/**
-	 * 
-	 * @return boolean
-	 * @param <code>text</code>, a String to match
-	 * @param <code>start</code>, int that indicates the starting index of match, inclusive
-	 * @param <code>end</code> int that indicates the ending index of match, exclusive
-	 * @param <code>p</code>, String,  String, a simple regular expression that may contain '?'
-	 * @param <code>ignoreCase</code>, boolean indicating wether code>p</code> is case sensitive
-	 */
-	protected boolean regExpRegionMatches(String text, int tStart, String p, int pStart, int plen) {
-		while (plen-- > 0) {
-			char tchar= text.charAt(tStart++);
-			char pchar= p.charAt(pStart++);
-
-			/* process wild cards */
-			if (!fIgnoreWildCards) {
-				/* skip single wild cards */
-				if (pchar == fSingleWildCard) {
-					continue;
-				}
-			}
-			if (pchar == tchar)
-				continue;
-			if (fIgnoreCase) {
-				if (Character.toUpperCase(tchar) == Character.toUpperCase(pchar))
-					continue;
-				// comparing after converting to upper case doesn't handle all cases;
-				// also compare after converting to lower case
-				if (Character.toLowerCase(tchar) == Character.toLowerCase(pchar))
-					continue;
-			}
-			return false;
-		}
-		return true;
-	}
-	/** 
-	 * @param <code>text</code>, the string to match
-	 * @param <code>start</code>, the starting index in the text for search, inclusive
-	 * @param <code>end</code>, the stopping point of search, exclusive
-	 * @param code>p</code>, a string that has no wildcard
-	 * @param <code>ignoreCase</code>, boolean indicating wether code>p</code> is case sensitive
-	 * @return the starting index in the text of the pattern , or -1 if not found 
-	 */
-	protected int textPosIn(String text, int start, int end, String p) { 
-		
-		int plen= p.length();
-		int max= end - plen;
-		
-		if (!fIgnoreCase) {
-			int i= text.indexOf(p, start);
-			if (i == -1 || i > max)
-				return -1;
-			return i;
-		}
-		
-		for (int i= start; i <= max; ++i) {
-			if (text.regionMatches(true, i, p, 0, plen))
-				return i;
-		}
-		
-		return -1;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/TestPageListener.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/TestPageListener.java
deleted file mode 100644
index 6a4db45..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/TestPageListener.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-
-/**
- * Prints out page listener events.
- */
-public class TestPageListener implements IPageListener {
-/**
- * TestPageListener constructor comment.
- */
-public TestPageListener() {
-	super();
-}
-/**
- * Notifies this listener that the given page has been activated.
- *
- * @param page the page that was activated
- * @see IWorkbenchWindow#setActivePage
- */
-public void pageActivated(IWorkbenchPage page) {
-	System.out.println("pageActivated(" + page + ")");//$NON-NLS-2$//$NON-NLS-1$
-}
-/**
- * Notifies this listener that the given page has been closed.
- *
- * @param page the page that was closed
- * @see IWorkbenchPage#close
- */
-public void pageClosed(IWorkbenchPage page) {
-	System.out.println("pageClosed(" + page + ")");//$NON-NLS-2$//$NON-NLS-1$
-}
-/**
- * Notifies this listener that the given page has been opened.
- *
- * @param page the page that was opened
- * @see IWorkbenchWindow#openPage
- */
-public void pageOpened(IWorkbenchPage page) {
-	System.out.println("pageOpened(" + page + ")");//$NON-NLS-2$//$NON-NLS-1$
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/TestPartListener.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/TestPartListener.java
deleted file mode 100644
index 315b950..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/TestPartListener.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-
-/**
- * Prints out part listener events
- */
-public class TestPartListener implements IPartListener {
-/**
- * TestPartListener constructor comment.
- */
-public TestPartListener() {
-	super();
-}
-/**
- * Notifies this listener that the given part has been activated.
- *
- * @param part the part that was activated
- * @see IPerspective#activate
- */
-public void partActivated(IWorkbenchPart part) {
-	System.out.println("partActivated(" + part + ")");//$NON-NLS-2$//$NON-NLS-1$
-}
-/**
- * Notifies this listener that the given part has been brought to the top.
- * <p>
- * These events occur when an editor is brought to the top in the editor area,
- * or when a view is brought to the top in a page book with multiple views.
- * They are normally only sent when a part is brought to the top 
- * programmatically (via <code>IPerspective.bringToTop</code>). When a part is
- * activated by the user clicking on it, only <code>partActivated</code> is sent.
- * </p>
- *
- * @param part the part that was surfaced
- * @see IPerspective#bringToTop
- */
-public void partBroughtToTop(IWorkbenchPart part) {
-	System.out.println("partBroughtToTop(" + part + ")");//$NON-NLS-2$//$NON-NLS-1$
-}
-/**
- * Notifies this listener that the given part has been closed.
- *
- * @param part the part that was closed
- * @see IPerspective#close
- */
-public void partClosed(IWorkbenchPart part) {
-	System.out.println("partClosed(" + part + ")");//$NON-NLS-2$//$NON-NLS-1$
-}
-/**
- * Notifies this listener that the given part has been deactivated.
- *
- * @param part the part that was deactivated
- * @see IPerspective#activate
- */
-public void partDeactivated(IWorkbenchPart part) {
-	System.out.println("partDeactivated(" + part + ")");//$NON-NLS-2$//$NON-NLS-1$
-}
-/**
- * Notifies this listener that the given part has been opened.
- *
- * @param part the part that was opened
- */
-public void partOpened(IWorkbenchPart part) {
-	System.out.println("partOpened(" + part + ")");//$NON-NLS-2$//$NON-NLS-1$
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/TestSelectionListener.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/TestSelectionListener.java
deleted file mode 100644
index 612f90e..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/TestSelectionListener.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.viewers.*;
-import org.eclipse.ui.*;
-
-/**
- * Print out selection listener events.
- */
-public class TestSelectionListener implements org.eclipse.ui.ISelectionListener {
-/**
- * TestSelectionListener constructor comment.
- */
-public TestSelectionListener() {
-	super();
-}
-/**
- * Notifies this listener that the selection has changed.
- *
- * @param part the workbench part containing the selection
- * @param selection the new selection, or <code>null</code> if none
- */
-public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-	System.out.println("selectionChanged(" + selection + ")");//$NON-NLS-2$//$NON-NLS-1$
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/UIHackFinder.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/UIHackFinder.java
deleted file mode 100644
index 392c251..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/UIHackFinder.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-public class UIHackFinder {
-/**
- * Used to mark code/functionality that we may want in the future.
- */
-public static void fixFuture() {}
-/**
- * Used to mark code that must be fixed up related to error handling.
- */
-public static void fixHandler() {}
-/**
- * Used to mark code that must be fixed up related to ISV or plugin.
- */
-public static void fixPR() {}
-/**
- * Used to mark code that must be fixed up.
- */
-public static void fixUI() {}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/UIStats.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/UIStats.java
deleted file mode 100644
index b8551aa..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/UIStats.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-package org.eclipse.ui.internal.misc;
-
-import java.util.HashMap;
-
-public class UIStats {
-	
-	private static int SIZE = 20;
-	private static boolean debug[] = new boolean[SIZE];
-	private static String startStrings[] = new String[SIZE];
-	private static String endStrings[] = new String[SIZE];
-	private static HashMap operations = new HashMap(); 
-	
-	public static int CREATE_PART = 0;
-	public static int CREATE_PART_CONTROL = 1;
-	public static int INIT_PART = 2;
-	
-	public static int CREATE_PERSPECTIVE = 3;
-	public static int RESTORE_WORKBENCH = 4;
-	public static int START_WORKBENCH = 5;
-	public static int CREATE_PART_INPUT = 6;
-	public static int ACTIVATE_PART = 7;
-	public static int BRING_PART_TO_TOP = 8;
-	public static int NOTIFY_PART_LISTENERS = 9;
-	public static int SWITCH_PERSPECTIVE = 10;
-	
-	static {
-		debug[CREATE_PART] = Policy.DEBUG_PART_CREATE;
-		debug[CREATE_PART_INPUT] = Policy.DEBUG_PART_CREATE;
-		debug[CREATE_PART_CONTROL] = Policy.DEBUG_PART_CREATE;
-		debug[INIT_PART] = Policy.DEBUG_PART_CREATE;
-		debug[CREATE_PERSPECTIVE] = Policy.DEBUG_PERSPECTIVE;
-		debug[SWITCH_PERSPECTIVE] = Policy.DEBUG_PERSPECTIVE;
-		debug[RESTORE_WORKBENCH] = Policy.DEBUG_RESTORE_WORKBENCH;
-		debug[START_WORKBENCH] = Policy.DEBUG_START_WORKBENCH;
-		debug[ACTIVATE_PART] = Policy.DEBUG_PART_ACTIVATE;
-		debug[BRING_PART_TO_TOP] = Policy.DEBUG_PART_ACTIVATE;
-		debug[NOTIFY_PART_LISTENERS] = Policy.DEBUG_PART_LISTENERS;
-		
-		startStrings[CREATE_PART] = "Creating part: "; //$NON-NLS-1$
-		endStrings[CREATE_PART] = " ms to create: "; //$NON-NLS-1$
-		startStrings[CREATE_PART_INPUT] = "Creating part input: "; //$NON-NLS-1$
-		endStrings[CREATE_PART_INPUT] = " ms to create input: "; //$NON-NLS-1$
-		startStrings[CREATE_PART_CONTROL] = "Creating control: "; //$NON-NLS-1$
-		endStrings[CREATE_PART_CONTROL] = " ms to create control: "; //$NON-NLS-1$
-		startStrings[INIT_PART] = "Initializing part: "; //$NON-NLS-1$
-		endStrings[INIT_PART] = " ms to init part: "; //$NON-NLS-1$	
-		startStrings[CREATE_PERSPECTIVE] = "Creating perspective: "; //$NON-NLS-1$
-		endStrings[CREATE_PERSPECTIVE] = " ms to create perspective:"; //$NON-NLS-1$
-		startStrings[RESTORE_WORKBENCH] = "Restoring: "; //$NON-NLS-1$
-		endStrings[RESTORE_WORKBENCH] = " ms to restore:"; //$NON-NLS-1$
-		startStrings[START_WORKBENCH] = "Starting:"; //$NON-NLS-1$
-		endStrings[START_WORKBENCH] = " ms to start:"; //$NON-NLS-1$
-		
-		startStrings[ACTIVATE_PART] = "Activation part:"; //$NON-NLS-1$
-		endStrings[ACTIVATE_PART] = " ms to activate:"; //$NON-NLS-1$
-		startStrings[BRING_PART_TO_TOP] = "Bringing part to top:"; //$NON-NLS-1$
-		endStrings[BRING_PART_TO_TOP] = " ms to bring part to top:"; //$NON-NLS-1$
-		startStrings[NOTIFY_PART_LISTENERS] = "Notifying part listeners:"; //$NON-NLS-1$
-		endStrings[NOTIFY_PART_LISTENERS] = " ms to notify listeners:"; //$NON-NLS-1$
-		startStrings[SWITCH_PERSPECTIVE] = "Swtich perspective:"; //$NON-NLS-1$
-		endStrings[SWITCH_PERSPECTIVE] = " ms to switch perspective:"; //$NON-NLS-1$
-	}
-	
-	public static void start(int operation,String label) {
-		if(debug[operation]) {
-			System.out.println(startStrings[operation] + label);
-			operations.put(operation + label,new Long(System.currentTimeMillis()));
-		}
-	}
-	public static void end(int operation,String label) {
-		if(debug[operation]) {
-			Long startTime = (Long)operations.remove(operation + label);
-			System.out.println(
-				"Time - " + //$NON-NLS-1$
-				(System.currentTimeMillis() - startTime.longValue()) + 
-				endStrings[operation] +
-				label);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/WizardStepGroup.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/WizardStepGroup.java
deleted file mode 100644
index 5ced0b3..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/WizardStepGroup.java
+++ /dev/null
@@ -1,269 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/**********************************************************************
-Copyright (c) 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:
-Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog font should be
-activated and used by other components.
-*********************************************************************/
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.dialogs.WizardStep;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-
-/**
- * A group of controls used to view the list of
- * wizard steps to be done.
- */
-public class WizardStepGroup {
-	private Image doneImage;
-	private Image currentImage;
-	private WizardStep currentStep;
-	private Composite parentComposite;
-	private TableViewer stepViewer;
-	private ISelectionChangedListener selectionListener;
-
-	/**
-	 * Creates a new instance of the <code>WizardStepGroup</code>
-	 * 
-	 * @param numberColWidth the width in pixel for the number column
-	 */
-	public WizardStepGroup() {
-		super();
-	}
-
-	/**
-	 * Create the contents of this group. The basic layout is a table
-	 * with a label above it.
-	 */
-	public Control createContents(Composite parent) {
-		Font font = parent.getFont();
-		parentComposite = parent;
-		
-		// Create a composite to hold everything together
-		Composite composite = new Composite(parent, SWT.NULL);
-		composite.setLayout(new GridLayout());
-		composite.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-		composite.setFont(font);
-		composite.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				if (doneImage != null) {
-					doneImage.dispose();
-					doneImage = null;
-				}
-				if (currentImage != null) {
-					currentImage.dispose();
-					currentImage = null;
-				}
-			}
-		});
-		
-		// Add a label to identify the step list field
-		Label label = new Label(composite, SWT.LEFT);
-		label.setText(WorkbenchMessages.getString("WizardStepGroup.stepsLabel")); //$NON-NLS-1$
-		GridData data = new GridData();
-		data.verticalAlignment = SWT.TOP;
-		label.setLayoutData(data);
-		label.setFont(font);
-		
-		// Table viewer of all the steps
-		stepViewer = new TableViewer(composite, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);
-		data = new GridData(GridData.FILL_BOTH);
-		stepViewer.getTable().setLayoutData(data);
-		stepViewer.getTable().setFont(font);
-		stepViewer.setContentProvider(getStepProvider());
-		stepViewer.setLabelProvider(new StepLabelProvider());
-		
-		if (selectionListener != null)
-			stepViewer.addSelectionChangedListener(selectionListener);
-		
-		return composite;
-	}
-
-	/**
-	 * Creates an image descriptor.
-	 */
-	private Image createImage(String iconFileName) {
-		String iconPath = "icons/full/clcl16/"; //$NON-NLS-1$
-		ImageDescriptor desc = null;
-		try {
-			URL url_basic = Platform.getPlugin(PlatformUI.PLUGIN_ID).getDescriptor().getInstallURL();
-			URL url = new URL(url_basic, iconPath + iconFileName);
-			desc = ImageDescriptor.createFromURL(url);
-		} catch (MalformedURLException e) {
-			return null;
-		}
-		
-		return desc.createImage();
-	}
-
-	/**
-	 * Return the image indicating a step is current
-	 */
-	private Image getCurrentImage() {
-		if (currentImage == null) {
-			currentImage = createImage("step_current.gif"); //$NON-NLS-1$
-		}
-		return currentImage;
-	}
-	
-	/**
-	 * Return the image indicating a step is done
-	 */
-	private Image getDoneImage() {
-		if (doneImage == null) {
-			doneImage = createImage("step_done.gif"); //$NON-NLS-1$
-		}
-		return doneImage;
-	}
-	
-	/**
-	 * Returns the content provider for the step viewer
-	 */
-	private IContentProvider getStepProvider() {
-		return new WorkbenchContentProvider() {
-			public Object[] getChildren(Object parentElement) {
-				if (parentElement instanceof StepRoot)
-					return ((StepRoot) parentElement).getSteps();
-				else
-					return null;
-			}
-
-		};
-	}
-	
-	/**
-	 * Returns the steps.
-	 */
-	public WizardStep[] getSteps() {
-		if (stepViewer != null) {
-			StepRoot root = (StepRoot)stepViewer.getInput();
-			if (root != null)
-				return root.getSteps();
-		}
-		
-		return new WizardStep[0];
-	}
-	
-	/**
-	 * Marks the current step as being done
-	 */
-	public void markStepAsDone() {
-		if (currentStep != null)
-			currentStep.markAsDone();
-	}
-	
-	/**
-	 * Sets the current step being worked on. Assumes
-	 * the step provided exist in the steps within the
-	 * group's viewer.
-	 * 
-	 * @param step the wizard step being worked on
-	 */
-	public void setCurrentStep(WizardStep step) {
-		WizardStep oldStep = currentStep;
-		currentStep = step;
-		if (stepViewer != null) {
-			if (oldStep != null)
-				stepViewer.update(oldStep, null);
-			if (currentStep != null)
-				stepViewer.update(currentStep, null);
-				
-			// Update the layout so that there is enough
-			// room for the icon now.
-			if (oldStep == null && currentStep != null)
-				parentComposite.layout(true);
-		}
-	}
-	
-	/**
-	 * Set the current listener interested when the selection
-	 * state changes.
-	 * 
-	 * @param listener The selection listener to set
-	 */
-	public void setSelectionListener(ISelectionChangedListener listener) {
-		if (selectionListener != null && stepViewer != null)
-			stepViewer.removeSelectionChangedListener(selectionListener);
-		selectionListener = listener;
-		if (selectionListener != null && stepViewer != null)
-			stepViewer.addSelectionChangedListener(selectionListener);
-	}
-
-	/**
-	 * Sets the steps to be displayed. Ignored is the
-	 * method createContents has not been called yet.
-	 * 
-	 * @param steps the collection of steps
-	 */
-	public void setSteps(WizardStep[] steps) {
-		if (stepViewer != null) {
-			stepViewer.setInput(new StepRoot(steps));
-			parentComposite.layout(true);
-		}
-	}
-	
-	/**
-	 * Holder of all the steps within the viewer
-	 */
-	private class StepRoot {
-		private WizardStep[] steps;
-		
-		public StepRoot(WizardStep[] steps) {
-			super();
-			this.steps = steps;
-		}
-		
-		public WizardStep[] getSteps() {
-			if (steps == null)
-				return new WizardStep[0];
-			else
-				return steps;
-		}
-	}
-	
-	/**
-	 * Label provider for step table viewer
-	 */
-	private class StepLabelProvider extends LabelProvider {
-		public String getText(Object element) {
-			if (element instanceof WizardStep) {
-				WizardStep step = (WizardStep) element;
-				return String.valueOf(step.getNumber()) + ". " + step.getLabel(); //$NON-NLS-1$
-			}
-			
-			return ""; //$NON-NLS-1$
-		}
-		
-		public Image getImage(Object element) {
-			if (element instanceof WizardStep) {
-				WizardStep step = (WizardStep) element;
-				if (step.isDone())
-					return getDoneImage();
-				if (step == currentStep)
-					return getCurrentImage();
-			}
-			
-			return null;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/Workbook.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/Workbook.java
deleted file mode 100644
index a549d0c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/Workbook.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.*;
-
-public class Workbook {
-	private TabFolder tabFolder;
-	private TabItem selectedTab;
-/**
- * Workbook constructor comment.
- */
-public Workbook(Composite parent, int style) {
-	tabFolder = new TabFolder(parent, style);
-
-	tabFolder.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			TabItem newSelectedTab = (TabItem) event.item;
-			if (selectedTab == newSelectedTab) // Do nothing if the selection did not change.
-				return;
-
-			if (selectedTab != null && (!selectedTab.isDisposed())) {
-				WorkbookPage selectedPage = getWorkbookPage(selectedTab);
-				if (!selectedPage.deactivate()) {
-					tabFolder.setSelection(new TabItem[] {selectedTab});
-					return;
-				}
-			}
-
-			selectedTab = newSelectedTab;
-			WorkbookPage newSelectedPage = getWorkbookPage(newSelectedTab);
-			newSelectedPage.activate();
-
-		}
-	});
-
-}
-public WorkbookPage getSelectedPage() {
-
-	int index = tabFolder.getSelectionIndex();
-	if (index == -1) // When can this be -1
-		return null;
-
-	TabItem selectedItem = tabFolder.getItem(index);
-
-	return (WorkbookPage)selectedItem.getData();
-}
-public TabFolder getTabFolder() {
-
-	return tabFolder;
-
-}
-protected WorkbookPage getWorkbookPage(TabItem item) {
-
-	try {
-		return (WorkbookPage) item.getData();
-	} catch (ClassCastException e) {
-		return null;
-	}
-}
-public WorkbookPage[] getWorkbookPages() {
-
-	TabItem[] tabItems = tabFolder.getItems();
-	int nItems = tabItems.length;
-	WorkbookPage[] workbookPages = new WorkbookPage[nItems];
-	for (int i = 0; i < nItems; i++)
-		workbookPages[i] = getWorkbookPage(tabItems[i]);
-	return workbookPages;
-}
-public void setSelectedPage (WorkbookPage workbookPage)
-{
-	TabItem newSelectedTab = workbookPage.getTabItem();
-
-	if (selectedTab == newSelectedTab)
-		return;
-
-	selectedTab = newSelectedTab;
-	workbookPage.activate();
-	tabFolder.setSelection(new TabItem[] {newSelectedTab});
-
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/WorkbookPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/WorkbookPage.java
deleted file mode 100644
index a5c2dea..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/misc/WorkbookPage.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.eclipse.ui.internal.misc;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-
-public abstract class WorkbookPage {
-	public TabItem tabItem;
-/**
- * WorkbookPage constructor comment.
- */
-public WorkbookPage(Workbook parent) {
-	TabFolder folder = parent.getTabFolder();
-	tabItem = new TabItem(folder,SWT.NONE);
-	tabItem.setData(this);
-}
-public void activate() {
-
-	if (tabItem.getControl() == null)
-		tabItem.setControl(createControl(tabItem.getParent()));
-			
-}
-protected abstract Control createControl (Composite parent);
-public boolean deactivate() {
-	return true;
-}
-public void dispose() {
-
-	if (tabItem == null)
-		return;
-
-	TabItem oldItem = tabItem;
-	tabItem = null;
-	oldItem.dispose();
-}
-public TabItem getTabItem() {
-	return tabItem;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/AdaptableList.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/AdaptableList.java
deleted file mode 100644
index 024fc61..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/AdaptableList.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.eclipse.ui.internal.model;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.*;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * A list of adaptable objects.  This is a generic list that can
- * be used to display an arbitrary set of adaptable objects in the workbench.
- * Also implements the IWorkbenchAdapter interface for simple display
- * and navigation.
- */
-public class AdaptableList extends WorkbenchAdapter implements IAdaptable {
-	protected List children = null;
-/**
- * Creates a new adaptable list.
- */
-public AdaptableList() {
-	children = new ArrayList();
-}
-/**
- * Creates a new adaptable list with the given size.
- */
-public AdaptableList(int size) {
-	children = new ArrayList(size);
-}
-/**
- * Creates a new adaptable list with the given children.
- */
-public AdaptableList(IAdaptable[] newChildren) {
-	this(newChildren.length);
-	for (int i = 0; i < newChildren.length; i++) {
-		children.add(newChildren[i]);
-	}
-}
-/**
- * Adds all the adaptable objects in the given enumeration to this list.
- * Returns this list.
- */
-public AdaptableList add(Iterator e) {
-	while (e.hasNext()) {
-		add((IAdaptable)e.next());
-	}
-	return this;
-}
-/**
- * Adds the given adaptable object to this list.  Returns this list.
- */
-public AdaptableList add(IAdaptable a) {
-	children.add(a);
-	return this;
-}
-/**
- * Returns an object which is an instance of the given class
- * associated with this object. Returns <code>null</code> if
- * no such object can be found.
- */
-public Object getAdapter(Class adapter) {
-	if (adapter == IWorkbenchAdapter.class) return this;
-	return null;
-}
-/**
- * Returns the elements in this list.
- */
-public Object[] getChildren() {
-	return children.toArray();
-}
-/**
- * Returns the elements in this list.
- * @see IWorkbenchAdapter#getChildren
- */
-public Object[] getChildren(Object o) {
-	return children.toArray();
-}
-/**
- * Adds the given adaptable object to this list.
- */
-public void remove(IAdaptable a) {
-	children.remove(a);
-}
-/**
- * Returns the number of items in the list
- */
-public int size() {
-	return children.size();
-}
-/**
- * For debugging purposes only.
- */
-public String toString() {
-	return children.toString();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/ResourceFactory.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/ResourceFactory.java
deleted file mode 100644
index 2c306da..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/ResourceFactory.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-package org.eclipse.ui.internal.model;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.ui.*;
-
-/**
- * The ResourceFactory is used to save and recreate an IResource object.
- * As such, it implements the IPersistableElement interface for storage
- * and the IElementFactory interface for recreation.
- *
- * @see IMemento
- * @see IPersistableElement
- * @see IElementFactory
- */
-public class ResourceFactory implements IElementFactory, IPersistableElement {
-	
-	// These persistence constants are stored in XML.  Do not
-	// change them.
-	private static final String TAG_PATH = "path";//$NON-NLS-1$
-	private static final String TAG_TYPE = "type";//$NON-NLS-1$
-	private static final String FACTORY_ID = "org.eclipse.ui.internal.model.ResourceFactory";//$NON-NLS-1$
-
-	// IPersistable data.
-	private IResource res;
-/**
- * Create a ResourceFactory.  This constructor is typically used
- * for our IElementFactory side.
- */
-public ResourceFactory() {
-}
-/**
- * Create a ResourceFactory.  This constructor is typically used
- * for our IPersistableElement side.
- */
-public ResourceFactory(IResource input) {
-	res = input;
-}
-/**
- * @see IElementFactory
- */
-public IAdaptable createElement(IMemento memento) {
-	// Get the file name.
-	String fileName = memento.getString(TAG_PATH);
-	if (fileName == null)
-		return null;
-
-	IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-	String type = memento.getString(TAG_TYPE);
-	if (type == null) {
-		// Old format memento. Create an IResource using findMember. 
-		// Will return null for resources in closed projects.
-		res = root.findMember(new Path(fileName));
-	}
-	else {		
-		int resourceType = Integer.parseInt(type);
-		
-		if (resourceType == IResource.ROOT)
-			res = root;		
-		else if (resourceType == IResource.PROJECT) 
-			res = root.getProject(fileName);
-		else if (resourceType == IResource.FOLDER)
-			res = root.getFolder(new Path(fileName));
-		else if (resourceType == IResource.FILE)
-			res = root.getFile(new Path(fileName));
-	}
-	return res;	
-}
-/**
- * @see IPersistableElement.
- */
-public String getFactoryId() {
-	return FACTORY_ID;
-}
-/**
- * @see IPersistableElement
- */
-public void saveState(IMemento memento) {
-	memento.putString(TAG_PATH, res.getFullPath().toString());			
-	memento.putString(TAG_TYPE, Integer.toString(res.getType()));
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchAdapter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchAdapter.java
deleted file mode 100644
index 4aa0765..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchAdapter.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.ui.internal.model;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * A default implementation of the IWorkbenchAdapter interface.
- * Provides basic implementations of the interface methods.
- */
-public abstract class WorkbenchAdapter implements IWorkbenchAdapter {
-	protected static final Object[] NO_CHILDREN = new Object[0];
-/**
- * @see IWorkbenchAdapter#getChildren
- */
-public Object[] getChildren(Object o) {
-	return NO_CHILDREN;
-}
-/**
- * A convenience method for getting the label of an adaptable
- * object that responds to the IWorkbenchAdapter adapter interface.
- * Returns a toString() of the object if it is not adaptable
- */
-public static String getElementLabel(IAdaptable a) {
-	if (a == null) {
-		return "";//$NON-NLS-1$
-	}
-	IWorkbenchAdapter adapter = (IWorkbenchAdapter)a.getAdapter(IWorkbenchAdapter.class);
-	if (adapter != null) {
-		return adapter.getLabel(a);
-	} else {
-		return a.toString();
-	}
-}
-/**
- * @see IWorkbenchAdapter#getImageDescriptor
- */
-public ImageDescriptor getImageDescriptor(Object object) {
-	return null;
-}
-/**
- * @see IWorkbenchAdapter#getLabel
- */
-public String getLabel(Object o) {
-	return o == null ? "" : o.toString();//$NON-NLS-1$
-}
-/**
- * @see IWorkbenchAdapter#getParent
- */
-public Object getParent(Object o) {
-	return null;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchAdapterBuilder.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchAdapterBuilder.java
deleted file mode 100644
index cab9426..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchAdapterBuilder.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.eclipse.ui.internal.model;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-
-/**
- * Registers the adapters on core constructs
- * used in the workbench UI.
- */
-public class WorkbenchAdapterBuilder {
-/**
- * Creates extenders and registers 
- */
-public void registerAdapters() {
-	IAdapterManager manager = Platform.getAdapterManager();
-	IAdapterFactory factory = new WorkbenchAdapterFactory();
-	manager.registerAdapters(factory, IWorkspace.class);
-	manager.registerAdapters(factory, IWorkspaceRoot.class);
-	manager.registerAdapters(factory, IProject.class);
-	manager.registerAdapters(factory, IFolder.class);
-	manager.registerAdapters(factory, IFile.class);
-	manager.registerAdapters(factory, IMarker.class);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchAdapterFactory.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchAdapterFactory.java
deleted file mode 100644
index fabafc6..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchAdapterFactory.java
+++ /dev/null
@@ -1,152 +0,0 @@
-package org.eclipse.ui.internal.model;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.ui.*;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * Dispenses adapters for various core objects.
- * Returns IWorkbenchAdapter adapters, used for displaying,
- * navigating, and populating menus for core objects.
- */
-class WorkbenchAdapterFactory implements IAdapterFactory {
-	private Object workspaceAdapter = new WorkbenchWorkspace();
-	private Object rootAdapter = new WorkbenchRootResource();
-	private Object projectAdapter = new WorkbenchProject();
-	private Object folderAdapter = new WorkbenchFolder();
-	private Object fileAdapter = new WorkbenchFile();
-
-	private Object markerAdapter = new WorkbenchMarker();
-	
-	private Object resourceFactory = new ResourceFactory();
-	private Object workspaceFactory = new WorkspaceFactory();
-/**
- * Returns the IActionFilter for an object.
- */
-protected Object getActionFilter(Object o) {
-	if (o instanceof IResource) {
-		switch (((IResource) o).getType()) {
-			case IResource.FILE :
-				return fileAdapter;
-			case IResource.FOLDER :
-				return folderAdapter;
-			case IResource.PROJECT :
-				return projectAdapter;
-		}
-	}
-	if (o instanceof IMarker) {
-		return markerAdapter;
-	}
-	return null;
-}
-/**
- * Returns an object which is an instance of the given class
- * associated with the given object. Returns <code>null</code> if
- * no such object can be found.
- *
- * @param adaptableObject the adaptable object being queried
- *   (usually an instance of <code>IAdaptable</code>)
- * @param adapterType the type of adapter to look up
- * @return a object castable to the given adapter type, 
- *    or <code>null</code> if this adapter provider 
- *    does not have an adapter of the given type for the
- *    given object
- */
-public Object getAdapter(Object o, Class adapterType) {
-	if (adapterType.isInstance(o)) {
-		return o;
-	}
-	if (adapterType == IWorkbenchAdapter.class) {
-		return getWorkbenchElement(o);
-	}
-	if (adapterType == IPersistableElement.class) {
-		return getPersistableElement(o);
-	}
-	if (adapterType == IElementFactory.class) {
-		return getElementFactory(o);
-	}
-	if (adapterType == IActionFilter.class) {
-		return getActionFilter(o);
-	}
-	return null;
-}
-/**
- * Returns the collection of adapater types handled by this
- * provider.
- * <p>
- * This method is generally used by an adapter manager
- * to discover which adapter types are supported, in adavance
- * of dispatching any actual <code>getAdapter</code> requests.
- * </p>
- *
- * @return the collection of adapter types
- */
-public Class[] getAdapterList() {
-	return new Class[] {
-		IWorkbenchAdapter.class,
-		IElementFactory.class,
-		IPersistableElement.class,
-		IActionFilter.class
-	};
-}
-/**
- * Returns an object which is an instance of IElementFactory
- * associated with the given object. Returns <code>null</code> if
- * no such object can be found.
- */
-protected Object getElementFactory(Object o) {
-	if (o instanceof IResource) {
-		return resourceFactory;
-	}
-	if (o instanceof IWorkspace) {
-		return workspaceFactory;
-	}
-	return null;
-}
-/**
- * Returns an object which is an instance of IPersistableElement
- * associated with the given object. Returns <code>null</code> if
- * no such object can be found.
- */
-protected Object getPersistableElement(Object o) {
-	if (o instanceof IResource) {
-		return new ResourceFactory((IResource)o);
-	}
-	if (o instanceof IWorkspace) {
-		return workspaceFactory;
-	}
-	return null;
-}
-/**
- * Returns an object which is an instance of IWorkbenchAdapter
- * associated with the given object. Returns <code>null</code> if
- * no such object can be found.
- */
-protected Object getWorkbenchElement(Object o) {
-	if (o instanceof IResource) {
-		switch (((IResource) o).getType()) {
-			case IResource.FILE :
-				return fileAdapter;
-			case IResource.FOLDER :
-				return folderAdapter;
-			case IResource.PROJECT :
-				return projectAdapter;
-		}
-	}
-	if (o instanceof IWorkspaceRoot) {
-		return rootAdapter;
-	}
-	if (o instanceof IWorkspace) {
-		return workspaceAdapter;
-	}
-	if (o instanceof IMarker) {
-		return markerAdapter;
-	}
-	return null;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchFile.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchFile.java
deleted file mode 100644
index 762197c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchFile.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.ui.internal.model;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.*;
-import org.eclipse.ui.internal.WorkbenchImages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.jface.resource.ImageDescriptor;
-/**
- * An IWorkbenchAdapter that represents IFiles.
- */
-public class WorkbenchFile extends WorkbenchResource {
-/**
- *	Answer the appropriate base image to use for the passed resource, optionally
- *	considering the passed open status as well iff appropriate for the type of
- *	passed resource
- */
-protected ImageDescriptor getBaseImage(IResource resource) {
-	ImageDescriptor image = WorkbenchPlugin.getDefault().getEditorRegistry().getImageDescriptor((IFile) resource);
-	if (image == null)
-		image = WorkbenchImages.getImageDescriptor(ISharedImages.IMG_OBJ_FILE);
-	return image;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchFolder.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchFolder.java
deleted file mode 100644
index 4c064c4..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchFolder.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.ui.internal.model;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.ui.internal.WorkbenchImages;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * An IWorkbenchAdapter that represents IFolders.
- */
-public class WorkbenchFolder extends WorkbenchResource {
-/**
- *	Answer the appropriate base image to use for the passed resource, optionally
- *	considering the passed open status as well iff appropriate for the type of
- *	passed resource
- */
-protected ImageDescriptor getBaseImage(IResource resource) {
-	return WorkbenchImages.getImageDescriptor(ISharedImages.IMG_OBJ_FOLDER);
-}
-/**
- * Returns the children of this container.
- */
-public Object[] getChildren(Object o) {
-	try {
-		return ((IContainer)o).members();
-	} catch (CoreException e) {
-		return NO_CHILDREN;
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchMarker.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchMarker.java
deleted file mode 100644
index b9c8708..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchMarker.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package org.eclipse.ui.internal.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.ui.internal.*;
-import org.eclipse.ui.IMarkerActionFilter;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.actions.SimpleWildcardTester;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * Model object for adapting IMarker objects to the IWorkbenchAdapter
- * interface.
- */
-public class WorkbenchMarker
-	extends WorkbenchAdapter
-	implements IMarkerActionFilter {
-	private static final ImageDescriptor image =
-		WorkbenchImages.getImageDescriptor(ISharedImages.IMG_OBJS_BKMRK_TSK);
-/**
- * @see IWorkbenchAdapter#getImageDescriptor
- */
-public ImageDescriptor getImageDescriptor(Object o) {
-	if(!(o instanceof IMarker))
-			return null;
-	return WorkbenchPlugin.getDefault().getMarkerImageProviderRegistry().getImageDescriptor((IMarker)o);
-}
-/**
- * Returns the name of this element.  This will typically
- * be used to assign a label to this object when displayed
- * in the UI.
- */
-public String getLabel(Object o) {
-	IMarker marker = (IMarker) o;
-	return marker.getAttribute(IMarker.MESSAGE, "");//$NON-NLS-1$
-}
-/**
- * Returns the logical parent of the given object in its tree.
- */
-public Object getParent(Object o) {
-	return ((IMarker)o).getResource();
-}
-/**
- * Returns whether the specific attribute matches the state of the target
- * object.
- *
- * @param taret the target object
- * @param name the attribute name
- * @param value the attriute value
- * @return <code>true</code> if the attribute matches; <code>false</code> otherwise
- */
-public boolean testAttribute(Object target, String name, String value) {
-	IMarker marker = (IMarker) target;
-	if (name.equals(TYPE)) {
-		try {
-			return value.equals(marker.getType());
-		} catch (CoreException e) {
-			return false;
-		}
-	} else if (name.equals(SUPER_TYPE)) {
-		try {
-			return marker.isSubtypeOf(value);
-		} catch (CoreException e) {
-			return false;
-		}
-	} else if (name.equals(PRIORITY)) {
-		return testIntegerAttribute(marker, IMarker.PRIORITY, value);
-	} else if (name.equals(SEVERITY)) {
-		return testIntegerAttribute(marker, IMarker.SEVERITY, value);
-	} else if (name.equals(MESSAGE)) {
-		try {
-			String msg = (String)marker.getAttribute(IMarker.MESSAGE);
-			if (msg == null)
-				return false;
-			return SimpleWildcardTester.testWildcardIgnoreCase(value, msg);
-		} catch (CoreException e) {
-			return false;
-		}
-	} else if (name.equals(DONE)) {
-		try {
-			value = value.toLowerCase();
-			Boolean done = (Boolean)marker.getAttribute(IMarker.DONE);
-			if (done == null)
-				return false;
-			return (done.booleanValue() == value.equals("true"));//$NON-NLS-1$
-		} catch (CoreException e) {
-			return false;
-		}
-	}
-	return false;
-}
-/**
- * Returns whether the specific integer attribute matches a value.
- */
-private boolean testIntegerAttribute(IMarker marker, String attrName, String value) {
-	Integer i1, i2;
-	try {
-		i1 = (Integer)marker.getAttribute(attrName);
-		if (i1 == null)
-			return false;
-	} catch (CoreException e) {
-		return false;
-	}
-	try {
-		i2 = Integer.valueOf(value);
-	} catch (NumberFormatException e) {
-		return false;
-	}
-	return i1.equals(i2);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchProject.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchProject.java
deleted file mode 100644
index fac8940..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchProject.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package org.eclipse.ui.internal.model;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.HashMap;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.WorkbenchImages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.misc.OverlayIcon;
-
-/**
- * An IWorkbenchAdapter that represents IProject.
- */
-public class WorkbenchProject extends WorkbenchResource
-	implements IProjectActionFilter
-{
-	HashMap imageCache = new HashMap(11);
-/**
- *	Answer the appropriate base image to use for the passed resource, optionally
- *	considering the passed open status as well iff appropriate for the type of
- *	passed resource
- */
-protected ImageDescriptor getBaseImage(IResource resource) {
-	IProject project = (IProject) resource;
-	boolean isOpen = project.isOpen();
-	String baseKey = isOpen ? ISharedImages.IMG_OBJ_PROJECT : ISharedImages.IMG_OBJ_PROJECT_CLOSED;
-	if (isOpen) {
-		try {
-			String[] natureIds = project.getDescription().getNatureIds();
-			for (int i = 0; i < natureIds.length; ++i) {
-				// Have to use a cache because OverlayIcon does not define its own equality criteria,
-				// so WorkbenchLabelProvider would always create a new image otherwise.
-				String imageKey = natureIds[i];
-				ImageDescriptor overlayImage = (ImageDescriptor) imageCache.get(imageKey);
-				if (overlayImage != null) {
-					return overlayImage;
-				}
-				ImageDescriptor natureImage = WorkbenchPlugin.getDefault().getProjectImageRegistry().getNatureImage(natureIds[i]);
-				if (natureImage != null) {
-					ImageDescriptor baseImage = WorkbenchImages.getImageDescriptor(baseKey);
-					overlayImage = new OverlayIcon(baseImage, new ImageDescriptor[][] {{ natureImage }}, new Point(16, 16));
-					imageCache.put(imageKey, overlayImage);
-					return overlayImage;
-				}
-			}
-		}
-		catch (CoreException e) {
-		}
-	}
-	return WorkbenchImages.getImageDescriptor(baseKey);
-}
-/**
- * Returns the children of this container.
- */
-public Object[] getChildren(Object o) {
-	IProject project = (IProject) o;
-	if (project.isOpen()) {
-		try {
-			return project.members();
-		} catch (CoreException e) {
-			//don't get the children if there are problems with the project
-		}
-	}
-	return NO_CHILDREN;
-}
-/**
- * Returns whether the specific attribute matches the state of the target
- * object.
- *
- * @param target the target object
- * @param name the attribute name
- * @param value the attriute value
- * @return <code>true</code> if the attribute matches; <code>false</code> otherwise
- */
-public boolean testAttribute(Object target, String name, String value) {
-	IProject proj = (IProject) target;
-	if (name.equals(NATURE)) {
-		try {
-			return proj.isAccessible() && proj.hasNature(value);
-		} catch (CoreException e) {
-			return false;		
-		}
-	} else if (name.equals(OPEN)) {
-		value = value.toLowerCase();
-		return (proj.isOpen() == value.equals("true"));//$NON-NLS-1$
-	}
-	return super.testAttribute(target, name, value);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchResource.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchResource.java
deleted file mode 100644
index 5a5978a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchResource.java
+++ /dev/null
@@ -1,162 +0,0 @@
-package org.eclipse.ui.internal.model;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IResourceActionFilter;
-import org.eclipse.ui.actions.SimpleWildcardTester;
-
-/**
- * An IWorkbenchAdapter that represents IResources.
- */
-public abstract class WorkbenchResource extends WorkbenchAdapter
-	implements IResourceActionFilter
-{
-/**
- *	Answer the appropriate base image to use for the resource.
- */
-protected abstract ImageDescriptor getBaseImage(IResource resource);
-/**
- * Returns an image descriptor for this object.
- */
-public ImageDescriptor getImageDescriptor(Object o) {
-	IResource resource = getResource(o);
-	return resource == null ? null : getBaseImage(resource);
-}
-/**
- * getLabel method comment.
- */
-public String getLabel(Object o) {
-	IResource resource = getResource(o);
-	return resource == null ? null : resource.getName();
-}
-/**
- * Returns the parent of the given object.  Returns null if the
- * parent is not available.
- */
-public Object getParent(Object o) {
-	IResource resource = getResource(o);
-	return resource == null ? null : resource.getParent();
-}
-/**
- * Returns the resource corresponding to this object,
- * or null if there is none.
- */
-protected IResource getResource(Object o) {
-	if (o instanceof IResource) {
-		return (IResource)o;
-	}
-	if (o instanceof IAdaptable) {
-		return (IResource)((IAdaptable)o).getAdapter(IResource.class);
-	}
-	return null;
-}
-/**
- * Returns whether the specific attribute matches the state of the target
- * object.
- *
- * @param target the target object
- * @param name the attribute name
- * @param value the attribute value
- * @return <code>true</code> if the attribute matches; <code>false</code> otherwise
- */
-public boolean testAttribute(Object target, String name, String value) {
-	if (!(target instanceof IResource)) {
-		return false;
-	}
-	IResource res = (IResource) target;
-	if (name.equals(NAME)) {
-		return SimpleWildcardTester.testWildcardIgnoreCase(value, 
-			res.getName());
-	} else if (name.equals(PATH)) {
-		return SimpleWildcardTester.testWildcardIgnoreCase(value, 
-			res.getFullPath().toString());
-	} else if (name.equals(EXTENSION)) {
-		return SimpleWildcardTester.testWildcardIgnoreCase(value, 
-			res.getFileExtension());
-	} else if (name.equals(READ_ONLY)) {
-		return (res.isReadOnly() == value.equalsIgnoreCase("true"));//$NON-NLS-1$
-	} else if (name.equals(PROJECT_NATURE)) {
-		try {
-			IProject proj = res.getProject();
-			return proj.isAccessible() && proj.hasNature(value);
-		} catch (CoreException e) {
-			return false;		
-		}
-	} else if (name.equals(PERSISTENT_PROPERTY)) {
-		return testProperty(res, true, false, value);
-	} else if (name.equals(PROJECT_PERSISTENT_PROPERTY)) {
-		return testProperty(res, true, true, value);
-	} else if (name.equals(SESSION_PROPERTY)) {
-		return testProperty(res, false, false, value);
-	} else if (name.equals(PROJECT_SESSION_PROPERTY)) {
-		return testProperty(res, false, true, value);
-	} 
-	return false;
-}
-
-/**
- * Tests whether a session or persistent property on the resource or its project
- * matches the given value.
- * 
- * @param resource the resource to check
- * @param persistentFlag <code>true</code> for a persistent property, 
- *    <code>false</code> for a session property
- * @param projectFlag <code>true</code> to check the resource's project,
- *    <code>false</code> to check the resource itself
- * @param value the attribute value, which has either the form "propertyName"
- *    or "propertyName=propertyValue"
- * @return whether there is a match
- */
-private boolean testProperty(IResource resource, boolean persistentFlag, boolean projectFlag, String value) {
-	String propertyName;
-	String expectedVal;
-	int i = value.indexOf('=');
-	if (i != -1) {
-		propertyName = value.substring(0, i).trim();
-		expectedVal = value.substring(i+1).trim();
-	}
-	else {
-		propertyName = value.trim();
-		expectedVal = null;
-	}
-	try {
-		QualifiedName key;
-		int dot = propertyName.lastIndexOf('.');
-		if (dot != -1) {
-			key = new QualifiedName(propertyName.substring(0, dot), propertyName.substring(dot+1));
-		}
-		else {
-			key = new QualifiedName(null, propertyName);
-		}
-		IResource resToCheck = projectFlag ? resource.getProject() : resource;
-		 // getProject() on workspace root can be null
-		if (resToCheck == null) {
-			return false;
-		}
-		if (persistentFlag) {
-			String actualVal = resToCheck.getPersistentProperty(key);
-			if (actualVal == null) {
-				return false;
-			}
-			return expectedVal == null || expectedVal.equals(actualVal);
-		}
-		else {
-			Object actualVal = resToCheck.getSessionProperty(key);
-			if (actualVal == null) {
-				return false;
-			}
-			return expectedVal == null || expectedVal.equals(actualVal.toString());
-		}
-	} catch (CoreException e) {
-		// ignore
-	}
-	return false;		
-}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchRootResource.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchRootResource.java
deleted file mode 100644
index f3c1497..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchRootResource.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.ui.internal.model;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * An IWorkbenchAdapter implementation for IWorkspaceRoot objects.
- */
-public class WorkbenchRootResource extends WorkbenchAdapter {
-/**
- * @see IWorkbenchAdapter#getChildren
- * Returns the children of the root resource.
- */
-public Object[] getChildren(Object o) {
-	IWorkspaceRoot root = (IWorkspaceRoot) o;
-	return root.getProjects();
-}
-/**
- * @see IWorkbenchAdapter#getImageDescriptor
- */
-public ImageDescriptor getImageDescriptor(Object object) {
-	return null;
-}
-/**
- * Returns the name of this element.  This will typically
- * be used to assign a label to this object when displayed
- * in the UI.
- */
-public String getLabel(Object o) {
-	//root resource has no name
-	return WorkbenchMessages.getString("Workspace"); //$NON-NLS-1$
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchStatus.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchStatus.java
deleted file mode 100644
index 66d364a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchStatus.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.ui.internal.model;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * UI manfestation of a status object.
- */
-public class WorkbenchStatus extends WorkbenchAdapter implements IAdaptable {
-	private IStatus status;
-	private Object[] children;
-public WorkbenchStatus(IStatus status) {
-	this.status = status;
-}
-/**
- * Returns an object which is an instance of the given class
- * associated with this object. Returns <code>null</code> if
- * no such object can be found.
- */
-public Object getAdapter(Class adapter) {
-	if (adapter == IWorkbenchAdapter.class) return this;
-	return null;
-}
-/**
- * Returns the children of this element.
- */
-public Object[] getChildren(Object o) {
-	if (children == null) {
-		IStatus[] childStatii = status.getChildren();
-		children = new Object[childStatii.length];
-		for (int i = 0; i < childStatii.length; i++) {
-			children[i] = new WorkbenchStatus(childStatii[i]);
-		}
-	}
-	return children;
-}
-/**
- * @see IWorkbenchAdapter#getLabel
- */
-public String getLabel(Object o) {
-	return status.getMessage();
-}
-/**
- * Returns the wrapped status object.
- */
-public IStatus getStatus() {
-	return status;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchStatusList.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchStatusList.java
deleted file mode 100644
index 6687b6a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchStatusList.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.ui.internal.model;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import java.util.*;
-
-public class WorkbenchStatusList extends WorkbenchAdapter implements IAdaptable {
-	private ArrayList statii = new ArrayList(10);
-public void add(IStatus status) {
-	statii.add(new WorkbenchStatus(status));
-}
-public void clear() {
-	statii.clear();
-}
-/**
- * Returns an object which is an instance of the given class
- * associated with this object. Returns <code>null</code> if
- * no such object can be found.
- */
-public Object getAdapter(Class adapter) {
-	if (adapter == IWorkbenchAdapter.class) return this;
-	return null;
-}
-/**
- * Returns the children of this element.
- */
-public Object[] getChildren(Object o) {
-	return statii.toArray();
-}
-public void remove(WorkbenchStatus status) {
-	statii.remove(status);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchWorkspace.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchWorkspace.java
deleted file mode 100644
index 39bb484..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkbenchWorkspace.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.ui.internal.model;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.internal.WorkbenchMessages;
-
-/**
- * IWorkbenchAdapter adapter for the IWorkspace object.
- */
-public class WorkbenchWorkspace extends WorkbenchAdapter {
-/**
- * @see IWorkbenchAdapter#getChildren
- * Returns the children of the workspace.
- */
-public Object[] getChildren(Object o) {
-	IWorkspace workspace = (IWorkspace) o;
-	return workspace.getRoot().getProjects();
-}
-/**
- * @see IWorkbenchAdapter#getImageDescriptor
- */
-public ImageDescriptor getImageDescriptor(Object object) {
-	return null;
-}
-/**
- * getLabel method comment.
- */
-public String getLabel(Object o) {
-	//workspaces don't have a name
-	return WorkbenchMessages.getString("Workspace"); //$NON-NLS-1$
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkspaceFactory.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkspaceFactory.java
deleted file mode 100644
index 6fc0b95..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/model/WorkspaceFactory.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.ui.internal.model;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.ui.*;
-
-/**
- * The ResourceFactory is used to save and recreate an IResource object.
- * As such, it implements the IPersistableElement interface for storage
- * and the IElementFactory interface for recreation.
- *
- * @see IMemento
- * @see IPersistableElement
- * @see IElementFactory
- */
-public class WorkspaceFactory implements IElementFactory, IPersistableElement {
-	private static final String FACTORY_ID = "org.eclipse.ui.internal.model.WorkspaceFactory";//$NON-NLS-1$
-/**
- * Create a ResourceFactory.  This constructor is typically used
- * for our IElementFactory side.
- */
-public WorkspaceFactory() {
-}
-/**
- * @see IElementFactory
- */
-public IAdaptable createElement(IMemento memento) {
-	return ResourcesPlugin.getWorkspace();
-}
-/**
- * @see IPersistableElement.
- */
-public String getFactoryId() {
-	return FACTORY_ID;
-}
-/**
- * @see IPersistableElement
- */
-public void saveState(IMemento memento) {
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ActionSetCategory.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ActionSetCategory.java
deleted file mode 100644
index 5d1ab44..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ActionSetCategory.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.ArrayList;
-
-/**
- *
- */
-public class ActionSetCategory {
-	private String id;
-	private String label;
-	private ArrayList actionSets;
-/**
- * ActionSetCategory constructor comment.
- */
-public ActionSetCategory(String id, String label) {
-	super();
-	this.id = id;
-	this.label = label;
-}
-/**
- * Adds an action set to this category.
- */
-public void addActionSet(IActionSetDescriptor desc) {
-	if (actionSets == null)
-		actionSets = new ArrayList(5);
-	actionSets.add(desc);
-	desc.setCategory(id);
-}
-/**
- * Returns the action sets for this category.
- * May be null.
- */
-public ArrayList getActionSets() {
-	return actionSets;
-}
-/**
- * Returns category id.
- */
-public String getId() {
-	return id;
-}
-/**
- * Returns category name.
- */
-public String getLabel() {
-	return label;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ActionSetDescriptor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ActionSetDescriptor.java
deleted file mode 100644
index 182164f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ActionSetDescriptor.java
+++ /dev/null
@@ -1,145 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.model.WorkbenchAdapter;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * ActionSetDescriptor
- */
-public class ActionSetDescriptor extends WorkbenchAdapter
-	implements IActionSetDescriptor, IAdaptable
-{
-	private String id;
-	private String label;
-	private String category;
-	private boolean visible;
-	private String description;
-	private String className;
-	private IConfigurationElement configElement;
-	private static final String ATT_ID="id";//$NON-NLS-1$
-	private static final String ATT_LABEL="label";//$NON-NLS-1$
-	private static final String ATT_VISIBLE="visible";//$NON-NLS-1$
-	private static final String ATT_DESC="description";//$NON-NLS-1$
-/**
- * Create a descriptor from a config element.
- */
-public ActionSetDescriptor(IConfigurationElement configElement)
-	throws CoreException
-{
-	super();
-	this.configElement = configElement;
-	id = configElement.getAttribute(ATT_ID);
-	label = configElement.getAttribute(ATT_LABEL);
-	description = configElement.getAttribute(ATT_DESC);
-	String str = configElement.getAttribute(ATT_VISIBLE);
-	if (str != null && str.equals("true"))//$NON-NLS-1$
-		visible = true;
-
-	// Sanity check.
-	if (label == null) {
-		throw new CoreException(new Status(IStatus.ERROR,
-			WorkbenchPlugin.PI_WORKBENCH, 0,
-			"Invalid extension (missing label): " + id,//$NON-NLS-1$
-			null));
-	}
-}
-/**
- * Returns the action set for this descriptor.
- *
- * @return the action set
- */
-public IActionSet createActionSet()
-	throws CoreException
-{
-	return new PluginActionSet(this);
-}
-/**
- * Returns an object which is an instance of the given class
- * associated with this object. Returns <code>null</code> if
- * no such object can be found.
- */
-public Object getAdapter(Class adapter) {
-	if (adapter == IWorkbenchAdapter.class) 
-		return this;
-	return null;
-}
-/**
- * Returns the category of this action set.
- *
- * @return a non-empty category name or <cod>null</code> if none specified
- */
-public String getCategory() {
-	return category;
-}
-/**
- * @see IWorkbenchAdapter#getChildren
- */
-public Object[] getChildren(Object o) {
-	if (o == this)
-		return (new PluginActionSetReader()).readActionDescriptors(this);
-
-	return NO_CHILDREN;
-}
-/**
- * Returns the config element
- */
-public IConfigurationElement getConfigElement() {
-	return configElement;
-}
-/**
- * Returns this action set's description. 
- * This is the value of its <code>"description"</code> attribute.
- *
- * @return the description
- */
-public String getDescription() {
-	return description;
-}
-/**
- * Returns this action set's id. 
- * This is the value of its <code>"id"</code> attribute.
- * <p>
- *
- * @return the action set id
- */
-public String getId() {
-	return id;
-}
-/**
- * Returns this action set's label. 
- * This is the value of its <code>"label"</code> attribute.
- *
- * @return the label
- */
-public String getLabel() {
-	return label;
-}
-/**
- * @see IWorkbenchAdapter#getLabel
- */
-public String getLabel(Object o) {
-	if (o == this)
-		return getLabel();
-	return "Unknown Label";//$NON-NLS-1$
-}
-/**
- * Returns whether this action set is initially visible.
- */
-public boolean isInitiallyVisible() {
-	return visible;
-}
-/**
- * Sets the category of this action set.
- *
- * @param cat a non-empty category id
- */
-public void setCategory(String id) {
-	category = id;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ActionSetPartAssociationsReader.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ActionSetPartAssociationsReader.java
deleted file mode 100644
index 36e6cdb..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ActionSetPartAssociationsReader.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.IWorkbenchConstants;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * A strategy to read action set part association extension from the registry.
- */
-public class ActionSetPartAssociationsReader extends RegistryReader {
-	private ActionSetRegistry registry;
-	private static final String TAG_EXTENSION="actionSetPartAssociation";//$NON-NLS-1$
-	private static final String TAG_PART="part";//$NON-NLS-1$
-	private static final String ATT_ID="id";//$NON-NLS-1$
-	private static final String ATT_TARGET_ID="targetID";//$NON-NLS-1$
-	
-/**
- * Creates a new reader.
- */
-public ActionSetPartAssociationsReader() {
-	super();
-}
-
-/**
- * Process an extension.
- */
-private boolean processExtension(IConfigurationElement element) {
-	String actionSetId = element.getAttribute(ATT_TARGET_ID);
-	IConfigurationElement [] children = element.getChildren();
-	for (int i = 0; i < children.length; i++) {
-		IConfigurationElement child = children[i];
-		String type = child.getName();
-		if (type.equals(TAG_PART)) {
-			String partId = child.getAttribute(ATT_ID);
-			if (partId != null) 
-				registry.addAssociation(actionSetId, partId);
-		} else {
-			WorkbenchPlugin.log("Unable to process element: " +//$NON-NLS-1$
-				type +
-				" in action set part associations extension: " +//$NON-NLS-1$
-				element.getDeclaringExtension().getUniqueIdentifier());
-		}
-	}
-	return true;
-}
-
-/**
- * Reads the given element.
- */
-protected boolean readElement(IConfigurationElement element) {
-	String type = element.getName();
-	if (type.equals(TAG_EXTENSION)) {
-		return processExtension(element);
-	}
-	return false;
-}
-
-/**
- * Read the association extensions within a registry.
- */
-public void readRegistry(IPluginRegistry in, ActionSetRegistry out)
-{
-	registry = out;
-	readRegistry(in, PlatformUI.PLUGIN_ID, IWorkbenchConstants.PL_ACTION_SET_PART_ASSOCIATIONS);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ActionSetRegistry.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ActionSetRegistry.java
deleted file mode 100644
index 14634d8..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ActionSetRegistry.java
+++ /dev/null
@@ -1,151 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.*;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * The registry of action set extensions.
- */
-public class ActionSetRegistry extends Object
-{
-	public static final String OTHER_CATEGORY = "org.eclipse.ui.actionSetCategory";//$NON-NLS-1$
-	private ArrayList children = new ArrayList();
-	private ArrayList categories = new ArrayList(1);
-	private Map mapPartToActionSets = new HashMap();
-
-/**
- * Creates the action set registry.
- */
-public ActionSetRegistry() {
-	super();
-	readFromRegistry();
-}
-/**
- * Adds an action set.
- */
-public void addActionSet(ActionSetDescriptor desc) {
-	children.add(desc);
-}
-/**
- * Adds an association between an action set an a part.
- */
-public void addAssociation(String actionSetId, String partId) {
-	// get the action set ids for this part
-	ArrayList actionSets = (ArrayList)mapPartToActionSets.get(partId);
-	if (actionSets == null) {
-		actionSets = new ArrayList();
-		mapPartToActionSets.put(partId, actionSets);
-	}
-	// get the action set
-	IActionSetDescriptor desc = findActionSet(actionSetId);
-	if (desc == null) {
-		WorkbenchPlugin.log("Unable to associate action set with part: " +//$NON-NLS-1$
-			partId + ". Action set " + actionSetId + " not found."); //$NON-NLS-2$ //$NON-NLS-1$
-		return;
-	}
-	// add the action set if it is not already present
-	if (!actionSets.contains(desc))
-		actionSets.add(desc);
-}
-/**
- * Finds and returns the registered action set with the given id.
- *
- * @param id the action set id 
- * @return the action set, or <code>null</code> if none
- * @see IActionSetDescriptor#getId
- */
-public IActionSetDescriptor findActionSet(String id) {
-	Iterator enum = children.iterator();
-	while (enum.hasNext()) {
-		IActionSetDescriptor desc = (IActionSetDescriptor)enum.next();
-		if (desc.getId().equals(id))
-			return desc;
-	}
-	return null;
-}
-/**
- * Find a category with a given id.
- */
-public ActionSetCategory findCategory(String id) {
-	Iterator enum = categories.iterator();
-	while (enum.hasNext()) {
-		ActionSetCategory cat = (ActionSetCategory) enum.next();
-		if (id.equals(cat.getId()))
-			return cat;
-	}
-	return null;
-}
-/**
- * Returns a list of the action sets known to the workbench.
- *
- * @return a list of action sets
- */
-public IActionSetDescriptor[] getActionSets() {
-	int count = children.size();
-	IActionSetDescriptor [] array = new IActionSetDescriptor[count];
-	for (int nX = 0; nX < count; nX ++) {
-		array[nX] = (IActionSetDescriptor)children.get(nX);
-	}
-	return array;
-}
-/**
- * Returns a list of the action sets associated with the given part id.
- *
- * @return a list of action sets
- */
-public IActionSetDescriptor[] getActionSetsFor(String partId) {
-	// get the action set ids for this part
-	ArrayList actionSets = (ArrayList)mapPartToActionSets.get(partId);
-	if (actionSets == null)
-		return new IActionSetDescriptor[0];
-	return (IActionSetDescriptor[])actionSets.toArray(new IActionSetDescriptor[actionSets.size()]);
-}
-		
-/**
- * Returns a list of action set categories.
- *
- * @return a list of action sets categories
- */
-public ActionSetCategory[] getCategories() {
-	int count = categories.size();
-	ActionSetCategory[] array = new ActionSetCategory[count];
-	for (int i = 0; i < count; i++) {
-		array[i] = (ActionSetCategory)categories.get(i);
-	}
-	return array;
-}
-/**
- * Adds each action set in the registry to a particular category.
- * For now, everything goes into the OTHER_CATEGORY.
- */
-public void mapActionSetsToCategories() {
-	// Create "other" category.
-	ActionSetCategory cat = new ActionSetCategory(OTHER_CATEGORY,
-		WorkbenchMessages.getString("ActionSetRegistry.otherCategory")); //$NON-NLS-1$
-	categories.add(cat);
-
-	// Add everything to it.
-	Iterator enum = children.iterator();
-	while (enum.hasNext()) {
-		IActionSetDescriptor desc = (IActionSetDescriptor) enum.next();
-		cat.addActionSet(desc);
-	}
-}
-/**
- * Reads the registry.
- */
-public void readFromRegistry() {
-	ActionSetRegistryReader reader = new ActionSetRegistryReader();
-	reader.readRegistry(Platform.getPluginRegistry(), this);
-	
-	ActionSetPartAssociationsReader assocReader = new ActionSetPartAssociationsReader();
-	assocReader.readRegistry(Platform.getPluginRegistry(), this);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ActionSetRegistryReader.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ActionSetRegistryReader.java
deleted file mode 100644
index bed04eb..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ActionSetRegistryReader.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.IWorkbenchConstants;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * A strategy to read view extensions from the registry.
- */
-public class ActionSetRegistryReader extends RegistryReader {
-	private static final String TAG_SET="actionSet";//$NON-NLS-1$
-	private ActionSetRegistry registry;
-	
-/**
- * RegistryViewReader constructor comment.
- */
-public ActionSetRegistryReader() {
-	super();
-}
-/**
- * readElement method comment.
- */
-protected boolean readElement(IConfigurationElement element) {
-	if (element.getName().equals(TAG_SET)) {
-		try {
-			ActionSetDescriptor desc = new ActionSetDescriptor(element);
-			registry.addActionSet(desc);
-		} catch (CoreException e) {
-			// log an error since its not safe to open a dialog here
-			WorkbenchPlugin.log("Unable to create action set descriptor.",e.getStatus());//$NON-NLS-1$
-		}
-		return true;
-	} else {
-		return false;
-	}
-}
-/**
- * Read the view extensions within a registry.
- */
-public void readRegistry(IPluginRegistry in, ActionSetRegistry out)
-{
-	registry = out;
-	readRegistry(in, PlatformUI.PLUGIN_ID, IWorkbenchConstants.PL_ACTION_SETS);
-	out.mapActionSetsToCategories();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/Capability.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/Capability.java
deleted file mode 100644
index 6718957..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/Capability.java
+++ /dev/null
@@ -1,284 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/**********************************************************************
-Copyright (c) 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:
-**********************************************************************/
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IProjectNatureDescriptor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.model.WorkbenchAdapter;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * A capability is the user interface aspect of a project's nature. There is
- * a 1-1 relationship between a capability and a nature. It is possible for
- * a nature to not have a capability, but the opposite is not true - that is,
- * a capability must represent a nature.
- * <p>
- * A capability can take control of the user interface of other capabilities. It
- * is then responsible for collecting the necessary information and adding the
- * natures represented by these capabilites.
- * </p>
- */
-public class Capability extends WorkbenchAdapter implements IAdaptable {
-	private static final String ATT_ID = "id"; //$NON-NLS-1$
-	private static final String ATT_ICON = "icon"; //$NON-NLS-1$
-	private static final String ATT_NATURE_ID = "natureId"; //$NON-NLS-1$
-	private static final String ATT_CATEGORY = "category"; //$NON-NLS-1$
-	private static final String ATT_DESCRIPTION = "description"; //$NON-NLS-1$
-	private static final String ATT_INSTALL_WIZARD = "installWizard"; //$NON-NLS-1$
-	private static final String ATT_INSTALL_DETAILS = "installDetails"; //$NON-NLS-1$
-	private static final String ATT_UNINSTALL_WIZARD = "uninstallWizard"; //$NON-NLS-1$
-	private static final String ATT_UNINSTALL_DETAILS = "uninstallDetails"; //$NON-NLS-1$
-	
-	private String id;
-	private String natureId;
-	private IProjectNatureDescriptor natureDescriptor;
-	private ImageDescriptor icon;
-	private IConfigurationElement element;
-	private ArrayList handleUIs;
-	private ArrayList perspectiveChoices;
-	
-	/**
-	 * Creates an instance of <code>Capability</code> using the
-	 * information provided by the configuration element.
-	 * 
-	 * @param configElement the <code>IConfigurationElement<code> containing
-	 * 		the attributes
-	 * @param reader the <code>CapabilityRegistryReader<code> used to log missing attributes
-	 * @throws a <code>WorkbenchException</code> if the ID, nature, or wizard is <code>null</code>
-	 */
-	public Capability(IConfigurationElement configElement, CapabilityRegistryReader reader)
-		throws WorkbenchException
-	{
-		super();
-		
-		boolean missingAttribute = false;
-		String attr_id = configElement.getAttribute(ATT_ID);
-		String attr_nature = configElement.getAttribute(ATT_NATURE_ID);
-			
-		if (attr_id == null) {
-			reader.logMissingAttribute(configElement, ATT_ID);
-			missingAttribute = true;
-		}
-		if (attr_nature == null) {
-			reader.logMissingAttribute(configElement, ATT_NATURE_ID);
-			missingAttribute = true;
-		}
-		if (configElement.getAttribute(ATT_INSTALL_WIZARD) == null) {
-			reader.logMissingAttribute(configElement, ATT_INSTALL_WIZARD);
-			missingAttribute = true;
-		}
-		
-		if (missingAttribute)
-			throw new WorkbenchException("Capability missing required attributes."); //$NON-NLS-1$
-
-		id = attr_id;
-		natureId = attr_nature;
-		element = configElement;
-		natureDescriptor = ResourcesPlugin.getWorkspace().getNatureDescriptor(natureId);
-	}
-	
-	/**
-	 * Creates an instance of <code>Capability</code> as an unknown one
-	 * for a given nature id.
-	 * 
-	 * @param natureId the nature id for the unknown capbility
-	 */
-	public Capability(String natureId) {
-		super();
-		this.id = natureId;
-		this.natureId = natureId;
-	}
-	
-	/**
-	 * Adds the id of a capability for which this capability handles
-	 * the user interface.
-	 */
-	public void addHandleUI(String capabilityId) {
-		if (handleUIs == null)
-			handleUIs = new ArrayList(4);
-		handleUIs.add(capabilityId);	
-	}
-	
-	/**
-	 * Adds the id of a perspective for which this capability
-	 * wants to present as a choice in the user interface.
-	 */
-	public void addPerspectiveChoice(String perspId) {
-		if (perspectiveChoices == null)
-			perspectiveChoices = new ArrayList(4);
-		perspectiveChoices.add(perspId);	
-	}
-	
-	public String getId() {
-		return id;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IWorkbenchAdapter.
-	 */
-	public ImageDescriptor getImageDescriptor(Object object) {
-		return getIconDescriptor();
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IWorkbenchAdapter.
-	 */
-	public String getLabel(Object o) {
-		return getName();
-	}
-	
-	public String getName() {
-		if (isValid())
-			return natureDescriptor.getLabel();
-		else
-			return WorkbenchMessages.format("Capability.nameMissing", new Object[] {id}); //$NON-NLS-1$
-	}
-	
-	public ImageDescriptor getIconDescriptor() {
-		if (icon == null && isValid()) {
-			IExtension extension = element.getDeclaringExtension();
-			String location = element.getAttribute(ATT_ICON);
-			if (location != null && location.length() > 0)
-				icon = WorkbenchImages.getImageDescriptorFromExtension(extension, location);
-		}
-		return icon;
-	}
-	
-	/**
-	 * Returns the nature descriptor or <code>null</code> if
-	 * none exist.
-	 */
-	public IProjectNatureDescriptor getNatureDescriptor() {
-		return natureDescriptor;
-	}
-	
-	public String getNatureId() {
-		return natureId;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IAdaptable.
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter == IWorkbenchAdapter.class) 
-			return this;
-		else
-			return null;
-	}
-	
-	public String getCategoryPath() {
-		if (element == null)
-			return ""; //$NON-NLS-1$;
-		else
-			return element.getAttribute(ATT_CATEGORY);
-	}
-	
-	/**
-	 * Returns a new instance of the capability install
-	 * wizard. Caller is responsible for calling the init
-	 * method. If the wizard cannot be created, <code>null</code>
-	 * is returned.
-	 * 
-	 * @return the non-initialized capability wizard or
-	 * 		<code>null</code> if the wizard cannot be created.
-	 */
-	public ICapabilityInstallWizard getInstallWizard() {
-		if (!isValid())
-			return null;
-			
-		try {
-			return (ICapabilityInstallWizard)element.createExecutableExtension(ATT_INSTALL_WIZARD);
-		} catch (CoreException e) {
-			WorkbenchPlugin.log("Could not create capability install wizard.", e.getStatus()); //$NON-NLS-1$
-			return null;
-		}
-	}
-	
-	/**
-	 * Returns the description for the install wizard
-	 * or <code>null</code> if none supplied.
-	 */
-	public String getInstallDetails() {
-		if (!isValid())
-			return null;
-		return element.getAttribute(ATT_INSTALL_DETAILS);
-	}
-	
-	/**
-	 * Returns a new instance of the capability uninstall
-	 * wizard. Caller is responsible for calling the init
-	 * method. If the wizard cannot be created, <code>null</code>
-	 * is returned.
-	 * 
-	 * @return the non-initialized capability wizard or
-	 * 		<code>null</code> if the wizard cannot be created.
-	 */
-	public ICapabilityUninstallWizard getUninstallWizard() {
-		if (!isValid())
-			return null;
-			
-		try {
-			return (ICapabilityUninstallWizard)element.createExecutableExtension(ATT_UNINSTALL_WIZARD);
-		} catch (CoreException e) {
-			WorkbenchPlugin.log("Could not create capability uninstall wizard.", e.getStatus()); //$NON-NLS-1$
-			return null;
-		}
-	}
-	
-	/**
-	 * Returns the description for the uninstall wizard
-	 * or <code>null</code> if none supplied.
-	 */
-	public String getUninstallDetails() {
-		if (!isValid())
-			return null;
-		return element.getAttribute(ATT_UNINSTALL_DETAILS);
-	}
-	
-	public String getDescription() {
-		if (!isValid())
-			return ""; //$NON-NLS-1$;
-		String description = element.getAttribute(ATT_DESCRIPTION);
-		if (description == null)
-			description = ""; //$NON-NLS-1$
-		return description;
-	}
-	
-	/**
-	 * Returns a list of ids of other capabilities for which this 
-	 * capability handles the user interface, or <code>null</code>
-	 * if not applicable.
-	 */
-	public ArrayList getHandleUIs() {
-		return handleUIs;	
-	}
-	
-	/**
-	 * Returns a list of ids of perspectives for which this 
-	 * capability wants to present as choices, or <code>null</code>
-	 * if not applicable.
-	 */
-	public ArrayList getPerspectiveChoices() {
-		return perspectiveChoices;	
-	}
-	
-	/**
-	 * Returns whether this capability is valid
-	 */
-	public boolean isValid() {
-		return natureDescriptor != null;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/CapabilityRegistry.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/CapabilityRegistry.java
deleted file mode 100644
index 59499ea..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/CapabilityRegistry.java
+++ /dev/null
@@ -1,405 +0,0 @@
-package org.eclipse.ui.internal.registry;
- 
-/**********************************************************************
-Copyright (c) 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:
-**********************************************************************/
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.internal.model.WorkbenchAdapter;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * This class represents a registry of project capabilities and categories of 
- * capabilities.
- */
-public class CapabilityRegistry extends WorkbenchAdapter implements IAdaptable {
-	private static final String[] EMPTY_ID_LIST = new String[0];
-	private static final Capability[] EMPTY_CAP_LIST = new Capability[0];
-	
-	private HashMap natureToCapability;
-	private ArrayList capabilities;
-	private ArrayList categories;
-	private Category miscCategory;
-	
-	/**
-	 * Creates a new instance of <code>CapabilityRegistry</code>
-	 */
-	public CapabilityRegistry() {
-		capabilities = new ArrayList(30);
-		categories = new ArrayList(15);		
-	}
-	
-	/**
-	 * Adds the given capability to the registry. Called by
-	 * the CapabilityRegistryReader.
-	 */
-	/* package */ boolean addCapability(Capability capability) {
-		return capabilities.add(capability);	
-	}
-	
-	/**
-	 * Adds the given capability category to the registry. Called
-	 * by the CapabilityRegistryReader.
-	 */
-	/* package */ boolean addCategory(ICategory category) {
-		return categories.add(category);
-	}
-	
-	/**
-	 * Finds the capability for the given identifier, or
-	 * <code>null</code> if none.
-	 */
-	public Capability findCapability(String id) {
-		Iterator enum = capabilities.iterator();
-		while (enum.hasNext()) {
-			Capability cap = (Capability) enum.next();
-			if (id.equals(cap.getId())) {
-				return cap;
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Finds the category for the given identifier, or
-	 * <code>null</code> if none.
-	 */
-	public ICategory findCategory(String id) {
-		Iterator enum = categories.iterator();
-		while (enum.hasNext()) {
-			Category cat = (Category) enum.next();
-			if (id.equals(cat.getRootPath())) {
-				return cat;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Finds the capability for each specified identifier.
-	 * Any <code>null</code> entries in the resulting array
-	 * are for identifiers to which no capability exist.
-	 */
-	public Capability[] findCapabilities(String[] ids) {
-		int count = capabilities.size();
-		Capability[] results = new Capability[ids.length];
-		
-		for (int i = 0; i < ids.length; i++) {
-			String id = ids[i];
-			for (int j = 0; j < count; j++) {
-				Capability cap = (Capability) capabilities.get(j);
-				if (cap.getId().equals(id)) {
-					results[i] = cap;
-					break;
-				}
-			}
-		}
-		
-		return results;
-	}
-	
-	/**
-	 * Finds the category for each specified identifier.
-	 * Any <code>null</code> entries in the resulting array
-	 * are for identifiers to which no category exist.
-	 * 
-	 * @return an array of <code>ICategory</code>
-	 */
-	public ICategory[] findCategories(String[] ids) {
-		int count = categories.size();
-		ICategory[] results = new Category[ids.length];
-		
-		for (int i = 0; i < ids.length; i++) {
-			String id = ids[i];
-			for (int j = 0; j < count; j++) {
-				Category cat = (Category) categories.get(j);
-				if (cat.getId().equals(id)) {
-					results[i] = cat;
-					break;
-				}
-			}
-		}
-		
-		return results;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IAdaptable.
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter == IWorkbenchAdapter.class) 
-			return this;
-		else
-			return null;
-	}
-	
-	/**
-	 * Returns the list of categories in the registry
-	 * which contain at least one capability. Does not
-	 * include the misc and unknown categories.
-	 */
-	public ArrayList getUsedCategories() {
-		ArrayList results = new ArrayList(categories.size());
-		Iterator enum = categories.iterator();
-		while (enum.hasNext()) {
-			ICategory cat = (ICategory) enum.next();
-			if (cat.hasElements())
-				results.add(cat);
-		}
-		return results;
-	}
-
-	/**
-	 * Returns the capability for the nature id
-	 */
-	public Capability getCapabilityForNature(String natureId) {
-		return (Capability)natureToCapability.get(natureId);
-	}
-	
-	/**
-	 * Returns the list of capabilities in the registry
-	 */
-	public ArrayList getCapabilities() {
-		return capabilities;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IWorkbenchAdapter.
-	 */
-	public Object[] getChildren(Object o) {
-		return capabilities.toArray();
-	}
-	
-	/**
-	 * Returns the membership set ids that the specified
-	 * capability belongs to.
-	 */
-	public String[] getMembershipSetIds(Capability capability) {
-		IProjectNatureDescriptor desc = capability.getNatureDescriptor();
-		if (desc == null)
-			return EMPTY_ID_LIST;
-			
-		return desc.getNatureSetIds();
-	}
-
-	/**
-	 * Returns the miscellaneous category, or <code>null</code>
-	 * if none.
-	 */
-	public ICategory getMiscCategory() {
-		return miscCategory;
-	}
-	
-	/**
-	 * Returns the capability ids that are prerequisites
-	 * of the specified capability.
-	 */
-	public String[] getPrerequisiteIds(Capability capability) {
-		IProjectNatureDescriptor desc = capability.getNatureDescriptor();
-		if (desc == null)
-			return EMPTY_ID_LIST;
-			
-		String[] natureIds = desc.getRequiredNatureIds();
-		if (natureIds.length == 0)
-			return EMPTY_ID_LIST;
-			
-		ArrayList results = new ArrayList(natureIds.length);
-		for (int i = 0; i < natureIds.length; i++) {
-			Capability cap = (Capability)natureToCapability.get(natureIds[i]);
-			if (cap != null)
-				results.add(cap.getId());
-		}
-		
-		if (results.size() == 0) {
-			return EMPTY_ID_LIST;
-		} else {
-			String[] ids = new String[results.size()];
-			results.toArray(ids);
-			return ids;
-		}
-	}
-
-	/**
-	 * Returns the capabilities assigned to the specified project
-	 */
-	public Capability[] getProjectCapabilities(IProject project) {
-		try {
-			String[] natureIds = project.getDescription().getNatureIds();
-			ArrayList results = new ArrayList(natureIds.length);
-			for (int i = 0; i < natureIds.length; i++) {
-				Capability cap = (Capability)natureToCapability.get(natureIds[i]);
-				if (cap == null) {
-					cap = new Capability(natureIds[i]);
-					mapCapability(cap);
-				}
-				results.add(cap);
-			}
-			
-			if (results.size() == 0) {
-				return EMPTY_CAP_LIST;
-			} else {
-				Capability[] caps = new Capability[results.size()];
-				results.toArray(caps);
-				return caps;
-			}
-		}
-		catch (CoreException e) {
-			return EMPTY_CAP_LIST;
-		}
-	}
-	
-	/**
-	 * Returns the capabilities assigned to the specified project
-	 * that are consideed disabled by core.
-	 */
-	public Capability[] getProjectDisabledCapabilities(IProject project) {
-		try {
-			String[] natureIds = project.getDescription().getNatureIds();
-			ArrayList results = new ArrayList(natureIds.length);
-			for (int i = 0; i < natureIds.length; i++) {
-				if (!project.isNatureEnabled(natureIds[i])) {
-					Capability cap = (Capability)natureToCapability.get(natureIds[i]);
-					if (cap == null) {
-						cap = new Capability(natureIds[i]);
-						mapCapability(cap);
-					}
-					results.add(cap);
-				}
-			}
-			
-			if (results.size() == 0) {
-				return EMPTY_CAP_LIST;
-			} else {
-				Capability[] caps = new Capability[results.size()];
-				results.toArray(caps);
-				return caps;
-			}
-		}
-		catch (CoreException e) {
-			return EMPTY_CAP_LIST;
-		}
-	}
-	
-	/**
-	 * Returns whether the registry contains any capabilities.
-	 */
-	public boolean hasCapabilities() {
-		return !capabilities.isEmpty();
-	}
-	
-	/**
-	 * Returns whether the specified capability has any prerequisites.
-	 */
-	public boolean hasPrerequisites(Capability capability) {
-		return getPrerequisiteIds(capability).length > 0;
-	}
-
-	/**
-	 * Loads capabilities and capability categories from the platform's plugin
-	 * registry.
-	 */
-	public void load() {
-		CapabilityRegistryReader reader = new CapabilityRegistryReader();
-		reader.read(Platform.getPluginRegistry(), this);
-		mapCapabilities();
-	}
-	
-	/**
-	 * Maps each capability in the registry to a particular category.
-	 * The category is defined in xml. If the capability's category is
-	 * not found, then the capability is added to the "misc" category.
-	 * <p>
-	 * Maps each capability in the registry to a particular nature
-	 * id.
-	 */
-	/* package */ void mapCapabilities() {
-		natureToCapability = new HashMap();
-		
-		Iterator enum = capabilities.iterator();
-		while (enum.hasNext())
-			mapCapability((Capability) enum.next());
-	}
-
-	private void mapCapability(Capability cap) {
-		// Map to category
-		if (!cap.isValid()) {
-			if (miscCategory == null)
-				miscCategory = new Category();
-			miscCategory.addElement(cap);
-		} else {
-			Category cat = null;
-			String catPath = cap.getCategoryPath();
-			if (catPath != null)
-				cat = (Category)findCategory(catPath);
-			if (cat != null) {
-				cat.addElement(cap);
-			} else {
-				if (miscCategory == null)
-					miscCategory = new Category();
-				miscCategory.addElement(cap);
-			}
-		}
-		
-		// Map to nature id
-		natureToCapability.put(cap.getNatureId(), cap);
-	}
-
-	/**
-	 * Removes from the capability collection all capabilities
-	 * whose UI is handle by another capability in the collection.
-	 * The provided collection must be in proper prerequisite order.
-	 * 
-	 * @param capabilities the capabilities to be pruned
-	 * @return a collection of capabilities pruned
-	 */
-	public Capability[] pruneCapabilities(Capability[] capabilities) {
-		ArrayList ids = new ArrayList(capabilities.length);
-		for (int i = 0; i < capabilities.length; i++)
-			ids.add(capabilities[i].getId());
-		
-		for (int i = 0; i < capabilities.length; i++) {
-			ArrayList handleIds = capabilities[i].getHandleUIs();
-			if (handleIds != null)
-				ids.removeAll(handleIds);
-		}
-
-		String[] results = new String[ids.size()];
-		ids.toArray(results);
-		return findCapabilities(results);
-	}
-	
-	/**
-	 * Checks that the collection is valid. If so, the collection is
-	 * ordered based on prerequisite.
-	 * 
-	 * @param capabilities the capabilities to be checked and ordered
-	 * @return a status object with code <code>IStatus.OK</code> if
-	 *		the given set of natures is valid, otherwise a status 
-	 *		object indicating what is wrong with the set. Also, the
-	 * 		collection of capabilities specified is ordered based on
-	 * 		prerequisite.
-	 */
-	public IStatus validateCapabilities(Capability[] capabilities) {
-		String natures[] = new String[capabilities.length];
-		for (int i = 0; i < capabilities.length; i++)
-			natures[i] = capabilities[i].getNatureId();
-		
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IStatus status = workspace.validateNatureSet(natures);
-		if (status.isOK()) {
-			natures = workspace.sortNatureSet(natures);
-			for (int i = 0; i < natures.length; i++)
-				capabilities[i] = (Capability)natureToCapability.get(natures[i]);
-		}
-
-		return status;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/CapabilityRegistryReader.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/CapabilityRegistryReader.java
deleted file mode 100644
index bb6f285..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/CapabilityRegistryReader.java
+++ /dev/null
@@ -1,129 +0,0 @@
-package org.eclipse.ui.internal.registry;
- 
-/**********************************************************************
-Copyright (c) 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:
-**********************************************************************/
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.internal.IWorkbenchConstants;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * This class is used to read project capabilities and capability
- * categories from the platform's plugin registry and store the results in
- * a capability registry.
- */
-public class CapabilityRegistryReader extends RegistryReader{	
-	private static final String TAG_CAPABILITY = "capability"; //$NON-NLS-1$
-	private static final String TAG_CATEGORY = "category"; //$NON-NLS-1$
-	private static final String TAG_HANDLE_UI = "handleUI"; //$NON-NLS-1$
-	private static final String TAG_PERSPECTIVE_CHOICE = "perspectiveChoice"; //$NON-NLS-1$
-	
-	private static final String ATT_ID = "id"; //$NON-NLS-1$
-	
-	private CapabilityRegistry capabilityRegistry;
-	private Capability currentCapability;
-	
-	/**
-	 * Reads an element of the plugin registry and adds it to the capability
-	 * registry if it is a capability or category (or a handleUI element, a
-	 * child of a capability. A handleUI element represents another capability
-	 * for which this capability controls the user interface).
-	 */
-	protected boolean readElement(IConfigurationElement element) {
-		String name = element.getName();
-		if (name.equals(TAG_CAPABILITY))
-			return readCapability(element);
-		if (name.equals(TAG_CATEGORY))
-			return readCategory(element);
-		if (name.equals(TAG_HANDLE_UI))
-			return readHandleUI(element);
-		if (name.equals(TAG_PERSPECTIVE_CHOICE))
-			return readPerspectiveChoice(element);
-		return false;
-	}
-	
-	/**
-	 * Reads a capability and adds it to the capability registry. Reads all
-	 * children elements (which will be handleUI elements) as well and adds
-	 * them to the capability.
-	 */
-	private boolean readCapability(IConfigurationElement element) {
-		try {
-			Capability capability = new Capability(element, this);
-			capabilityRegistry.addCapability(capability);
-			currentCapability = capability;
-			readElementChildren(element);
-			currentCapability = null;
-			return true;
-		} catch(WorkbenchException e) {
-			currentCapability = null;
-			return false;
-		}
-	}
-
-	/**
-	 * Reads a capability category and adds it to the capability registry.
-	 */
-	private boolean readCategory(IConfigurationElement element) {
-		try {
-			Category category = new Category(element);
-			capabilityRegistry.addCategory(category);
-		} catch (WorkbenchException e) {
-			// log an error since its not safe to show a dialog here
-			WorkbenchPlugin.log("Unable to create capability category. ", e.getStatus()); //$NON-NLS-1$
-		}
-		return true;		
-	}
-	
-	/**
-	 * Reads handleUI elements. These elements contain the ids of other
-	 * capabilities. The capability that is the parent of the handleUI element
-	 * controls the user interface for the capabilities whose ids are stored
-	 * in the handleUI element.
-	 */
-	private boolean readHandleUI(IConfigurationElement element) {
-		String capabilityId = element.getAttribute(ATT_ID);
-		
-		if (capabilityId == null) {
-			logMissingAttribute(element, ATT_ID);
-		}
-		
-		if (currentCapability != null)
-			currentCapability.addHandleUI(capabilityId);		
-		return true;	
-	}
-	
-	/**
-	 * Reads perspectiveChoice elements. These elements contain the ids of
-	 * perspectives.
-	 */
-	private boolean readPerspectiveChoice(IConfigurationElement element) {
-		String perspId = element.getAttribute(ATT_ID);
-		
-		if (perspId == null) {
-			logMissingAttribute(element, ATT_ID);
-		}
-		
-		if (currentCapability != null)
-			currentCapability.addPerspectiveChoice(perspId);		
-		return true;	
-	}
-	
-	/**
-	 * Reads project capabilities and capability categories from the provided
-	 * plugin registry and stores them in the provided capability registry.
-	 */
-	public void read(IPluginRegistry registry, CapabilityRegistry out) {
-		capabilityRegistry = out;
-		readRegistry(registry, PlatformUI.PLUGIN_ID, IWorkbenchConstants.PL_CAPABILITIES);
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/Category.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/Category.java
deleted file mode 100644
index e452236..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/Category.java
+++ /dev/null
@@ -1,174 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/**********************************************************************
-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:
-**********************************************************************/
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.internal.WorkbenchImages;
-import org.eclipse.ui.internal.model.WorkbenchAdapter;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * The default implementation of the interface <code>ICategory</code>.
- * 
- * @see ICategory
- */
-public class Category extends WorkbenchAdapter implements ICategory {
-	private static final String ATT_ID = "id"; //$NON-NLS-1$
-	private static final String ATT_PARENT = "parentCategory"; //$NON-NLS-1$
-	private static final String ATT_NAME = "name"; //$NON-NLS-1$
-	
-	private String id;
-	private String name;
-	private String[] parentPath;
-	private String unparsedPath;
-	private ArrayList elements;
-	
-	/**
-	 * Creates an instance of <code>Category</code> as a
-	 * miscellaneous category.
-	 */
-	public Category() {
-		this.id = MISC_ID;
-		this.name = MISC_NAME;
-	}
-	
-	/**
-	 * Creates an instance of <code>Category</code> with
-	 * an ID and label.
-	 * 
-	 * @param id the unique identifier for the category
-	 * @param label the presentation label for this category
-	 */
-	public Category(String id, String label) {
-		this.id = id;
-		this.name = label;
-	}
-	
-	/**
-	 * Creates an instance of <code>Category</code> using the
-	 * information from the specified configuration element.
-	 * 
-	 * @param configElement the <code>IConfigurationElement<code> containing
-	 * 		the ID, label, and optional parent category path.
-	 * @throws a <code>WorkbenchException</code> if the ID or label is <code>null</code
-	 */
-	public Category(IConfigurationElement configElement) throws WorkbenchException {
-		id = configElement.getAttribute(ATT_ID);
-		name = configElement.getAttribute(ATT_NAME);
-		unparsedPath = configElement.getAttribute(ATT_PARENT);
-		
-		if (id == null || name == null)
-			throw new WorkbenchException("Invalid category: " + id); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on ICategory.
-	 */
-	public void addElement(Object element) {
-		if (elements == null)
-			elements = new ArrayList(5);
-		elements.add(element);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IAdaptable.
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter == IWorkbenchAdapter.class) 
-			return this;
-		else
-			return null;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IWorkbenchAdapter.
-	 */
-	public Object[] getChildren(Object o) {
-		return getElements().toArray();
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IWorkbenchAdapter.
-	 */
-	public ImageDescriptor getImageDescriptor(Object object) {
-		return WorkbenchImages.getImageDescriptor(ISharedImages.IMG_OBJ_FOLDER);
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IWorkbenchAdapter.
-	 */
-	public String getLabel(Object o) {
-		return getLabel();
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on ICategory.
-	 */
-	public String getId() {
-		return id;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on ICategory.
-	 */
-	public String getLabel() {
-		return name;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on ICategory.
-	 */
-	public String[] getParentPath() {
-		if (unparsedPath != null) {
-			StringTokenizer stok = new StringTokenizer(unparsedPath, "/"); //$NON-NLS-1$
-			parentPath = new String[stok.countTokens()];
-			for (int i = 0; stok.hasMoreTokens(); i++) {
-				parentPath[i] = stok.nextToken();
-			}
-			unparsedPath = null;
-		}
-		
-		return parentPath;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on ICategory.
-	 */
-	public String getRootPath() {
-		String[] path = getParentPath();
-		if (path != null && path.length > 0)
-			return path[0];
-		else
-			return id;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on ICategory.
-	 */
-	public ArrayList getElements() {
-		return elements;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on ICategory.
-	 */
-	public boolean hasElements() {
-		if (elements != null)
-			return !elements.isEmpty();
-		else
-			return false;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/EditorDescriptor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/EditorDescriptor.java
deleted file mode 100644
index 268087c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/EditorDescriptor.java
+++ /dev/null
@@ -1,296 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.Serializable;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.program.Program;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.*;
-
-/**
- * @see IEditorDescriptor
- */
-public class EditorDescriptor implements IEditorDescriptor, Serializable {
-	private String editorName;
-	private String imageFilename;
-	private transient ImageDescriptor imageDesc;
-	private boolean testImage = true;
-	private String className;
-	private String launcherName;
-	private String fileName;
-	private String id;
-	//Work in progress for OSEditors
-	private Program program;
-	
-	private String pluginIdentifier; //The id of the plugin which contributed this editor, null for external editors
-	private boolean internal = false;
-	private boolean openInPlace = false;
-	private transient IConfigurationElement configurationElement;
-	private static String ATT_EDITOR_CONTRIBUTOR="contributorClass";//$NON-NLS-1$
-
-	// Single descriptor instance to represent the system editor
-	private static EditorDescriptor systemEditorDescriptor;	
-/**
- * Creates the action contributor for this editor.
- */
-public IEditorActionBarContributor createActionBarContributor() {
-	// Get the contributor class name.
-	String className = configurationElement.getAttribute(ATT_EDITOR_CONTRIBUTOR);
-	if (className == null)
-		return null;
-
-	// Create the contributor object.
-	IEditorActionBarContributor contributor = null;
-	try {
-		contributor = (IEditorActionBarContributor)WorkbenchPlugin.createExtension(
-			configurationElement, ATT_EDITOR_CONTRIBUTOR);
-	} catch (CoreException e) {
-		WorkbenchPlugin.log("Unable to create editor contributor: " + //$NON-NLS-1$
-			id, e.getStatus());
-	}
-	return contributor;
-}
-/**
- * Return the program called programName. Return null if it is not found.
- * @return org.eclipse.swt.program.Program
- */
-private static Program findProgram(String programName) {
-
-	Program[] programs = Program.getPrograms();
-	for (int i = 0; i < programs.length; i++) {
-		if (programs[i].getName().equals(programName))
-			return programs[i];
-	}
-
-	return null;
-}
-/**
- * @see IResourceEditorDescriptor
- */
-public String getClassName() {
-	return className;
-}
-/**
- * @see IResourceEditorDescriptor
- */
-public IConfigurationElement getConfigurationElement() {
-	return configurationElement;
-}
-/**
- * @see IResourceEditorDescriptor
- */
-public String getFileName() {
-	if(program == null)
-		return fileName;
-	return program.getName();
-}
-/**
- * @see IResourceEditorDescriptor
- */
-public String getId() {
-	if (program == null)
-		return id;
-	return program.getName();
-}
-/**
- * @see IResourceEditorDescriptor
- */
-public ImageDescriptor getImageDescriptor() {
-	if (testImage) {
-		testImage = false;
-		if (imageDesc != null) {
-			Image img = imageDesc.createImage(false);
-			if (img == null)
-				imageDesc = WorkbenchImages.getImageDescriptor(ISharedImages.IMG_OBJ_FILE);
-			else
-				img.dispose();
-		}
-	}
-	return imageDesc;
-}
-/**
- * @see IResourceEditorDescriptor
- */
-public String getImageFilename() {
-	return imageFilename;
-}
-/**
- * @see IResourceEditorDescriptor
- */
-public String getLabel() {
-	if (program == null)
-		return editorName;
-	return program.getName();
-}
-/**
- * Returns the class name of the launcher.
- */
-public String getLauncher() {
-	return launcherName;
-}
-/**
- * @see IResourceEditorDescriptor
- */
-public String getPluginID() {
-	return pluginIdentifier;
-}
-/**
- * Get the program for the receiver if there is one.
- * @return Program
- */
-public Program getProgram() {
-	return this.program;
-}
-/**
- * Return the single descriptor instance of a system editor
- */
-public static EditorDescriptor getSystemEditorDescriptor() {
-	if (systemEditorDescriptor == null) {
-		systemEditorDescriptor = new EditorDescriptor();
-		systemEditorDescriptor.setID(IWorkbenchConstants.SYSTEM_EDITOR_ID);
-		systemEditorDescriptor.setName(WorkbenchMessages.getString("SystemEditorDescription.name"));//$NON-NLS-1$
-	}
-	return systemEditorDescriptor;
-}
-/**
- * @see IResourceEditorDescriptor
- */
-public boolean isInternal() {
-	return internal;
-}
-/**
- * @see IResourceEditorDescriptor
- */
-public boolean isOpenInPlace() {
-	return openInPlace;
-}
-/**
- * Load the object properties from a IMemento.
- */
-protected void loadValues(IMemento memento) {
-	editorName = memento.getString(IWorkbenchConstants.TAG_LABEL);
-	imageFilename = memento.getString(IWorkbenchConstants.TAG_IMAGE);
-	className = memento.getString(IWorkbenchConstants.TAG_CLASS);
-	launcherName = memento.getString(IWorkbenchConstants.TAG_LAUNCHER);
-	fileName = memento.getString(IWorkbenchConstants.TAG_FILE);
-	id = memento.getString(IWorkbenchConstants.TAG_ID);
-	pluginIdentifier = memento.getString(IWorkbenchConstants.TAG_PLUGING);
-	internal = new Boolean(memento.getString(IWorkbenchConstants.TAG_INTERNAL)).booleanValue();
-	openInPlace = new Boolean(memento.getString(IWorkbenchConstants.TAG_OPEN_IN_PLACE)).booleanValue();
-
-	String programName = memento.getString(IWorkbenchConstants.TAG_PROGRAM_NAME);
-	if(programName != null)
-		this.program = findProgram(programName);			
-	
-}
-/**
- * Save the object values in a IMemento
- */
-protected void saveValues(IMemento memento) {
-	memento.putString(IWorkbenchConstants.TAG_LABEL,editorName);
-	memento.putString(IWorkbenchConstants.TAG_IMAGE,imageFilename);
-	memento.putString(IWorkbenchConstants.TAG_CLASS,className);
-	memento.putString(IWorkbenchConstants.TAG_LAUNCHER,launcherName);
-	memento.putString(IWorkbenchConstants.TAG_FILE,fileName);
-	memento.putString(IWorkbenchConstants.TAG_ID,id);
-	memento.putString(IWorkbenchConstants.TAG_PLUGING,pluginIdentifier);
-	memento.putString(IWorkbenchConstants.TAG_INTERNAL,String.valueOf(internal));
-	memento.putString(IWorkbenchConstants.TAG_OPEN_IN_PLACE,String.valueOf(openInPlace));
-	if(this.program != null)
-		memento.putString(IWorkbenchConstants.TAG_PROGRAM_NAME,this.program.getName());
-}
-/**
- * Set the class name of an internal editor.
- */
-public void setClassName(String newClassName) {
-	className = newClassName;
-}
-/**
- * Set the configuration element which contributed this editor.
- */
-public void setConfigurationElement(IConfigurationElement newConfigurationElement) {
-	configurationElement = newConfigurationElement;
-}
-/**
- * Set the filename of an external editor.
- */
-public void setFileName(String aFileName) {
-	fileName = aFileName;
-}
-/**
- * Set the id of the editor.
- * For internal editors this is the id as provided in the extension point
- * For external editors it is path and filename of the editor
- */
-public void setID(String anID) {
-	id = anID;
-}
-/**
- * The Image to use to repesent this editor
- */
-public void setImageDescriptor(ImageDescriptor desc) {
-	imageDesc = desc;
-	testImage = true;
-}
-/**
- * The name of the image to use for this editor.
- */
-public void setImageFilename(String aFileName) {
-	imageFilename = aFileName;
-}
-/**
- * True if this editor is an interal editor.
- */
-public void setInternal(boolean newInternal) {
-	internal = newInternal;
-}
-/**
- * Sets the new launcher class name
- *
- * @param newLauncher the new launcher
- */
-public void setLauncher(String newLauncher) {
-	launcherName = newLauncher;
-}
-/**
- * The label to show for this editor.
- */
-public void setName(String newName) {
-	editorName = newName;
-}
-/**
- * Set if this external editor should be opened inplace.
- */
-public void setOpenInPlace(boolean aBoolean) {
-	openInPlace = aBoolean;
-}
-/**
- * The id of the plugin which contributed this editor, null for external editors.
- */
-public void setPluginIdentifier(String anID) {
-	pluginIdentifier = anID;
-}
-/**
- * Set the receivers program.
- * @param newProgram
- */
-public void setProgram(Program newProgram) {
-
-	this.program = newProgram;
-	if(editorName == null)
-		setName(newProgram.getName());
-}
-/**
- * For debugging purposes only.
- */
-public String toString() {
-	return "ResourceEditorDescriptor(" + editorName + ")";//$NON-NLS-2$//$NON-NLS-1$
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/EditorRegistry.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/EditorRegistry.java
deleted file mode 100644
index e17ec96..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/EditorRegistry.java
+++ /dev/null
@@ -1,869 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.*;
-import java.text.Collator;
-import java.util.*;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.swt.program.Program;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.misc.*;
-
-/**
- * Provides access to the collection of defined editors for
- * resource types.
- */
-public class EditorRegistry implements IEditorRegistry {
-
-	/* Cached images - these include images from registered editors (via plugins) and others
-	 * hence this table is not one to one with the mappings table. It is in fact a superset
-	 * of the keys one would find in typeEditorMappings
-	 */
-	private Map extensionImages = new HashMap();
-	
-	/* Vector of EditorDescriptor - all the editors loaded from plugin files.
-	 * The list is kept in order to be able to show in the editor selection dialog of the resource associations page.
-	 */
-	private List sortedEditorsFromPlugins = new ArrayList();
-
-	// Map of EditorDescriptor - map editor id to editor.
-	private Map mapIDtoEditor = initialIdToEditorMap(10);
-
-	// Map of FileEditorMapping (extension to FileEditorMapping)
-	private EditorMap typeEditorMappings;
-
-	// List for prop changed listeners.
-	private ListenerList propChangeListeners = new ListenerList();
-
-	// Key for the EditorID save as a IFile persistent property
-	private static final QualifiedName EDITOR_KEY = new QualifiedName("org.eclipse.ui.internal.registry.ResourceEditorRegistry","EditorProperty");//$NON-NLS-2$//$NON-NLS-1$
-/**
- * Return an instance of the receiver.
- */
-public EditorRegistry() {
-	super();
-	initializeFromStorage();
-}
-/**
- * Add an editor for the given extensions with the specified (possibly null)
- * extended type. The editor is being registered from a plugin
- *
- * @param editor        The description of the editor (as obtained 
- *                      from the plugin file and built by the registry reader)
- * @param extensions    Collection of file extensions the editor applies to
- * @param filenames     Collection of filenames the editor applies to
- * @param bDefault      Indicates whether the editor should be made the default editor
- *                      and hence appear first inside a FileEditorMapping
- *
- * This method is not API and should not be called outside the workbench code.
- */
-public void addEditorFromPlugin(EditorDescriptor editor, 
-	List extensions, List filenames, boolean bDefault) {
-
-	// record it in our quick reference list
-	sortedEditorsFromPlugins.add(editor);
-
-	// add it to the table of mappings
-	Iterator enum = extensions.iterator();
-	while(enum.hasNext()) {
-		String fileExtension = (String)enum.next();
-		
-		if (fileExtension != null && fileExtension.length()>0) {
-			FileEditorMapping mapping = getMappingFor("*." + fileExtension);//$NON-NLS-1$
-			if (mapping == null) {  // no mapping for that extension
-				mapping = new FileEditorMapping(fileExtension);
-				typeEditorMappings.putDefault(mappingKeyFor(mapping), mapping);
-			}
-			mapping.addEditor(editor);
-			if (bDefault)
-				mapping.setDefaultEditor(editor);
-		}
-	}
-
-	// add it to the table of mappings
-	enum = filenames.iterator();
-	while(enum.hasNext()) {
-		String filename = (String)enum.next();
-		
-		if (filename != null && filename.length() > 0) {
-			FileEditorMapping mapping = getMappingFor(filename);
-			if (mapping == null) {  // no mapping for that extension
-				String name;
-				String extension;
-				int index = filename.indexOf('.');
-				if (index < 0) {
-					name = filename;
-					extension = "";//$NON-NLS-1$
-				}
-				else {
-					name = filename.substring(0, index);
-					extension = filename.substring(index + 1);
-				}
-				mapping = new FileEditorMapping(name, extension);
-				typeEditorMappings.putDefault(mappingKeyFor(mapping), mapping);
-			}
-			mapping.addEditor(editor);
-			if (bDefault)
-				mapping.setDefaultEditor(editor);
-		}
-	}
-
-	// Update editor map.
-	mapIDtoEditor.put(editor.getId(), editor);
-}
-/**
- * Add external editors to the editor mapping.
- */
-private void addExternalEditorsToEditorMap() {
-	IEditorDescriptor desc = null;
-	
-	// Add registered editors (may include external editors).
-	FileEditorMapping maps[] = typeEditorMappings.allMappings();
-	for (int i = 0; i < maps.length; i++) {
-		FileEditorMapping map = maps[i];
-		IEditorDescriptor [] descArray = map.getEditors();
-		for (int n = 0; n < descArray.length; n++) {
-			desc = descArray[n];
-			mapIDtoEditor.put(desc.getId(), desc);
-		}
-	}
-}
-/* (non-Javadoc)
- * Method declared on IEditorRegistry.
- */
-public void addPropertyListener(IPropertyListener l) {
-	propChangeListeners.add(l);
-}
-/* (non-Javadoc)
- * Method declared on IEditorRegistry.
- */
-public IEditorDescriptor findEditor(String id) {
-	return (IEditorDescriptor)mapIDtoEditor.get(id);
-}
-/**
- * Fires a property changed event.
- */
-private void firePropertyChange(final int type) {
-	Object [] array = propChangeListeners.getListeners();
-	for (int nX = 0; nX < array.length; nX ++) {
-		final IPropertyListener l = (IPropertyListener)array[nX];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.propertyChanged(EditorRegistry.this, type);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				propChangeListeners.remove(l);
-			}
-		});
-	}
-}
-/* (non-Javadoc)
- * Method declared on IEditorRegistry.
- */
-public IEditorDescriptor getDefaultEditor() {
-	// Find the default editor descriptor and return it.
-	IEditorDescriptor desc = findEditor(IWorkbenchConstants.DEFAULT_EDITOR_ID);
-	if (desc != null)
-		return desc;
-
-	// Panic: the default editor cannot be found.
-	MessageDialog.openError((Shell)null, 
-		"Editor Problems", //$NON-NLS-1$
-		"Unable to find default editor.");//$NON-NLS-1$
-	return null;
-}
-/* (non-Javadoc)
- * Method declared on IEditorRegistry.
- */
-public IEditorDescriptor getDefaultEditor(String filename) {
-	FileEditorMapping[] mapping = getMappingForFilename(filename);
-	IEditorDescriptor desc = null;
-	if (mapping[0] != null)
-		desc = mapping[0].getDefaultEditor();
-	if (desc == null && mapping[1] != null)
-		desc = mapping[1].getDefaultEditor();
-	return desc;
-}
-/* (non-Javadoc)
- * Method declared on IEditorRegistry.
- */
-public IEditorDescriptor getDefaultEditor(IFile file) {
-	// Try file specific editor.
-	try {
-		String editorID = file.getPersistentProperty(EDITOR_KEY);
-		if (editorID != null) {
-			IEditorDescriptor desc = findEditor(editorID);
-			if (desc != null)
-				return desc;
-		}
-	} catch (CoreException e) {
-	}
-	
-	// Try lookup with filename
-	return getDefaultEditor(file.getName());
-}
-/**
- * Returns the default file image.
- */
-private ImageDescriptor getDefaultImage() {
-	return WorkbenchImages.getImageDescriptor(ISharedImages.IMG_OBJ_FILE);
-}
-/* (non-Javadoc)
- * Method declared on IEditorRegistry.
- */
-public IEditorDescriptor[] getEditors(String filename) {
-	IEditorDescriptor[] editors = new IEditorDescriptor[0];
-	IEditorDescriptor[] filenameEditors = editors;
-	IEditorDescriptor[] extensionEditors = editors;
-
-	FileEditorMapping mapping[] = getMappingForFilename(filename);
-	if (mapping[0] != null) {
-		editors = mapping[0].getEditors();
-		if (editors != null)
-			filenameEditors = editors;
-	}
-	if (mapping[1] != null) {
-		editors = mapping[1].getEditors();
-		if (editors != null)
-			extensionEditors = editors;
-	}
-
-	editors = new IEditorDescriptor[filenameEditors.length + extensionEditors.length];
-	System.arraycopy(filenameEditors, 0, editors, 0, filenameEditors.length);
-	System.arraycopy(extensionEditors, 0, editors, filenameEditors.length, extensionEditors.length);
-	return editors;
-}
-/* (non-Javadoc)
- * Method declared on IEditorRegistry.
- */
-public IEditorDescriptor[] getEditors(IFile element) {
-	return getEditors(element.getName());
-}
-/* (non-Javadoc)
- * Method declared on IEditorRegistry.
- */
-public IFileEditorMapping[] getFileEditorMappings() {
-	FileEditorMapping[] array = typeEditorMappings.allMappings();
-	final Collator collator = Collator.getInstance();
-	Arrays.sort(array,new Comparator() {
-		public int compare(Object o1, Object o2) {
-			String s1 = ((FileEditorMapping)o1).getLabel();
-			String s2 = ((FileEditorMapping)o2).getLabel();
-			return collator.compare(s1, s2);
-		}
-	});
-	return array;
-}
-/* (non-Javadoc)
- * Method declared on IEditorRegistry.
- */
-public ImageDescriptor getImageDescriptor(String filename) {
-	if (filename == null)
-		return getDefaultImage();
-
-	// Lookup in the cache first... 
-	String key = mappingKeyFor(filename);
-	ImageDescriptor anImage = (ImageDescriptor)extensionImages.get(key);
-	if (anImage != null)
-		return anImage;
-
-	// See if we have a mapping for the filename or extension
-	FileEditorMapping[] mapping = getMappingForFilename(filename);
-	for (int i = 0; i < 2; i++) {
-		if (mapping[i] != null) {
-			// Lookup in the cache first...
-			String mappingKey = mappingKeyFor(mapping[i]);
-			ImageDescriptor mappingImage = (ImageDescriptor)extensionImages.get(key);
-			if (mappingImage != null)
-				return mappingImage;
-			// Create it and cache it
-			IEditorDescriptor editor = mapping[i].getDefaultEditor();
-			if (editor != null) {
-				mappingImage = editor.getImageDescriptor();
-				extensionImages.put(mappingKey, mappingImage);
-				return mappingImage;
-			}
-		}
-	}   
-
-	// Nothing - time to look externally for the icon
-	anImage = getSystemEditorImageDescriptor(filename);
-	if (anImage == null)
-		anImage = getDefaultImage();
-	extensionImages.put(key, anImage);
-	return anImage;
-}
-/* (non-Javadoc)
- * Method declared on IEditorRegistry.
- */
-public ImageDescriptor getImageDescriptor(IFile element) {
-	return getImageDescriptor(element.getName());
-}
-/**
- * Find the file editor mapping for the type. Returns
- * null if not found.
- */
-private FileEditorMapping getMappingFor(String type) {
-	if (type == null)
-		return null;
-	String key = mappingKeyFor(type);
-	return (FileEditorMapping) typeEditorMappings.get(key);
-}
-/**
- * Find the file editor mappings for the given filename.
- *
- * Return an array of two FileEditorMapping items, where
- * the first mapping is for the entire filename, and the
- * second mapping is for the filename's extension only.
- * These items can be null if no mapping exist on the
- * filename and/or filename's extension.
- */
-private FileEditorMapping[] getMappingForFilename(String filename) {
-	FileEditorMapping[] mapping = new FileEditorMapping[2];
-	
-	// Lookup on entire filename
-	mapping[0] = getMappingFor(filename);
-	
-	// Lookup on filename's extension
-	int index = filename.lastIndexOf('.');
-	if (index > -1) {
-		String extension = filename.substring(index);
-		mapping[1] = getMappingFor("*" + extension);//$NON-NLS-1$
-	}
-	
-	return mapping;
-}
-/* 
- * WARNING!
- * The image described by each editor descriptor is *not* known by
- * the workbench's graphic registry.
- * Therefore clients must take care to ensure that if they access
- * any of the images held by these editors that they also dispose them
- */
- 
-public IEditorDescriptor[] getSortedEditorsFromOS() {
-	List externalEditors = new ArrayList();
-	Program [] programs = Program.getPrograms();
-
-	for (int i = 0; i < programs.length; i++){
-		//1FPLRL2: ITPUI:WINNT - NOTEPAD editor cannot be launched
-		//Some entries start with %SystemRoot%
-		//For such cases just use the file name as they are generally
-		//in directories which are on the path
-		/*if (fileName.charAt(0) == '%') {
-			fileName = name + ".exe";
-		}   */
-		
-		EditorDescriptor editor = new EditorDescriptor();
-		editor.setProgram(programs[i]);
-
-		// determine the program icon this editor would need (do not let it be cached in the workbench registry)
-		ImageDescriptor desc = new ExternalProgramImageDescriptor(programs[i]);
-		editor.setImageDescriptor(desc);
-		externalEditors.add(editor);
-	}
-
-	Object[] tempArray = sortEditors(externalEditors);
-	IEditorDescriptor[] array = new IEditorDescriptor[externalEditors.size()];
-	for (int i = 0; i < tempArray.length; i++){
-		array[i] = (IEditorDescriptor)tempArray[i];
-	}
-	return array;
-}
-/**
- *
- */
-public IEditorDescriptor[] getSortedEditorsFromPlugins() {
-	IEditorDescriptor[] array = new IEditorDescriptor[sortedEditorsFromPlugins.size()];
-	sortedEditorsFromPlugins.toArray(array);
-	return array;   
-		
-}
-/*
- * Return the image descriptor of the system editor
- * that is registered with the OS to edit files of
- * this type. Null if none can be found.
- */
-public ImageDescriptor getSystemEditorImageDescriptor(String filename) {
-	Program externalProgram = null;
-	int extensionIndex = filename.lastIndexOf('.');
-	if (extensionIndex >= 0)
-		externalProgram = Program.findProgram(filename.substring(extensionIndex));
-	if (externalProgram == null)
-		return null;
-	else
-		return new ExternalProgramImageDescriptor(externalProgram);
-}
-/*
- * Return the image descriptor of the system editor
- * that is registered with the OS to edit files of
- * this type. Null if none can be found.
- */
-public ImageDescriptor getSystemEditorImageDescriptor(IFile element) {
-	return getSystemEditorImageDescriptor(element.getName());
-}
-/**
- * Answer an intial id to editor map.
- */
-private HashMap initialIdToEditorMap(int initialSize) {
-	HashMap map = new HashMap(initialSize);
-	map.put(IWorkbenchConstants.SYSTEM_EDITOR_ID, EditorDescriptor.getSystemEditorDescriptor());
-	return map;
-}
-private void initializeFromStorage () {
-	typeEditorMappings = new EditorMap();
-	extensionImages = new HashMap();
-	
-	//Get editors from the registry
-	EditorRegistryReader registryReader = new EditorRegistryReader();
-	registryReader.addEditors(true, this);
-	sortInternalEditors();
-	rebuildInternalEditorMap();
-
-	IWorkbench workbench = PlatformUI.getWorkbench();
-	IPreferenceStore store = workbench.getPreferenceStore();
-	String defaultEditors = store.getString(IPreferenceConstants.DEFAULT_EDITORS);
-	String chachedDefaultEditors = store.getString(IPreferenceConstants.DEFAULT_EDITORS_CACHE);
-		
-	//If defaults has changed load it afterwards so it overrides the users associations.
-	if(defaultEditors == null || defaultEditors.equals(chachedDefaultEditors)) {
-		setProductDefaults(defaultEditors);
-		loadAssociations(); //get saved earlier state
-	} else {
-		loadAssociations(); //get saved earlier state
-		setProductDefaults(defaultEditors);
-		store.putValue(IPreferenceConstants.DEFAULT_EDITORS_CACHE,defaultEditors);
-	}
-	addExternalEditorsToEditorMap();
-}
-/**
- * Set the default editors according to the preference store which
- * can be overwritten in the file properties.ini.
- */
-private void setProductDefaults(String defaultEditors) {
-	if(defaultEditors == null || defaultEditors.length() == 0)
-		return;
-		
-	StringTokenizer extEditors = new StringTokenizer(defaultEditors,new Character(IPreferenceConstants.SEPARATOR).toString());
-	while(extEditors.hasMoreTokens()) {
-		String extEditor = extEditors.nextToken().trim();
-		int index = extEditor.indexOf(':');
-		if(extEditor.length() < 3 || index <= 0 || index >= (extEditor.length() - 1)) { 
-			//Extension and id must have at least one char.
-			WorkbenchPlugin.log("Error setting default editor. Could not parse '" + extEditor + "'. Default editors should be specified as '*.ext1:editorId1;*.ext2:editorId2'"); //$NON-NLS-1$
-			return;
-		}
-		String ext = extEditor.substring(0,index).trim();
-		String editorId = extEditor.substring(index + 1).trim();
-		FileEditorMapping mapping = getMappingFor(ext);
-		if(mapping == null) {
-			WorkbenchPlugin.log("Error setting default editor. Could not find mapping for '" + ext + "'."); //$NON-NLS-1$
-			continue;
-		}
-		EditorDescriptor editor = (EditorDescriptor)findEditor(editorId);
-		if(editor == null) {
-			WorkbenchPlugin.log("Error setting default editor. Could not find editor: '" + editorId + "'."); //$NON-NLS-1$
-			continue;
-		}
-		mapping.setDefaultEditor(editor);
-	}	
-}
-/**
- * Load the serialized resource associations
- * Return true if the operation was successful, false otherwise
- */
-private boolean loadAssociations() {
-
-	//Get the workbench plugin's working directory
-	WorkbenchPlugin workbenchPlugin = WorkbenchPlugin.getDefault();
-	IPath workbenchStatePath = workbenchPlugin.getStateLocation();
-
-	//Get the editors and validate each one
-	Map editorTable = new HashMap();
-	Reader reader = null;
-	IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-
-	try {
-		String xmlString = store.getString(IPreferenceConstants.EDITORS);
-		if(xmlString == null || xmlString.length() == 0) {
-			FileInputStream stream = new FileInputStream(workbenchStatePath.append(IWorkbenchConstants.EDITOR_FILE_NAME).toOSString());
-			reader = new BufferedReader(new InputStreamReader(stream, "utf-8")); //$NON-NLS-1$
-		} else {
-			reader = new StringReader(xmlString);
-		}
-		XMLMemento memento = XMLMemento.createReadRoot(reader);
-		EditorDescriptor editor;
-		IMemento[] edMementos = memento.getChildren(IWorkbenchConstants.TAG_DESCRIPTOR);
-		for (int i = 0; i < edMementos.length; i++) {
-			editor = new EditorDescriptor();
-			editor.loadValues(edMementos[i]);
-
-			if (editor.getPluginID() != null) {
-				//If the editor is from a plugin we use its ID to look it up in the mapping of editors we
-				//have obtained from plugins. This allows us to verify that the editor is still valid
-				//and allows us to get the editor description from the mapping table which has
-				//a valid config element field.
-				EditorDescriptor validEditorDescritor =
-					(EditorDescriptor) mapIDtoEditor.get(editor.getId());
-				if (validEditorDescritor != null) {
-					editorTable.put(validEditorDescritor.getId(), validEditorDescritor);
-				}
-			} else { //This is either from a program or a user defined editor
-				ImageDescriptor descriptor;
-				if (editor.getProgram() == null)
-					descriptor = new ProgramImageDescriptor(editor.getFileName(), 0);
-				else
-					descriptor = new ExternalProgramImageDescriptor(editor.getProgram());
-				editor.setImageDescriptor(descriptor);
-				editorTable.put(editor.getId(), editor);
-			}
-		}
-	} catch (IOException e) {
-		try {
-			if (reader != null)
-				reader.close();
-		} catch (IOException ex) {
-		}
-		//Ignore this as the workbench may not yet have saved any state
-		return false;
-	} catch (WorkbenchException e) {
-		ErrorDialog.openError(
-			(Shell) null, 
-			WorkbenchMessages.getString("EditorRegistry.errorTitle"),//$NON-NLS-1$
-			WorkbenchMessages.getString("EditorRegistry.errorMessage"), //$NON-NLS-1$
-			e.getStatus());
-		return false;
-	}
-
-	//Get the resource types
-	reader = null;
-	try {
-		String xmlString = store.getString(IPreferenceConstants.RESOURCES);
-		if(xmlString == null || xmlString.length() == 0) {
-			FileInputStream stream = new FileInputStream(
-				workbenchStatePath
-					.append(IWorkbenchConstants.RESOURCE_TYPE_FILE_NAME)
-					.toOSString());
-		 	reader = new BufferedReader(new InputStreamReader(stream, "utf-8")); //$NON-NLS-1$
-		} else {
-			reader = new StringReader(xmlString);
-		}
-		XMLMemento memento = XMLMemento.createReadRoot(reader);
-		IMemento[] extMementos = memento.getChildren(IWorkbenchConstants.TAG_INFO);
-		for (int i = 0; i < extMementos.length; i++) {
-			String name = extMementos[i].getString(IWorkbenchConstants.TAG_NAME);
-			if (name == null)
-				name = "*";//$NON-NLS-1$
-			String extension = extMementos[i].getString(IWorkbenchConstants.TAG_EXTENSION);
-			IMemento[] idMementos =
-				extMementos[i].getChildren(IWorkbenchConstants.TAG_EDITOR);
-			String[] editorIDs = new String[idMementos.length];
-			for (int j = 0; j < idMementos.length; j++) {
-				editorIDs[j] = idMementos[j].getString(IWorkbenchConstants.TAG_ID);
-			}
-			idMementos =
-				extMementos[i].getChildren(IWorkbenchConstants.TAG_DELETED_EDITOR);
-			String[] deletedEditorIDs = new String[idMementos.length];
-			for (int j = 0; j < idMementos.length; j++) {
-				deletedEditorIDs[j] = idMementos[j].getString(IWorkbenchConstants.TAG_ID);
-			}
-			FileEditorMapping mapping = getMappingFor(name + "." + extension);//$NON-NLS-1$
-			if (mapping == null) {
-				mapping = new FileEditorMapping(name, extension);
-			}
-			List editors = new ArrayList();
-			for (int j = 0; j < editorIDs.length; j++) {
-				if (editorIDs[j] != null) {
-					EditorDescriptor editor = (EditorDescriptor) editorTable.get(editorIDs[j]);
-					if (editor != null) {
-						editors.add(editor);
-					}
-				}
-			}
-			List deletedEditors = new ArrayList();
-			for (int j = 0; j < deletedEditorIDs.length; j++) {
-				if (deletedEditorIDs[j] != null) {
-					EditorDescriptor editor = (EditorDescriptor) editorTable.get(deletedEditorIDs[j]);
-					if (editor != null) {
-						deletedEditors.add(editor);
-					}
-				}
-			}
-
-			// Add any new editors that have already been read from the registry
-			// which were not deleted.
-			IEditorDescriptor[] editorsArray = mapping.getEditors();
-			for (int j = 0; j < editorsArray.length; j++) {
-				if (!editors.contains(editorsArray[j]) && !deletedEditors.contains(editorsArray[j])) {
-					editors.add(editorsArray[j]);
-				}
-			}
-
-			mapping.setEditorsList(editors);
-			mapping.setDeletedEditorsList(deletedEditors);
-			typeEditorMappings.put(mappingKeyFor(mapping), mapping);
-		}
-	} catch (IOException e) {
-		try {
-			if (reader != null)
-				reader.close();
-		} catch (IOException ex) {
-		}
-		MessageDialog.openError(
-			(Shell) null,
-			WorkbenchMessages.getString("EditorRegistry.errorTitle"),//$NON-NLS-1$
-			WorkbenchMessages.getString("EditorRegistry.errorMessage")); //$NON-NLS-1$
-		return false;
-	} catch (WorkbenchException e) {
-		ErrorDialog.openError(
-			(Shell) null, 
-			WorkbenchMessages.getString("EditorRegistry.errorTitle"),//$NON-NLS-1$
-			WorkbenchMessages.getString("EditorRegistry.errorMessage"), //$NON-NLS-1$
-			e.getStatus());
-		return false;
-	}
-	return true;
-}
-/*
- * 
- */
-private String mappingKeyFor(String type) {
-	//Unix issue
-	return type.toLowerCase();
-}
-/**
- * Return a key that combines the file's name and extension
- * of the given mapping
- */
-private String mappingKeyFor(FileEditorMapping mapping) {
-	return mappingKeyFor(mapping.getName() + 
-		(mapping.getExtension().length() == 0 ? "" : "." + mapping.getExtension()));//$NON-NLS-1$ //$NON-NLS-2$
-}
-/**
- * Rebuild the editor map
- */
-private void rebuildEditorMap() {
-	rebuildInternalEditorMap();
-	addExternalEditorsToEditorMap();
-}
-/**
- * Rebuild the internal editor mapping.
- */
-private void rebuildInternalEditorMap() 
-{
-	Iterator enum = null;
-	IEditorDescriptor desc = null;
-	
-	// Allocate a new map.
-	mapIDtoEditor = initialIdToEditorMap(mapIDtoEditor.size());
-
-	// Add plugin editors.
-	enum = sortedEditorsFromPlugins.iterator();
-	while (enum.hasNext()) {
-		desc = (IEditorDescriptor)enum.next();
-		mapIDtoEditor.put(desc.getId(), desc);
-	}
-}
-/* (non-Javadoc)
- * Method declared on IEditorRegistry.
- */
-public void removePropertyListener(IPropertyListener l) {
-	propChangeListeners.remove(l);
-}
-/**
- * Save the registry to the filesystem by serializing
- * the current resource associations.
- */
-public void saveAssociations () {
-	//Save the resource type descriptions
-	List editors = new ArrayList();
-	IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-	
-	XMLMemento memento = XMLMemento.createWriteRoot(IWorkbenchConstants.TAG_EDITORS);
-	FileEditorMapping maps[] = typeEditorMappings.userMappings();
-	for (int mapsIndex = 0; mapsIndex < maps.length; mapsIndex++) {
-		FileEditorMapping type = (FileEditorMapping)maps[mapsIndex];
-		IMemento editorMemento = memento.createChild(IWorkbenchConstants.TAG_INFO);
-		editorMemento.putString(IWorkbenchConstants.TAG_NAME,type.getName());
-		editorMemento.putString(IWorkbenchConstants.TAG_EXTENSION,type.getExtension());
-		IEditorDescriptor[] editorArray = type.getEditors();
-		for (int i = 0; i < editorArray.length; i++){
-			EditorDescriptor editor = (EditorDescriptor)editorArray[i];
-			if (!editors.contains(editor)) {
-				editors.add(editor); 
-			}
-			IMemento idMemento = editorMemento.createChild(IWorkbenchConstants.TAG_EDITOR);
-			idMemento.putString(IWorkbenchConstants.TAG_ID,editorArray[i].getId());
-		}
-		editorArray = type.getDeletedEditors();
-		for (int i = 0; i < editorArray.length; i++){
-			EditorDescriptor editor = (EditorDescriptor)editorArray[i];
-			if (!editors.contains(editor)) {
-				editors.add(editor); 
-			}
-			IMemento idMemento = editorMemento.createChild(IWorkbenchConstants.TAG_DELETED_EDITOR);
-			idMemento.putString(IWorkbenchConstants.TAG_ID,editorArray[i].getId());
-		}
-	}
-	Writer writer = null;
-	try {
-		writer = new StringWriter();
-		memento.save(writer);
-		writer.close();
-		store.setValue(IPreferenceConstants.RESOURCES,writer.toString());
-	} catch(IOException e) {
-		try{
-			if(writer != null) writer.close();
-		} catch(IOException ex) {}
-		MessageDialog.openError((Shell)null, 
-			"Saving Problems", //$NON-NLS-1$
-			"Unable to save resource associations.");//$NON-NLS-1$
-		return;
-	}   
-	
-
-	memento = XMLMemento.createWriteRoot(IWorkbenchConstants.TAG_EDITORS);
-	Iterator enum = editors.iterator();
-	while (enum.hasNext()) {
-		EditorDescriptor editor = (EditorDescriptor)enum.next();
-		IMemento editorMemento = memento.createChild(IWorkbenchConstants.TAG_DESCRIPTOR);
-		editor.saveValues(editorMemento);
-	}
-	writer = null;
-	try {
-		writer = new StringWriter();
-		memento.save(writer);
-		writer.close();
-		store.setValue(IPreferenceConstants.EDITORS,writer.toString());	
-	} catch(IOException e) {
-		try{
-			if(writer != null) writer.close();
-		} catch(IOException ex) {}
-		MessageDialog.openError((Shell)null,
-			"Error",//$NON-NLS-1$
-			"Unable to save resource associations.");//$NON-NLS-1$
-		return;
-	}       
-}
-/* (non-Javadoc)
- * Method declared on IEditorRegistry.
- */
-public void setDefaultEditor(IFile file, String editorID) {
-	try {
-		file.setPersistentProperty(EDITOR_KEY,editorID);
-	} catch (CoreException e) {}
-}
-/**
- * Set the collection of FileEditorMappings. 
- * The given collection is converted into the internal hash table for faster lookup
- * Each mapping goes from an extension to the collection of editors that work on it.
- */
-public void setFileEditorMappings(FileEditorMapping[] newResourceTypes) {
-	typeEditorMappings = new EditorMap();
-	for (int i = 0;i < newResourceTypes.length;i++) {
-		FileEditorMapping mapping = newResourceTypes[i];
-		typeEditorMappings.put(mappingKeyFor(mapping), mapping);
-	}
-	extensionImages = new HashMap();
-	rebuildEditorMap();
-	firePropertyChange(PROP_CONTENTS);
-}
-/* (non-Javadoc)
- * Method declared on IEditorRegistry.
- */
-public void setDefaultEditor(String fileName, String editorId) {
-	EditorDescriptor desc = (EditorDescriptor)findEditor(editorId);
-	FileEditorMapping[] mapping = getMappingForFilename(fileName);
-	if (mapping[0] != null)
-		mapping[0].setDefaultEditor(desc);
-	if (mapping[1] != null)
-		mapping[1].setDefaultEditor(desc);		
-}
-/**
- * Alphabetically sort the internal editors
- */
-private Object[] sortEditors(List unsortedList) {
-	Object[] array = new Object[unsortedList.size()];
-	unsortedList.toArray(array);
-	
-	Sorter s = new Sorter() {
-		private Collator collator = Collator.getInstance();
-		
-		public boolean compare(Object o1, Object o2) {
-			String s1 = ((IEditorDescriptor)o1).getLabel();
-			String s2 = ((IEditorDescriptor)o2).getLabel();
-			//Return true if elementTwo is 'greater than' elementOne
-			return collator.compare(s2, s1) > 0;
-		}
-	};
-	return s.sort(array);
-
-}
-/**
- * Alphabetically sort the internal editors
- */
-private void sortInternalEditors() {
-	Object[] array = sortEditors(sortedEditorsFromPlugins);
-	sortedEditorsFromPlugins = new ArrayList();
-	for (int i = 0; i < array.length; i++) {
-		sortedEditorsFromPlugins.add(array[i]);
-	}
-}
-
-/*
- * Map of FileEditorMapping (extension to FileEditorMapping)
- * Uses two java.util.HashMap: one keeps the
- * default which are set by the plugins and the other keeps the
- * changes made by the user through the preference page.
- */
-private static class EditorMap {
-	HashMap defaultMap = new HashMap();
-	HashMap map = new HashMap();
-	
-	public void putDefault(String key, FileEditorMapping value) {
-		defaultMap.put(key,value);
-	}
-	public void put(String key, FileEditorMapping value) {
-		Object result = defaultMap.get(key);
-		if(value.equals(result))
-			map.remove(key);
-		else
-			map.put(key,value);
-	}
-	public FileEditorMapping get(String key) {
-		Object result = map.get(key);
-		if(result == null)
-			result = defaultMap.get(key);
-		return (FileEditorMapping)result;
-	}
-	public FileEditorMapping[] allMappings() {
-		HashMap merge = (HashMap)defaultMap.clone();
-		merge.putAll(map);
-		Collection values = merge.values();
-		FileEditorMapping result[] = new FileEditorMapping[values.size()];
-		return (FileEditorMapping[])values.toArray(result);
-	}
-	public FileEditorMapping[] userMappings() {
-		Collection values = map.values();
-		FileEditorMapping result[] = new FileEditorMapping[values.size()];
-		return (FileEditorMapping[])values.toArray(result);
-	}	
-}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/EditorRegistryReader.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/EditorRegistryReader.java
deleted file mode 100644
index a830aae..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/EditorRegistryReader.java
+++ /dev/null
@@ -1,139 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.IWorkbenchConstants;
-import org.eclipse.ui.internal.WorkbenchImages;
-
-/**
- * This class is used to read resource editor registry descriptors from
- * the platform registry.
- */
-public class EditorRegistryReader extends RegistryReader {
-	
-	private static final    String      PARAMETER_SEPARATOR = ",";//$NON-NLS-1$
-	private static final    String      ATT_CLASS = "class";//$NON-NLS-1$
-	private static final    String      ATT_NAME = "name";//$NON-NLS-1$
-	private static final    String      TAG_EDITOR = "editor";//$NON-NLS-1$
-	private static final    String      P_EXTERNAL = "external";//$NON-NLS-1$
-	private static final    String      P_TRUE = "true";//$NON-NLS-1$
-	private static final    String      ATT_COMMAND = "command";//$NON-NLS-1$
-	private static final    String      ATT_LAUNCHER = "launcher";//$NON-NLS-1$
-	private static final    String      ATT_DEFAULT = "default";//$NON-NLS-1$
-	public  static final    String      ATT_ID = "id";//$NON-NLS-1$
-	private static final    String      ATT_ICON = "icon";//$NON-NLS-1$
-	private static final   String       ATT_EXTENSIONS = "extensions";//$NON-NLS-1$
-	private static final   String       ATT_FILENAMES = "filenames";//$NON-NLS-1$
-	private EditorRegistry editorRegistry;
-/**
- * Get the editors that are defined in the registry
- * and add them to the ResourceEditorRegistry
- * The readAll flag indicates if we should read non modified plugins
- *
- * Warning:
- * The registry must be passed in because this method is called during the
- * process of setting up the registry and at this time it has not been
- * safely setup with the plugin.
- */
-protected void addEditors(boolean readAll, EditorRegistry registry) {
-	IPluginRegistry pluginRegistry = Platform.getPluginRegistry();
-	this.editorRegistry = registry;
-	readRegistry(pluginRegistry, PlatformUI.PLUGIN_ID, IWorkbenchConstants.PL_EDITOR);
-}
-/**
- * Implementation of the abstract method that
- * processes one configuration element.
- */
-protected boolean readElement(IConfigurationElement element) {
-	if (!element.getName().equals(TAG_EDITOR)) 
-		return false;
-
-	EditorDescriptor editor = new EditorDescriptor();
-	editor.setConfigurationElement(element);
-	String id = element.getAttribute(ATT_ID);
-	if (id == null) {
-		logMissingAttribute(element, ATT_ID);
-		return true;
-	}
-	editor.setID(id);
-	IExtension extension = element.getDeclaringExtension();
-	editor.setPluginIdentifier(extension.getDeclaringPluginDescriptor().getUniqueIdentifier());
-
-	List extensionsVector = new ArrayList();
-	List filenamesVector = new ArrayList();
-	boolean defaultEditor = false;
-
-	// Get editor name (required field).
-	String name = element.getAttribute(ATT_NAME);
-	if (name == null) {
-		logMissingAttribute(element, ATT_NAME);
-		return true;
-	}
-	editor.setName(name);
-
-	// Get editor icon (required field for internal editors)
-	String icon = element.getAttribute(ATT_ICON);
-	if (icon == null) {
-		if (element.getAttribute(ATT_CLASS) != null) {
-			logMissingAttribute(element, ATT_ICON);
-			return true;
-		}
-	}
-	if (icon != null) {
-		editor.setImageDescriptor(WorkbenchImages.getImageDescriptorFromExtension(extension, icon));
-		editor.setImageFilename(icon);
-	}
-	
-	// Get target extensions (optional field)
-	String extensionsString = element.getAttribute(ATT_EXTENSIONS);
-	if (extensionsString != null) {
-		StringTokenizer tokenizer = new StringTokenizer(extensionsString, ",");//$NON-NLS-1$
-		while (tokenizer.hasMoreTokens()) {
-			extensionsVector.add(tokenizer.nextToken().trim());
-		}
-	}
-	String filenamesString = element.getAttribute(ATT_FILENAMES);
-	if (filenamesString != null) {
-		StringTokenizer tokenizer = new StringTokenizer(filenamesString, ",");//$NON-NLS-1$
-		while (tokenizer.hasMoreTokens()) {
-			filenamesVector.add(tokenizer.nextToken().trim());
-		}
-	}
-
-	// Get launcher class or command.	
-	String launcher = element.getAttribute(ATT_LAUNCHER);
-	String command = element.getAttribute(ATT_COMMAND);
-	if (launcher != null) {
-		// open using a launcer
-		editor.setLauncher(launcher);
-		editor.setInternal(false);
-		
-	} else if (command != null) {
-	   	// open using an external editor 	
-	   	editor.setFileName(command);
-   		if (icon == null) 
-		   editor.setImageDescriptor(WorkbenchImages.getImageDescriptorFromProgram(command, 0));
-	   	editor.setInternal(false);
-	} else {
-		// open using an internal editor
-		String className = element.getAttribute(ATT_CLASS);
-		editor.setClassName(className);
-		editor.setInternal(true);
-	}
-
-	// Is this the default editor?
-	String def = element.getAttribute(ATT_DEFAULT);
-	if (def != null) 
-		defaultEditor = def.equalsIgnoreCase(P_TRUE);
-				
-	// Add the editor to the manager.	
-	editorRegistry.addEditorFromPlugin(editor, extensionsVector, filenamesVector, defaultEditor);
-	return true;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/FileEditorMapping.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/FileEditorMapping.java
deleted file mode 100644
index c79c70a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/FileEditorMapping.java
+++ /dev/null
@@ -1,210 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import java.util.*;
-
-
-/* (non-Javadoc)
- * Implementation of IFileEditorMapping.
- */
-public class FileEditorMapping extends Object 
-	implements IFileEditorMapping, Cloneable 
-{
-	private String name = "*";//$NON-NLS-1$
-	private String extension;
-	
-	// Collection of EditorDescriptor, where the first one
-	// if considered the default one.
-	private List editors = new ArrayList(1);
-	private List deletedEditors = new ArrayList(1);
-/**
- *  Create an instance of this class.
- *
- *  @param extension java.lang.String
- *  @param mimeType java.lang.String
- */
-public FileEditorMapping(String extension) {
-	this("*", extension);//$NON-NLS-1$
-}
-/**
- *  Create an instance of this class.
- *
- *  @param name java.lang.String
- *  @param extension java.lang.String
- */
-public FileEditorMapping(String name, String extension) {
-	super();
-	if (name == null || name.length() < 1)
-		setName("*");//$NON-NLS-1$
-	else
-		setName(name);
-	if (extension == null)
-		setExtension("");//$NON-NLS-1$
-	else
-		setExtension(extension);
-}
-/**
- * Add the given editor to the list of editors registered.
- */
-public void addEditor(EditorDescriptor editor) {
-	editors.add(editor);
-	deletedEditors.remove(editor);
-}
-/**
- * Clone the receiver.
- */
-public Object clone() {
-	try {
-		FileEditorMapping clone = (FileEditorMapping)super.clone();
-		clone.editors = (List)((ArrayList)editors).clone();
-		return clone;
-	} catch (CloneNotSupportedException e) {
-		return null;
-	}
-}
-/**
- * @see java.lang.Object.equals(Object obj)
- */
-public boolean equals(Object obj) {
-	if(this == obj)
-		return true;
-	if(!(obj instanceof FileEditorMapping))
-		return false;
-	FileEditorMapping mapping = (FileEditorMapping)obj;
-	if(!this.name.equals(mapping.name))
-		return false;
-	if(!this.extension.equals(mapping.extension))
-		return false;
-	
-	if(!compareList(this.editors,mapping.editors))
-		return false;
-	return compareList(this.deletedEditors,mapping.deletedEditors);
-}
-/**
- * Compare the editor ids from both lists and return true if they
- * are equals.
- */
-private boolean compareList(List l1,List l2) {
-	if(l1.size() != l2.size())
-		return false;
-	
-	Iterator i1 = l1.iterator();
-	Iterator i2 = l2.iterator();
-	while(i1.hasNext() && i2.hasNext()) {
-		Object o1 = i1.next();
-		Object o2 = i2.next();
-		if(!(o1 == null ? o2 == null : o1.equals(o2)))
-			return false;
-	}
-	return true;
-}
-
-/* (non-Javadoc)
- * Method declared on IFileEditorMapping.
- */
-public IEditorDescriptor getDefaultEditor() {
-	if (editors.size() == 0) 
-		return null;
-	else 
-		return (IEditorDescriptor)editors.get(0);
-}
-/* (non-Javadoc)
- * Method declared on IFileEditorMapping.
- */
-public IEditorDescriptor[] getEditors() {
-	IEditorDescriptor[] array = new IEditorDescriptor[editors.size()];
-	editors.toArray(array);
-	return array;   
-}
-/* (non-Javadoc)
- * Method declared on IFileEditorMapping.
- */
-public IEditorDescriptor[] getDeletedEditors() {
-	IEditorDescriptor[] array = new IEditorDescriptor[deletedEditors.size()];
-	deletedEditors.toArray(array);
-	return array;   
-}
-/* (non-Javadoc)
- * Method declared on IFileEditorMapping.
- */
-public String getExtension() {
-	return extension;
-}
-/* (non-Javadoc)
- * Method declared on IFileEditorMapping.
- */
-public ImageDescriptor getImageDescriptor() {
-	IEditorDescriptor editor = getDefaultEditor();
-	if (editor == null) {
-		return WorkbenchImages.getImageDescriptor(ISharedImages.IMG_OBJ_FILE);
-	} else {
-		return editor.getImageDescriptor();
-	}
-}
-/* (non-Javadoc)
- * Method declared on IFileEditorMapping.
- */
-public String getLabel() { 
-	return name + (extension.length() == 0 ? "" : "." + extension);//$NON-NLS-1$ //$NON-NLS-2$
-}
-/* (non-Javadoc)
- * Method declared on IFileEditorMapping.
- */
-public String getName() {
-	return name;
-}
-/**
- * Remove the given editor from the set of editors registered.
- */
-public void removeEditor(EditorDescriptor editor) {
-	editors.remove(editor);
-	deletedEditors.add(editor);
-}
-/**
- * Set the default editor registered for file type
- * described by this mapping.
- */
-public void setDefaultEditor(EditorDescriptor editor) {
-	editors.remove(editor);
-	editors.add(0,editor);
-}
-/**
- * Set the collection of all editors (EditorDescriptor)
- * registered for the file type described by this mapping.
- * Typically an editor is registered either through a plugin or explicitly by
- * the user modifying the associations in the preference pages.
- * This modifies the internal list to share the passed list.
- * (hence the clear indication of list in the method name)
- */
-public void setEditorsList(List newEditors) {
-	editors = newEditors;
-}
-/**
- * Set the collection of all editors (EditorDescriptor)
- * formally registered for the file type described by this mapping 
- * which have been deleted by the user.
- * This modifies the internal list to share the passed list.
- * (hence the clear indication of list in the method name)
- */
-public void setDeletedEditorsList(List newDeletedEditors) {
-	deletedEditors = newDeletedEditors;
-}
-/**
- * Set the file's extension.
- */
-public void setExtension(String extension) {
-	this.extension = extension;
-}
-/**
- * Set the file's name.
- */
-public void setName(String name) {
-	this.name = name;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/IActionSet.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/IActionSet.java
deleted file mode 100644
index f776772..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/IActionSet.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- import org.eclipse.ui.*;
-
-/**
- * An action set is responsible for the creation of actions.
- * The end user may add these actions to a workbench page menu and tool bar
- * if they are deemed useful to the particular task at hand.
- * <p>
- * [Issue: This interface is not exposed in API, but time may
- * demonstrate that it should be.  For the short term leave it be.
- * In the long term its use should be re-evaluated. ]
- * </p>
- * <p>
- * In the current workbench implementation the desktop provides the
- * only implementation of this class in PluginActionSet.  So, it may
- * be useful to phase this interface out at some point.  PluginActionSet
- * provides a lazy load strategy, where the actions are declared in
- * XML and represented at runtime by a PluginAction.  
- * </p>
- */
-public interface IActionSet {
-/**
- * Disposes of this action set.
- * <p>
- * Implementation should remove any references to the window and action bars 
- * created in the <code>init</code>.
- * </p>
- * <p>
- * [Issue: Should this say: "...should remove anything they contributed
- *  in <code>init</code>? Or is most of the withdrawal done automatically?
- * ]
- * </p>
- */
-public void dispose();
-/**
- * Initializes this action set, which is expected to add it actions as required
- * to the given workbench window and action bars.
- *
- * @param window the workbench window
- * @param bars the action bars
- */
-public void init(IWorkbenchWindow window, IActionBars bars);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/IActionSetDescriptor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/IActionSetDescriptor.java
deleted file mode 100644
index 0a4581c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/IActionSetDescriptor.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A named set of actions which is defined as an extension to the workbench
- * via the standard workbench actions extension point
- * (<code>"org.eclipse.ui.workbenchActions"</code>). 
- * <p>
- * [Issue: This interface is not exposed in API, but time may
- * demonstrate that it should be.  For the short term leave it be.
- * In the long term its use should be re-evaluated. ]
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @see IActionSetRegistry
- */
-public interface IActionSetDescriptor {
-/**
- * Creates a new action set from this descriptor.
- * <p>
- * [Issue: Consider throwing WorkbenchException rather than CoreException.]
- * </p>
- *
- * @return the new action set
- * @exception CoreException if the action set cannot be created
- */
-public IActionSet createActionSet() throws CoreException;
-/**
- * Returns the category id of this action set.
- *
- * @return a non-empty category id or <cod>null</code> if none specified
- */
-public String getCategory();
-/**
- * Returns the description of this action set.
- * This is the value of its <code>"description"</code> attribute.
- *
- * @return the description
- */
-public String getDescription();
-/**
- * Returns the id of this action set. 
- * This is the value of its <code>"id"</code> attribute.
- *
- * @return the action set id
- */
-public String getId();
-/**
- * Returns the label of this action set. 
- * This is the value of its <code>"label"</code> attribute.
- *
- * @return the label
- */
-public String getLabel();
-/**
- * Returns whether this action set is initially visible.
- */
-public boolean isInitiallyVisible();
-/**
- * Sets the category of this action set.
- *
- * @param cat a non-empty category id
- */
-public void setCategory(String id);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ICategory.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ICategory.java
deleted file mode 100644
index 7dd6566..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ICategory.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/**********************************************************************
-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:
-**********************************************************************/
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * Category provides for hierarchical grouping of elements
- * registered in the registry. One extension normally defines
- * a category, and other reference it via its ID.
- * <p>
- * A category may specify its parent category in order to
- * achieve hierarchy.
- * </p><p>
- * [Issue: This interface is not exposed in API, but time may
- * demonstrate that it should be.  For the short term leave it be.
- * In the long term its use should be re-evaluated.]
- * </p>
- */
-public interface ICategory extends IWorkbenchAdapter, IAdaptable {
-	/**
-	 * Name of the miscellaneous category
-	 */
-	public final static String MISC_NAME = WorkbenchMessages.getString("ICategory.other"); //$NON-NLS-1$
-	
-	/**
-	 * Identifier of the miscellaneous category
-	 */
-	public final static String MISC_ID = "org.eclipse.ui.internal.otherCategory"; //$NON-NLS-1$
-	
-	/**
-	 * Adds an element as being part of this category
-	 */
-	public void addElement(Object element);
-
-	/**
-	 * Returns the element that are known to be part
-	 * of this category or <code>null</code>.
-	 */
-	public ArrayList getElements();
-	
-	/**
-	 * Returns a unique category ID.
-	 */
-	public String getId();
-	
-	/**
-	 * Returns a presentation label for this category.
-	 */
-	public String getLabel();
-	
-	/**
-	 * Returns an array of category IDs that represent a path
-	 * to the parent category of this category. If this is a
-	 * top-level category, <code>null</code> is returned.
-	 */
-	public String[] getParentPath();
-	
-	/**
-	 * Returns the category ID that represents the root
-	 * of the parent category of this category. If this is a
-	 * top-level category, <code>null</code> is returned.
-	 */
-	public String getRootPath();
-	
-	/**
-	 * Returns whether the category contains any elements.
-	 */
-	public boolean hasElements();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/IViewDescriptor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/IViewDescriptor.java
deleted file mode 100644
index a604d3b..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/IViewDescriptor.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.ui.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * This is a view descriptor. It provides a "description" of a given
- * given view so that the view can later be constructed.
- * <p>
- * [Issue: This interface is not exposed in API, but time may
- * demonstrate that it should be.  For the short term leave it be.
- * In the long term its use should be re-evaluated. ]
- * </p>
- * <p>
- * The view registry provides facilities to map from an extension
- * to a IViewDescriptor.
- * </p>
- * 
- */
-public interface IViewDescriptor extends IWorkbenchPartDescriptor {
-/**
- * Creates an instance of the view defined in the descriptor.
- */
-public IViewPart createView() throws CoreException;
-/**
- * Returns an array of strings that represent
- * view's category path. This array will be used
- * for hierarchical presentation of the
- * view in places like submenus.
- * @return array of category tokens or null if not specified.
- */
-public String[] getCategoryPath();
-/**
- * Returns the configuration element which contributed this view.
- */
-public IConfigurationElement getConfigurationElement();
-/**
- * Returns the id of the view.
- */
-public String getID() ;
-/**
- * Returns the descriptor for the icon to show for this view.
- */
-public ImageDescriptor getImageDescriptor();
-/**
- * Returns the label to show for this view.
- */
-public String getLabel() ;
-
-/**
- * Returns the text of the accelerator to use for this view.
- */
-public String getAccelerator();
-
-/**
- * Returns the default fast view width ratio for this view.
- * 
- * @since 2.0
- */
-public float getFastViewWidthRatio(); 
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/IViewRegistry.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/IViewRegistry.java
deleted file mode 100644
index eedbde27..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/IViewRegistry.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * The view registry maintains a list of views explicitly registered
- * against the view extension point..
- * <p>
- * [Issue: This interface is not exposed in API, but time may
- * demonstrate that it should be.  For the short term leave it be.
- * In the long term its use should be re-evaluated. ]
- * </p>
- * <p>
- * The description of a given view is kept in a IViewDescriptor
- * </p>
- */
-public interface IViewRegistry {
-/**
- * Return a view descriptor with the given extension ID.  If no view exists
- * with the ID return null.
- */
-public IViewDescriptor find(String id);
-/**
- * Returns an enumeration of view categories, if defined.
- */
-public ICategory [] getCategories();
-/**
- * Return the view category count.
- */
-public int getCategoryCount();
-/**
- * Return the view count.
- */
-public int getViewCount();
-/**
- * Return a list of views defined in the registry.
- */
-public IViewDescriptor [] getViews();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/MarkerHelpRegistry.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/MarkerHelpRegistry.java
deleted file mode 100644
index e8c96f9..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/MarkerHelpRegistry.java
+++ /dev/null
@@ -1,231 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-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.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.ui.IMarkerHelpRegistry;
-import org.eclipse.ui.IMarkerResolution;
-import org.eclipse.ui.IMarkerResolutionGenerator;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * This class is a registry for marker help
- * contexts and resolutions.
- */
-
-
-public class MarkerHelpRegistry implements IMarkerHelpRegistry {
-	/**
-	 * Table of queries for marker F1 help.
-	 */
-	private Map helpQueries = new HashMap();
-	/**
-	 * Sorted list of help queries.
-	 * Used to ensure that the "most specific"
-	 * query is tried first
-	 */
-	private List sortedHelpQueries;
-	/**
-	 * Table of queries for marker resolutions
-	 */
-	private Map resolutionQueries = new HashMap();
-	/**
-	 * Help context id attribute in configuration element
-	 */
-	private static final String ATT_HELP = "helpContextId"; //$NON-NLS-1$
-	/**
-	 * Resolution class attribute name in configuration element
-	 */
-	private static final String ATT_CLASS = "class"; //$NON-NLS-1$
-	
-	private class QueryComparator implements Comparator {
-		/* (non-Javadoc)
-		 * Method declared on Object.
-		 */
-		public boolean equals(Object o) {
-			if (!(o instanceof QueryComparator))
-				return false;
-			return true;
-		} 			
-		/* (non-Javadoc)
-		 * Method declared on Comparator.
-		 */
-		public int compare(Object o1,Object o2) {
-			// more attribues come first
-			MarkerQuery q1 = (MarkerQuery)o1;
-			MarkerQuery q2 = (MarkerQuery)o2;
-			
-			int size1 = q1.getAttributes().length;			
-			int size2 = q2.getAttributes().length;
-			
-			if (size1 > size2)
-				return -1;
-			if (size1 == size2)				
-				return 0;
-			return 1;
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IMarkerHelpRegistry.
-	 */
-	public String getHelp(IMarker marker) {
-		if (sortedHelpQueries == null) {
-			Set set = helpQueries.keySet();
-			sortedHelpQueries = new ArrayList(set.size());
-			sortedHelpQueries.addAll(set);
-			Collections.sort(sortedHelpQueries, new QueryComparator());
-		}
-		
-		// Return the first match (we assume there is only one)
-		for (Iterator iter = sortedHelpQueries.iterator(); iter.hasNext();) {
-			MarkerQuery query = (MarkerQuery)iter.next();
-			MarkerQueryResult result = query.performQuery(marker);
-			if (result != null) {
-				// See if a matching result is registered
-				Map resultsTable = (Map)helpQueries.get(query);
-				IConfigurationElement element = (IConfigurationElement)resultsTable.get(result);
-				if (element != null)
-					// We have a match so return the help context id
-					return element.getAttribute(ATT_HELP);
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IMarkerHelpRegistry.
-	 */
-	public boolean hasResolutions(IMarker marker) {
-		// Detect a match
-		for (Iterator iter = resolutionQueries.keySet().iterator(); iter.hasNext();) {
-			MarkerQuery query = (MarkerQuery)iter.next();
-			MarkerQueryResult result = query.performQuery(marker);
-			if (result != null) {
-				// See if a matching result is registered
-				Map resultsTable = (Map)resolutionQueries.get(query);
-				IConfigurationElement element = (IConfigurationElement)resultsTable.get(result);
-				if (element != null) {
-					IMarkerResolutionGenerator generator = null;
-					if (element.getDeclaringExtension().getDeclaringPluginDescriptor().isPluginActivated()) {
-						// The element's plugin is loaded so we instantiate the resolution
-						try {
-							generator = (IMarkerResolutionGenerator)element.createExecutableExtension(ATT_CLASS);						
-						} catch (CoreException e) {
-							WorkbenchPlugin.log("Unable to instantiate resolution generator", e.getStatus()); //$NON-NLS-1$
-						}
-						if (generator != null) {
-							IMarkerResolution[] resolutions = generator.getResolutions(marker);
-							if (resolutions.length > 0)
-								// there is at least one resolution
-								return true;
-						}
-					} else {
-						// The element's plugin in not loaded so we assume 
-						// the generator will produce resolutions for the marker
-						return true;
-					}	
-				}
-			}
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IMarkerHelpRegistry.
-	 */
-	public IMarkerResolution[] getResolutions(IMarker marker) {
-		// Collect all matches
-		ArrayList resolutions = new ArrayList();
-		for (Iterator iter = resolutionQueries.keySet().iterator(); iter.hasNext();) {
-			MarkerQuery query = (MarkerQuery)iter.next();
-			MarkerQueryResult result = query.performQuery(marker);
-			if (result != null) {
-				// See if a matching result is registered
-				Map resultsTable = (Map)resolutionQueries.get(query);
-				IConfigurationElement element = (IConfigurationElement)resultsTable.get(result);
-				if (element != null) {
-					IMarkerResolutionGenerator generator = null;
-					try {
-						generator = (IMarkerResolutionGenerator)element.createExecutableExtension(ATT_CLASS);						
-					} catch (CoreException e) {
-						WorkbenchPlugin.log("Unable to instantiate resolution generator", e.getStatus()); //$NON-NLS-1$
-					}
-					if (generator != null) {
-						IMarkerResolution[] generatedResolutions = generator.getResolutions(marker);
-						for (int i = 0; i < generatedResolutions.length; i++) {
-							resolutions.add(generatedResolutions[i]);	
-						}
-					}
-				}
-			}
-		}
-		return (IMarkerResolution[])resolutions.toArray(new IMarkerResolution[resolutions.size()]);
-	}
-
-	/**
-	 * Adds a help query to the registry.
-	 * 
-	 * @param query a marker query
-	 * @param result a result for the given query
-	 * @param element the configuration element defining the result
-	 */
-	public void addHelpQuery(MarkerQuery query, MarkerQueryResult result, 
-		IConfigurationElement element) {
-		
-		addQuery(helpQueries, query, result, element);
-	}
-
-	/**
-	 * Adds a resolution query to the registry.
-	 * 
-	 * @param query a marker query
-	 * @param result a result for the given query
-	 * @param element the configuration element defining the result
-	 */
-	public void addResolutionQuery(MarkerQuery query, MarkerQueryResult result, 
-		IConfigurationElement element) {
-		
-		addQuery(resolutionQueries, query, result, element);
-	}
-
-	/**
-	 * Adds a query to the given table.
-	 * 
-	 * @param table the table to which the query is added
-	 * @param query a marker query
-	 * @param result a result for the given query
-	 * @param element the configuration element defining the result
-	 */
-	private void addQuery(Map table, MarkerQuery query, MarkerQueryResult result, 
-		IConfigurationElement element) {
-		
-		// See if the query is already in the table
-		Map results = (Map)table.get(query);
-		if (results == null) {
-			// Create a new results table
-			results = new HashMap();
-			
-			// Add the query to the table
-			table.put(query, results);
-		}
-		
-		// Add the new result
-		results.put(result, element);
-	}
-}
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/MarkerHelpRegistryReader.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/MarkerHelpRegistryReader.java
deleted file mode 100644
index 35b0e08..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/MarkerHelpRegistryReader.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.IWorkbenchConstants;
-
-/**
- * This class is used to read marker help context ids and 
- * resolutions from the platform registry.
- */
-public class MarkerHelpRegistryReader extends RegistryReader {
-	private ArrayList markerQueries;
-	private MarkerHelpRegistry markerHelpRegistry;
-	private ArrayList currentAttributeNames;
-	private ArrayList currentAttributeValues;
-
-	private static final    String      TAG_HELP = "markerHelp";//$NON-NLS-1$
-	private static final    String      TAG_RESOLUTION_GENERATOR = "markerResolutionGenerator";//$NON-NLS-1$
-	private static final    String      TAG_ATTRIBUTE = "attribute";//$NON-NLS-1$ 
-	private static final    String      ATT_TYPE = "markerType";//$NON-NLS-1$
-	private static final    String      ATT_NAME = "name";//$NON-NLS-1$
-	private static final    String      ATT_VALUE = "value";//$NON-NLS-1$
-
-	/**
-	 * Get the marker help that is defined in the plugin registry
-	 * and add it to the given marker help registry.
-	 * <p>
-	 * Warning:
-	 * The marker help registry must be passed in because this 
-	 * method is called during the process of setting up the 
-	 * marker help registry and at this time it has not been
-	 * safely setup with the plugin.
-	 * </p>
-	 */
-	public void addHelp(MarkerHelpRegistry registry) {
-		IPluginRegistry pluginRegistry = Platform.getPluginRegistry();
-		markerHelpRegistry = registry;
-		markerQueries = new ArrayList();
-		readRegistry(pluginRegistry, PlatformUI.PLUGIN_ID, IWorkbenchConstants.PL_MARKER_HELP);
-		markerQueries = new ArrayList();
-		readRegistry(pluginRegistry, PlatformUI.PLUGIN_ID, IWorkbenchConstants.PL_MARKER_RESOLUTION);
-	}
-
-	/**
-	 * Processes one configuration element or child element.
-	 */
-	protected boolean readElement(IConfigurationElement element) {
-		if (element.getName().equals(TAG_HELP)) {
-			readHelpElement(element);
-			return true;
-		}
-		if (element.getName().equals(TAG_RESOLUTION_GENERATOR)) {
-			readResolutionElement(element);
-			return true;
-		}
-		if (element.getName().equals(TAG_ATTRIBUTE)) {
-			readAttributeElement(element);
-			return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Processes a help configuration element.
-	 */
-	private void readHelpElement(IConfigurationElement element) {
-		// read type
-		String type = element.getAttribute(ATT_TYPE);
-		
-		// read attributes and values
-		currentAttributeNames = new ArrayList();
-		currentAttributeValues = new ArrayList();
-		readElementChildren(element);
-		String[] attributeNames = (String[])currentAttributeNames.toArray(
-			new String[currentAttributeNames.size()]);
-		String[] attributeValues = (String[])currentAttributeValues.toArray(
-			new String[currentAttributeValues.size()]);
-		
-		// add query to the registry
-		MarkerQuery query = new MarkerQuery(type, attributeNames);
-		MarkerQueryResult result = new MarkerQueryResult(attributeValues);
-		markerHelpRegistry.addHelpQuery(query, result, element);
-	}
-
-	/**
-	 * Processes a resolution configuration element.
-	 */
-	private void readResolutionElement(IConfigurationElement element) {
-		// read type
-		String type = element.getAttribute(ATT_TYPE);
-		
-		// read attributes and values
-		currentAttributeNames = new ArrayList();
-		currentAttributeValues = new ArrayList();
-		readElementChildren(element);
-		String[] attributeNames = (String[])currentAttributeNames.toArray(
-			new String[currentAttributeNames.size()]);
-		String[] attributeValues = (String[])currentAttributeValues.toArray(
-			new String[currentAttributeValues.size()]);
-		
-		// add query to the registry
-		MarkerQuery query = new MarkerQuery(type, attributeNames);
-		MarkerQueryResult result = new MarkerQueryResult(attributeValues);
-		markerHelpRegistry.addResolutionQuery(query, result, element);
-	}
-
-	/**
-	 * Processes an attribute sub element.
-	 */
-	private void readAttributeElement(IConfigurationElement element) {
-		String name = element.getAttribute(ATT_NAME);
-		String value = element.getAttribute(ATT_VALUE);
-		if (name != null && value != null) {
-			currentAttributeNames.add(name);
-			currentAttributeValues.add(value);
-		}
-	}			
-}
-
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/MarkerImageProviderRegistry.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/MarkerImageProviderRegistry.java
deleted file mode 100644
index 75b3dcc..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/MarkerImageProviderRegistry.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.resources.*;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.*;
-import java.util.*;
-import java.net.*;
-
-/**
- * Implementation of a marker image registry which maps either
- * a marker type to a provider or to a static image.
- */
-public class MarkerImageProviderRegistry {
-	private static final String ATT_PROVIDER_CLASS = "class";//$NON-NLS-1$
-	private static final String ATT_ICON = "icon";//$NON-NLS-1$
-	private static final String ATT_MARKER_TYPE = "markertype";//$NON-NLS-1$
-	private static final String ATT_ID = "id";//$NON-NLS-1$
-	private static final String MARKER_ATT_KEY = "org.eclipse.ui.internal.registry.MarkerImageProviderRegistry";//$NON-NLS-1$
-	private static final String TAG_PROVIDER = "imageprovider";//$NON-NLS-1$
-
-	private ArrayList descriptors = new ArrayList();
-
-	class Descriptor {
-		String id;
-		String markerType;
-		String className;
-		String imagePath;
-		ImageDescriptor imageDescriptor;
-		IConfigurationElement element;
-		IPluginDescriptor pluginDescriptor;
-		IMarkerImageProvider provider;
-	}
-/**
- * Initialize this new MarkerImageProviderRegistry.
- */
-public MarkerImageProviderRegistry() {
-	class MarkerImageReader extends RegistryReader {
-		protected boolean readElement(IConfigurationElement element) {
-			if (element.getName().equals(TAG_PROVIDER)) {
-				addProvider(element);
-				return true;
-			}
-			
-			return false;
-		}
-		public void readRegistry() {
-		    readRegistry(Platform.getPluginRegistry(), PlatformUI.PLUGIN_ID, IWorkbenchConstants.PL_MARKER_IMAGE_PROVIDER);
-		}
-	}
-	
-	new MarkerImageReader().readRegistry();
-}
-/**
- * Creates a descriptor for the marker provider extension
- * and add it to the list of providers.
- */
-public void addProvider(IConfigurationElement element) {
-	Descriptor desc = new Descriptor();
-	desc.element = element;
-	desc.pluginDescriptor = element.getDeclaringExtension().getDeclaringPluginDescriptor();
-	desc.id = element.getAttribute(ATT_ID);
-	desc.markerType = element.getAttribute(ATT_MARKER_TYPE);
-	desc.imagePath = element.getAttribute(ATT_ICON);
-	desc.className = element.getAttribute(ATT_PROVIDER_CLASS);
-	if(desc.imagePath != null) {
-		desc.imageDescriptor = getImageDescriptor(desc);
-	}
-	if(desc.className == null) {
-		//Don't need to keep these references.
-		desc.element = null;
-		desc.pluginDescriptor = null;
-	}
-	descriptors.add(desc);
-}
-/**
- * @see IWorkbenchAdapter#getImageDescriptor
- */
-public ImageDescriptor getImageDescriptor(IMarker marker) {
-	int size = descriptors.size();
-	for (int i = 0; i < size; i++) {
-		Descriptor desc = (Descriptor)descriptors.get(i);
-		try {
-			if(marker.isSubtypeOf(desc.markerType)) {
-				if(desc.className != null) {
-					if(desc.pluginDescriptor.isPluginActivated()) {
-						//-- Get the image descriptor from the provider.
-						//-- Save the image descriptor url as a persistable property, so a
-						//image descriptor can be created without activating the plugin next
-						//time the workbench is started.
-						if(desc.provider == null)
-							desc.provider = (IMarkerImageProvider)WorkbenchPlugin.createExtension(
-								desc.element, ATT_PROVIDER_CLASS);
-						String path = desc.provider.getImagePath(marker);
-						if(path != desc.imagePath) {
-							desc.imagePath = path;
-							desc.imageDescriptor = getImageDescriptor(desc);
-							return desc.imageDescriptor;
-						}
-						return desc.imageDescriptor;
-					} else {
-						if(desc.imageDescriptor == null) {
-							//Create a image descriptor to be used until the plugin gets activated.
-							desc.imagePath = (String)marker.getAttribute(MARKER_ATT_KEY);
-							desc.imageDescriptor = getImageDescriptor(desc);
-						}
-						return desc.imageDescriptor;
-					}
-				} else if(desc.imageDescriptor != null) {
-					return desc.imageDescriptor;
-				}
-			}
-		} catch (CoreException e) {
-			WorkbenchPlugin.getDefault().getLog().log(
-				new Status(
-					IStatus.ERROR,PlatformUI.PLUGIN_ID,0,
-					"Exception creating image descriptor for: " +  desc.markerType,//$NON-NLS-1$
-					e));
-			return null;
-		}
-	}
-	return null;
-}
-/**
- * Returns the image descriptor with the given relative path.
- */
-ImageDescriptor getImageDescriptor(Descriptor desc) {
-	try {
-		URL installURL = desc.pluginDescriptor.getInstallURL();
-		URL url = new URL(installURL, desc.imagePath);
-		return ImageDescriptor.createFromURL(url);
-	}
-	catch (MalformedURLException e) {
-		return null;
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/MarkerQuery.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/MarkerQuery.java
deleted file mode 100644
index 6059a1d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/MarkerQuery.java
+++ /dev/null
@@ -1,160 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.misc.Assert;
-
-/**
- * Instances of this class hold a marker type id and/or 
- * a series of marker attributes. This information may be used 
- * to determine if a given marker is of the same marker
- * type and determine its values for the attributes.
- */
-public class MarkerQuery {
-	/**
-	 * The marker type targetted by this query. 
-	 * May be <code>null</code>.
-	 */
-	private String type;
-	/**
-	 * A sorted list of the attributes targetted by this query.
-	 * The list is sorted from least to greatest according to
-	 * <code>Sting.compare</code>
-	 */
-	private String[] attributes;
-	/**
-	 * Cached hash code value
-	 */
-	private int hashCode;
-	
-	/**
-	 * Creates a new marker query with the given type
-	 * and attributes.
-	 * <p>
-	 * The type may be <code>null</code>. The attributes may 
-	 * be empty, but not <code>null</code>.
-	 * </p>
-	 * 
-	 * @param markerType the targetted marker type
-	 * @param attributes the targetted marker attributes
-	 */
-	public MarkerQuery(String markerType, String[] markerAttributes) {
-		Assert.isNotNull(markerAttributes);
-		
-		type = markerType;
-		attributes = markerAttributes;
-		computeHashCode();
-	}
-
-	/**
-	 * Performs a query against the given marker.
-	 * <p>
-	 * Returns a <code>MarkerQueryResult</code> if the marker
-	 * is appropriate for this query (correct type and has
-	 * all of the query attributes), otherwise <code>null</code>
-	 * is returned.
-	 * 
-	 * @param marker the marker to perform the query against
-	 * @return a marker query result or <code>null</code>
-	 */
-	public MarkerQueryResult performQuery(IMarker marker) {
-		// Check type
-		try {
-			if (type != null && !type.equals(marker.getType()))
-				return null;
-		} catch (CoreException e) {
-			WorkbenchPlugin.log("Error accessing marker type", e.getStatus()); //$NON-NLS-1$
-			return null;
-		}
-			
-		// Check attributes
-		String[] values = new String[attributes.length];
-		for (int i = 0; i < attributes.length; i++) {
-			try {
-				Object value = marker.getAttribute(attributes[i]);
-				if (value == null)
-					return null;
-				values[i] = value.toString();
-			} catch (CoreException e) {
-				WorkbenchPlugin.log("Error accessing marker attribute", e.getStatus()); //$NON-NLS-1$
-				return null;
-			}
-		}
-		
-		// Create and return the result
-		return new MarkerQueryResult(values);
-	} 
-	
-	/* (non-Javadoc)
-	 * Method declared on Object.
-	 */
-	public boolean equals(Object o) {
-		if (!(o instanceof MarkerQuery))
-			return false;
-			
-		if (o == this)
-			return true;
-	
-		MarkerQuery mq = (MarkerQuery)o;
-		if (!(type == null ? mq.type == null : type.equals(mq.type)))
-			return false;
-
-		if (attributes.length != mq.attributes.length)
-			return false;
-			
-		for (int i = 0; i < attributes.length; i++) {
-			if (!(attributes[i].equals(mq.attributes[i])))
-				return false;
-		} 			
-		
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on Object.
-	 */
-	public int hashCode() {
-		return hashCode;
-	}
-
-	/**
-	 * Computes the hash code for this instance.
-	 */
-	public void computeHashCode() {
-		hashCode = 19;
-
-		if (type != null)
-			hashCode = hashCode * 37 + type.hashCode();
-			
-		for (int i = 0; i < attributes.length; i++) {
-			hashCode = hashCode * 37 + attributes[i].hashCode();
-		}
-	}			
-	
-	/**
-	 * Returns the targetted marker type. May be 
-	 * <code>null</code>
-	 * 
-	 * @return the targetted marker type
-	 */
-	public String getType() {
-		return type;
-	}
-	
-	/**
-	 * Returns the targetted attributes.
-	 * The array may be empty.
-	 * 
-	 * @return the targetted attributes
-	 */
-	public String[] getAttributes() {
-		return attributes;
-	}
-}
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/MarkerQueryResult.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/MarkerQueryResult.java
deleted file mode 100644
index 388a92e..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/MarkerQueryResult.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.ui.internal.misc.Assert;
-
-/**
- * Instances of this class represent the result of a specific marker
- * query. Specifically they contain an ordered collection of marker 
- * attribute values.
- */
-
-public class MarkerQueryResult {
-	/**
-	 * An ordered collection of marker attribute values.
-	 */
-	private String[] values;
-	/**
-	 * Cached hash code value
-	 */
-	private int hashCode;
-	
-	/**
-	 * Creates a new marker query result with the given values.
-	 * <p>
-	 * The values may not be empty.
-	 * </p>
-	 * 
-	 * @param values the target marker's attribute values
-	 */
-	public MarkerQueryResult(String[] markerAttributeValues) {
-		Assert.isNotNull(markerAttributeValues);
-		
-		values = markerAttributeValues;
-		computeHashCode();
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on Object.
-	 */
-	public boolean equals(Object o) {
-		if (!(o instanceof MarkerQueryResult))
-			return false;
-			
-		if (o == this)
-			return true;
-	
-		MarkerQueryResult mqr = (MarkerQueryResult)o;
-		if (values.length != mqr.values.length)
-			return false;
-			
-		for (int i = 0; i < values.length; i++) {
-			if (!(values[i].equals(mqr.values[i])))
-				return false;
-		} 			
-		
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on Object.
-	 */
-	public int hashCode() {
-		return hashCode;
-	}
-
-	/**
-	 * Computes the hash code for this instance.
-	 */
-	public void computeHashCode() {
-		hashCode = 19;
-
-		for (int i = 0; i < values.length; i++) {
-			hashCode = hashCode * 37 + values[i].hashCode();
-		}
-	}			
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/NewWizardsRegistryReader.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/NewWizardsRegistryReader.java
deleted file mode 100644
index cfd7573..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/NewWizardsRegistryReader.java
+++ /dev/null
@@ -1,344 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.text.Collator;
-import java.util.*;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.dialogs.WizardCollectionElement;
-import org.eclipse.ui.internal.dialogs.WorkbenchWizardElement;
-import org.eclipse.ui.internal.misc.Sorter;
-import org.eclipse.ui.internal.model.AdaptableList;
-
-/**
- *	Instances of this class provide a simple API to the workbench for
- *	accessing of the core registry.  It accepts a registry at creation
- *	time and extracts workbench-related information from it as requested.
- */
-public class NewWizardsRegistryReader extends WizardsRegistryReader {
-	
-	private boolean projectsOnly;
-	private ArrayList deferWizards = null;
-	private ArrayList deferCategories = null;
-	
-	// constants
-	public final static String		BASE_CATEGORY = "Base";//$NON-NLS-1$
-	public final static String		EXAMPLES_WIZARD_CATEGORY = "Examples";//$NON-NLS-1$
-	private final static String		FULL_EXAMPLES_WIZARD_CATEGORY = "org.eclipse.ui.Examples";//$NON-NLS-1$
-	private final static String		TAG_CATEGORY = "category";	//$NON-NLS-1$
-	private final static String		UNCATEGORIZED_WIZARD_CATEGORY = "org.eclipse.ui.Other";//$NON-NLS-1$
-	private final static String		UNCATEGORIZED_WIZARD_CATEGORY_LABEL = WorkbenchMessages.getString("NewWizardsRegistryReader.otherCategory");//$NON-NLS-1$
-	private final static String		CATEGORY_SEPARATOR = "/";//$NON-NLS-1$
-	private final static String		ATT_CATEGORY = "category";//$NON-NLS-1$
-	private final static String ATT_PROJECT = "project";//$NON-NLS-1$
-	private final static String STR_TRUE = "true";//$NON-NLS-1$
-
-	private class CategoryNode {
-		private Category category;
-		private String path;
-		public CategoryNode(Category cat) {
-			category = cat;
-			path = ""; //$NON-NLS-1$
-			String[] categoryPath = category.getParentPath();
-			if (categoryPath != null) {
-				for (int nX = 0; nX < categoryPath.length; nX ++) {
-					path += categoryPath[nX] + '/'; //$NON-NLS-1$
-				}
-			}
-			path += cat.getId();
-		}
-		public String getPath() {
-			return path;
-		}
-		public Category getCategory() {
-			return category;
-		}
-	}
-/**
- * Constructs a new reader.  All wizards are read, including projects.
- */
-public NewWizardsRegistryReader() {
-	this(false);
-}
-/**
- * Constructs a new reader.
- *
- * @param projectsOnly if true, only projects are read.
- */
-public NewWizardsRegistryReader(boolean projectsOnly) {
-	super(IWorkbenchConstants.PL_NEW);
-	this.projectsOnly = projectsOnly;
-}
-/* (non-Javadoc)
- * Method declared on WizardRegistryReader.  
- * <p>
- * This implementation uses a defering strategy.  For more info see
- * <code>readWizards</code>.
- * </p>
- */
-protected void addNewElementToResult(WorkbenchWizardElement element, IConfigurationElement config, AdaptableList result) {
-	deferWizard(element);
-}
-/**
- *	Create and answer a new WizardCollectionElement, configured as a
- *	child of <code>parent</code>
- *
- *	@return org.eclipse.ui.internal.model.WizardCollectionElement
- *	@param parent org.eclipse.ui.internal.model.WizardCollectionElement
- *	@param childName java.lang.String
- */
-protected WizardCollectionElement createCollectionElement(WizardCollectionElement parent, String id, String label) {
-	WizardCollectionElement newElement = new WizardCollectionElement(id, label, parent);
-
-	parent.add(newElement);
-	return newElement;
-}
-/**
- * Creates empty element collection. Overrider to fill
- * initial elements, if needed.
- */
-protected AdaptableList createEmptyWizardCollection() {
-	return new WizardCollectionElement("root", "root", null);//$NON-NLS-2$//$NON-NLS-1$
-}
-/**
- * Returns a new WorkbenchWizardElement configured according to the parameters
- * contained in the passed Registry.  
- *
- * May answer null if there was not enough information in the Extension to create 
- * an adequate wizard
- */
-protected WorkbenchWizardElement createWizardElement(IConfigurationElement element) {
-	if (projectsOnly) {
-		String flag = element.getAttribute(ATT_PROJECT);
-		if (flag == null || !flag.equalsIgnoreCase(STR_TRUE))
-			return null;
-	}
-	return super.createWizardElement(element);
-}
-/**
- * Stores a category element for deferred addition.
- */
-private void deferCategory(IConfigurationElement config) {
-	// Create category.
-	Category category = null;
-	try {
-		category = new Category(config);
-	} catch (CoreException e) {
-		WorkbenchPlugin.log("Cannot create category: ", e.getStatus());//$NON-NLS-1$
-		return;
-	}
-
-	// Defer for later processing.
-	if (deferCategories == null)
-		deferCategories = new ArrayList(20);
-	deferCategories.add(category);
-}
-/**
- * Stores a wizard element for deferred addition.
- */
-private void deferWizard(WorkbenchWizardElement element) {
-	if (deferWizards == null)
-		deferWizards = new ArrayList(50);
-	deferWizards.add(element);
-}
-/**
- * Finishes the addition of categories.  The categories are sorted and
- * added in a root to depth traversal.
- */
-private void finishCategories() {
-	// If no categories just return.
-	if (deferCategories == null)
-		return;
-
-	// Sort categories by flattened name.
-	CategoryNode [] flatArray = new CategoryNode[deferCategories.size()];
-	for (int i=0; i < deferCategories.size(); i++) {
-		flatArray[i] = new CategoryNode((Category)deferCategories.get(i));
-	}
-	Sorter sorter = new Sorter() {
-		private Collator collator = Collator.getInstance();
-		
-		public boolean compare(Object o1, Object o2) {
-			String s1 = ((CategoryNode)o1).getPath();
-			String s2 = ((CategoryNode)o2).getPath();
-			return collator.compare(s2, s1) > 0;
-		}
-	};
-	Object [] sortedCategories = sorter.sort(flatArray);
-
-	// Add each category.
-	for (int nX = 0; nX < sortedCategories.length; nX ++) {
-		Category cat = ((CategoryNode)sortedCategories[nX]).getCategory();
-		finishCategory(cat);
-	}
-
-	// Cleanup.
-	deferCategories = null;
-}
-/**
- * Save new category definition.
- */
-private void finishCategory(Category category) {
-	WizardCollectionElement currentResult = (WizardCollectionElement) wizards;
-	
-	String[] categoryPath = category.getParentPath();
-	WizardCollectionElement parent = currentResult; 		// ie.- root
-
-	// Traverse down into parent category.	
-	if (categoryPath != null) {
-		for (int i = 0; i < categoryPath.length; i++) {
-			WizardCollectionElement tempElement = getChildWithID(parent,categoryPath[i]);
-			if (tempElement == null) {
-				// The parent category is invalid.  By returning here the
-				// category will be dropped and any wizard within the category
-				// will be added to the "Other" category.
-				return;
-			} else
-				parent = tempElement;
-		}
-	}
-
-	// If another category already exists with the same id ignore this one.
-	Object test = getChildWithID(parent, category.getId());
-	if (test != null)
-		return;
-		
-	if (parent != null)
-		createCollectionElement(parent, category.getId(), category.getLabel());
-}
-/**
- *	Insert the passed wizard element into the wizard collection appropriately
- *	based upon its defining extension's CATEGORY tag value
- *
- *	@param element WorkbenchWizardElement
- *	@param extension 
- *	@param currentResult WizardCollectionElement
- */
-private void finishWizard(WorkbenchWizardElement element, IConfigurationElement config, AdaptableList result) {
-	WizardCollectionElement currentResult = (WizardCollectionElement)result;
-	StringTokenizer familyTokenizer = new StringTokenizer(getCategoryStringFor(config),CATEGORY_SEPARATOR);
-
-	// use the period-separated sections of the current Wizard's category
-	// to traverse through the NamedSolution "tree" that was previously created
-	WizardCollectionElement currentCollectionElement = currentResult; // ie.- root
-	boolean moveToOther = false;
-	
-	while (familyTokenizer.hasMoreElements()) {
-		WizardCollectionElement tempCollectionElement =
-			getChildWithID(currentCollectionElement,familyTokenizer.nextToken());
-			
-		if (tempCollectionElement == null) {	// can't find the path; bump it to uncategorized
-			moveToOther = true;
-			break;
-		}
-		else
-			currentCollectionElement = tempCollectionElement;
-	}
-	
-	if (moveToOther)
-		moveElementToUncategorizedCategory(currentResult, element);
-	else
-		currentCollectionElement.add(element);
-}
-/**
- * Finishes the addition of wizards.  The wizards are processed and categorized.
- */
-private void finishWizards() {
-	if (deferWizards != null) {
-		Iterator iter = deferWizards.iterator();
-		while (iter.hasNext()) {
-			WorkbenchWizardElement wizard = (WorkbenchWizardElement)iter.next();
-			IConfigurationElement config = wizard.getConfigurationElement();
-			finishWizard(wizard, config, wizards);
-		}
-		deferWizards = null;
-	}
-}
-/**
- *	Return the appropriate category (tree location) for this Wizard.
- *	If a category is not specified then return a default one.
- */
-protected String getCategoryStringFor(IConfigurationElement config) {
-	String result = config.getAttribute(ATT_CATEGORY);
-	if (result == null)
-		result = UNCATEGORIZED_WIZARD_CATEGORY;
-
-	return result;
-}
-/**
- *	Go through the children of  the passed parent and answer the child
- *	with the passed name.  If no such child is found then return null.
- *
- *	@return org.eclipse.ui.internal.model.WizardCollectionElement
- *	@param parent org.eclipse.ui.internal.model.WizardCollectionElement
- *	@param childName java.lang.String
- */
-protected WizardCollectionElement getChildWithID(WizardCollectionElement parent, String id) {
-	Object[] children = parent.getChildren();
-	for (int i = 0; i < children.length; ++i) {
-		WizardCollectionElement currentChild = (WizardCollectionElement)children[i];
-		if (currentChild.getId().equals(id))
-			return currentChild;
-	}
-	return null;
-}
-/**
- *	Moves given element to "Other" category, previously creating one if missing.
- */
-protected void moveElementToUncategorizedCategory(WizardCollectionElement root, WorkbenchWizardElement element) {
-	WizardCollectionElement otherCategory = getChildWithID(root, UNCATEGORIZED_WIZARD_CATEGORY);
-	
-	if (otherCategory == null)
-		otherCategory = createCollectionElement(root,UNCATEGORIZED_WIZARD_CATEGORY,UNCATEGORIZED_WIZARD_CATEGORY_LABEL);
-
-	otherCategory.add(element);
-}
-/**
- * Removes the empty categories from a wizard collection. 
- */
-private void pruneEmptyCategories(WizardCollectionElement parent) {
-	Object [] children = parent.getChildren();
-	for (int nX = 0; nX < children.length; nX ++) {
-		WizardCollectionElement child = (WizardCollectionElement)children[nX];
-		pruneEmptyCategories(child);
-		boolean shouldPrune = projectsOnly || child.getId().equals(FULL_EXAMPLES_WIZARD_CATEGORY);
-		if (child.isEmpty() && shouldPrune)
-			parent.remove(child);
-	}
-}
-/**
- * Implement this method to read element attributes.
- */
-protected boolean readElement(IConfigurationElement element) {
-	if (element.getName().equals(TAG_CATEGORY)) {
-		deferCategory(element);
-		return true;
-	} else {
-		return super.readElement(element);
-	}
-}
-/**
- * Reads the wizards in a registry.  
- * <p>
- * This implementation uses a defering strategy.  All of the elements 
- * (categories, wizards) are read.  The categories are created as the read occurs. 
- * The wizards are just stored for later addition after the read completes.
- * This ensures that wizard categorization is performed after all categories
- * have been read.
- * </p>
- */
-protected void readWizards() {
-	super.readWizards();
-	finishCategories();
-	finishWizards();
-	if (wizards != null) {
-		WizardCollectionElement parent = (WizardCollectionElement)wizards;
-		pruneEmptyCategories(parent);
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PerspectiveDescriptor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PerspectiveDescriptor.java
deleted file mode 100644
index ac96f11..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PerspectiveDescriptor.java
+++ /dev/null
@@ -1,201 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.*;
-
-/**
- * PerspectiveDescriptor.
- * <p>
- * A PerspectiveDesciptor has 3 states:
- * </p>
- * <ol>
- * <li>It <code>isPredefined()</code>, in which case it was defined from an
- * extension point.</li>
- * <li>It <code>isPredefined()</code> and <code>hasCustomFile</code>, in which 
- * case the user has customized a predefined perspective.</li>
- * <li>It <code>hasCustomFile</code>, in which case the user created a
- * new perspective.</li>
- * </ol>
- */
-public class PerspectiveDescriptor implements IPerspectiveDescriptor {
-	private String id;
-	private String originalId;
-	private String label;
-	private String className;
-	private boolean singleton;
-	private ImageDescriptor image;
-	private IConfigurationElement configElement;
-	
-	private static final String ATT_ID="id";//$NON-NLS-1$
-	private static final String ATT_DEFAULT = "default";//$NON-NLS-1$
-	private static final String ATT_NAME="name";//$NON-NLS-1$
-	private static final String ATT_ICON="icon";//$NON-NLS-1$
-	private static final String ATT_CLASS="class";//$NON-NLS-1$
-	private static final String ATT_SINGLETON="singleton";//$NON-NLS-1$
-	
-/**
- * Create a new empty descriptor.
- */
-public PerspectiveDescriptor(String id, String label,PerspectiveDescriptor originalDescriptor) {
-	super();
-	this.id = id;
-	this.label = label;
-	if(originalDescriptor != null) {
-		this.originalId = originalDescriptor.getOriginalId();
-		this.image = originalDescriptor.image;
-	}
-}
-/**
- * Create a descriptor from a config element.
- */
-public PerspectiveDescriptor(IConfigurationElement configElement)
-	throws CoreException
-{
-	super();
-	this.configElement = configElement;
-	id = configElement.getAttribute(ATT_ID);
-	label = configElement.getAttribute(ATT_NAME);
-	className = configElement.getAttribute(ATT_CLASS);
-	singleton = (configElement.getAttributeAsIs(ATT_SINGLETON) != null);
-
-	// Sanity check.
-	if ((label == null) || (className == null)) {
-		throw new CoreException(new Status(IStatus.ERROR,
-			WorkbenchPlugin.PI_WORKBENCH, 0,
-			"Invalid extension (missing label or class name): " + id,//$NON-NLS-1$
-			null));
-	}
-
-	// Load icon.
-	String icon = configElement.getAttribute(ATT_ICON);
-	if (icon != null) {
-		image = WorkbenchImages.getImageDescriptorFromExtension(
-			configElement.getDeclaringExtension(), icon);
-	}
-}
-/**
- * Creates a factory for a predefined perspective.  If the perspective
- * is not predefined return null.
- *
- * @throws a CoreException if the object could not be instantiated.
- */
-public IPerspectiveFactory createFactory() throws CoreException {
-	if (className == null)
-		return null;
-	Object obj = WorkbenchPlugin.createExtension(configElement, ATT_CLASS);
-	return (IPerspectiveFactory) obj;
-}
-/**
- * Deletes the custom definition for a perspective..
- */
-public void deleteCustomDefinition() {
-	((PerspectiveRegistry)WorkbenchPlugin.getDefault().
-		getPerspectiveRegistry()).deleteCustomDefinition(this);
-}
-/**
- * Returns the ID.
- */
-public String getId() {
-	return id;
-}
-/**
- * Returns the descriptor of the image for this perspective.
- *
- * @return the descriptor of the image to display next to this perspective
- */
-public ImageDescriptor getImageDescriptor() {
-	return image;
-}
-/**
- * Returns the label.
- */
-public String getLabel() {
-	return label;
-}
-public String getOriginalId() {
-	if(originalId == null)
-		return id;
-	return originalId;
-}
-/**
- * Returns true if this perspective has a custom file.
- */
-public boolean hasCustomDefinition() {
-	return ((PerspectiveRegistry)WorkbenchPlugin.getDefault().
-		getPerspectiveRegistry()).hasCustomDefinition(this);
-}
-/**
- * Returns true if this perspective wants to be default.
- */
-public boolean hasDefaultFlag() {
-	if (configElement == null)
-		return false;
-	String str = configElement.getAttribute(ATT_DEFAULT);
-	if (str == null)
-		return false;
-	return str.equals("true");//$NON-NLS-1$
-}
-/**
- * Returns true if this perspective is predefined by an extension.
- */
-public boolean isPredefined() {
-	return (className != null);
-}
-/**
- * Returns true if this perspective is a singleton.
- */
-public boolean isSingleton() {
-	return singleton;
-}
-/**
- * @see IPersistable
- */
-public IStatus restoreState(IMemento memento) {
-	IMemento childMem = memento.getChild(IWorkbenchConstants.TAG_DESCRIPTOR);
-	if(childMem != null) {
-		id = childMem.getString(IWorkbenchConstants.TAG_ID);
-		originalId = childMem.getString(IWorkbenchConstants.TAG_DESCRIPTOR);
-		label = childMem.getString(IWorkbenchConstants.TAG_LABEL);
-		className = childMem.getString(IWorkbenchConstants.TAG_CLASS);
-		singleton = (childMem.getInteger(IWorkbenchConstants.TAG_SINGLETON) != null);
-	
-		//Find a descriptor in the registry.
-		PerspectiveDescriptor descriptor = (PerspectiveDescriptor)WorkbenchPlugin.getDefault().
-			getPerspectiveRegistry().findPerspectiveWithId(getOriginalId());
-	
-		if(descriptor != null)
-			//Copy the state from the registred descriptor.	
-			image = descriptor.image;
-	}
-	return new Status(IStatus.OK,PlatformUI.PLUGIN_ID,0,"",null);		
-}
-/**
- * Revert to the predefined extension template.
- * Does nothing if this descriptor is user defined.
- */
-public void revertToPredefined() {
-	if (isPredefined())
-		deleteCustomDefinition();
-}
-/**
- * @see IPersistable
- */
-public IStatus saveState(IMemento memento) {
-	IMemento childMem = memento.createChild(IWorkbenchConstants.TAG_DESCRIPTOR);
-	childMem.putString(IWorkbenchConstants.TAG_ID,id);
-	if(originalId != null)
-		childMem.putString(IWorkbenchConstants.TAG_DESCRIPTOR,originalId);
-	childMem.putString(IWorkbenchConstants.TAG_LABEL,label);
-	childMem.putString(IWorkbenchConstants.TAG_CLASS,className);
-	if (singleton)
-		childMem.putInteger(IWorkbenchConstants.TAG_SINGLETON, 1);
-	return new Status(IStatus.OK,PlatformUI.PLUGIN_ID,0,"",null);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PerspectiveExtensionReader.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PerspectiveExtensionReader.java
deleted file mode 100644
index b6684b1..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PerspectiveExtensionReader.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-    Dan Rubel <dan_rubel@instantiations.com> 
-      - Fix for bug 11490 - define hidden view (placeholder for view) in plugin.xml 
-************************************************************************/
-
-package org.eclipse.ui.internal.registry;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.IWorkbenchConstants;
-import org.eclipse.ui.internal.PageLayout;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * A strategy to read perspective extension from the registry.
- * A pespective extension is one of a view, viewAction, perspAction,
- * newWizardAction, or actionSet.
- */
-public class PerspectiveExtensionReader extends RegistryReader {
-	private String targetID;
-	private PageLayout pageLayout;
-	private static final String TAG_EXTENSION="perspectiveExtension";//$NON-NLS-1$
-	private static final String TAG_ACTION_SET="actionSet";//$NON-NLS-1$
-	private static final String TAG_WIZARD_SHORTCUT="newWizardShortcut";//$NON-NLS-1$
-	private static final String TAG_VIEW_SHORTCUT="viewShortcut";//$NON-NLS-1$
-	private static final String TAG_PERSP_SHORTCUT="perspectiveShortcut";//$NON-NLS-1$
-	private static final String TAG_VIEW="view";//$NON-NLS-1$
-	private static final String TAG_SHOW_IN_PART="showInPart";//$NON-NLS-1$
-	private static final String ATT_ID="id";//$NON-NLS-1$
-	private static final String ATT_TARGET_ID="targetID";//$NON-NLS-1$
-	private static final String ATT_RELATIVE="relative";//$NON-NLS-1$
-	private static final String ATT_RELATIONSHIP="relationship";//$NON-NLS-1$
-	private static final String ATT_RATIO="ratio";//$NON-NLS-1$
-	// ATT_VISIBLE added by dan_rubel@instantiations.com  
-	private static final String ATT_VISIBLE="visible";//$NON-NLS-1$
-	private static final String VAL_LEFT="left";//$NON-NLS-1$
-	private static final String VAL_RIGHT="right";//$NON-NLS-1$
-	private static final String VAL_TOP="top";//$NON-NLS-1$
-	private static final String VAL_BOTTOM="bottom";//$NON-NLS-1$
-	private static final String VAL_STACK="stack";//$NON-NLS-1$
-	private static final String VAL_FAST="fast";//$NON-NLS-1$
-	// VAL_FALSE added by dan_rubel@instantiations.com  
-	private static final String VAL_FALSE="false";//$NON-NLS-1$	
-
-/**
- * PerspectiveExtensionReader constructor..
- */
-public PerspectiveExtensionReader() {
-}
-/**
- * Read the view extensions within a registry.
- */
-public void extendLayout(String id, PageLayout out)
-{
-	targetID = id;
-	pageLayout = out;
-	readRegistry(Platform.getPluginRegistry(), 
-		PlatformUI.PLUGIN_ID, 
-		IWorkbenchConstants.PL_PERSPECTIVE_EXTENSIONS);
-}
-/**
- * Process an action set.
- */
-private boolean processActionSet(IConfigurationElement element) {
-	String id = element.getAttribute(ATT_ID);
-	if (id != null)
-		pageLayout.addActionSet(id);
-	return true;
-}
-/**
- * Process an extension.
- * Assumption: Extension is for current perspective.
- */
-private boolean processExtension(IConfigurationElement element) {
-	IConfigurationElement [] children = element.getChildren();
-	for (int nX = 0; nX < children.length; nX ++) {
-		IConfigurationElement child = children[nX];
-		String type = child.getName();
-		boolean result = false;
-		if (type.equals(TAG_ACTION_SET))
-			result = processActionSet(child);
-		else if (type.equals(TAG_VIEW))
-			result = processView(child);
-		else if (type.equals(TAG_VIEW_SHORTCUT))
-			result = processViewShortcut(child);
-		else if (type.equals(TAG_WIZARD_SHORTCUT))
-			result = processWizardShortcut(child);
-		else if (type.equals(TAG_PERSP_SHORTCUT))
-			result = processPerspectiveShortcut(child);
-		else if (type.equals(TAG_SHOW_IN_PART))
-			result = processShowInPart(child);
-		if (!result) {
-			WorkbenchPlugin.log("Unable to process element: " +//$NON-NLS-1$
-				type +
-				" in perspective extension: " +//$NON-NLS-1$
-				element.getDeclaringExtension().getUniqueIdentifier());
-		}
-	}
-	return true;
-}
-/**
- * Process a perspective shortcut
- */
-private boolean processPerspectiveShortcut(IConfigurationElement element) {
-	String id = element.getAttribute(ATT_ID);
-	if (id != null)
-		pageLayout.addPerspectiveShortcut(id);
-	return true;
-}
-
-/**
- * Process a show in element.
- */
-private boolean processShowInPart(IConfigurationElement element) {
-	String id = element.getAttribute(ATT_ID);
-	if (id != null)
-		pageLayout.addShowInPart(id);
-	return true;
-}
-
-// processView(IConfigurationElement) modified by dan_rubel@instantiations.com
-/**
- * Process a view
- */
-private boolean processView(IConfigurationElement element) {
-	// Get id, relative, and relationship.
-	String id = element.getAttribute(ATT_ID);
-	String relative = element.getAttribute(ATT_RELATIVE);
-	String relationship = element.getAttribute(ATT_RELATIONSHIP);
-	String ratioString = element.getAttribute(ATT_RATIO);
-	float ratio;
-	
-	if (id == null || relative == null || relationship == null)
-		return false;
-	
-	// Get the ratio.
-	if (ratioString == null) {
-		// The ratio has not been specified.
-		ratio = IPageLayout.NULL_RATIO;
-	} else {
-		try {
-			ratio = new Float(ratioString).floatValue();
-		} catch (NumberFormatException e) {
-			return false;
-		}
-		// If the ratio is outside the allowable range, mark it as invalid.
-		if (ratio < IPageLayout.RATIO_MIN || ratio > IPageLayout.RATIO_MAX)
-			ratio = IPageLayout.INVALID_RATIO;
-	}
-
-	// Get relationship details.
-	boolean stack = false;
-	boolean fast = false;
-	int intRelation = 0;
-	if (relationship.equals(VAL_LEFT))
-		intRelation = IPageLayout.LEFT;
-	else if (relationship.equals(VAL_RIGHT))
-		intRelation = IPageLayout.RIGHT;
-	else if (relationship.equals(VAL_TOP))
-		intRelation = IPageLayout.TOP;
-	else if (relationship.equals(VAL_BOTTOM))
-		intRelation = IPageLayout.BOTTOM;
-	else if (relationship.equals(VAL_STACK)) 
-		stack = true;
-	else if (relationship.equals(VAL_FAST))
-		fast = true;
-	else
-		return false;
-	boolean visible = !VAL_FALSE.equals(element.getAttribute(ATT_VISIBLE));
-
-	// If stack ..
-	if (stack) {
-		if (visible)
-			pageLayout.stackView(id, relative);
-		else
-			pageLayout.stackPlaceholder(id, relative);
-		return true;
-	}
-	
-	// If the view is a fast view...
-	if (fast) {
-		if (ratio == IPageLayout.NULL_RATIO) {
-			// The ratio has not been specified.
-			pageLayout.addFastView(id);
-		} else {
-			pageLayout.addFastView(id, ratio);
-		}
-		return true;
-	}
-	
-	// The view is a regular view.
-	// If the ratio is not specified or is invalid, use the default ratio.
-	if (ratio == IPageLayout.NULL_RATIO || ratio == IPageLayout.INVALID_RATIO)
-		ratio = IPageLayout.DEFAULT_VIEW_RATIO;
-
-	if (visible)
-		pageLayout.addView(id, intRelation, ratio, relative);
-	else
-		pageLayout.addPlaceholder(id, intRelation, ratio, relative);
-	return true;
-}
-/**
- * Process a view shortcut
- */
-private boolean processViewShortcut(IConfigurationElement element) {
-	String id = element.getAttribute(ATT_ID);
-	if (id != null)
-		pageLayout.addShowViewShortcut(id);
-	return true;
-}
-/**
- * Process a wizard shortcut
- */
-private boolean processWizardShortcut(IConfigurationElement element) {
-	String id = element.getAttribute(ATT_ID);
-	if (id != null)
-		pageLayout.addNewWizardShortcut(id);
-	return true;
-}
-/**
- * readElement method comment.
- */
-protected boolean readElement(IConfigurationElement element) {
-	String type = element.getName();
-	if (type.equals(TAG_EXTENSION)) {
-		String id = element.getAttribute(ATT_TARGET_ID);
-		if (targetID.equals(id))
-			return processExtension(element);
-		return true;
-	}
-	return false;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PerspectiveRegistry.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PerspectiveRegistry.java
deleted file mode 100644
index 7dbe37d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PerspectiveRegistry.java
+++ /dev/null
@@ -1,447 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-package org.eclipse.ui.internal.registry;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.StringConverter;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * Perspective registry.
- */
-public class PerspectiveRegistry implements IPerspectiveRegistry {
-	private ArrayList children = new ArrayList(10);
-	private String defaultPerspID;
-	private static final String EXT = "_persp.xml";//$NON-NLS-1$
-	private static final String ID_DEF_PERSP = "PerspectiveRegistry.DEFAULT_PERSP";//$NON-NLS-1$
-	private static final String PERSP = "_persp"; //$NON-NLS-1$
-	private static final char SPACE_DELIMITER = ' '; //$NON-NLS-1$
-	//keep track of the perspectives the user has selected to remove or revert
-	private ArrayList perspToRemove = new ArrayList(5);
-	
-/**
- * Construct a new registry.
- *
- * @param rootFolder is the root folder for perspective files.
- */
-public PerspectiveRegistry() {
-	super();
-	
-	IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-	store.addPropertyChangeListener(new IPropertyChangeListener() {
-		public void propertyChange(PropertyChangeEvent event) {
-			/* To ensure the that no custom perspective definitions are deleted
-			 * when preferences are imported, merge old and new values */
-			if (event.getProperty().endsWith(PERSP)) {
-				/* A Perspective is being changed, merge */
-				mergePerspectives(event);
-			} else if (event.getProperty().equals(IPreferenceConstants.PERSPECTIVES)) {
-				/* The list of perpsectives is being changed, merge */
-				updatePreferenceList((IPreferenceStore)event.getSource());
-			}
-		}
-
-		private void mergePerspectives(PropertyChangeEvent event) {
-			IPreferenceStore store = (IPreferenceStore)event.getSource();			
-			if (event.getNewValue() == null) { 
-				/* Perpsective is being removed; if the user has deleted or reverted 
-				 * a custom perspective, let the change pass through.
-				 * Otherwise, restore the custom perspective entry */
-				 
-				// Find the matching descriptor in the registry
-				IPerspectiveDescriptor [] perspectiveList = getPerspectives();
-				for (int i = 0; i < perspectiveList.length; i++) {
-					String id = perspectiveList[i].getId();	
-					if (event.getProperty().startsWith(id)) { //found descriptor
-						//see if the perspective has been flagged for reverting or deleting
-						if ( ! perspToRemove.contains(id)) { //restore
-							store.setValue(id + PERSP, (String)event.getOldValue());
-						} else {	//remove element from the list
-							perspToRemove.remove(id);
-						}
-					}
-				}
-			} else if ((event.getOldValue() == null || event.getOldValue().equals(""))) {
-				
-				/* New perspective is being added, update the perspectiveRegistry to 
-				 * contain the new custom perspective */
-				 
-				String id = event.getProperty().substring(0, event.getProperty().lastIndexOf(PERSP));
-				if (findPerspectiveWithId(id) == null) { 
-					//perspective does not already exist in registry, add it
-					PerspectiveDescriptor desc = new PerspectiveDescriptor(null, null, null);
-					StringReader reader = new StringReader((String)event.getNewValue());
-					try {
-						XMLMemento memento = XMLMemento.createReadRoot(reader);
-						desc.restoreState(memento);
-						children.add(desc);						
-					} catch (WorkbenchException e) {
-						unableToLoadPerspective(e.getStatus());
-					}
-				}
-			}
-			/* If necessary, add to the list of perspectives */
-			updatePreferenceList(store);
-		}
-
-		/* Update the list of perspectives from the registry.  This will be called 
-		 * for each perspective during an import preferences, but is necessary
-		 * to ensure the perspectives list stays consistent with the registry */
-		private void updatePreferenceList(IPreferenceStore store) {
-			IPerspectiveDescriptor [] perspectiveList = getPerspectives();
-			StringBuffer perspBuffer = new StringBuffer();
-			for (int i = 0; i < perspectiveList.length; i++) {
-				PerspectiveDescriptor desc = (PerspectiveDescriptor) perspectiveList[i];
-				if (hasCustomDefinition(desc)) {
-					perspBuffer.append(desc.getId()).append(SPACE_DELIMITER);
-				}
-			}
-			String newList = perspBuffer.toString().trim();
-			store.setValue(IPreferenceConstants.PERSPECTIVES, newList);
-		}		
-	});
-
-}
-/**
- * Adds a perspective.  This is typically used by the reader.
- */
-public void addPerspective(PerspectiveDescriptor desc) {
-	children.add(desc);
-}
-/**
- * Create a new perspective.
- * Return null if the creation failed.
- */
-public PerspectiveDescriptor createPerspective(String label,PerspectiveDescriptor originalDescriptor) {
-	// Sanity check to avoid duplicate labels.
-	if (!validateLabel(label))
-		return null;
-
-	// Calculate ID.
-	String id = label.replace(' ', '_');
-	id = id.trim();
-
-	// Create descriptor.
-	PerspectiveDescriptor desc = new PerspectiveDescriptor(id, label,originalDescriptor);
-	children.add(desc);
-	return desc;
-}
-/**
- * Reverts a list of perspectives back to the plugin definition
- * @param perspToRevert
- */
-public void revertPerspectives(ArrayList perspToRevert) {
-	//indicate that the user is removing these perspectives	
-	for (int i = 0; i < perspToRevert.size(); i++) {
-		PerspectiveDescriptor desc = (PerspectiveDescriptor) perspToRevert.get(i);
-		perspToRemove.add(desc.getId());
-		desc.revertToPredefined();
-	}
-}
-/**
- * Deletes a list of perspectives
- * @param perspToDelete
- */
-public void deletePerspectives(ArrayList perspToDelete) {	
-	for (int i = 0; i < perspToDelete.size(); i++)
-		deletePerspective((IPerspectiveDescriptor) perspToDelete.get(i));
-}
-/**
- * Delete a perspective.
- * Has no effect if the perspective is defined in an extension.
- */
-public void deletePerspective(IPerspectiveDescriptor in) {
-	PerspectiveDescriptor desc = (PerspectiveDescriptor)in;
-	if (!desc.isPredefined()) {
-		//indicate that the user is removing these perspectives
-		perspToRemove.add(desc.getId());
-		children.remove(desc);
-		desc.deleteCustomDefinition();
-		verifyDefaultPerspective();
-	}
-}
-/**
- * Removes the custom definition of a perspective from the preference sotre
- * @param perspectiveDescriptor
- */
-/* package */ void deleteCustomDefinition(PerspectiveDescriptor desc) {
-	//remove the entry from the preference store.
-	IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-	
-	/* To delete the perspective definition from the preference store, use the 
-	 * setToDefault method.  Since no default is defined, this will remove the
-	 * entry */
-	store.setToDefault(desc.getId() + PERSP);
-
-}
-/**
- * Method hasCustomDefinition.
- * @param perspectiveDescriptor
- */
-/* package */ boolean hasCustomDefinition(PerspectiveDescriptor desc) {
-	IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-	return store.contains(desc.getId() + PERSP);
-}
-/**
- * @see IPerspectiveRegistry
- */
-public IPerspectiveDescriptor findPerspectiveWithId(String id) {
-	Iterator enum = children.iterator();
-	while (enum.hasNext()) {
-		IPerspectiveDescriptor desc = (IPerspectiveDescriptor)enum.next();
-		if (desc.getId().equals(id))
-			return desc;
-	}
-	return null;
-}
-/**
- * @see IPerspectiveRegistry
- */
-public IPerspectiveDescriptor findPerspectiveWithLabel(String label) {
-	Iterator enum = children.iterator();
-	while (enum.hasNext()) {
-		IPerspectiveDescriptor desc = (IPerspectiveDescriptor)enum.next();
-		if (desc.getLabel().equals(label))
-			return desc;
-	}
-	return null;
-}
-/**
- * Returns the id of the default perspective for the workbench.  This identifies one
- * perspective extension within the workbench's perspective registry.
- *
- * @return the default perspective id; will never be <code>null</code>
- */
-public String getDefaultPerspective() {
-	return defaultPerspID;
-}
-/**
- * @see IPerspectiveRegistry
- */
-public IPerspectiveDescriptor[] getPerspectives() {
-	int nSize = children.size();
-	IPerspectiveDescriptor [] retArray = new IPerspectiveDescriptor[nSize];
-	for (int nX = 0; nX < nSize; nX ++) {
-		retArray[nX] = (IPerspectiveDescriptor)children.get(nX);
-	}
-	return retArray;
-}
-/**
- * Loads the registry.
- */
-public void load() {
-	// Load the registries.  
-	loadPredefined();
-	loadCustom();
-
-	// Get default perspective.
-	// Get it from the R1.0 dialog settings first. Fixes bug 17039 
-	IDialogSettings dialogSettings = WorkbenchPlugin.getDefault().getDialogSettings();
-	String str = dialogSettings.get(ID_DEF_PERSP);
-	if (str != null && str.length() > 0) {
-		setDefaultPerspective(str);
-		dialogSettings.put(ID_DEF_PERSP, "");		//$NON-NLS-1$
-	} else {
-		AbstractUIPlugin plugin = (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-		defaultPerspID = 
-			plugin.getPreferenceStore().getString(IWorkbenchPreferenceConstants.DEFAULT_PERSPECTIVE_ID);
-	}
-	verifyDefaultPerspective();
-}
-/**
- * Read children from the file system.
- */
-private void loadCustom() {
-	Reader reader = null;	
-	
-	/* Get the entries from the Preference store */
-	IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-	
-	/* Get the space-delimited list of custom perspective ids */ 
-	String customPerspectives = store.getString(IPreferenceConstants.PERSPECTIVES);
-	String [] perspectivesList = StringConverter.asArray(customPerspectives);
-
-	for (int i = 0; i < perspectivesList.length; i++) {
-		try {
-			String xmlString = store.getString(perspectivesList[i] + PERSP);
-			if(xmlString != null && xmlString.length() != 0) 
-				reader = new StringReader(xmlString);
-				
-			// Restore the layout state.
-			XMLMemento memento = XMLMemento.createReadRoot(reader);
-			PerspectiveDescriptor newPersp = new PerspectiveDescriptor(null, null, null);
-			newPersp.restoreState(memento);
-			String id = newPersp.getId();
-			IPerspectiveDescriptor oldPersp = findPerspectiveWithId(id);
-			if (oldPersp == null)
-				children.add(newPersp);	
-			reader.close();
-			} catch (IOException e) {
-				unableToLoadPerspective(null);
-			} catch (WorkbenchException e) {
-				unableToLoadPerspective(e.getStatus());
-			}
-	}
-		
-	/* Get the entries from files, if any */
-	IPath path = WorkbenchPlugin.getDefault().getStateLocation();
-	File folder = path.toFile();
-	
-	if (folder.isDirectory()) {
-		File [] fileList = folder.listFiles();
-		int nSize = fileList.length;
-		for (int nX = 0; nX < nSize; nX ++) {
-			File file = fileList[nX];
-			if (file.getName().endsWith(EXT)) {
-				//get the memento
-				InputStream stream = null;
-				try {
-					stream = new FileInputStream(file);
-					reader = new BufferedReader(new InputStreamReader(stream, "utf-8")); //$NON-NLS-1$
-					
-					// Restore the layout state.
-					XMLMemento memento = XMLMemento.createReadRoot(reader);
-					PerspectiveDescriptor newPersp = new PerspectiveDescriptor(null, null, null);
-					newPersp.restoreState(memento);
-					IPerspectiveDescriptor oldPersp = findPerspectiveWithId(newPersp.getId());
-					if (oldPersp == null)
-						children.add(newPersp);
-					
-					//save to the preference store
-					saveCustomPersp(newPersp, memento);
-					
-					//delete the file
-					file.delete();
-
-					reader.close();
-					stream.close();					
-					} catch (IOException e) {
-						unableToLoadPerspective(null);
-					} catch (WorkbenchException e) {
-						unableToLoadPerspective(e.getStatus());
-					}
-			}
-		}
-	}
-}
-private void unableToLoadPerspective(IStatus status) {
-	String title = WorkbenchMessages.getString("Perspective.problemLoadingTitle");  //$NON-NLS-1$
-	String msg = WorkbenchMessages.getString("Perspective.errorLoadingState"); //$NON-NLS-1$
-	if(status == null) {
-		MessageDialog.openError((Shell)null,title,msg);
-	} else {
-		ErrorDialog.openError((Shell)null,title,msg,status);
-	}
-}
-/**
- * Saves a custom perspective definition to the preference store.
- * @param desc
- */
-public void saveCustomPersp(PerspectiveDescriptor realDesc, XMLMemento memento) throws IOException {
-
-	IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-	
-	// Save it to the preference store.
-	Writer writer = new StringWriter();;
-	
-	memento.save(writer);
-	writer.close();
-	store.setValue(realDesc.getId() + PERSP,writer.toString());
-	
-}
-/**
- * Gets the Custom perspective definition from the preference store.
- * @param string
- * @return IMemento
- */
-public IMemento getCustomPersp(String id) throws WorkbenchException, IOException {
-	Reader reader = null;
-	
-	IPreferenceStore store = WorkbenchPlugin.getDefault().getPreferenceStore();
-	String xmlString = store.getString(id + PERSP);
-	if(xmlString != null && xmlString.length() != 0) { //defined in store
-		reader = new StringReader(xmlString);
-	} 
-	XMLMemento memento = XMLMemento.createReadRoot(reader);
-	reader.close();
-	return memento;
-}
-/**
- * Read children from the plugin registry.
- */
-private void loadPredefined() {
-	PerspectiveRegistryReader reader = new PerspectiveRegistryReader();
-	reader.readPerspectives(Platform.getPluginRegistry(), this);
-}
-/**
- * Sets the default perspective for the workbench to the given perspective id.
- * The id must correspond to one perspective extension within the workbench's 
- * perspective registry.
- *
- * @param id a perspective id; must not be <code>null</code>
- */
-public void setDefaultPerspective(String id) {
-	IPerspectiveDescriptor desc = findPerspectiveWithId(id);
-	if (desc != null) {
-		defaultPerspID = id;
-		AbstractUIPlugin uiPlugin =
-			(AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-
-		uiPlugin.getPreferenceStore().
-			setValue(IWorkbenchPreferenceConstants.DEFAULT_PERSPECTIVE_ID, id);
-	}
-}
-/**
- * Return true if a label is valid and unused.
- */
-public boolean validateLabel(String label) {
-	label = label.trim();
-	if (label.length() <= 0) 
-		return false;
-	return true;
-}
-/**
- * Verifies the id of the default perspective.  If the
- * default perspective is invalid use the workbench default.
- */
-private void verifyDefaultPerspective() {
-	// Step 1: Try current defPerspId value.
-	IPerspectiveDescriptor desc = null;
-	if (defaultPerspID != null)
-		desc = findPerspectiveWithId(defaultPerspID);
-	if (desc != null)
-		return;
-
-	// Step 2. Read default value.
-	AbstractUIPlugin uiPlugin =
-		(AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-	defaultPerspID = 
-		uiPlugin.getPreferenceStore().getDefaultString(IWorkbenchPreferenceConstants.DEFAULT_PERSPECTIVE_ID);
-	if (defaultPerspID != null)
-		desc = findPerspectiveWithId(defaultPerspID);
-	if (desc != null)
-		return;
-
-	// Step 3. Use internal workbench default.
-	defaultPerspID = IWorkbenchConstants.DEFAULT_LAYOUT_ID;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PerspectiveRegistryReader.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PerspectiveRegistryReader.java
deleted file mode 100644
index 56b9044..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PerspectiveRegistryReader.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.IWorkbenchConstants;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * A strategy to read view extensions from the registry.
- */
-public class PerspectiveRegistryReader extends RegistryReader {
-	private static final String TAG_LAYOUT="perspective";//$NON-NLS-1$
-	private PerspectiveRegistry registry;
-	
-/**
- * RegistryViewReader constructor comment.
- */
-public PerspectiveRegistryReader() {
-	super();
-}
-/**
- * readElement method comment.
- */
-protected boolean readElement(IConfigurationElement element) {
-	if (element.getName().equals(TAG_LAYOUT)) {
-		try {
-			PerspectiveDescriptor desc = new PerspectiveDescriptor(element);
-			registry.addPerspective(desc);
-		} catch (CoreException e) {
-			// log an error since its not safe to open a dialog here
-			WorkbenchPlugin.log("Unable to create layout descriptor.",e.getStatus());//$NON-NLS-1$
-		}
-		return true;
-	}
-	
-	return false;
-}
-/**
- * Read the view extensions within a registry.
- */
-public void readPerspectives(IPluginRegistry in, PerspectiveRegistry out)
-{
-	registry = out;
-	readRegistry(in, PlatformUI.PLUGIN_ID, IWorkbenchConstants.PL_PERSPECTIVES);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PreferencePageRegistryReader.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PreferencePageRegistryReader.java
deleted file mode 100644
index 9442b04..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PreferencePageRegistryReader.java
+++ /dev/null
@@ -1,287 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.dialogs.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.preference.*;
-import java.text.Collator;
-import java.util.*;
-import org.eclipse.ui.internal.misc.Sorter;
-
-/**
- *  Instances access the registry that is provided at creation time in order
- *  to determine the contributed preference pages
- */
-public class PreferencePageRegistryReader extends RegistryReader {
-	public static final String ATT_CATEGORY = "category";//$NON-NLS-1$
-	public static final String ATT_CLASS = "class";//$NON-NLS-1$
-	public static final String ATT_NAME = "name";//$NON-NLS-1$
-	public static final String ATT_ID = "id";//$NON-NLS-1$
-	public static final String TAG_PAGE = "page";//$NON-NLS-1$
-	public static final String ATT_ICON = "icon";//$NON-NLS-1$
-	public static final String PREFERENCE_SEPARATOR = "/";//$NON-NLS-1$
-	private List nodes;
-	private IWorkbench workbench;
-
-	/*
-	 * Internal class used to sort all the preference page nodes
-	 * based on the category.
-	 */
-	class CategoryNode {
-		private WorkbenchPreferenceNode node;
-		private String flatCategory;
-		/*
-		 * Default constructor
-		 */
-		public CategoryNode(WorkbenchPreferenceNode node) {
-			this.node = node;
-		}
-		/*
-		 * Return the preference node this category represents
-		 */
-		public WorkbenchPreferenceNode getNode() {
-			return node;
-		}
-		/*
-		 * Return the flatten category
-		 */
-		public String getFlatCategory() {
-			if (flatCategory == null) {
-				initialize();
-				if (flatCategory == null)
-					flatCategory = node.getLabelText();
-			}
-			return flatCategory;
-		}
-		/*
-		 * Initialize the flat category to include the parents'
-		 * category names and the current node's label
-		 */
-		private void initialize() {
-			String category = node.getCategory();
-			if (category == null)
-				return;
-			
-			StringBuffer sb = new StringBuffer();
-			StringTokenizer stok = new StringTokenizer(category, PREFERENCE_SEPARATOR);
-			WorkbenchPreferenceNode immediateParent = null;
-			while (stok.hasMoreTokens()) {
-				String pathID = stok.nextToken();
-				immediateParent = findNode(pathID);
-				if (immediateParent == null)
-					return;
-				if (sb.length() > 0)
-					sb.append(PREFERENCE_SEPARATOR);
-				sb.append(immediateParent.getLabelText());
-			}
-			
-			if (sb.length() > 0)
-				sb.append(PREFERENCE_SEPARATOR);
-			sb.append(node.getLabelText());
-			flatCategory = sb.toString();
-		}
-	}
-/**
- * Create a new instance configured with the workbench
- */
-public PreferencePageRegistryReader(IWorkbench newWorkbench) {
-	workbench = newWorkbench;
-}
-/**
- * Given the category of the node, tokenize it into
- * individual node ids and substitute these IDs
- * with node labels (if node with the matching ID
- * is found). 
- */
-private String computeNamePath(WorkbenchPreferenceNode node) {
-	String category = node.getCategory();
-	if (category == null)
-		return null;
-	StringBuffer sb = new StringBuffer();
-	StringTokenizer stok = new StringTokenizer(category, PREFERENCE_SEPARATOR);
-	WorkbenchPreferenceNode immediateParent=null;
-	while (stok.hasMoreTokens()) {
-		String pathID = stok.nextToken();
-		immediateParent = findNode(pathID);
-		if (immediateParent == null) {
-			// Cannot find the parent - ignore category
-			return null;
-		}
-		if (sb.length() > 0) {
-			sb.append(PREFERENCE_SEPARATOR);
-		}
-		sb.append(immediateParent.getLabelText());
-	}
-	return sb.toString();
-}
-/**
- * Searches for the top-level node with the given id.
- */
-private WorkbenchPreferenceNode findNode(String id) {
-	for (int i = 0; i < nodes.size(); i++) {
-		WorkbenchPreferenceNode node = (WorkbenchPreferenceNode) nodes.get(i);
-		if (node.getId().equals(id))
-			return node;
-	}
-	return null;
-}
-/**
- * Searches for the child node with the given ID in the provided parent node.
- * If not found, null is returned.
- */
-private WorkbenchPreferenceNode findNode(WorkbenchPreferenceNode parent, String id) {
-	IPreferenceNode[] nodes = parent.getSubNodes();
-	for (int i = 0; i < nodes.length; i++) {
-		WorkbenchPreferenceNode node = (WorkbenchPreferenceNode) nodes[i];
-		if (node.getId().equals(id))
-			return node;
-	}
-	return null;
-}
-/**
- * Load the preference page contirbutions from the registry and
- * organize preference node contributions by category into hierarchies
- * If there is no page for a given node in the hierarchy then a blank
- * page will be created.
- * If no category has been specified or category information
- * is incorrect, page will appear at the root level. workbench
- * log entry will be created for incorrect category information.
- */
-public List getPreferenceContributions(IPluginRegistry registry) {
-	loadNodesFromRegistry(registry); //all nodes keyed on category
-	List contributions = new ArrayList(); //root nodes (which contain subnodes)
-
-	//Add root nodes to the contributions vector	
-	StringTokenizer tokenizer;
-	String currentToken;
-	IPreferenceNode workbenchNode;
-
-	//Make the workbench preferences the first category
-	workbenchNode = findNode(IWorkbenchConstants.WORKBENCH_PREFERENCE_CATEGORY_ID);
-	if (workbenchNode == null) {
-		//We must create a page for the workbench node (unlikely to occur but just in case)
-		workbenchNode = new WorkbenchPreferenceNode(
-			IWorkbenchConstants.WORKBENCH_PREFERENCE_CATEGORY_ID,
-			"Workbench",//$NON-NLS-1$
-			null,
-			null,
-			new EmptyPreferencePage());
-		nodes.add(workbenchNode);
-	}
-	contributions.add(workbenchNode);
-
-	// Sort nodes based on flattened display path composed of
-	// actual labels of nodes referenced in category attribute.
-	Object [] sortedNodes = sortByCategories(nodes);
-	for (int i = 0; i < sortedNodes.length; i++) {
-		//Iterate through all the nodes
-		CategoryNode categoryNode = (CategoryNode)sortedNodes[i];
-		WorkbenchPreferenceNode node = categoryNode.getNode();
-		if (node == workbenchNode) continue;
-		String category = node.getCategory();
-		if (category == null) {
-			contributions.add(node);
-			continue;
-		}
-		// has category
-		tokenizer = new StringTokenizer(category, PREFERENCE_SEPARATOR);
-		WorkbenchPreferenceNode parent = null;
-		while (tokenizer.hasMoreElements()) {
-			currentToken = tokenizer.nextToken();
-			WorkbenchPreferenceNode child = null;
-			if (parent == null)
-				child = findNode(currentToken);
-			else
-				child = findNode(parent, currentToken);
-			if (child == null) {
-				parent = null;
-				break;
-			}
-			else {
-				parent = child;
-			}
-		}
-		if (parent != null) {
-			parent.add(node);
-		}
-		else {
-			//Could not find the parent - log
-			WorkbenchPlugin.log("Invalid preference page path: "+categoryNode.getFlatCategory());//$NON-NLS-1$
-			contributions.add(node);
-		}
-	}
-	return contributions;
-}
-/**
- * Get the preference nodes that are defined in the registry
- */
-protected void loadNodesFromRegistry(IPluginRegistry registry) {
-	nodes = new ArrayList();
-	readRegistry(registry, PlatformUI.PLUGIN_ID, IWorkbenchConstants.PL_PREFERENCES);
-}
-/**
- * Read preference page element.
- */
-protected boolean readElement(IConfigurationElement element) {
-	if (element.getName().equals(TAG_PAGE) == false)
-		return false;
-	String name = element.getAttribute(ATT_NAME);
-	String id = element.getAttribute(ATT_ID);
-	String category = element.getAttribute(ATT_CATEGORY);
-	String imageName = element.getAttribute(ATT_ICON);
-	String className = element.getAttribute(ATT_CLASS);
-	if (name==null) {
-		logMissingAttribute(element, ATT_NAME);
-	}
-	if (id==null) {
-		logMissingAttribute(element, ATT_ID);
-	}
-	if (className==null) {
-		logMissingAttribute(element, ATT_CLASS);
-	}
-	if (name==null || id == null || className == null) {
-		return true;
-	}
-	ImageDescriptor image = null;
-	if (imageName != null) {
-		image = WorkbenchImages.getImageDescriptorFromPlugin(element.getDeclaringExtension().getDeclaringPluginDescriptor(), imageName);
-	}
-	WorkbenchPreferenceNode node = new WorkbenchPreferenceNode(id, name, category, image, element, workbench);
-	nodes.add(node);
-	readElementChildren(element);
-	return true;
-}
-/**
- * Sort the nodes based on full category + name. Category used for sorting
- * is created by substituting node IDs with labels of the referenced
- * nodes. workbench node is excluded from sorting because it always
- * appears first in the dialog.
- */
-private Object[] sortByCategories(List nodes) {
-	//sort by categories
-	CategoryNode [] nodeArray = new CategoryNode [nodes.size()];
-
-	for (int i=0; i<nodes.size(); i++) {
-		nodeArray[i] = new CategoryNode((WorkbenchPreferenceNode)nodes.get(i));
-	}
-
-	Sorter sorter = new Sorter() {
-		private Collator collator = Collator.getInstance();
-		
-		public boolean compare(Object o1, Object o2) {
-			String s1 = ((CategoryNode)o1).getFlatCategory();
-			String s2 = ((CategoryNode)o2).getFlatCategory();
-			//Return true if elementTwo is 'greater than' elementOne
-			return collator.compare(s2, s1) > 0;
-		}
-	};
-	return sorter.sort(nodeArray);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ProjectImageRegistry.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ProjectImageRegistry.java
deleted file mode 100644
index f816056..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ProjectImageRegistry.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-/**
- * Registry to hold mappings from project natures to images
- */
-
-public class ProjectImageRegistry {
-	private Map map = new HashMap(10);
-/**
- * Returns the image for the given nature id or
- * <code>null</code> if no image is registered for the given id
- */
-public ImageDescriptor getNatureImage(String natureId) {
-	return (ImageDescriptor)map.get(natureId);
-}
-/**
- * Reads from the plugin registry.
- */
-public void load() {
-	ProjectImageRegistryReader reader = new ProjectImageRegistryReader();
-	reader.readProjectNatureImages(Platform.getPluginRegistry(), this);
-}
-/**
- * Sets the image for the given nature id
- */
-public void setNatureImage(String natureId, ImageDescriptor image) {
-	map.put(natureId, image);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ProjectImageRegistryReader.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ProjectImageRegistryReader.java
deleted file mode 100644
index beb48b3..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ProjectImageRegistryReader.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * A strategy to project nature image extensions from the registry.
- * 
- * @deprecated Extension point no longer applicable with new project capability
- */
-public class ProjectImageRegistryReader extends RegistryReader {
-	private static final String TAG_IMAGE="image";//$NON-NLS-1$
-	private static final String ATT_ID="id";//$NON-NLS-1$
-	private static final String ATT_NATURE_ID="natureId";//$NON-NLS-1$
-	private static final String ATT_ICON="icon";//$NON-NLS-1$
-	private ProjectImageRegistry registry;
-	
-/**
- * Reads the contents of the given element
- */
-protected boolean readElement(IConfigurationElement element) {
-	if (!element.getName().equals(TAG_IMAGE)) 
-		return false;
-
-	String id = element.getAttribute(ATT_ID);
-	if (id == null) {
-		logMissingAttribute(element, ATT_ID);
-		return true;
-	}
-
-	String natureId = element.getAttribute(ATT_NATURE_ID);
-	if (natureId == null) {
-		logMissingAttribute(element, ATT_NATURE_ID);
-		return true;
-	}
-
-	String icon = element.getAttribute(ATT_ICON);
-	if (icon == null) {
-		logMissingAttribute(element, ATT_ICON);
-		return true;
-	}
-	ImageDescriptor image = WorkbenchImages.getImageDescriptorFromExtension(
-			element.getDeclaringExtension(), icon);
-
-	if (image != null)	
-		registry.setNatureImage(natureId, image);
-		
-	return true;
-}
-/**
- * Read the project nature images within a registry.
- */
-public void readProjectNatureImages(IPluginRegistry in, ProjectImageRegistry out)
-{
-	registry = out;
-	readRegistry(in, PlatformUI.PLUGIN_ID, IWorkbenchConstants.PL_PROJECT_NATURE_IMAGES);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PropertyPagesRegistryReader.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PropertyPagesRegistryReader.java
deleted file mode 100644
index 205050e..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PropertyPagesRegistryReader.java
+++ /dev/null
@@ -1,151 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.HashMap;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.IWorkbenchConstants;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.dialogs.*;
-
-/**
- * This class loads property pages from the registry.
- */
-public class PropertyPagesRegistryReader extends RegistryReader {
-	public static final String ATT_NAME_FILTER = "nameFilter";//$NON-NLS-1$
-	public static final String ATT_FILTER_NAME = "name";//$NON-NLS-1$
-	public static final String ATT_FILTER_VALUE = "value";//$NON-NLS-1$
-	public static final String ATT_CLASS = "class";//$NON-NLS-1$
-
-	private static final String TAG_PAGE = "page";//$NON-NLS-1$
-	private static final String TAG_CONTRIBUTOR = "contributor";//$NON-NLS-1$
-	private static final String TAG_FILTER="filter";//$NON-NLS-1$
-	private static final String ATT_NAME = "name";//$NON-NLS-1$
-	private static final String ATT_ID = "id";//$NON-NLS-1$
-	private static final String ATT_ICON = "icon";//$NON-NLS-1$
-	private static final String ATT_OBJECTCLASS = "objectClass";//$NON-NLS-1$
-	private static final String ATT_ADAPTABLE = "adaptable";//$NON-NLS-1$
-	
-	private static final String P_TRUE = "true";//$NON-NLS-1$
-	
-	private HashMap filterProperties; 
-	private PropertyPageContributorManager manager;
-/**
- * The constructor.
- */
-public PropertyPagesRegistryReader(PropertyPageContributorManager manager) {
-	this.manager = manager;
-}
-/**
- * Parses child element and processes it 
- */
-private void processChildElement(IConfigurationElement element) {
-	String tag = element.getName();
-	if (tag.equals(TAG_FILTER)) {
-		String key = element.getAttribute(ATT_FILTER_NAME);
-		String value = element.getAttribute(ATT_FILTER_VALUE);
-		if (key == null || value == null)
-			return;
-		if (filterProperties==null) 
-			filterProperties = new HashMap();
-		filterProperties.put(key, value);
-	}
-}
-/**
- * Reads dynamic (contributor-based) property page specification.
- */
-private void processContributorElement(IConfigurationElement element) {
-	String contributorClassName = element.getAttribute(ATT_CLASS);
-	String objectClassName = element.getAttribute(ATT_OBJECTCLASS);
-	if (objectClassName == null || contributorClassName == null) {
-		// cannot safely open dialog so log the problem
-		WorkbenchPlugin.log(
-			"Unable to create property page contributor. Object class or contributor class are not specified."//$NON-NLS-1$
-		);
-		return;
-	}
-	IPropertyPageContributor contributor;
-	try {
-		contributor = (IPropertyPageContributor)WorkbenchPlugin.createExtension(
-			element, ATT_CLASS);
-	} catch (CoreException e) {
-		// cannot safely open dialog so log the problem
-		WorkbenchPlugin.log("Unable to create property page contributor.",e.getStatus());//$NON-NLS-1$
-		return;
-	}
-	registerContributor(objectClassName, contributor);
-}
-/**
- * Reads static property page specification.
- */
-private void processPageElement(IConfigurationElement element) {
-	String pageId = element.getAttribute(ATT_ID);
-	String pageName = element.getAttribute(ATT_NAME);
-	String iconName = element.getAttribute(ATT_ICON);
-	String pageClassName = element.getAttribute(ATT_CLASS);
-	String objectClassName = element.getAttribute(ATT_OBJECTCLASS);
-	String adaptable = element.getAttribute(ATT_ADAPTABLE);
-
-	if (pageId==null) {
-		logMissingAttribute(element, ATT_ID);
-		return;
-	}
-	if (objectClassName == null) {
-		logMissingAttribute(element, ATT_OBJECTCLASS);
-		return;
-	}
-	if (pageClassName == null) {
-		logMissingAttribute(element, ATT_CLASS);
-		return;
-	}
-
-	filterProperties = null;
-	IConfigurationElement[] children = element.getChildren();
-	for (int i=0; i<children.length; i++) {
-		processChildElement(children[i]);
-	}
-
-	IPropertyPageContributor contributor = 
-		new RegistryPageContributor(
-			pageId, 
-			pageName, 
-			iconName, 
-			filterProperties, 
-			objectClassName, 
-			P_TRUE.equalsIgnoreCase(adaptable),
-			element);
-	registerContributor(objectClassName, contributor);
-}
-/**
- * Reads the next contribution element.
- */
-protected boolean readElement(IConfigurationElement element) {
-	if (element.getName().equals(TAG_PAGE)) {
-		processPageElement(element);
-		readElementChildren(element);
-		return true;
-	}
-	if (element.getName().equals(TAG_FILTER)) {
-		return true;
-	}
-
-	return false;
-}
-/**
- * Creates object class instance and registers the contributor with the
- * property page manager.
- */
-private void registerContributor(String objectClassName, IPropertyPageContributor contributor) {
-	manager.registerContributor(contributor, objectClassName);
-}
-/**
- *	Reads all occurances of propertyPages extension in the registry.
- */
-public void registerPropertyPages(IPluginRegistry registry) {
-	readRegistry(registry, PlatformUI.PLUGIN_ID, IWorkbenchConstants.PL_PROPERTY_PAGES);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/RegistryReader.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/RegistryReader.java
deleted file mode 100644
index 7bd9f6b..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/RegistryReader.java
+++ /dev/null
@@ -1,151 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.internal.*;
-import org.eclipse.ui.internal.misc.Sorter;
-
-/**
- *	Template implementation of a registry reader that creates objects
- *	representing registry contents. Typically, an extension
- * contains one element, but this reader handles multiple
- * elements per extension.
- *
- * To start reading the extensions from the registry for an
- * extension point, call the method <code>readRegistry</code>.
- *
- * To read children of an IConfigurationElement, call the
- * method <code>readElementChildren</code> from your implementation
- * of the method <code>readElement</code>, as it will not be
- * done by default.
- */
-public abstract class RegistryReader {
-	protected static final String TAG_DESCRIPTION = "description";	//$NON-NLS-1$
-/**
- * The constructor.
- */
-protected RegistryReader() {
-}
-/**
- * This method extracts description as a subelement of
- * the given element.
- * @return description string if defined, or empty string
- * if not.
- */
-protected String getDescription(IConfigurationElement config) {
-	IConfigurationElement [] children = config.getChildren(TAG_DESCRIPTION);
-	if (children.length>=1) {
-		return children[0].getValue();
-	}
-	return "";//$NON-NLS-1$
-}
-/**
- * Logs the error in the workbench log using the provided
- * text and the information in the configuration element.
- */
-protected void logError(IConfigurationElement element, String text) {
-	IExtension extension = element.getDeclaringExtension();
-	IPluginDescriptor descriptor = extension.getDeclaringPluginDescriptor();
-	StringBuffer buf = new StringBuffer();
-	buf.append("Plugin " + descriptor.getUniqueIdentifier() + ", extension " + extension.getExtensionPointUniqueIdentifier());//$NON-NLS-2$//$NON-NLS-1$
-	buf.append("\n"+text);//$NON-NLS-1$
-	WorkbenchPlugin.log(buf.toString());
-}
-/**
- * Logs a very common registry error when a required attribute is missing.
- */
-protected void logMissingAttribute(IConfigurationElement element, String attributeName) {
-	logError(element, "Required attribute '"+attributeName+"' not defined");//$NON-NLS-2$//$NON-NLS-1$
-}
-
-/**
- * Logs a very common registry error when a required child is missing.
- */
-protected void logMissingElement(IConfigurationElement element, String elementName) {
-	logError(element, "Required sub element '"+elementName+"' not defined");//$NON-NLS-2$//$NON-NLS-1$
-}
-
-/**
- * Logs a registry error when the configuration element is unknown.
- */
-protected void logUnknownElement(IConfigurationElement element) {
-	logError(element, "Unknown extension tag found: " + element.getName());//$NON-NLS-1$
-}
-/**
- *	Apply a reproducable order to the list of extensions
- * provided, such that the order will not change as
- * extensions are added or removed.
- */
-protected IExtension[] orderExtensions(IExtension[] extensions) {
-	// By default, the order is based on plugin id sorted
-	// in ascending order. The order for a plugin providing
-	// more than one extension for an extension point is
-	// dependent in the order listed in the XML file.
-	Sorter sorter = new Sorter() {
-		public boolean compare(Object extension1, Object extension2) {
-			String s1 = ((IExtension)extension1).getDeclaringPluginDescriptor().getUniqueIdentifier().toUpperCase();
-			String s2 = ((IExtension)extension2).getDeclaringPluginDescriptor().getUniqueIdentifier().toUpperCase();
-			//Return true if elementTwo is 'greater than' elementOne
-			return s2.compareTo(s1) > 0;
-		}
-	};
-
-	Object[] sorted = sorter.sort(extensions);
-	IExtension[] sortedExtension = new IExtension[sorted.length];
-	System.arraycopy(sorted, 0, sortedExtension, 0, sorted.length);
-	return sortedExtension;
-}
-/**
- * Implement this method to read element's attributes.
- * If children should also be read, then implementor
- * is responsible for calling <code>readElementChildren</code>.
- * Implementor is also responsible for logging missing 
- * attributes.
- *
- * @return true if element was recognized, false if not.
- */
-protected abstract boolean readElement(IConfigurationElement element);
-/**
- * Read the element's children. This is called by
- * the subclass' readElement method when it wants
- * to read the children of the element.
- */
-protected void readElementChildren(IConfigurationElement element) {
-	readElements(element.getChildren());
-}
-/**
- * Read each element one at a time by calling the
- * subclass implementation of <code>readElement</code>.
- *
- * Logs an error if the element was not recognized.
- */
-protected void readElements(IConfigurationElement[] elements) {
-	for (int i = 0; i < elements.length; i++) {
-		if (!readElement(elements[i]))
-			logUnknownElement(elements[i]);
-	}
-}
-/**
- * Read one extension by looping through its
- * configuration elements.
- */
-protected void readExtension(IExtension extension) {
-	readElements(extension.getConfigurationElements());
-}
-/**
- *	Start the registry reading process using the
- * supplied plugin ID and extension point.
- */
-protected void readRegistry(IPluginRegistry registry, String pluginId, String extensionPoint) {
-	IExtensionPoint point = registry.getExtensionPoint(pluginId, extensionPoint);
-	if (point != null) {
-		IExtension[] extensions = point.getExtensions();
-		extensions = orderExtensions(extensions);
-		for (int i = 0; i < extensions.length; i++)
-			readExtension(extensions[i]);
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ViewDescriptor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ViewDescriptor.java
deleted file mode 100644
index 62e459d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ViewDescriptor.java
+++ /dev/null
@@ -1,139 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.*;
-
-/**
- * Capture the attributes of a view extension.
- */
-public class ViewDescriptor implements IViewDescriptor {
-	private String id;
-	private ImageDescriptor imageDescriptor;
-	private static final String ATT_ID="id";//$NON-NLS-1$
-	private static final String ATT_NAME="name";//$NON-NLS-1$
-	private static final String ATT_ACCELERATOR="accelerator";//$NON-NLS-1$
-	private static final String ATT_ICON="icon";//$NON-NLS-1$
-	private static final String ATT_CATEGORY="category";//$NON-NLS-1$
-	private static final String ATT_CLASS="class";//$NON-NLS-1$
-	private static final String ATT_RATIO="fastViewWidthRatio";//$NON-NLS-1$
-	private String label;
-	private String accelerator;
-	private String className;
-	private IConfigurationElement configElement;
-	private String [] categoryPath;
-	private float fastViewWidthRatio;
-/**
- * Create a new ViewDescriptor for an extension.
- */
-public ViewDescriptor(IConfigurationElement e) throws CoreException {
-	configElement = e;
-	loadFromExtension();
-}
-/**
- * Return an instance of the declared view.
- */
-public IViewPart createView() throws CoreException
-{
-	Object obj = WorkbenchPlugin.createExtension(configElement, ATT_CLASS);
-	return (IViewPart) obj;
-}
-/**
- * Returns tokens for the category path or null if not defined.
- */
-public String[] getCategoryPath() {
-	return categoryPath;
-}
-public IConfigurationElement getConfigurationElement() {
-	return configElement;
-}
-public String getID() {
-	return id;
-}
-public String getId() {
-	return id;
-}
-public ImageDescriptor getImageDescriptor() {
-	if (imageDescriptor != null)
-		return imageDescriptor;
-	String iconName = configElement.getAttribute(ATT_ICON);
-	if (iconName == null)
-		return null;
-	imageDescriptor = 
-		WorkbenchImages.getImageDescriptorFromExtension(
-			configElement.getDeclaringExtension(), 
-			iconName); 
-	return imageDescriptor;
-}
-
-public String getLabel() {
-	return label;
-}
-
-public String getAccelerator() {
-	return accelerator;
-}
-
-public float getFastViewWidthRatio() {
-	return fastViewWidthRatio;	
-}
-
-/**
- * load a view descriptor from the registry.
- */
-private void loadFromExtension() throws CoreException {
-	id = configElement.getAttribute(ATT_ID);
-	label = configElement.getAttribute(ATT_NAME);
-	accelerator = configElement.getAttribute(ATT_ACCELERATOR);
-	className = configElement.getAttribute(ATT_CLASS);
-	String category = configElement.getAttribute(ATT_CATEGORY);
-	String ratio = configElement.getAttribute(ATT_RATIO);
-
-	// Sanity check.
-	if ((label == null) || (className == null)) {
-		throw new CoreException(
-			new Status(
-				IStatus.ERROR, 
-				configElement.getDeclaringExtension().getDeclaringPluginDescriptor().getUniqueIdentifier(), 
-				0, 
-				"Invalid extension (missing label or class name): " + id, //$NON-NLS-1$
-				null)); 
-	}
-	if (category != null) {
-		StringTokenizer stok = new StringTokenizer(category, "/");//$NON-NLS-1$
-		categoryPath = new String[stok.countTokens()];
-		// Parse the path tokens and store them
-		for (int i = 0; stok.hasMoreTokens(); i++) {
-			categoryPath[i] = stok.nextToken();
-		}
-	}
-	
-	if(ratio != null) {
-		try {
-			fastViewWidthRatio = new Float(ratio).floatValue();
-			if(fastViewWidthRatio > IPageLayout.RATIO_MAX)
-				fastViewWidthRatio = IPageLayout.RATIO_MAX;
-			if(fastViewWidthRatio < IPageLayout.RATIO_MIN)
-				fastViewWidthRatio = IPageLayout.RATIO_MIN;
-		} catch(NumberFormatException e) {
-			fastViewWidthRatio = IPageLayout.DEFAULT_FASTVIEW_RATIO;
-		}
-	} else {
-		fastViewWidthRatio = IPageLayout.DEFAULT_FASTVIEW_RATIO;
-	}
-}
-/**
- * Returns a string representation of this descriptor.  For
- * debugging purposes only.
- */
-public String toString() {
-	return "View(" + getID() + ")";//$NON-NLS-2$//$NON-NLS-1$
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ViewRegistry.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ViewRegistry.java
deleted file mode 100644
index f73cc5d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ViewRegistry.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.*;
-
-/**
- * The central manager for view descriptors.
- */
-public class ViewRegistry implements IViewRegistry {
-	private List views;
-	private List categories;
-	private Category miscCategory;
-/**
- * Create a new ViewRegistry.
- */
-public ViewRegistry() {
-	views = new ArrayList();
-	categories = new ArrayList();
-}
-/**
- * Add a category to the registry.
- */
-public void add(ICategory desc) {
-	/* fix for 1877 */
-	if (findCategory(desc.getId()) == null)
-		categories.add(desc);
-}
-/**
- * Add a descriptor to the registry.
- */
-public void add(IViewDescriptor desc) {
-	views.add(desc);
-}
-/**
- * Find a descriptor in the registry.
- */
-public IViewDescriptor find(String id) {
-	Iterator enum = views.iterator();
-	while (enum.hasNext()) {
-		IViewDescriptor desc = (IViewDescriptor) enum.next();
-		if (id.equals(desc.getID())) {
-			return desc;
-		}
-	}
-	return null;
-}
-/**
- * Find a category with a given name.
- */
-public ICategory findCategory(String id) {
-	Iterator enum = categories.iterator();
-	while (enum.hasNext()) {
-		Category cat = (Category) enum.next();
-		if (id.equals(cat.getRootPath())) {
-			return cat;
-		}
-	}
-	return null;
-}
-/**
- * Get the list of view categories.
- */
-public ICategory [] getCategories() {
-	int nSize = categories.size();
-	ICategory [] retArray = new ICategory[nSize];
-	categories.toArray(retArray);
-	return retArray;
-}
-/**
- * Return the view category count.
- */
-public int getCategoryCount() {
-	return categories.size();
-}
-/**
- * Returns the Misc category.
- * This may be null if there are no miscellaneous views.
- */
-public ICategory getMiscCategory() {
-	return miscCategory;
-}
-/**
- * Return the view count.
- */
-public int getViewCount() {
-	return views.size();
-}
-/**
- * Get an enumeration of view descriptors.
- */
-public IViewDescriptor [] getViews() {
-	int nSize = views.size();
-	IViewDescriptor [] retArray = new IViewDescriptor[nSize];
-	views.toArray(retArray);
-	return retArray;
-}
-/**
- * Adds each view in the registry to a particular category.
- * The view category may be defined in xml.  If not, the view is
- * added to the "misc" category.
- */
-public void mapViewsToCategories() {
-	Iterator enum = views.iterator();
-	while (enum.hasNext()) {
-		IViewDescriptor desc = (IViewDescriptor) enum.next();
-		Category cat = null;
-		String [] catPath = desc.getCategoryPath();
-		if (catPath != null) {
-			String rootCat = catPath[0];
-			cat = (Category)findCategory(rootCat);
-		}	
-		if (cat != null) {
-			cat.addElement(desc);
-		} else {
-			if (miscCategory == null) {
-				miscCategory = new Category();
-				categories.add(miscCategory);
-			}
-			miscCategory.addElement(desc);
-		}
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ViewRegistryReader.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ViewRegistryReader.java
deleted file mode 100644
index 9816a03..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ViewRegistryReader.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.IWorkbenchConstants;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * A strategy to read view extensions from the registry.
- */
-public class ViewRegistryReader extends RegistryReader {
-	private static final String TAG_VIEW="view";//$NON-NLS-1$
-	private static final String TAG_CATEGORY="category";//$NON-NLS-1$
-	private ViewRegistry viewRegistry;
-	
-/**
- * RegistryViewReader constructor comment.
- */
-public ViewRegistryReader() {
-	super();
-}
-/**
- * Reads the category element.
- */
-protected void readCategory(IConfigurationElement element) {
-	try {
-		Category category = new Category(element);
-		viewRegistry.add(category);
-	} catch (CoreException e) {
-		// log an error since its not safe to show a dialog here
-		WorkbenchPlugin.log("Unable to create view category.", e.getStatus());//$NON-NLS-1$
-	}
-}
-/**
- * readElement method comment.
- */
-protected boolean readElement(IConfigurationElement element) {
-	if (element.getName().equals(TAG_VIEW)) {
-		readView(element);
-		readElementChildren(element);
-		return true;
-	}
-	if (element.getName().equals(TAG_CATEGORY)) {
-		readCategory(element);
-		readElementChildren(element);
-		return true;
-	}
-	
-	return false;
-}
-/**
- * Reads the view element.
- */
-protected void readView(IConfigurationElement element) {
-	try {
-		ViewDescriptor desc = new ViewDescriptor(element);
-		viewRegistry.add(desc);
-	} catch (CoreException e) {
-		// log an error since its not safe to open a dialog here
-		WorkbenchPlugin.log("Unable to create view descriptor." , e.getStatus());//$NON-NLS-1$
-	}
-}
-/**
- * Read the view extensions within a registry.
- */
-public void readViews(IPluginRegistry in, ViewRegistry out)
-	throws CoreException {
-	// this does not seem to really ever be throwing an the exception
-	viewRegistry = out;
-	readRegistry(in, PlatformUI.PLUGIN_ID, IWorkbenchConstants.PL_VIEWS);
-	out.mapViewsToCategories();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/WizardsRegistryReader.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/WizardsRegistryReader.java
deleted file mode 100644
index b481b65..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/WizardsRegistryReader.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.WorkbenchImages;
-import org.eclipse.ui.internal.dialogs.WizardCollectionElement;
-import org.eclipse.ui.internal.dialogs.WorkbenchWizardElement;
-import org.eclipse.ui.internal.model.AdaptableList;
-
-/**
- *  Instances access the registry that is provided at creation time
- *  in order to determine the contained Wizards
- */
-public class WizardsRegistryReader extends RegistryReader {
-	protected AdaptableList wizards;
-	private String pluginPoint;
-
-	protected final static String TAG_WIZARD = "wizard";//$NON-NLS-1$
-
-	protected final static String ATT_NAME = "name";//$NON-NLS-1$
-	public final static String ATT_CLASS = "class";//$NON-NLS-1$
-	protected final static String ATT_ICON = "icon";//$NON-NLS-1$
-	protected final static String ATT_ID = "id";//$NON-NLS-1$
-	protected final static String trueString = "TRUE";//$NON-NLS-1$
-/**
- *	Create an instance of this class.
- *
- *	@param pluginPointId java.lang.String
- */
-public WizardsRegistryReader(String pluginPointId) {
-	pluginPoint = pluginPointId;
-}
-/**
- * Adds new wizard to the provided collection. Override to
- * provide more logic.
- */
-protected void addNewElementToResult(WorkbenchWizardElement wizard, IConfigurationElement config, AdaptableList result) {
-	result.add(wizard);
-}
-/**
- * Creates empty element collection. Overrider to fill
- * initial elements, if needed.
- */
-protected AdaptableList createEmptyWizardCollection() {
-	return new AdaptableList();
-}
-/**
- * Returns a new WorkbenchWizardElement configured according to the parameters
- * contained in the passed Registry.  
- *
- * May answer null if there was not enough information in the Extension to create 
- * an adequate wizard
- */
-protected WorkbenchWizardElement createWizardElement(IConfigurationElement element) {
-	// WizardElements must have a name attribute
-	String nameString = element.getAttribute(ATT_NAME);
-	if (nameString == null) {
-		logMissingAttribute(element, ATT_NAME);
-		return null;
-	}
-	WorkbenchWizardElement result = new WorkbenchWizardElement(nameString);
-	if (initializeWizard(result, element))
-		return result;	// ie.- initialization was successful
-
-	return null;
-}
-/**
- *	Returns the first wizard with a given id.
- */
-public WorkbenchWizardElement findWizard(String id) {
-	Object [] wizards = getWizards().getChildren();
-	for (int nX = 0; nX < wizards.length; nX ++) {
-		WizardCollectionElement collection = (WizardCollectionElement)wizards[nX];
-		WorkbenchWizardElement element = collection.findWizard(id,true);
-		if (element != null)
-			return element;
-	}
-	return null;
-}
-/**
- * Returns a list of wizards, project and not.
- *
- * The return value for this method is cached since computing its value
- * requires non-trivial work.  
- */
-public AdaptableList getWizards() {
-	if (wizards == null)
-		readWizards();
-	return wizards;
-}
-/**
- *	Initialize the passed element's properties based on the contents of
- *	the passed registry.  Answer a boolean indicating whether the element
- *	was able to be adequately initialized.
- *
- *	@return boolean
- *	@param element WorkbenchWizardElement
- *	@param extension Extension
- */
-protected boolean initializeWizard(WorkbenchWizardElement element, IConfigurationElement config) {
-	element.setID(config.getAttribute(ATT_ID));
-	element.setDescription(getDescription(config));
-
-	// apply CLASS and ICON properties	
-	element.setConfigurationElement(config);
-	String iconName = config.getAttribute(ATT_ICON);
-	if (iconName != null) {
-		IExtension extension = config.getDeclaringExtension();
-		element.setImageDescriptor(WorkbenchImages.getImageDescriptorFromExtension(extension, iconName));
-	}
-	// ensure that a class was specified
-	if (element.getConfigurationElement() == null) {
-		logMissingAttribute(config, ATT_CLASS);
-		return false;
-	}
-	return true;	
-}
-/**
- * Implement this method to read element attributes.
- */
-protected boolean readElement(IConfigurationElement element) {
-	if (!element.getName().equals(TAG_WIZARD))
-		return false;
-	WorkbenchWizardElement wizard = createWizardElement(element);
-	if (wizard != null)
-	   addNewElementToResult(wizard, element, wizards);
-	return true;
-}
-/**
- * Reads the wizards in a registry.  
- */
-protected void readWizards() {
-	if (wizards == null) {
-		wizards = createEmptyWizardCollection();
-		IPluginRegistry pregistry = Platform.getPluginRegistry();
-		readRegistry(pregistry, PlatformUI.PLUGIN_ID, pluginPoint);
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/WorkingSetDescriptor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/WorkingSetDescriptor.java
deleted file mode 100644
index 57026fb..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/WorkingSetDescriptor.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package org.eclipse.ui.internal.registry;
-/*
- * (c) Copyright IBM Corp. 2002.
- * All Rights Reserved.
- */
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.dialogs.IWorkingSetPage;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * A working set descriptor stores the plugin registry data for 
- * a working set page extension.
- * 
- * @since 2.0
- */
-public class WorkingSetDescriptor {
-	private String id;
-	private String name;
-	private String icon;	
-	private String pageClassName;
-	private IConfigurationElement configElement;
-
-	private static final String ATT_ID = "id"; //$NON-NLS-1$
-	private static final String ATT_NAME = "name"; //$NON-NLS-1$
-	private static final String ATT_ICON = "icon"; //$NON-NLS-1$	
-	private static final String ATT_PAGE_CLASS = "pageClass"; //$NON-NLS-1$	
-
-	/**
-	 * Creates a descriptor from a configuration element.
-	 * 
-	 * @param configElement configuration element to create a descriptor from
-	 */
-	public WorkingSetDescriptor(IConfigurationElement configElement) throws CoreException {
-		super();
-		this.configElement = configElement;
-		id = configElement.getAttribute(ATT_ID);
-		name = configElement.getAttribute(ATT_NAME);
-		icon = configElement.getAttribute(ATT_ICON);		
-		pageClassName = configElement.getAttribute(ATT_PAGE_CLASS);
-
-		if (name == null) {
-			throw new CoreException(new Status(
-				IStatus.ERROR, 
-				WorkbenchPlugin.PI_WORKBENCH, 
-				0, 
-				"Invalid extension (missing class name): " + id, 		//$NON-NLS-1$
-				null));
-		}
-		if (pageClassName == null) {
-			throw new CoreException(new Status(
-				IStatus.ERROR,
-				WorkbenchPlugin.PI_WORKBENCH,
-				0,
-				"Invalid extension (missing page class name): " + id,	//$NON-NLS-1$
-				null));
-		}
-	}
-	/**
-	 * Creates a working set page from this extension descriptor.
-	 * 
-	 * @return a working set page created from this extension 
-	 * 	descriptor.
-	 */
-	public IWorkingSetPage createWorkingSetPage() {
-		Object page = null;
-
-		if (pageClassName != null) {
-			try {
-				page = WorkbenchPlugin.createExtension(configElement, ATT_PAGE_CLASS);
-			} catch (CoreException exception) {
-				WorkbenchPlugin.log("Unable to create working set page: " + //$NON-NLS-1$
-				pageClassName, exception.getStatus());
-			}
-		}
-		return (IWorkingSetPage) page;
-	}
-	/**
-	 * Returns the page's icon
-	 * 
-	 * @return the page's icon
-	 */
-	public ImageDescriptor getIcon() {
-		if (icon == null)
-			return null;
-		URL url;
-		try {
-			URL pluginInstallUrl = configElement.getDeclaringExtension().getDeclaringPluginDescriptor().getInstallURL();			
-			url= new URL(pluginInstallUrl, icon);
-		} catch (MalformedURLException exception) {
-			WorkbenchPlugin.log("Unable to load working set icon"); //$NON-NLS-1$
-			return null;
-		}
-		return ImageDescriptor.createFromURL(url);
-	}
-	/**
-	 * Returns the working set page id.
-	 * 
-	 * @return the working set page id.
-	 */
-	public String getId() {
-		return id;
-	}
-	/**
-	 * Returns the working set page class name
-	 * 
-	 * @return the working set page class name
-	 */
-	public String getPageClassName() {
-		return pageClassName;
-	}
-	/**
-	 * Returns the name of the working set element type the 
-	 * page works with.
-	 * 
-	 * @return the working set element type name
-	 */
-	public String getName() {
-		return name;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/WorkingSetRegistry.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/WorkingSetRegistry.java
deleted file mode 100644
index 0039965..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/WorkingSetRegistry.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.eclipse.ui.internal.registry;
-/*
- * (c) Copyright IBM Corp. 2002.
- * All Rights Reserved.
- */
-
-import java.util.HashMap;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.ui.dialogs.IWorkingSetPage;
-
-/**
- * Stores working set descriptors for working set extensions.
- */
-public class WorkingSetRegistry {
-	// used in Workbench plugin.xml for default workingSet extension
-	private static final String DEFAULT_PAGE_ID = "org.eclipse.ui.resourceWorkingSetPage"; //$NON-NLS-1$
-	
-	private HashMap workingSetDescriptors = new HashMap();
-
-	/**
-	 * Adds a working set descriptor.
-	 * 
-	 * @param descriptor working set descriptor to add. Must not 
-	 * 	exist in the registry yet.
-	 */
-	public void addWorkingSetDescriptor(WorkingSetDescriptor descriptor) {
-		Assert.isTrue(!workingSetDescriptors.containsValue(descriptor), "working set descriptor already registered"); //$NON-NLS-1$
-		workingSetDescriptors.put(descriptor.getId(), descriptor);
-	}
-	/**
-	 * Returns the default, resource based, working set page
-	 * 
-	 * @return the default working set page.
-	 */
-	public IWorkingSetPage getDefaultWorkingSetPage() {
-		WorkingSetDescriptor descriptor = (WorkingSetDescriptor) workingSetDescriptors.get(DEFAULT_PAGE_ID);
-
-		if (descriptor != null) {
-			return descriptor.createWorkingSetPage();
-		}
-		return null;
-	}
-	/**
-	 * Returns the working set descriptor with the given id.
-	 * 
-	 * @param pageId working set page id
-	 * @return the working set descriptor with the given id.
-	 */
-	public WorkingSetDescriptor getWorkingSetDescriptor(String pageId) {
-		return (WorkingSetDescriptor) workingSetDescriptors.get(pageId);
-	}
-	/**
-	 * Returns an array of all working set descriptors.
-	 * 
-	 * @return an array of all working set descriptors.
-	 */
-	public WorkingSetDescriptor[] getWorkingSetDescriptors() {
-		return (WorkingSetDescriptor[]) workingSetDescriptors.values().toArray(new WorkingSetDescriptor[workingSetDescriptors.size()]);
-	}
-	/**
-	 * Returns the working set page with the given id.
-	 * 
-	 * @param pageId working set page id
-	 * @return the working set page with the given id.
-	 */
-	public IWorkingSetPage getWorkingSetPage(String pageId) {
-		WorkingSetDescriptor descriptor = (WorkingSetDescriptor) workingSetDescriptors.get(pageId);
-		
-		if (descriptor == null) {
-			return null;
-		}
-		return descriptor.createWorkingSetPage();
-	}
-	/**
-	 * Loads the working set registry.
-	 */
-	public void load() {
-		WorkingSetRegistryReader reader = new WorkingSetRegistryReader();
-		reader.readWorkingSets(Platform.getPluginRegistry(), this);
-	}	
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/WorkingSetRegistryReader.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/WorkingSetRegistryReader.java
deleted file mode 100644
index 107eebe5..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/WorkingSetRegistryReader.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.eclipse.ui.internal.registry;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.IWorkbenchConstants;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * A strategy to read working set extensions from the registry.
- */
-public class WorkingSetRegistryReader extends RegistryReader {
-	private static final String TAG="workingSet";	//$NON-NLS-1$
-	private WorkingSetRegistry registry;
-	
-/**
- * Overrides method in RegistryReader.
- * 
- * @see RegistryReader#readElement(IConfigurationElement)
- */
-protected boolean readElement(IConfigurationElement element) {
-	if (element.getName().equals(TAG)) {
-		try {
-			WorkingSetDescriptor desc = new WorkingSetDescriptor(element);
-			registry.addWorkingSetDescriptor(desc);
-		} catch (CoreException e) {
-			// log an error since its not safe to open a dialog here
-			WorkbenchPlugin.log("Unable to create working set descriptor.",e.getStatus());//$NON-NLS-1$
-		}
-		return true;
-	}
-	
-	return false;
-}
-/**
- * Reads the working set extensions within a registry.
- * 
- * @param in the plugin registry to read from
- * @param out the working set registry to store read entries in.
- */
-public void readWorkingSets(IPluginRegistry in, WorkingSetRegistry out) {
-	registry = out;
-	readRegistry(in, PlatformUI.PLUGIN_ID, IWorkbenchConstants.PL_WORKINGSETS);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/IWorkbenchAdapter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/IWorkbenchAdapter.java
deleted file mode 100644
index 7ea8012..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/IWorkbenchAdapter.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.ui.model;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * This adapter interface provides visual presentation and hierarchical structure
- * for workbench elements, allowing them to be displayed in the UI
- * without having to know the concrete type of the element.
- * <p>
- * There is an associate label provider and content provider for showing
- * elements with a registered workbench adapter in JFace structured viewers.
- * </p>
- * @see WorkbenchLabelProvider
- * @see WorkbenchContentProvider
- */
-public interface IWorkbenchAdapter {
-/**
- * Returns the children of this object.  When this object
- * is displayed in a tree, the returned objects will be this
- * element's children.  Returns an empty array if this
- * object has no children.
- *
- * @param object The object to get the children for.
- */
-public Object[] getChildren(Object o);
-/**
- * Returns an image descriptor to be used for displaying an object in the workbench.
- * Returns <code>null</code> if there is no appropriate image.
- *
- * @param object The object to get an image descriptor for.
- */
-public ImageDescriptor getImageDescriptor(Object object);
-/**
- * Returns the label text for this element.  This is typically
- * used to assign a label to this object when displayed
- * in the UI.  Returns an empty string if there is no appropriate
- * label text for this object.
- *
- * @param object The object to get a label for.
- */
-public String getLabel(Object o);
-/**
- * Returns the logical parent of the given object in its tree.
- * Returns <code>null</code> if there is no parent, or if this object doesn't
- * belong to a tree.
- *
- * @param object The object to get the parent for.
- */
-public Object getParent(Object o);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/WorkbenchContentProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/WorkbenchContentProvider.java
deleted file mode 100644
index 7ab023b..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/WorkbenchContentProvider.java
+++ /dev/null
@@ -1,194 +0,0 @@
-package org.eclipse.ui.model;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.swt.widgets.*;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.viewers.*;
-
-/**
- * Provides tree contents for objects that have the IWorkbenchAdapter
- * adapter registered. 
- */
-public class WorkbenchContentProvider implements ITreeContentProvider, IResourceChangeListener {
-	protected Viewer viewer;
-/* (non-Javadoc)
- * Method declared on IContentProvider.
- */
-public void dispose() {
-	if (viewer != null) {
-		Object obj = viewer.getInput();
-		if (obj instanceof IWorkspace) {
-			IWorkspace workspace = (IWorkspace) obj;
-			workspace.removeResourceChangeListener(this);
-		} else
-			if (obj instanceof IContainer) {
-				IWorkspace workspace = ((IContainer) obj).getWorkspace();
-				workspace.removeResourceChangeListener(this);
-			}
-	}
-}
-/**
- * Returns the implementation of IWorkbenchAdapter for the given
- * object.  Returns null if the adapter is not defined or the
- * object is not adaptable.
- */
-protected IWorkbenchAdapter getAdapter(Object o) {
-	if (!(o instanceof IAdaptable)) {
-		return null;
-	}
-	return (IWorkbenchAdapter)((IAdaptable)o).getAdapter(IWorkbenchAdapter.class);
-}
-/* (non-Javadoc)
- * Method declared on ITreeContentProvider.
- */
-public Object[] getChildren(Object element) {
-	IWorkbenchAdapter adapter = getAdapter(element);
-	if (adapter != null) {
-	    return adapter.getChildren(element);
-	}
-	return new Object[0];
-}
-/* (non-Javadoc)
- * Method declared on IStructuredContentProvider.
- */
-public Object[] getElements(Object element) {
-	return getChildren(element);
-}
-/* (non-Javadoc)
- * Method declared on ITreeContentProvider.
- */
-public Object getParent(Object element) {
-	IWorkbenchAdapter adapter = getAdapter(element);
-	if (adapter != null) {
-	    return adapter.getParent(element);
-	}
-	return null;
-}
-/* (non-Javadoc)
- * Method declared on ITreeContentProvider.
- */
-public boolean hasChildren(Object element) {
-	return getChildren(element).length > 0;
-}
-/* (non-Javadoc)
- * Method declared on IContentProvider.
- */
-public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-	this.viewer = viewer;
-	IWorkspace oldWorkspace = null;
-	IWorkspace newWorkspace = null;
-	if (oldInput instanceof IWorkspace) {
-		oldWorkspace = (IWorkspace) oldInput;
-	}
-	else if (oldInput instanceof IContainer) {
-		oldWorkspace = ((IContainer) oldInput).getWorkspace();
-	}
-	if (newInput instanceof IWorkspace) {
-		newWorkspace = (IWorkspace) newInput;
-	} else if (newInput instanceof IContainer) {
-		newWorkspace = ((IContainer) newInput).getWorkspace();
-	}
-	if (oldWorkspace != newWorkspace) {
-		if (oldWorkspace != null) {
-			oldWorkspace.removeResourceChangeListener(this);
-		}
-		if (newWorkspace != null) {
-			newWorkspace.addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE);
-		}
-	}
-}
-/**
- * Process a resource delta.  
- */
-protected void processDelta(IResourceDelta delta) {
-	// This method runs inside a syncExec.  The widget may have been destroyed
-	// by the time this is run.  Check for this and do nothing if so.
-	Control ctrl = viewer.getControl();
-	if (ctrl == null || ctrl.isDisposed())
-		return;
-
-	// Get the affected resource
-	IResource resource = delta.getResource();
-
-	// If any children have changed type, just do a full refresh of this parent,
-	// since a simple update on such children won't work, 
-	// and trying to map the change to a remove and add is too dicey.
-	// The case is: folder A renamed to existing file B, answering yes to overwrite B.
-	IResourceDelta[] affectedChildren =
-		delta.getAffectedChildren(IResourceDelta.CHANGED);
-	for (int i = 0; i < affectedChildren.length; i++) {
-		if ((affectedChildren[i].getFlags() & IResourceDelta.TYPE) != 0) {
-			((StructuredViewer) viewer).refresh(resource);
-			return;
-		}
-	}
-
-	// Check the flags for changes the Navigator cares about.
-	// See ResourceLabelProvider for the aspects it cares about.
-	// Notice we don't care about F_CONTENT or F_MARKERS currently.
-	int changeFlags = delta.getFlags();
-	if ((changeFlags
-		& (IResourceDelta.OPEN | IResourceDelta.SYNC))
-		!= 0) {
-		((StructuredViewer) viewer).update(resource, null);
-	}
-
-	// Handle changed children .
-	for (int i = 0; i < affectedChildren.length; i++) {
-		processDelta(affectedChildren[i]);
-	}
-
-	// Process removals before additions, to avoid multiple equal elements in the viewer.
-
-	// Handle removed children. Issue one update for all removals.
-	affectedChildren = delta.getAffectedChildren(IResourceDelta.REMOVED);
-	if (affectedChildren.length > 0) {
-		Object[] affected = new Object[affectedChildren.length];
-		for (int i = 0; i < affectedChildren.length; i++)
-			affected[i] = affectedChildren[i].getResource();
-		if (viewer instanceof AbstractTreeViewer) {
-			((AbstractTreeViewer) viewer).remove(affected);
-		} else {
-			((StructuredViewer) viewer).refresh(resource);
-		}
-	}
-
-	// Handle added children. Issue one update for all insertions.
-	affectedChildren = delta.getAffectedChildren(IResourceDelta.ADDED);
-	if (affectedChildren.length > 0) {
-		Object[] affected = new Object[affectedChildren.length];
-		for (int i = 0; i < affectedChildren.length; i++)
-			affected[i] = affectedChildren[i].getResource();
-		if (viewer instanceof AbstractTreeViewer) {
-			((AbstractTreeViewer) viewer).add(resource, affected);
-		}
-		else {
-			((StructuredViewer) viewer).refresh(resource);
-		}
-	}
-}
-/**
- * The workbench has changed.  Process the delta and issue updates to the viewer,
- * inside the UI thread.
- *
- * @see IResourceChangeListener#resourceChanged
- */
-public void resourceChanged(final IResourceChangeEvent event) {
-	final IResourceDelta delta = event.getDelta();
-	Control ctrl = viewer.getControl();
-	if (ctrl != null && !ctrl.isDisposed()) {
-		// Do a sync exec, not an async exec, since the resource delta
-		// must be traversed in this method.  It is destroyed
-		// when this method returns.
-		ctrl.getDisplay().syncExec(new Runnable() {
-			public void run() {
-				processDelta(delta);
-			}
-		});
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/WorkbenchLabelProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/WorkbenchLabelProvider.java
deleted file mode 100644
index 46a197e..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/WorkbenchLabelProvider.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package org.eclipse.ui.model;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.*;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Provides basic labels for adaptable objects that have the
- * <code>IWorkbenchAdapter</code> adapter associated with them.  All dispensed
- * images are cached until the label provider is explicitly disposed.
- * This class provides a facility for subclasses to define annotations
- * on the labels and icons of adaptable objects.
- */
-public class WorkbenchLabelProvider extends LabelProvider {
-	/**
-	 * The cache of images that have been dispensed by this provider.
-	 * Maps ImageDescriptor->Image.
-	 */
-	private Map imageTable;
-/**
- * Creates a new workbench label provider.
- */
-public WorkbenchLabelProvider() {
-}
-/**
- * Returns an image descriptor that is based on the given descriptor,
- * but decorated with additional information relating to the state
- * of the provided object.
- *
- * Subclasses may reimplement this method to decorate an object's
- * image.
- * @see org.eclipse.jface.resource.CompositeImage
- */
-protected ImageDescriptor decorateImage(ImageDescriptor input, Object element) {
-	return input;
-}
-/**
- * Returns a label that is based on the given label,
- * but decorated with additional information relating to the state
- * of the provided object.
- *
- * Subclasses may implement this method to decorate an object's
- * label.
- */
-protected String decorateText(String input, Object element) {
-	return input;
-}
-/* (non-Javadoc)
- * Method declared on IBaseLabelProvider
- */
-/**
- * Disposes of all allocated images.
- */
-public final void dispose() {
-	if (imageTable != null) {
-		for (Iterator i = imageTable.values().iterator(); i.hasNext();) {
-			((Image) i.next()).dispose();
-		}
-		imageTable = null;
-	}
-}
-/**
- * Returns the implementation of IWorkbenchAdapter for the given
- * object.  Returns <code>null</code> if the adapter is not defined or the
- * object is not adaptable.
- */
-protected final IWorkbenchAdapter getAdapter(Object o) {
-	if (!(o instanceof IAdaptable)) {
-		return null;
-	}
-	return (IWorkbenchAdapter)((IAdaptable)o).getAdapter(IWorkbenchAdapter.class);
-}
-/* (non-Javadoc)
- * Method declared on ILabelProvider
- */
-public final Image getImage(Object element) {
-	//obtain the base image by querying the element
-	IWorkbenchAdapter adapter = getAdapter(element);
-	if (adapter == null)
-		return null;
-	ImageDescriptor descriptor = adapter.getImageDescriptor(element);
-	if (descriptor == null)
-		return null;
-
-	//add any annotations to the image descriptor
-	descriptor = decorateImage(descriptor, element);
-
-	//obtain the cached image corresponding to the descriptor
-	if (imageTable == null) {
-		 imageTable = new Hashtable(40);
-	}
-	Image image = (Image) imageTable.get(descriptor);
-	if (image == null) {
-		image = descriptor.createImage();
-		imageTable.put(descriptor, image);
-	}
-	return image;
-}
-/* (non-Javadoc)
- * Method declared on ILabelProvider
- */
-public final String getText(Object element) {
-	//query the element for its label
-	IWorkbenchAdapter adapter = getAdapter(element);
-	if (adapter == null)
-		return "";//$NON-NLS-1$
-	String label = adapter.getLabel(element);
-
-	//return the decorated label
-	return decorateText(label, element);
-}
-
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/WorkbenchViewerSorter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/WorkbenchViewerSorter.java
deleted file mode 100644
index e5b70f3..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/WorkbenchViewerSorter.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.eclipse.ui.model;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.viewers.*;
-import java.text.Collator;
-
-/**
- * A viewer sorter that sorts elements with registered workbench adapters by their text property.
- * Note that capitalization differences are not considered by this
- * sorter, so a < B < c
- *
- * @see IWorkbenchAdapter
- */
-public class WorkbenchViewerSorter extends ViewerSorter {
-
-/**
- * Creates a workbench viewer sorter using the default collator.
- */
-public WorkbenchViewerSorter() {
-	super();
-}
-/**
- * Creates a workbench viewer sorter using the given collator.
- *
- * @param collator the collator to use to sort strings
- */
-public WorkbenchViewerSorter(Collator collator) {
-	super(collator);
-}
-/* (non-Javadoc)
- * Method declared on ViewerSorter.
- */
-public boolean isSorterProperty(Object element,String propertyId) {
-	return propertyId.equals(IBasicPropertyConstants.P_TEXT);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/package.html b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/package.html
deleted file mode 100644
index 2c6d5b4..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/package.html
+++ /dev/null
@@ -1,16 +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.5 [en] (Win98; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides a workbench adapter for displaying workbench
-elements in the UI without having to know the concrete type of the element.
-<h2>
-Package Specification</h2>
-[To be supplied.]
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/package.html b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/package.html
deleted file mode 100644
index 9b87210..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/package.html
+++ /dev/null
@@ -1,39 +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.5 [en] (WinNT; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Application programming interfaces for interaction
-with and extension of the Eclipse Platform User Interface.
-<h2>
-Package Specification</h2>
-This package provides application programming interfaces for interaction
-with and extension of the Eclipse Platform User Interface.
-<p>The <b>PlatformUI</b> class provides access to a single <b>workbench</b>.&nbsp;
-A workbench is the root object for the UI and has one or more <b>workbench
-windows</b>.&nbsp; Each workbench window has a collection of <b>workbench
-pages</b>, only one of which is active and visible to the end user.&nbsp;
-Each workbench page has a collection of <b>workbench parts.&nbsp; </b>A
-page's parts are arranged (tiled or stacked) for presentation on the screen.&nbsp;
-Within a page and its parts the user can interact with and modify a model
-(typically resources in a workspace).&nbsp;&nbsp; There are two kinds of
-workbench parts: views and editors.&nbsp; An editor is typically used to
-edit or browse a document or input object.&nbsp; A view is typically used
-to navigate a hierarchy of information (like the workspace), open an editor,
-or display properties for the active editor.
-<p>The platform creates a workbench when the workbench plug-in is activated.&nbsp;
-Since this happens at most once during the life of the running platform,
-there is only one workbench instance. Due to its singular nature, it is
-commonly referred to as <i>the</i> workbench.
-<p>Within a workbench the user will interact with many different resource
-types.&nbsp; Because different tools are required for each, the workbench
-defines a number of extension points which allow for the integration of
-new tools.&nbsp; There are extension points for views, editors, action
-sets, import wzards, export wizards, etc.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/CellEditorActionHandler.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/CellEditorActionHandler.java
deleted file mode 100644
index d6bddab..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/CellEditorActionHandler.java
+++ /dev/null
@@ -1,668 +0,0 @@
-package org.eclipse.ui.part;
-
-/**********************************************************************
-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:
-**********************************************************************/
-import java.util.*;
-
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.util.*;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.misc.Assert;
-
-/**
- * Handles the redirection of the global actions Cut, Copy, Paste,
- * Delete, Select All, Find, Undo and Redo to either the current
- * inline cell editor or the part's supplied action handler.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p><p>
- * Example usage:
- * <pre>
- * actionHandler = new CellEditorActionHandler(this.getViewSite().getActionBars());
- * actionHandler.addCellEditor(textCellEditor1);
- * actionHandler.addCellEditor(textCellEditor2);
- * actionHandler.setSelectAllAction(selectAllAction);
- * </pre>
- * </p>
- */
-public class CellEditorActionHandler {
-	private CutActionHandler cellCutAction = new CutActionHandler();
-	private CopyActionHandler cellCopyAction = new CopyActionHandler();
-	private PasteActionHandler cellPasteAction = new PasteActionHandler();
-	private DeleteActionHandler cellDeleteAction = new DeleteActionHandler();
-	private SelectAllActionHandler cellSelectAllAction = new SelectAllActionHandler();
-	private FindActionHandler cellFindAction = new FindActionHandler();
-	private UndoActionHandler cellUndoAction = new UndoActionHandler();
-	private RedoActionHandler cellRedoAction = new RedoActionHandler();
-	
-	private IAction cutAction;
-	private IAction copyAction;
-	private IAction pasteAction;
-	private IAction deleteAction;
-	private IAction selectAllAction;
-	private IAction findAction;
-	private IAction undoAction;
-	private IAction redoAction;
-	
-	private IPropertyChangeListener cutActionListener = new ActionEnabledChangeListener(cellCutAction);
-	private IPropertyChangeListener copyActionListener = new ActionEnabledChangeListener(cellCopyAction);
-	private IPropertyChangeListener pasteActionListener = new ActionEnabledChangeListener(cellPasteAction);
-	private IPropertyChangeListener deleteActionListener = new ActionEnabledChangeListener(cellDeleteAction);
-	private IPropertyChangeListener selectAllActionListener = new ActionEnabledChangeListener(cellSelectAllAction);
-	private IPropertyChangeListener findActionListener = new ActionEnabledChangeListener(cellFindAction);
-	private IPropertyChangeListener undoActionListener = new ActionEnabledChangeListener(cellRedoAction);
-	private IPropertyChangeListener redoActionListener = new ActionEnabledChangeListener(cellUndoAction);
-	
-	private CellEditor activeEditor;
-	private IPropertyChangeListener cellListener = new CellChangeListener();
-	private Listener controlListener = new ControlListener();
-	private HashMap controlToEditor = new HashMap();
-
-	
-	private class ControlListener implements Listener {
-		public void handleEvent(Event event) {
-			switch (event.type) {
-				case SWT.Activate:
-					activeEditor = (CellEditor)controlToEditor.get(event.widget);
-					if (activeEditor != null)
-						activeEditor.addPropertyChangeListener(cellListener);
-					updateActionsEnableState();
-					break;
-				case SWT.Deactivate:
-					if (activeEditor != null)
-						activeEditor.removePropertyChangeListener(cellListener);
-					activeEditor = null;
-					updateActionsEnableState();
-					break;
-				default:
-					break;
-			}
-		}
-	}
-	
-	private class ActionEnabledChangeListener implements IPropertyChangeListener {
-		private IAction actionHandler;
-		protected ActionEnabledChangeListener(IAction actionHandler) {
-			super();
-			this.actionHandler = actionHandler;
-		}
-		public void propertyChange(PropertyChangeEvent event) {
-			if (activeEditor != null)
-				return;
-			if (event.getProperty().equals(IAction.ENABLED)) {
-				Boolean bool = (Boolean) event.getNewValue();
-				actionHandler.setEnabled(bool.booleanValue());
-				return;
-			}
-		}
-	};
-	
-	private class CellChangeListener implements IPropertyChangeListener {
-		public void propertyChange(PropertyChangeEvent event) {
-			if (activeEditor == null)
-				return;
-			if (event.getProperty().equals(CellEditor.CUT)) {
-				cellCutAction.setEnabled(activeEditor.isCutEnabled());
-				return;
-			}
-			if (event.getProperty().equals(CellEditor.COPY)) {
-				cellCopyAction.setEnabled(activeEditor.isCopyEnabled());
-				return;
-			}
-			if (event.getProperty().equals(CellEditor.PASTE)) {
-				cellPasteAction.setEnabled(activeEditor.isPasteEnabled());
-				return;
-			}
-			if (event.getProperty().equals(CellEditor.DELETE)) {
-				cellDeleteAction.setEnabled(activeEditor.isDeleteEnabled());
-				return;
-			}
-			if (event.getProperty().equals(CellEditor.SELECT_ALL)) {
-				cellSelectAllAction.setEnabled(activeEditor.isSelectAllEnabled());
-				return;
-			}
-			if (event.getProperty().equals(CellEditor.FIND)) {
-				cellFindAction.setEnabled(activeEditor.isFindEnabled());
-				return;
-			}
-			if (event.getProperty().equals(CellEditor.UNDO)) {
-				cellUndoAction.setEnabled(activeEditor.isUndoEnabled());
-				return;
-			}
-			if (event.getProperty().equals(CellEditor.REDO)) {
-				cellRedoAction.setEnabled(activeEditor.isRedoEnabled());
-				return;
-			}
-		}
-	};
-	
-	private class CutActionHandler extends Action {
-		protected CutActionHandler() {
-			setId("CellEditorCutActionHandler");//$NON-NLS-1$
-			setEnabled(false);
-			WorkbenchHelp.setHelp(this, IHelpContextIds.CELL_CUT_ACTION);
-		}
-		public void runWithEvent(Event event) {
-			if (activeEditor != null) {
-				activeEditor.performCut();
-				return;
-			}
-			if (cutAction != null) {
-				cutAction.runWithEvent(event);
-				return;
-			}
-		}
-		public void updateEnabledState() {
-			if (activeEditor != null) {
-				setEnabled(activeEditor.isCutEnabled());
-				return;
-			}
-			if (cutAction != null) {
-				setEnabled(cutAction.isEnabled());
-				return;
-			}
-			setEnabled(false);
-		}
-	}
-	
-	private class CopyActionHandler extends Action {
-		protected CopyActionHandler() {
-			setId("CellEditorCopyActionHandler");//$NON-NLS-1$
-			setEnabled(false);
-			WorkbenchHelp.setHelp(this, IHelpContextIds.CELL_COPY_ACTION);
-		}
-		public void runWithEvent(Event event) {
-			if (activeEditor != null) {
-				activeEditor.performCopy();
-				return;
-			}
-			if (copyAction != null) {
-				copyAction.runWithEvent(event);
-				return;
-			}
-		}
-		public void updateEnabledState() {
-			if (activeEditor != null) {
-				setEnabled(activeEditor.isCopyEnabled());
-				return;
-			}
-			if (copyAction != null) {
-				setEnabled(copyAction.isEnabled());
-				return;
-			}
-			setEnabled(false);
-		}
-	}
-	
-	private class PasteActionHandler extends Action {
-		protected PasteActionHandler() {
-			setId("CellEditorPasteActionHandler");//$NON-NLS-1$
-			setEnabled(false);
-			WorkbenchHelp.setHelp(this, IHelpContextIds.CELL_PASTE_ACTION);
-		}
-		public void runWithEvent(Event event) {
-			if (activeEditor != null) {
-				activeEditor.performPaste();
-				return;
-			}
-			if (pasteAction != null) {
-				pasteAction.runWithEvent(event);
-				return;
-			}
-		}
-		public void updateEnabledState() {
-			if (activeEditor != null) {
-				setEnabled(activeEditor.isPasteEnabled());
-				return;
-			}
-			if (pasteAction != null) {
-				setEnabled(pasteAction.isEnabled());
-				return;
-			}
-			setEnabled(false);
-		}
-	}
-	
-	private class DeleteActionHandler extends Action {
-		protected DeleteActionHandler() {
-			setId("CellEditorDeleteActionHandler");//$NON-NLS-1$
-			setEnabled(false);
-			WorkbenchHelp.setHelp(this, IHelpContextIds.CELL_DELETE_ACTION);
-		}
-		public void runWithEvent(Event event) {
-			if (activeEditor != null) {
-				activeEditor.performDelete();
-				return;
-			}
-			if (deleteAction != null) {
-				deleteAction.runWithEvent(event);
-				return;
-			}
-		}
-		public void updateEnabledState() {
-			if (activeEditor != null) {
-				setEnabled(activeEditor.isDeleteEnabled());
-				return;
-			}
-			if (deleteAction != null) {
-				setEnabled(deleteAction.isEnabled());
-				return;
-			}
-			setEnabled(false);
-		}
-	}
-	
-	private class SelectAllActionHandler extends Action {
-		protected SelectAllActionHandler() {
-			setId("CellEditorSelectAllActionHandler");//$NON-NLS-1$
-			setEnabled(false);
-			WorkbenchHelp.setHelp(this, IHelpContextIds.CELL_SELECT_ALL_ACTION);
-		}
-		public void runWithEvent(Event event) {
-			if (activeEditor != null) {
-				activeEditor.performSelectAll();
-				return;
-			}
-			if (selectAllAction != null) {
-				selectAllAction.runWithEvent(event);
-				return;
-			}
-		}
-		public void updateEnabledState() {
-			if (activeEditor != null) {
-				setEnabled(activeEditor.isSelectAllEnabled());
-				return;
-			}
-			if (selectAllAction != null) {
-				setEnabled(selectAllAction.isEnabled());
-				return;
-			}
-			setEnabled(false);
-		}
-	}
-
-	private class FindActionHandler extends Action {
-		protected FindActionHandler() {
-			setId("CellEditorFindActionHandler");//$NON-NLS-1$
-			setEnabled(false);
-			WorkbenchHelp.setHelp(this, IHelpContextIds.CELL_FIND_ACTION);
-		}
-		public void runWithEvent(Event event) {
-			if (activeEditor != null) {
-				activeEditor.performFind();
-				return;
-			}
-			if (findAction != null) {
-				findAction.runWithEvent(event);
-				return;
-			}
-		}
-		public void updateEnabledState() {
-			if (activeEditor != null) {
-				setEnabled(activeEditor.isFindEnabled());
-				return;
-			}
-			if (findAction != null) {
-				setEnabled(findAction.isEnabled());
-				return;
-			}
-			setEnabled(false);
-		}
-	}
-
-	private class UndoActionHandler extends Action {
-		protected UndoActionHandler() {
-			setId("CellEditorUndoActionHandler");//$NON-NLS-1$
-			setEnabled(false);
-			WorkbenchHelp.setHelp(this, IHelpContextIds.CELL_UNDO_ACTION);
-		}
-		public void runWithEvent(Event event) {
-			if (activeEditor != null) {
-				activeEditor.performUndo();
-				return;
-			}
-			if (undoAction != null) {
-				undoAction.runWithEvent(event);
-				return;
-			}
-		}
-		public void updateEnabledState() {
-			if (activeEditor != null) {
-				setEnabled(activeEditor.isUndoEnabled());
-				return;
-			}
-			if (undoAction != null) {
-				setEnabled(undoAction.isEnabled());
-				return;
-			}
-			setEnabled(false);
-		}
-	}
-	
-	private class RedoActionHandler extends Action {
-		protected RedoActionHandler() {
-			setId("CellEditorRedoActionHandler");//$NON-NLS-1$
-			setEnabled(false);
-			WorkbenchHelp.setHelp(this, IHelpContextIds.CELL_REDO_ACTION);
-		}
-		public void runWithEvent(Event event) {
-			if (activeEditor != null) {
-				activeEditor.performRedo();
-				return;
-			}
-			if (redoAction != null) {
-				redoAction.runWithEvent(event);
-				return;
-			}
-		}
-		public void updateEnabledState() {
-			if (activeEditor != null) {
-				setEnabled(activeEditor.isRedoEnabled());
-				return;
-			}
-			if (redoAction != null) {
-				setEnabled(redoAction.isEnabled());
-				return;
-			}
-			setEnabled(false);
-		}
-	}
-/**
- * Creates a <code>CellEditor</code> action handler
- * for the global Cut, Copy, Paste, Delete, Select All,
- * Find, Undo, and Redo of the action bar.
- *
- * @param actionBar the action bar to register global
- *    action handlers.
- */
-public CellEditorActionHandler(IActionBars actionBar) {
-	super();
-	actionBar.setGlobalActionHandler(IWorkbenchActionConstants.CUT, cellCutAction);
-	actionBar.setGlobalActionHandler(IWorkbenchActionConstants.COPY, cellCopyAction);
-	actionBar.setGlobalActionHandler(IWorkbenchActionConstants.PASTE, cellPasteAction);
-	actionBar.setGlobalActionHandler(IWorkbenchActionConstants.DELETE, cellDeleteAction);
-	actionBar.setGlobalActionHandler(IWorkbenchActionConstants.SELECT_ALL, cellSelectAllAction);
-	actionBar.setGlobalActionHandler(IWorkbenchActionConstants.FIND, cellFindAction);
-	actionBar.setGlobalActionHandler(IWorkbenchActionConstants.UNDO, cellUndoAction);
-	actionBar.setGlobalActionHandler(IWorkbenchActionConstants.REDO, cellRedoAction);
-}
-/**
- * Adds a <code>CellEditor</code> to the handler so that the
- * Cut, Copy, Paste, Delete, Select All, Find, Undo, and Redo
- * actions are redirected to it when active.
- *
- * @param editor the <code>CellEditor</code>
- */
-public void addCellEditor(CellEditor editor) {
-	if (editor == null)
-		return;
-
-	Control control = editor.getControl();
-	Assert.isNotNull(control);
-	controlToEditor.put(control, editor);
-	control.addListener(SWT.Activate, controlListener);
-	control.addListener(SWT.Deactivate, controlListener);
-
-	if (control.isFocusControl()) {
-		activeEditor = editor;
-		editor.addPropertyChangeListener(cellListener);
-		updateActionsEnableState();
-	}
-}
-/**
- * Disposes of this action handler
- */
-public void dispose() {
-	setCutAction(null);
-	setCopyAction(null);
-	setPasteAction(null);
-	setDeleteAction(null);
-	setSelectAllAction(null);
-	setFindAction(null);
-	setUndoAction(null);
-	setRedoAction(null);
-
-	Iterator enum = controlToEditor.keySet().iterator();
-	while (enum.hasNext()) {
-		Control control = (Control)enum.next();
-		if (!control.isDisposed()) {
-			control.removeListener(SWT.Activate, controlListener);
-			control.removeListener(SWT.Deactivate, controlListener);
-		}
-	}
-	controlToEditor.clear();
-
-	if (activeEditor != null)
-		activeEditor.removePropertyChangeListener(cellListener);
-	activeEditor = null;
-
-}
-/**
- * Removes a <code>CellEditor</code> from the handler
- * so that the Cut, Copy, Paste, Delete, Select All, Find
- * Undo, and Redo actions are no longer redirected to it.
- *
- * @param editor the <code>CellEditor</code>
- */
-public void removeCellEditor(CellEditor editor) {
-	if (editor == null)
-		return;
-
-	if (activeEditor == editor) {
-		activeEditor.removePropertyChangeListener(cellListener);
-		activeEditor = null;
-	}
-	
-	Control control = editor.getControl();
-	if (control != null) {
-		controlToEditor.remove(control);
-		if (!control.isDisposed()) {
-			control.removeListener(SWT.Activate, controlListener);
-			control.removeListener(SWT.Deactivate, controlListener);
-		}
-	}
-}
-/**
- * Sets the default <code>IAction</code> handler for the Copy
- * action. This <code>IAction</code> is run only if no active
- * cell editor control.
- *
- * @param action the <code>IAction</code> to run for the
- *    Copy action, or <code>null</null> if not interested.
- */
-public void setCopyAction(IAction action) {
-	if (copyAction == action)
-		return;
-
-	if (copyAction != null)
-		copyAction.removePropertyChangeListener(copyActionListener);
-		
-	copyAction = action;
-
-	if (copyAction != null)
-		copyAction.addPropertyChangeListener(copyActionListener);
-
-	cellCopyAction.updateEnabledState();
-}
-/**
- * Sets the default <code>IAction</code> handler for the Cut
- * action. This <code>IAction</code> is run only if no active
- * cell editor control.
- *
- * @param action the <code>IAction</code> to run for the
- *    Cut action, or <code>null</null> if not interested.
- */
-public void setCutAction(IAction action) {
-	if (cutAction == action)
-		return;
-
-	if (cutAction != null)
-		cutAction.removePropertyChangeListener(cutActionListener);
-		
-	cutAction = action;
-
-	if (cutAction != null)
-		cutAction.addPropertyChangeListener(cutActionListener);
-
-	cellCutAction.updateEnabledState();
-}
-/**
- * Sets the default <code>IAction</code> handler for the Delete
- * action. This <code>IAction</code> is run only if no active
- * cell editor control.
- *
- * @param action the <code>IAction</code> to run for the
- *    Delete action, or <code>null</null> if not interested.
- */
-public void setDeleteAction(IAction action) {
-	if (deleteAction == action)
-		return;
-
-	if (deleteAction != null)
-		deleteAction.removePropertyChangeListener(deleteActionListener);
-		
-	deleteAction = action;
-
-	if (deleteAction != null)
-		deleteAction.addPropertyChangeListener(deleteActionListener);
-
-	cellDeleteAction.updateEnabledState();
-}
-/**
- * Sets the default <code>IAction</code> handler for the Find
- * action. This <code>IAction</code> is run only if no active
- * cell editor control.
- *
- * @param action the <code>IAction</code> to run for the
- *    Find action, or <code>null</null> if not interested.
- */
-public void setFindAction(IAction action) {
-	if (findAction == action)
-		return;
-
-	if (findAction != null)
-		findAction.removePropertyChangeListener(findActionListener);
-		
-	findAction = action;
-
-	if (findAction != null)
-		findAction.addPropertyChangeListener(findActionListener);
-
-	cellFindAction.updateEnabledState();
-}
-/**
- * Sets the default <code>IAction</code> handler for the Paste
- * action. This <code>IAction</code> is run only if no active
- * cell editor control.
- *
- * @param action the <code>IAction</code> to run for the
- *    Paste action, or <code>null</null> if not interested.
- */
-public void setPasteAction(IAction action) {
-	if (pasteAction == action)
-		return;
-
-	if (pasteAction != null)
-		pasteAction.removePropertyChangeListener(pasteActionListener);
-		
-	pasteAction = action;
-
-	if (pasteAction != null)
-		pasteAction.addPropertyChangeListener(pasteActionListener);
-
-	cellPasteAction.updateEnabledState();
-}
-/**
- * Sets the default <code>IAction</code> handler for the Redo
- * action. This <code>IAction</code> is run only if no active
- * cell editor control.
- *
- * @param action the <code>IAction</code> to run for the
- *    Redo action, or <code>null</null> if not interested.
- */
-public void setRedoAction(IAction action) {
-	if (redoAction == action)
-		return;
-
-	if (redoAction != null)
-		redoAction.removePropertyChangeListener(redoActionListener);
-		
-	redoAction = action;
-
-	if (redoAction != null)
-		redoAction.addPropertyChangeListener(redoActionListener);
-
-	cellRedoAction.updateEnabledState();
-}
-/**
- * Sets the default <code>IAction</code> handler for the Select All
- * action. This <code>IAction</code> is run only if no active
- * cell editor control.
- *
- * @param action the <code>IAction</code> to run for the
- *    Select All action, or <code>null</null> if not interested.
- */
-public void setSelectAllAction(IAction action) {
-	if (selectAllAction == action)
-		return;
-
-	if (selectAllAction != null)
-		selectAllAction.removePropertyChangeListener(selectAllActionListener);
-		
-	selectAllAction = action;
-
-	if (selectAllAction != null)
-		selectAllAction.addPropertyChangeListener(selectAllActionListener);
-
-	cellSelectAllAction.updateEnabledState();
-}
-/**
- * Sets the default <code>IAction</code> handler for the Undo
- * action. This <code>IAction</code> is run only if no active
- * cell editor control.
- *
- * @param action the <code>IAction</code> to run for the
- *    Undo action, or <code>null</null> if not interested.
- */
-public void setUndoAction(IAction action) {
-	if (undoAction == action)
-		return;
-
-	if (undoAction != null)
-		undoAction.removePropertyChangeListener(undoActionListener);
-		
-	undoAction = action;
-
-	if (undoAction != null)
-		undoAction.addPropertyChangeListener(undoActionListener);
-
-	cellUndoAction.updateEnabledState();
-}
-/**
- * Updates the enable state of the Cut, Copy,
- * Paste, Delete, Select All, Find, Undo, and
- * Redo action handlers
- */
-private void updateActionsEnableState() {
-	cellCutAction.updateEnabledState();
-	cellCopyAction.updateEnabledState();
-	cellPasteAction.updateEnabledState();
-	cellDeleteAction.updateEnabledState();
-	cellSelectAllAction.updateEnabledState();
-	cellFindAction.updateEnabledState();
-	cellUndoAction.updateEnabledState();
-	cellRedoAction.updateEnabledState();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/CoolItemGroupMarker.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/CoolItemGroupMarker.java
deleted file mode 100644
index 91070fa..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/CoolItemGroupMarker.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.GroupMarker;
-
-/**
- * A group marker used by EditorActionBars to delineate CoolItem groups.
- * Use this marker when contributing to the ToolBar for the EditorActionBar.  
- * 
- * Note that this class was introduced to address [Bug 17477], is experimental, 
- * and may change.
- * 
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class CoolItemGroupMarker extends GroupMarker {
-/**
- * Create a new group marker with the given name.
- * The group name must not be <code>null</code> or the empty string.
- * The group name is also used as the item id.
- * 
- * Note that CoolItemGroupMarkers must have a group name and the name must
- * be unique.
- * 
- * @param groupName the name of the group
- */
-public CoolItemGroupMarker(String groupName) {
-	super(groupName);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/DrillDownAdapter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/DrillDownAdapter.java
deleted file mode 100644
index 0302e7f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/DrillDownAdapter.java
+++ /dev/null
@@ -1,297 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.ui.internal.*;
-
-/**
- * Implements a simple web style navigation metaphor for a <code>TreeViewer</code>.  
- * Home, back, and "drill into" functions are supported for the viewer,
- * <p>
- * To use the <code>DrillDownAdapter</code> ..
- * </p>
- * <ul>
- * <li>Create an instance of <code>TreeViewer</code>. </li>
- * <li>Create a <code>DrillDownAdapter</code> for the viewer. </li>
- * <li>Create a container for your viewer with a toolbar or a popup menu.
- *		Add actions for "goBack", "goHome", and "goInto" to either one by calling
- *		</code>addNavigationActions</code> with the popup menu or toolbar.</li>
- * </ol>
- * <p>
- * If the input for the underlying viewer is changed by something other than the 
- * adapter the <code>reset</code> method should be called.  This will clear
- * the drill stack and update the navigation buttons to reflect the new 
- * state of the underlying viewer.
- * </p>
- * </p>
- */
-public class DrillDownAdapter implements ISelectionChangedListener 
-{
-	private TreeViewer fChildTree;
-	private DrillStack fDrillStack;
-	private Action homeAction;
-	private Action backAction;
-	private Action forwardAction;
-/**
- * Allocates a new DrillDownTreePart.
- *
- * @param tree the target tree for refocusing
- */
-public DrillDownAdapter(TreeViewer tree) {
-	fDrillStack = new DrillStack();
-	fChildTree = tree;
-}
-/**
- * Adds actions for "go back", "go home", and "go into" to a menu manager.
- *
- * @param manager is the target manager to update
- */
-public void addNavigationActions(IMenuManager manager) {
-	createActions();
-	manager.add(homeAction);
-	manager.add(backAction);
-	manager.add(forwardAction);
-	updateNavigationButtons();
-}
-/**
- * Adds actions for "go back", "go home", and "go into" to a tool bar manager.
- *
- * @param manager is the target manager to update
- */
-public void addNavigationActions(IToolBarManager toolBar) {
-	createActions();
-	toolBar.add(homeAction);
-	toolBar.add(backAction);
-	toolBar.add(forwardAction);
-	updateNavigationButtons();
-}
-/**
- * Returns whether expansion is possible for the current selection.  This
- * will only be true if it has children.
- *
- * @param element the object to test for expansion
- * @return <code>true</code> if expansion is possible; otherwise 
- *		return <code>false</code
- */
-public boolean canExpand(Object element) {
-	return fChildTree.isExpandable(element);
-}
-/**
- * Returns whether "go back" is possible for child tree.  This is only possible 
- * if the client has performed one or more drilling operations.
- *
- * @return <code>true</code> if "go back" is possible; <code>false</code> otherwise
- */
-public boolean canGoBack() {
-	return fDrillStack.canGoBack();
-}
-/**
- * Returns whether "go home" is possible for child tree.  This is only possible 
- * if the client has performed one or more drilling operations.
- *
- * @return <code>true</code> if "go home" is possible; <code>false</code> otherwise
- */
-public boolean canGoHome() {
-	return fDrillStack.canGoHome();
-}
-/**
- * Returns whether "go into" is possible for child tree.  This is only possible 
- * if the current selection in the client has one item and it has children.
- *
- * @return <code>true</code> if "go into" is possible; <code>false</code> otherwise
- */
-public boolean canGoInto() {
-	IStructuredSelection oSelection = (IStructuredSelection) fChildTree.getSelection();
-	if (oSelection == null || oSelection.size() != 1)
-		return false;
-	Object anElement = oSelection.getFirstElement();
-	return canExpand(anElement);
-}
-/**
- * Create the actions for navigation.
- *
- * @param tree the target tree for refocusing
- */
-private void createActions() {
-	// Only do this once.
-	if (homeAction != null)
-		return;
-
-	// Home.	
-	homeAction = new Action(WorkbenchMessages.getString("GoHome.text")) { //$NON-NLS-1$
-		public void run() {
-			goHome();
-		}
-	};
-	homeAction.setToolTipText(WorkbenchMessages.getString("GoHome.toolTip")); //$NON-NLS-1$
-	ImageDescriptor image = WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_HOME_NAV);
-	homeAction.setImageDescriptor(image);
-	homeAction.setHoverImageDescriptor(image);
-
-	// Back.
-	backAction = new Action(WorkbenchMessages.getString("GoBack.text")) { //$NON-NLS-1$
-		public void run() {
-			goBack();
-		}
-	};
-	backAction.setToolTipText(WorkbenchMessages.getString("GoBack.toolTip")); //$NON-NLS-1$
-	image = WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_BACKWARD_NAV);
-	backAction.setImageDescriptor(image);
-	backAction.setHoverImageDescriptor(image);
-
-	// Forward.
-	forwardAction = new Action(WorkbenchMessages.getString("GoInto.text")) { //$NON-NLS-1$
-		public void run() {
-			goInto();
-		}
-	};
-	forwardAction.setToolTipText(WorkbenchMessages.getString("GoInto.toolTip")); //$NON-NLS-1$
-	image = WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_CTOOL_FORWARD_NAV);
-	forwardAction.setImageDescriptor(image);
-	forwardAction.setHoverImageDescriptor(image);
-
-	// Update the buttons when a selection change occurs.
-	fChildTree.addSelectionChangedListener(this);
-	updateNavigationButtons();
-}
-/**
- * Expands the given items in the tree.  The list of items passed should be
- * derived by calling <code>getExpanded</code>.
- *
- * @param items is a list of items within the tree which should be expanded
- */
-private void expand(List items) { 
-	fChildTree.setExpandedElements(items.toArray()); 
-}
-/**
- * Returns a list of elements corresponding to expanded nodes in 
- * child tree.
- *
- * @return a list of expandd elements
- */
-private List getExpanded() {
-	return Arrays.asList(fChildTree.getExpandedElements());
-}
-/**
- * Reverts the input for the tree back to the state when <code>goInto</code>
- * was last called.
- * <p>
- * A frame is removed from the drill stack.  Then that frame is used to reset the
- * input and expansion state for the child tree.
- * </p>
- */
-public void goBack() {
-	Object currentInput = fChildTree.getInput();
-	DrillFrame oFrame = fDrillStack.goBack();
-	Object input = oFrame.getElement();
-	fChildTree.setInput(input);
-	expand(oFrame.getExpansion());
-	// if there was a selection, it should have been preserved,
-	// but if not, select the element that was drilled into
-	if (fChildTree.getSelection().isEmpty())
-		fChildTree.setSelection(new StructuredSelection(currentInput), true);
-	updateNavigationButtons();
-}
-/**
- * Reverts the input for the tree back to the state when the adapter was
- * created.
- * <p>
- * All of the frames are removed from the drill stack.  Then the oldest frame is 
- * used to reset the input and expansion state for the child tree.
- * </p>
- */
-public void goHome() {
-	Object currentInput = fChildTree.getInput();
-	DrillFrame oFrame = fDrillStack.goHome();
-	Object input = oFrame.getElement();
-	fChildTree.setInput(input);
-	expand(oFrame.getExpansion());
-	// if there was a selection, it should have been preserved,
-	// but if not, select the element that was last drilled into
-	if (fChildTree.getSelection().isEmpty())
-		fChildTree.setSelection(new StructuredSelection(currentInput), true);
-	updateNavigationButtons();
-}
-/**
- * Sets the input for the tree to the current selection.
- * <p>
- * The current input and expansion state are saved in a frame and added to the 
- * drill stack.  Then the input for the tree is changed to be the current selection.  
- * The expansion state for the tree is maintained during the operation.
- * </p><p>
- * On return the client may revert back to the previous state by invoking 
- * <code>goBack</code> or <code>goHome</code>.
- * </p>
- */
-public void goInto() {
-	IStructuredSelection sel = (IStructuredSelection) fChildTree.getSelection();
-	Object element = sel.getFirstElement();
-	goInto(element);
-}
-/**
- * Sets the input for the tree to a particular item in the tree.
- * <p>
- * The current input and expansion state are saved in a frame and added to the 
- * drill stack.  Then the input for the tree is changed to be <code>newInput</code>.  
- * The expansion state for the tree is maintained during the operation.
- * </p><p>
- * On return the client may revert back to the previous state by invoking 
- * <code>goBack</code> or <code>goHome</code>.
- * </p>
- *
- * @param newInput the new input element
- */
-public void goInto(Object newInput) {
-	// If we can drill ..
-	if (canExpand(newInput)) 
-	{
-		// Save the old state.
-		Object oldInput = fChildTree.getInput();
-		List expandedList = getExpanded();
-		fDrillStack.add(new DrillFrame(oldInput, "null", expandedList));//$NON-NLS-1$
-		
-		// Install the new state.
-		fChildTree.setInput(newInput);
-		expand(expandedList);
-		updateNavigationButtons();
-	}
-}
-/**
- * Resets the drill down adapter. 
- * <p>
- * This method is typically called when the input for the underlying view
- * is reset by something other than the adapter.
- * On return the drill stack has been cleared and the navigation buttons
- * reflect the new state of the underlying viewer.
- * </p>
- */
-public void reset() {
-	fDrillStack.reset();
-	updateNavigationButtons();
-}
-/**
- * Updates the navigation buttons when a selection change occurs
- * in the tree.
- */
-public void selectionChanged(SelectionChangedEvent event) {
-	updateNavigationButtons();
-}
-/**
- * Updates the enabled state for each navigation button.  
- */
-protected void updateNavigationButtons() {
-	if (homeAction != null) {
-		homeAction.setEnabled(canGoHome());
-		backAction.setEnabled(canGoBack());
-		forwardAction.setEnabled(canGoInto());
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/DrillDownComposite.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/DrillDownComposite.java
deleted file mode 100644
index 79c504e..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/DrillDownComposite.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.layout.*;
-
-/**
- * Class <code>DrillDownComposite</code> implements a simple web
- * style navigation metaphor.  Home, back, and "drill into" buttons are
- * added to a tree viewer for easier navigation.
- * <p>
- * To use the DrillDownComposite..
- * </p>
- * <ul>
- * <li>Create an instance of <code>DrillDownComposite</code>.</li>
- * <li>Create a tree viewer.  </li>
- * <li>Pass the second tree viewer into the composite by 
- *   calling <code>setChildTree</code>.</li>
- * </ol>
- */
-public class DrillDownComposite extends Composite
-{
-	private ToolBarManager toolBarMgr;
-	private TreeViewer fChildTree;
-	private DrillDownAdapter adapter;
-/**
- * Constructs a new DrillDownTreeViewer.
- *
- * @param parent the parent composite for this control
- * @param style the SWT style for this control
- */
-public DrillDownComposite(Composite parent, int style) {
-	super(parent, style);
-	createNavigationButtons();
-}
-/**
- * Creates the navigation buttons for this viewer.
- */
-protected void createNavigationButtons() 
-{
-	GridData gid;
-	GridLayout layout;
-
-	// Define layout.
-	layout = new GridLayout();
-	layout.marginHeight = layout.marginWidth = 
-		layout.horizontalSpacing = layout.verticalSpacing = 0;
-	setLayout(layout);
-
-	// Create a toolbar.
-	toolBarMgr = new ToolBarManager(SWT.FLAT);
-	ToolBar toolBar = toolBarMgr.createControl(this);
-	gid = new GridData();
-	gid.horizontalAlignment = GridData.FILL;
-	gid.verticalAlignment = GridData.BEGINNING;
-	toolBar.setLayoutData(gid);
-}
-/**
- * Sets the child viewer.  This method should only be called once, after the
- * viewer has been created.
- *
- * @param aViewer the new child viewer
- */
-public void setChildTree(TreeViewer aViewer) {
-	// Save viewer.
-	fChildTree = aViewer;
-
-	// Create adapter.
-	adapter = new DrillDownAdapter(fChildTree);
-	adapter.addNavigationActions(toolBarMgr);
-	toolBarMgr.update(true);
-	
-	// Set tree layout.
-	GridData gid = new GridData();
-	gid.grabExcessHorizontalSpace = gid.grabExcessVerticalSpace = true;
-	gid.horizontalAlignment = gid.verticalAlignment = GridData.FILL;
-	fChildTree.getTree().setLayoutData(gid);
-	layout();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/DrillFrame.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/DrillFrame.java
deleted file mode 100644
index 63f1284..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/DrillFrame.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.List;
-
-/* (non-Javadoc)
- * A <code>DrillFrame</code> is used to record the input element and
- * selection state for one frame in a <code>DrillDownTreeViewer</code>.
- * This class is not intended for use beyond the package.
- */
-/* package */ class DrillFrame {
-	Object fElement;
-	Object fPropertyName;
-	List fExpansion = null;
-/**
- * Allocates a new DrillFrame.
- *
- * @param oElement the tree input element
- * @param strPropertyName the visible tree property
- * @param vExpansion the current expansion state of the tree
- */ 
-public DrillFrame(Object oElement, Object strPropertyName, List vExpansion) {
-	fElement = oElement;
-	fPropertyName = strPropertyName;
-	fExpansion = vExpansion;
-}
-	/**
-	 * Compares two Objects for equality.
-	 * <p>
-	 *
-	 * @param   obj   the reference object with which to compare.
-	 * @return  <code>true</code> if this object is the same as the obj
-	 *          argument; <code>false</code> otherwise.
-	 */
-	public boolean equals(Object obj) {
-		// Compare handles.
-		if (this == obj)
-			return true;
-
-		// Compare class.
-		if (!(obj instanceof DrillFrame))
-			return false;
-			
-		// Compare contents.
-		DrillFrame oOther = (DrillFrame)obj;
-		return ((fElement == oOther.fElement) && 
-			(fPropertyName.equals(oOther.fPropertyName)));
-	}
-/**
- * Returns the input element.
- *
- * @return the input element
- */ 
-public Object getElement() {
-	return fElement;
-}
-/**
- * Returns the expansion state for a tree.
- *
- * @return the expansion state for a tree
- */ 
-public List getExpansion() {
-	return fExpansion;
-}
-/**
- * Returns the property name.
- *
- * @return the property name
- */ 
-public Object getPropertyName() {
-	return fPropertyName;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/DrillStack.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/DrillStack.java
deleted file mode 100644
index 1a42ca7..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/DrillStack.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.Stack;
-
-/* (non-Javadoc)
- * A <code>DrillStack</code> manages a stack of DrillFrames.
- * This class is not intended for use beyond the package.
- */
-/* package */ class DrillStack {
-	Stack fStack = null;
-/**
- * Allocates a new DrillStack.
- */
-public DrillStack() {
-	reset();
-}
-/**
- * Adds a drill frame to the stack.
- *
- * @param oRecord the new drill frame
- */
-public DrillFrame add(DrillFrame oRecord) {
-	fStack.push(oRecord);
-	return oRecord;
-}
-/**
- * Returns true if backward navigation is possible.  This is only true
- * if the stack size is greater than 0.
- *
- * @return true if backward navigation is possible
- */
-public boolean canGoBack() {
-	return (fStack.size() > 0);
-}
-/**
- * Returns true if "go home" is possible.  This is only true
- * if the stack size is greater than 0.
- *
- * @return true if "go home" is possible
- */
-public boolean canGoHome() {
-	return (fStack.size() > 0);
-}
-/**
- * Navigate backwards one record.
- */
-public DrillFrame goBack() {
-	DrillFrame aFrame = (DrillFrame)fStack.pop();
-	return aFrame;
-}
-/**
- * Navigate to the home record.
- */
-public DrillFrame goHome() {
-	DrillFrame aFrame = (DrillFrame)fStack.elementAt(0);
-	reset();
-	return aFrame;
-}
-/**
- * Clears the navigation stack.
- */
-public void reset() {
-	fStack = new Stack();
-}
-/**
- * Returns the stack size.
- *
- * @return the stack size
- */
-public int size() {
-	return fStack.size();
-}
-/**
- * Returns the top element on the stack.
- *
- * @return the top element on the stack
- */
-public DrillFrame top() {
-	return (DrillFrame)fStack.peek();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/EditorActionBarContributor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/EditorActionBarContributor.java
deleted file mode 100644
index 02de499..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/EditorActionBarContributor.java
+++ /dev/null
@@ -1,155 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.CoolItemMultiToolBarManager;
-
-/**
- * Standard implementation of <code>IEditorActionBarContributor</code>.
- * <p>
- * If instantiated and used as-is, nothing is contribututed. Clients should
- * subclass in order to contribute to some or all of the action bars.
- * <p>
- * Subclasses may reimplement the following methods:
- * <ul>
- *   <li><code>contributeToMenu</code> - reimplement to contribute to menu</li>
- *   <li><code>contributeToToolBar</code> - reimplement to contribute to tool
- *     bar</li>
- *   <li><code>contributeToStatusLine</code> - reimplement to contribute to 
- *     status line</li>
- *   <li><code>setActiveEditor</code> - reimplement to react to editor changes</li>
- * </ul>
- * </p>
- */
-public class EditorActionBarContributor 
-	implements IEditorActionBarContributor 
-{
-	/**
-	 * The action bars; <code>null</code> until <code>init</code> is called.
-	 */
-	private IActionBars bars;
-	/**
-	 * The workbench page; <code>null</code> until <code>init</code> is called.
-	 */
-	private IWorkbenchPage page;
-/**
- * Creates an empty editor action bar contributor. The action bars are
- * furnished later via the <code>init</code> method.
- */
-public EditorActionBarContributor() {
-}
-/**
- * Contributes to the given menu.
- * <p>
- * The <code>EditorActionBarContributor</code> implementation of this method
- * does nothing. Subclasses may reimplement to add to the menu portion of this
- * contribution.
- * </p>
- *
- * @param menuManager the manager that controls the menu
- */
-public void contributeToMenu(IMenuManager menuManager) {
-}
-/**
- * Contributes to the given status line.
- * <p>
- * The <code>EditorActionBarContributor</code> implementation of this method
- * does nothing. Subclasses may reimplement to add to the status line portion of
- * this contribution.
- * </p>
- *
- * @param statusLineManager the manager of the status line
- */
-public void contributeToStatusLine(IStatusLineManager statusLineManager) {
-}
-/**
- * Contributes to the given tool bar.
- * <p>
- * The <code>EditorActionBarContributor</code> implementation of this method
- * does nothing. Subclasses may reimplement to add to the tool bar portion of
- * this contribution.
- * </p>
- *
- * @param toolBarManager the manager that controls the workbench tool bar
- */
-public void contributeToToolBar(IToolBarManager toolBarManager) {
-}
-/**
- * Returns this contributor's action bars.
- *
- * @return the action bars
- */
-public IActionBars getActionBars() {
-	return bars;
-}
-/**
- * Returns this contributor's workbench page.
- *
- * @return the workbench page
- */
-public IWorkbenchPage getPage() {
-	return page;
-}
-/**
- * The <code>EditorActionBarContributor</code> implementation of this 
- * <code>IEditorActionBarContributor</code> method does nothing,
- * subclasses may override.
- */
-public void dispose() {
-}
-
-/**
- * The <code>EditorActionBarContributor</code> implementation of this 
- * <code>IEditorActionBarContributor</code> method remembers the page
- * then forwards the call to <code>init(IActionBars)</code> for
- * backward compatibility
- */
-public void init(IActionBars bars, IWorkbenchPage page) {
-	this.page = page;
-	init(bars);
-}
-/**
- * This method calls:
- * <ul>
- *  <li><code>contributeToMenu</code> with <code>bars</code>' menu manager</li>
- *  <li><code>contributeToToolBar</code> with <code>bars</code>' tool bar
- *    manager</li>
- *  <li><code>contributeToStatusLine</code> with <code>bars</code>' status line
- *    manager</li>
- * </ul>
- * The given action bars are also remembered and made accessible via 
- * <code>getActionBars</code>.
- * 
- * @param bars the action bars
- */
-public void init(IActionBars bars) {
-	this.bars = bars;
-	contributeToMenu(bars.getMenuManager());
-	contributeToToolBar(bars.getToolBarManager());
-	contributeToStatusLine(bars.getStatusLineManager());
-	// If the editor action bar supports multiple CoolItems, create
-	// those cool items.  Workaround for [Bug 17477].
-	IToolBarManager tBarMgr = bars.getToolBarManager();
-	if (tBarMgr instanceof CoolItemMultiToolBarManager) {
-		((CoolItemMultiToolBarManager)tBarMgr).createCoolBarContributionItems();
-	}
-		
-}
-/**
- * Sets the active editor for the contributor.
- * <p>
- * The <code>EditorActionBarContributor</code> implementation of this method does
- * nothing. Subclasses may reimplement. This generally entails disconnecting
- * from the old editor, connecting to the new editor, and updating the actions
- * to reflect the new editor.
- * </p>
- * 
- * @param targetEditor the new target editor
- */
-public void setActiveEditor(IEditorPart targetEditor) {
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/EditorInputTransfer.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/EditorInputTransfer.java
deleted file mode 100644
index d73edb5..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/EditorInputTransfer.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/************************************************************************
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-	IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.part;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.io.StringReader;
-import java.io.StringWriter;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.swt.dnd.ByteArrayTransfer;
-import org.eclipse.swt.dnd.TransferData;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IElementFactory;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.XMLMemento;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * The <code>EditorInputTransfer</code> class is used to transfer an
- * <code>IEditorInput</code> and corresponding editorId from one part to another
- * in a drag and drop operation.  Only opening of internal editors is supported.
- * <p> 
- * In every drag and drop operation there is a <code>DragSource</code> and a
- * <code>DropTarget</code>.  When a drag occurs a <code>Transfer</code> is used
- * to marshall the drag data from the source into a byte array.  If a drop
- * occurs another <code>Transfer</code> is used to marshall the byte array into
- * drop data for the target.
- * </p>
- * <p>
- * This class can be used for a <code>Viewer</code> or an SWT component directly.
- * A singleton is provided which may be serially reused (see <code>getInstance</code>).  
- * For an implementor of <code>IEditorInput</code> to be supported by
- * <code>EditorInputTransfer</code>, it must provide a proper implementation of
- * <code>IEditorInput</code>.<code>getPersistable</code>.  For further details,
- * consult the <code>org.eclipse.ui.elementFactories</code> extension point.
- * </p>
- * <p> 
- * The data for a transfer is represented by the <code>EditorInputData</code>
- * class, and a convenience method <code>createEditorInputData</code> is
- * provided.  A <code>DragSource</code>.<code>dragSetData</code> implementation
- * should set the data to an array of <code>EditorInputData</code>.  In this
- * way, the dragging of multiple editor inputs is supported.
- * </p>
- * <p>
- * Below is an example of how to set set the data for dragging a single editor
- * input using a <code>EditorInputTransfer</code>.
- * </p>
- * <p>
- * <pre>
- * public void dragSetData(DragSourceEvent event) {
- * 		if (EditorInputTransfer.getInstance().isSupportedType(event.dataType)) {
- * 
- * 			EditorInputTransfer.EditorInputData data = 
- * 				EditorInputTransfer.
- * 				createEditorInputData(EDITOR_ID, getEditorInput());
- * 			event.data = new EditorInputTransfer.EditorInputData [] {data};
- * 		}
- * }
- * </pre>
- * </p>
- *
- * @see StructuredViewer
- * @see DropTarget
- * @see DragSource
- * @see IEditorInput
- * @see IPersistableElement
- * @see IElementFactory
- */
-public class EditorInputTransfer extends ByteArrayTransfer {
-
-	/**
-	 * Singleton instance.
-	 */
-	private static final EditorInputTransfer instance =
-		new EditorInputTransfer();
-
-	// Create a unique ID to make sure that different Eclipse
-	// applications use different "types" of <code>EditorInputTransfer</code>
-	private static final String TYPE_NAME = "editor-input-transfer-format:" + System.currentTimeMillis() + ":" + instance.hashCode(); //$NON-NLS-2$//$NON-NLS-1$
-
-	private static final int TYPEID = registerType(TYPE_NAME);
-
-	public static class EditorInputData {
-
-		public String editorId;
-		public IEditorInput input;
-		
-		private EditorInputData(String editorId, IEditorInput input) {
-			this.editorId = editorId;
-			this.input = input;
-		}
-	}
-
-	/**
-	 * Creates a new transfer object.
-	 */
-	private EditorInputTransfer() {
-	}
-	/**
-	 * Returns the singleton instance.
-	 *
-	 * @return the singleton instance
-	 */
-	public static EditorInputTransfer getInstance() {
-		return instance;
-	}
-	/* (non-Javadoc)
-	 * Method declared on Transfer.
-	 */
-	protected int[] getTypeIds() {
-		return new int[] { TYPEID };
-	}
-	/* (non-Javadoc)
-	 * Returns the type names.
-	 *
-	 * @return the list of type names
-	 */
-	protected String[] getTypeNames() {
-		return new String[] { TYPE_NAME };
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on Transfer.
-	 */
-	public void javaToNative(Object data, TransferData transferData) {
-		
-		if (!(data instanceof EditorInputData[])) {
-			return;
-		}
-
-		EditorInputData[] editorInputs = (EditorInputData[]) data;
-		/**
-		 * The editor input serialization format is:
-		 * (int)	number of editor inputs
-		 * Then, the following for each editor input:
-		 * (String)	editorId
-		 * (String)	factoryId 
-		 * (String)	data used to recreate the IEditorInput
-		 */
-
-		int editorInputCount = editorInputs.length;
-
-		try {
-			ByteArrayOutputStream out = new ByteArrayOutputStream();
-			DataOutputStream dataOut = new DataOutputStream(out);
-
-			//write the number of resources
-			dataOut.writeInt(editorInputCount);
-
-			//write each resource
-			for (int i = 0; i < editorInputs.length; i++) {
-				writeEditorInput(dataOut, editorInputs[i]);
-			}
-
-			//cleanup
-			dataOut.close();
-			out.close();
-			byte[] bytes = out.toByteArray();
-			super.javaToNative(bytes, transferData);
-		} catch (IOException e) {}
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on Transfer.
-	 */
-	public Object nativeToJava(TransferData transferData) {
-
-		byte[] bytes = (byte[]) super.nativeToJava(transferData);
-		if (bytes == null)
-			return null;
-		DataInputStream in = new DataInputStream(new ByteArrayInputStream(bytes));
-		try {
-			int count = in.readInt();
-			EditorInputData[] results = new EditorInputData[count];
-			for (int i = 0; i < count; i++) {
-				results[i] = readEditorInput(in);
-			}
-			return results;
-		} catch (IOException e) {
-			return null;
-		} catch (WorkbenchException e) {
-			return null;
-		}
-
-	}
-	/**
-	 * Method readEditorInput.
-	 * @param in
-	 * @return EditorInputData
-	 */
-	private EditorInputData readEditorInput(DataInputStream dataIn) throws IOException, WorkbenchException {
-		
-		String editorId = dataIn.readUTF();
-		String factoryId = dataIn.readUTF();
-		String xmlString = dataIn.readUTF();
-		
-		if(xmlString == null || xmlString.length() == 0)
-			return null; 
-
-		StringReader reader = new StringReader(xmlString);
-	
-		// Restore the editor input
-		XMLMemento memento = XMLMemento.createReadRoot(reader);
-		
-		IElementFactory factory = WorkbenchPlugin.getDefault().getElementFactory(factoryId);
-		
-		if (factory != null) {
-			IAdaptable adaptable = factory.createElement(memento);
-			if (adaptable != null && (adaptable instanceof IEditorInput)) {
-				return new EditorInputData(editorId, (IEditorInput) adaptable);
-			}
-		}
-
-		return null;
-	}
-	/**
-	 * Method writeEditorInput.
-	 * @param dataOut
-	 * @param editorInputData
-	 */
-	private void writeEditorInput(DataOutputStream dataOut, EditorInputData editorInputData) throws IOException {
-		//write the id of the editor
-		dataOut.writeUTF(editorInputData.editorId);
-		
-		//write the information needed to recreate the editor input
-		if (editorInputData.input != null) {
-			// Capture the editor information
-			XMLMemento memento = XMLMemento.createWriteRoot("IEditorInput");//$NON-NLS-1$
-
-			IPersistableElement element = editorInputData.input.getPersistable();
-			if (element != null) {
-				//get the IEditorInput to save its state
-				element.saveState(memento);
-				
-				//convert memento to String
-				StringWriter writer = new StringWriter();
-				memento.save(writer);
-				writer.close();
-				
-				//write the factor ID and state information
-				dataOut.writeUTF(element.getFactoryId());
-				dataOut.writeUTF(writer.toString());
-			}
-		}		
-	}
-
-	public static EditorInputData createEditorInputData(String editorId, IEditorInput input) {
-		return new EditorInputData(editorId, input);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/EditorPart.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/EditorPart.java
deleted file mode 100644
index c5293ad..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/EditorPart.java
+++ /dev/null
@@ -1,178 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.ui.*;
-
-/**
- * Abstract base implementation of all workbench editors.
- * <p>
- * This class should be subclassed by clients wishing to define new editors.
- * The name of the subclass should be given as the <code>"class"</code> 
- * attribute in a <code>editor</code> extension contributed to the workbench's
- * view extension point (named <code>"org.eclipse.ui.editors"</code>).
- * For example, the plug-in's XML markup might contain:
- * <pre>
- * &LT;extension point="org.eclipse.ui.editors"&GT;
- *      &LT;editor id="com.example.myplugin.ed"
- *         name="My Editor"
- *         icon="./images/cedit.gif"
- * 		   extensions="foo" 
- * 		   class="com.example.myplugin.MyFooEditor" 
- * 		   contributorClass="com.example.myplugin.MyFooEditorContributor" 
- *      /&GT;
- * &LT;/extension&GT;
- * </pre>
- * where <code>com.example.myplugin.MyEditor</code> is the name of the
- * <code>EditorPart</code> subclass.
- * </p>
- * <p>
- * Subclasses must implement the following methods:
- * <ul>
- *   <li><code>IEditorPart.init</code> - to initialize editor when assigned its site</li>
- *   <li><code>IWorkbenchPart.createPartControl</code> - to create the editor's controls </li>
- *   <li><code>IWorkbenchPart.setFocus</code> - to accept focus</li>
- *   <li><code>IEditorPart.isDirty</code> - to decide whether a significant change has
- *       occurred</li>
- *   <li><code>IEditorPart.doSave</code> - to save contents of editor</li>
- *   <li><code>IEditorPart.doSaveAs</code> - to save contents of editor</li>
- *   <li><code>IEditorPart.isSaveAsAllowed</code> - to control Save As</li>
- *   <li><code>IEditorPart.gotoMarker</code> - to make selections based on markers</li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may extend or reimplement the following methods as required:
- * <ul>
- *   <li><code>IExecutableExtension.setInitializationData</code> - extend to provide additional 
- *       initialization when editor extension is instantiated</li>
- *   <li><code>IWorkbenchPart.dispose</code> - extend to provide additional cleanup</li>
- *   <li><code>IAdaptable.getAdapter</code> - reimplement to make the editor
- *       adaptable</li>
- * </ul>
- * </p>
- */
-public abstract class EditorPart extends WorkbenchPart implements IEditorPart {
-
-	/**
-	 * Editor input, or <code>null</code> if none.
-	 */
-	private IEditorInput editorInput = null;
-/**
- * Creates a new workbench editor.
- */
-protected EditorPart() {
-	super();
-}
-/* (non-Javadoc)
- * Saves the contents of this editor.
- * <p>
- * Subclasses must override this method to implement the open-save-close lifecycle
- * for an editor.  For greater details, see <code>IEditorPart</code>
- * </p>
- *
- * @see IEditorPart
- */
-public abstract void doSave(IProgressMonitor monitor);
-/* (non-Javadoc)
- * Saves the contents of this editor to another object.
- * <p>
- * Subclasses must override this method to implement the open-save-close lifecycle
- * for an editor.  For greater details, see <code>IEditorPart</code>
- * </p>
- *
- * @see IEditorPart
- */
-public abstract void doSaveAs();
-/* (non-Javadoc)
- * Method declared on IEditorPart.
- */
-public IEditorInput getEditorInput() {
-	return editorInput;
-}
-/* (non-Javadoc)
- * Method declared on IEditorPart.
- */
-public IEditorSite getEditorSite() {
-	return (IEditorSite)getSite();
-}
-/* (non-Javadoc)
- * Gets the title tool tip text of this part.
- *
- * @return the tool tip text
- */
-public String getTitleToolTip() {
-	if (editorInput == null)
-		return super.getTitleToolTip();
-	else
-		return editorInput.getToolTipText();
-}
-/* (non-Javadoc)
- * Sets the cursor and selection state for this editor to the passage defined
- * by the given marker.
- * <p>
- * Subclasses may override.  For greater details, see <code>IEditorPart</code>
- * </p>
- *
- * @see IEditorPart
- */
-public abstract void gotoMarker(IMarker marker);
-/* (non-Javadoc)
- * Initializes the editor part with a site and input.
- * <p>
- * Subclasses of <code>EditorPart</code> must implement this method.  Within
- * the implementation subclasses should verify that the input type is acceptable
- * and then save the site and input.  Here is sample code:
- * </p>
- * <pre>
- *		if (!(input instanceof IFileEditorInput))
- *			throw new PartInitException("Invalid Input: Must be IFileEditorInput");
- *		setSite(site);
- *		setInput(editorInput);
- * </pre>
- */
-public abstract void init(IEditorSite site, IEditorInput input) throws PartInitException;
-/* (non-Javadoc)
- * Returns whether the contents of this editor have changed since the last save
- * operation.
- * <p>
- * Subclasses must override this method to implement the open-save-close lifecycle
- * for an editor.  For greater details, see <code>IEditorPart</code>
- * </p>
- *
- * @see IEditorPart
- */
-public abstract boolean isDirty();
-/* (non-Javadoc)
- * Returns whether the "save as" operation is supported by this editor.
- * <p>
- * Subclasses must override this method to implement the open-save-close lifecycle
- * for an editor.  For greater details, see <code>IEditorPart</code>
- * </p>
- *
- * @see IEditorPart
- */
-public abstract boolean isSaveAsAllowed();
-/* (non-Javadoc)
- * Returns whether the contents of this editor should be saved when the editor
- * is closed.
- * <p>
- * This method returns <code>true</code> if and only if the editor is dirty 
- * (<code>isDirty</code>).
- * </p>
- */
-public boolean isSaveOnCloseNeeded() {
-	return isDirty();
-}
-/**
- * Sets the input to this editor.
- *
- * @param input the editor input
- */
-protected void setInput(IEditorInput input) {
-	editorInput = input;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/FileEditorInput.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/FileEditorInput.java
deleted file mode 100644
index 188d0e3..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/FileEditorInput.java
+++ /dev/null
@@ -1,120 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.ui.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * Adapter for making a file resource a suitable input for an editor.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class FileEditorInput implements IFileEditorInput, IPersistableElement {
-	private IFile file;
-/**
- * Creates an editor input based of the given file resource.
- *
- * @param file the file resource
- */
-public FileEditorInput(IFile file) {
-	this.file = file;
-}
-/**
- * The <code>FileEditorInput</code> implementation of this <code>Object</code>
- * method bases the equality of two <code>FileEditorInput</code> objects on the
- * equality of their underlying <code>IFile</code> resources.
- */
-public boolean equals(Object obj) {
-	if (this == obj)
-		return true;
-	if (!(obj instanceof FileEditorInput))
-		return false;
-	FileEditorInput other = (FileEditorInput)obj;
-	return file.equals(other.file);
-}
-/**
- * Returns whether the editor input exists.  
- * <p>
- * This method is primarily used to determine if an editor input should 
- * appear in the "File Most Recently Used" menu.  An editor input will appear 
- * in the list until the return value of <code>exists</code> becomes 
- * <code>false</code> or it drops off the bottom of the list.
- *
- * @return <code>true</code> if the editor input exists; <code>false</code>
- *		otherwise
- */
-public boolean exists() {
-	return file.exists();
-}
-/* (non-Javadoc)
- * Method declared on IAdaptable.
- */
-public Object getAdapter(Class adapter) {
-	if (adapter == IFile.class)
-		return file;
-	return file.getAdapter(adapter);
-}
-/* (non-Javadoc)
- * Method declared on IPersistableElement.
- */
-public String getFactoryId() {
-	return FileEditorInputFactory.getFactoryId();
-}
-/* (non-Javadoc)
- * Method declared on IFileEditorInput.
- */
-public IFile getFile() {
-	return file;
-}
-/* (non-Javadoc)
- * Returns the image descriptor for this input.
- *
- * @return the image descriptor for this input
- */
-public ImageDescriptor getImageDescriptor() {
-	return PlatformUI.getWorkbench().getEditorRegistry().getImageDescriptor(file);
-}
-/* (non-Javadoc)
- * Method declared on IEditorInput.
- */
-public String getName() {
-	return file.getName();
-}
-/* (non-Javadoc)
- * Method declared on IEditorInput.
- */
-public IPersistableElement getPersistable() {
-	return this;
-}
-/* (non-Javadoc)
- * Method declared on IStorageEditorInput.
- */
-public IStorage getStorage() throws CoreException {
-	return file;
-}
-/* (non-Javadoc)
- * Method declared on IEditorInput.
- */
-public String getToolTipText() {
-	return file.getFullPath().makeRelative().toString();
-}
-/* (non-Javadoc)
- * Method declared on Object.
- */
-public int hashCode() {
-	return file.hashCode();
-}
-/* (non-Javadoc)
- * Method declared on IPersistableElement.
- */
-public void saveState(IMemento memento) {
-	FileEditorInputFactory.saveState(memento, this);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/FileEditorInputFactory.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/FileEditorInputFactory.java
deleted file mode 100644
index 1715dfe..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/FileEditorInputFactory.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.ui.*;
-
-/**
- * Factory for saving and restoring a <code>FileEditorInput</code>. 
- * The stored representation of a <code>FileEditorInput</code> remembers
- * the full path of the file (that is, <code>IFile.getFullPath</code>).
- * <p>
- * The workbench will automatically create instances of this class as required.
- * It is not intended to be instantiated or subclassed by the client.
- * </p>
- */
-public class FileEditorInputFactory implements IElementFactory {
-	/**
-	 * Factory id. The workbench plug-in registers a factory by this name
-	 * with the "org.eclipse.ui.elementFactories" extension point.
-	 */
-	private static final String ID_FACTORY = 
-		"org.eclipse.ui.part.FileEditorInputFactory";//$NON-NLS-1$
-
-	/**
-	 * Tag for the IFile.fullPath of the file resource.
-	 */
-	private static final String TAG_PATH = "path";//$NON-NLS-1$
-/**
- * Creates a new factory.
- */
-public FileEditorInputFactory() {
-}
-/* (non-Javadoc)
- * Method declared on IElementFactory.
- */
-public IAdaptable createElement(IMemento memento) {
-	// Get the file name.
-	String fileName = memento.getString(TAG_PATH);
-	if (fileName == null)
-		return null;
-
-	// Create an IResource.
-	IResource res = ResourcesPlugin.getWorkspace().getRoot().findMember(new Path(fileName));
-	if (res instanceof IFile)
-		return new FileEditorInput((IFile)res);
-	else
-		return null;
-}
-/**
- * Returns the element factory id for this class.
- * 
- * @return the element factory id
- */
-public static String getFactoryId() {
-	return ID_FACTORY;
-}
-/**
- * Saves the state of the given file editor input into the given memento.
- *
- * @param memento the storage area for element state
- * @param input the file editor input
- */
-public static void saveState(IMemento memento, FileEditorInput input) {
-	IFile file = input.getFile();
-	memento.putString(TAG_PATH, file.getFullPath().toString());
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IContributedContentsView.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IContributedContentsView.java
deleted file mode 100644
index 2669ade..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IContributedContentsView.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-/**
- * This interface is used to identify workbench views which
- * allow other parts (typically the active part) to supply
- * their contents.
- * The interface allows access to the part which contributed the current
- * contents.
- */
-public interface IContributedContentsView {
-/**
- * Returns the workbench part which contributed the
- * current contents of this view.
- *
- * @return the part which contributed the current contents
- */
-public IWorkbenchPart getContributingPart();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IDropActionDelegate.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IDropActionDelegate.java
deleted file mode 100644
index 3f31e49..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IDropActionDelegate.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-/**
- * Interface for actions supplied by extensions to the
- * org.eclipse.ui.dropActions extension point.
- */
-public interface IDropActionDelegate {
-/**
- * Runs the drop action on the given source and target.
- * @param source The object that is being dragged.
- * @param target The object that the drop is occurring over.
- * @return boolean True if the drop was successful, and false otherwise.
- */
-public boolean run(Object source, Object target);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IPage.java
deleted file mode 100644
index cbf80f9..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IPage.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IActionBars;
-
-/**
- * This interface has been replaced by <code>IPageBookViewPage</code>
- * but is preserved for backward compatibility.
- * <p>
- * This class is not intended to be directly implemented by clients; clients
- * should instead subclass <code>Page</code>.
- * </p>
- *
- * @see PageBookView
- * @see Page
- */
-public interface IPage {
-/**
- * Creates the SWT control for this page under the given parent 
- * control.
- * <p>
- * Clients should not call this method (the workbench calls this method when
- * it needs to, which may be never).
- * </p>
- *
- * @param parent the parent control
- */
-public void createControl(Composite parent);
-/**
- * Disposes of this page.
- * <p>
- * This is the last method called on the <code>IPage</code>. Implementors should 
- * clean up any resources associated with the page.
- * </p>
- * Callers of this method should ensure that the page's control (if it exists)
- * has been disposed before calling this method. However, for backward compatibilty,
- * implementors must also ensure that the page's control has been disposed before
- * this method returns.  
- * </p>
- * <p>
- * Note that there is no guarantee that createControl() has been called, 
- * so the control may never have been created.
- * </p>
- */
-public void dispose();
-/**
- * Returns the SWT control for this page.
- *
- * @return the SWT control for this page, or <code>null</code> if this
- *   page does not have a control
- */
-public Control getControl();
-/**
- * Allows the page to make contributions to the given action bars.
- * The contributions will be visible when the page is visible.
- * <p>
- * This method is automatically called shortly after 
- * <code>createControl</code> is called
- * </p>
- *
- * @param actionBars the action bars for this page
- */
-public void setActionBars(IActionBars actionBars);
-/**
- * Asks this page to take focus within its pagebook view.
- */
-public void setFocus();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IPageBookViewPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IPageBookViewPage.java
deleted file mode 100644
index 83d8fa0..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IPageBookViewPage.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.PartInitException;
-
-/**
- * Interface for a page in a pagebook view.
- * <p>
- * Pages should implement this interface.
- * </p>	
- * @see PageBookView
- * @see Page
- */
-public interface IPageBookViewPage extends IPage {
-	/**
-	 * Returns the site for this page. May be <code>null</code>
-	 * if no site has been set.
-	 *
-	 * @return the page site or <code>null</code>
-	 */
-	public IPageSite getSite();
-	/**
-	 * Initializes this page with the given page site.  
-	 * <p>
-	 * This method is automatically called by the workbench shortly after page 
-	 * construction.  It marks the start of the pages's lifecycle. Clients must 
-	 * not call this method.
-	 * </p>
-	 *
-	 * @param site the page site
-	 * @exception PartInitException if this page was not initialized successfully
-	 */
-	public void init(IPageSite site) throws PartInitException;
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IPageSite.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IPageSite.java
deleted file mode 100644
index dbf19ea..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IPageSite.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IWorkbenchSite;
-
-/**
- * The primary interface between a page and the outside world.
- * <p>
- * The workbench exposes its implemention of page sites via this interface,
- * which is not intended to be implemented or extended by clients.
- * </p>
- */
-
-public interface IPageSite extends IWorkbenchSite {
-	/**
-	 * Registers a pop-up menu with a particular id for extension.
-	 * <p>
-	 * Within the workbench one plug-in may extend the pop-up menus for a view
-	 * or editor within another plug-in.  In order to be eligible for extension,
-	 * the menu must be registered by calling <code>registerContextMenu</code>.
-	 * Once this has been done the workbench will automatically insert any action 
-	 * extensions which exist.
-	 * </p>
-	 * <p>
-	 * A unique menu id must be provided for each registered menu. This id should
-	 * be published in the Javadoc for the page.
-	 * </p>
-	 * <p>
-	 * Any pop-up menu which is registered with the workbench should also define a  
-	 * <code>GroupMarker</code> in the registered menu with id 
-	 * <code>IWorkbenchActionConstants.MB_ADDITIONS</code>.  Other plug-ins will use this 
-	 * group as a reference point for insertion.  The marker should be defined at an 
-	 * appropriate location within the menu for insertion.  
-	 * </p>
-	 *
-	 * @param menuId the menu id
-	 * @param menuManager the menu manager
-	 * @param selectionProvider the selection provider
-	 */
-	public void registerContextMenu(
-		String menuId,
-		MenuManager menuManager,
-		ISelectionProvider selectionProvider);
-	/**
-	 * Returns the action bars for this page site.
-	 * Pages have exclusive use of their site's action bars.
-	 *
-	 * @return the action bars
-	 */
-	public IActionBars getActionBars();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/ISetSelectionTarget.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/ISetSelectionTarget.java
deleted file mode 100644
index 780fbc5..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/ISetSelectionTarget.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.viewers.ISelection;
-
-/**
- * Interface for views which support reveal and select.
- * <p>
- * This interface may be implemented by subclasses of <code>ViewPart</code>.
- * This interface is commonly used by a New wizard to reveal and select a
- * resource in a workbench part which it has just created.
- * </p>
- *
- * @see IView
- * @see ViewPart
- */
-public interface ISetSelectionTarget {
-/**
- * Reveals and selects the given element within this target view.
- *
- * @param selection the new element to select
- */
-public void selectReveal(ISelection selection);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IShowInSource.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IShowInSource.java
deleted file mode 100644
index 0f71a18..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IShowInSource.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/************************************************************************
-Copyright (c) 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.part;
-
-/**
- * Parts which need to provide a particular context to a Show In...
- * target can provide this interface.
- * The part can either directly implement this interface, or provide it
- * via <code>IAdaptable.getAdapter(IShowInSource.class)</code>.
- * 
- * @see IShowInTarget
- * 
- * @since 2.1
- */
-public interface IShowInSource {
-	
-	/**
-	 * Returns the context to show, or <code>null</code> if there is 
-	 * currently no valid context to show.
-	 * 
-	 * @return the context to show, or <code>null</code>
-	 */
-    public ShowInContext getShowInContext();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IShowInTarget.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IShowInTarget.java
deleted file mode 100644
index efaf144..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IShowInTarget.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/************************************************************************
-Copyright (c) 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.part;
-
-
-/**
- * This interface must be provided by Show In... targets (parts listed
- * in the Show In... prompter).
- * The part can either directly implement this interface, or provide it
- * via <code>IAdaptable.getAdapter(IShowInTarget.class)</code>.
- * 
- * @see org.eclipse.ui.IPageLayout#addShowInPart
- * 
- * @since 2.1
- */
-public interface IShowInTarget {
-	
-    /**
-     * Shows the given context in this target.
-     *
-     * @param context the context to show
-     * @return <code>true</code> if the context could be shown,
-     *   <code>false</code> otherwise
-     */
-    public boolean show(ShowInContext context);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MarkerTransfer.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MarkerTransfer.java
deleted file mode 100644
index c869a78..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MarkerTransfer.java
+++ /dev/null
@@ -1,201 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.swt.dnd.ByteArrayTransfer;
-import org.eclipse.swt.dnd.TransferData;
-import java.io.*;
-
-/**
- * A <code>MarkerTransfer</code> is used to transfer an array of 
- * <code>IMarker</code>s from one part to another in a drag and drop 
- * operation.
- * <p>
- * In every drag and drop operation there is a <code>DragSource</code> and 
- * a <code>DropTarget</code>.  When a drag occurs a <code>Transfer</code> is 
- * used to marshall the drag data from the source into a byte array.  If a drop 
- * occurs another <code>Transfer</code> is used to marshall the byte array into
- * drop data for the target.
- * </p><p>
- * This class can be used for a <code>Viewer<code> or an SWT component directly.
- * A singleton is provided which may be serially reused (see <code>getInstance</code>).  
- * It is not intended to be subclassed.
- * </p>
- *
- * @see StructuredViewer
- * @see DropTarget
- * @see DragSource
- */
-public class MarkerTransfer extends ByteArrayTransfer {
-	
-	/**
-	 * Singleton instance.
-	 */
-	private static final MarkerTransfer instance = new MarkerTransfer();
-
-	// Create a unique ID to make sure that different Eclipse
-	// applications use different "types" of <code>MarkerTransfer</code>
-	private static final String TYPE_NAME = "marker-transfer-format" + System.currentTimeMillis() + ":" + instance.hashCode();//$NON-NLS-2$//$NON-NLS-1$
-	private static final int TYPEID = registerType(TYPE_NAME);
-
-	private static final String rootString = Path.ROOT.toString();
-	private IWorkspace workspace;
-	
-/**
- * Creates a new transfer object.
- */
-private MarkerTransfer() {
-}
-/**
- * Locates and returns the marker associated with the given attributes.
- *
- * @param pathString the resource path
- * @param id the id of the marker to get (as per {@link IResource#getMarker
- *    IResource.getMarker})
- * @return the specified marker
- */
-private IMarker findMarker(String pathString, long id) {
-	IPath path = new Path(pathString);
-	IResource resource = workspace.getRoot().findMember(path);
-	if (resource != null) {
-		return resource.getMarker(id);
-	}
-	return null;		
-}
-/**
- * Returns the singleton instance.
- *
- * @return the singleton instance
- */
-public static MarkerTransfer getInstance() {
-	return instance;
-}
-/* (non-Javadoc)
- * Method declared on Transfer.
- */
-protected int[] getTypeIds() {
-	return new int[] {TYPEID};
-}
-/* (non-Javadoc)
- * Returns the type names.
- *
- * @return the list of type names
- */
-protected String[] getTypeNames() {
-	return new String[] {TYPE_NAME};
-}
-/* (non-Javadoc)
- * Method declared on Transfer.
- * On a successful conversion, the transferData.result field will be set to
- * OLE.S_OK. If this transfer agent is unable to perform the conversion, the
- * transferData.result field will be set to the failure value of OLE.DV_E_TYMED.
- */
-protected void javaToNative(Object object, TransferData transferData) {
-	/**
-	 * Transfer data is an array of markers.  Serialized version is:
-	 * (int) number of markers
-	 * (Marker) marker 1
-	 * (Marker) marker 2
-	 * ... repeat last four for each subsequent marker
-	 * see writeMarker for the (Marker) format.
-	 */
-	Object[] markers = (Object[]) object;
-	lazyInit(markers);
-
-	ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
-	DataOutputStream out = new DataOutputStream(byteOut);
-
-	byte[] bytes = null;
-
-	try {
-		/* write number of markers */
-		out.writeInt(markers.length);
-
-		/* write markers */
-		for (int i = 0; i < markers.length; i++) {
-			writeMarker((IMarker)markers[i], out);
-		}
-		out.close();
-		bytes = byteOut.toByteArray();
-	} catch (IOException e) {
-		//when in doubt send nothing
-	}
-
-	if (bytes != null) {
-	    super.javaToNative(bytes, transferData);
-	}
-}
-/**
- * Initializes the transfer mechanism if necessary.
- */
-private void lazyInit(Object[] markers) {
-	if (workspace == null) {
-		if (markers != null && markers.length > 0) {
-			this.workspace = ((IMarker)markers[0]).getResource().getWorkspace();
-		}
-	}
-}
-/* (non-Javadoc)
- * Method declared on Transfer.
- */
-protected Object nativeToJava(TransferData transferData) {
-	byte[] bytes = (byte[]) super.nativeToJava(transferData);
-	DataInputStream in = new DataInputStream(new ByteArrayInputStream(bytes));
-
-	try {
-		/* read number of markers */
-		int n = in.readInt();
-
-		/* read markers */
-		IMarker[] markers = new IMarker[n];
-		for (int i = 0; i < n; i++) {
-			IMarker marker = readMarker(in);
-			if (marker == null) {
-				return null;
-			}
-			markers[i] = marker;
-		}
-		return markers;
-	} catch (IOException e) {
-		return null;
-	}
-}
-/**
- * Reads and returns a single marker from the given stream.
- *
- * @param dataIn the input stream
- * @return the marker
- * @exception IOException if there is a problem reading from the stream
- */
-private IMarker readMarker(DataInputStream dataIn) throws IOException {
-	/**
-	 * Marker serialization format is as follows:
-	 * (String) path of resource for marker
-	 * (int) marker ID
-	 */
-	String path = dataIn.readUTF();
-	long id = dataIn.readLong();
-	return findMarker(path, id);
-}
-/**
- * Writes the given marker to the given stream.
- *
- * @param marker the marker
- * @param dataOut the output stream
- * @exception IOException if there is a problem writing to the stream
- */
-private void writeMarker(IMarker marker, DataOutputStream dataOut) throws IOException {
-	/**
-	 * Marker serialization format is as follows:
-	 * (String) path of resource for marker
-	 * (int) marker ID
-	 */
-
-	dataOut.writeUTF(marker.getResource().getFullPath().toString());
-	dataOut.writeLong(marker.getId());
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MessagePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MessagePage.java
deleted file mode 100644
index dc43ebe..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MessagePage.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;		
-
-/**
- * A message page display a message in a pagebook view.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- *
- * @see PageBookView
- */
-public class MessagePage extends Page {
-	private Composite pgComp;
-	private Label msgLabel;
-	private String message = "";//$NON-NLS-1$
-/**
- * Creates a new page. The message is the empty string.
- */
-public MessagePage() {
-}
-/* (non-Javadoc)
- * Method declared on IPage.
- */
-public void createControl(Composite parent) {
-	// Message in default page of Outline should have margins
-	pgComp = new Composite(parent, SWT.NULL);
-	pgComp.setLayout(new GridLayout());
-	
-	msgLabel = new Label(pgComp, SWT.LEFT | SWT.WRAP);
-	msgLabel.setText(message);
-	
-	GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-	msgLabel.setLayoutData(gridData);
-}
-/* (non-Javadoc)
- * Method declared on IPage.
- */
-public Control getControl() {
-	return pgComp;
-}
-/**
- * Sets focus to a part in the page.
- */
-public void setFocus() {
-	msgLabel.setFocus();
-}
-/**
- * Sets the message to the given string.
- *
- * @param message the message text
- */
-public void setMessage(String message) {
-	this.message = message;
-	if (msgLabel != null)
-		msgLabel.setText(message);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiEditor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiEditor.java
deleted file mode 100644
index 61cb4d3..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiEditor.java
+++ /dev/null
@@ -1,223 +0,0 @@
-package org.eclipse.ui.part;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.*;
-
-/**
- * A MultiEditor is a composite of editors.
- * 
- * This class is intended to be supclassed.
- * 		
- */
-public abstract class MultiEditor extends EditorPart {
-
-	private int activeEditorIndex;
-	private IEditorPart innerEditors[];
-
-	private static final int INACTIVE = 0;
-	private static final int ACTIVE_FOCUS = 1;
-	private static final int ACTIVE_NOFOCUS = 2;
-
-	/**
-	 * Constructor for TileEditor.
-	 */
-	public MultiEditor() {
-		super();
-	}
-	/*
-	 * @see IEditorPart#doSave(IProgressMonitor)
-	 */
-	public void doSave(IProgressMonitor monitor) {
-		for (int i = 0; i < innerEditors.length; i++) {
-			IEditorPart e = innerEditors[i];
-			e.doSave(monitor);
-		}
-	}
-	/**
-	 * Create the control of the inner editor.
-	 * 
-	 * Must be called by subclass.
-	 */
-	public Composite createInnerPartControl(Composite parent,final IEditorPart e) {
-		Composite content = new Composite(parent, SWT.NONE);
-		content.setLayout(new FillLayout());
-		e.createPartControl(content);
-		parent.addListener(SWT.Activate, new Listener() {
-			public void handleEvent(Event event) {
-				if (event.type == SWT.Activate)
-					activateEditor(e);
-			}
-		});
-		return content;
-	}
-			
-	/*
-	 * @see IEditorPart#doSaveAs()
-	 */
-	public void doSaveAs() {
-	}
-
-	/*
-	 * @see IEditorPart#gotoMarker(IMarker)
-	 */
-	public void gotoMarker(IMarker marker) {
-	}
-
-	/*
-	 * @see IEditorPart#init(IEditorSite, IEditorInput)
-	 */
-	public void init(IEditorSite site, IEditorInput input) throws PartInitException {
-		init(site, (MultiEditorInput) input);
-	}
-	/*
-	 * @see IEditorPart#init(IEditorSite, IEditorInput)
-	 */
-	public void init(IEditorSite site, MultiEditorInput input) throws PartInitException {
-		setInput(input);
-		setSite(site);
-		setTitle(input.getName());
-		setTitleToolTip(input.getToolTipText());
-	}
-	/*
-	 * @see IEditorPart#isDirty()
-	 */
-	public boolean isDirty() {
-		for (int i = 0; i < innerEditors.length; i++) {
-			IEditorPart e = innerEditors[i];
-			if (e.isDirty())
-				return true;
-		}
-		return false;
-	}
-
-	/*
-	 * @see IEditorPart#isSaveAsAllowed()
-	 */
-	public boolean isSaveAsAllowed() {
-		return false;
-	}
-
-	/*
-	 * @see IWorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-		innerEditors[activeEditorIndex].setFocus();
-		updateGradient(innerEditors[activeEditorIndex]);
-	}
-	/**
-	 * Returns the active inner editor.
-	 */
-	public final IEditorPart getActiveEditor() {
-		return innerEditors[activeEditorIndex];
-	}
-	/**
-	 * Returns an array with all inner editors.
-	 */
-	public final IEditorPart[] getInnerEditors() {
-		return innerEditors;
-	}
-	/**
-	 * Set the inner editors.
-	 * 
-	 * Should not be called by clients.
-	 */
-	public final void setChildren(IEditorPart[] children) {
-		innerEditors = children;
-		activeEditorIndex = 0;
-	}
-	/**
-	 * Set the active editor.
-	 */
-	private void activateEditor(IEditorPart part) {
-		IEditorPart oldEditor = getActiveEditor();
-		activeEditorIndex = getIndex(part);
-		IEditorPart e = getActiveEditor();
-		EditorSite innerSite = (EditorSite) e.getEditorSite();
-		((WorkbenchPage) innerSite.getPage()).requestActivation(e);
-		updateGradient(oldEditor);
-	}
-	/*
-	 * Return the index of the specified editor
-	 */
-	private int getIndex(IEditorPart editor) {
-		for (int i = 0; i < innerEditors.length; i++) {
-			if (innerEditors[i] == editor)
-				return i;
-		}
-		return -1;
-	}
-	/**
-	 * Update the gradient in the title bar.
-	 */
-	public void updateGradient(IEditorPart editor) {
-		boolean activeEditor = editor == getSite().getPage().getActiveEditor();
-		boolean activePart = editor == getSite().getPage().getActivePart();
-
-		Gradient g;
-
-		if (activePart) {
-			if (getShellActivated())
-				g = Gradient.BLUE;
-			else
-				g = Gradient.BLACK;
-		} else {
-			if (activeEditor)
-				g = Gradient.WHITE;
-			else
-				g = Gradient.GRAY;
-		}
-		drawGradient(editor, g);
-	}
-	/**
-	 * Draw the gradient in the title bar.
-	 */
-	protected abstract void drawGradient(IEditorPart innerEditor,Gradient g);
-	
-	/**
-	 * Return true if the shell is activated.
-	 */
-	protected boolean getShellActivated() {
-		WorkbenchWindow window = (WorkbenchWindow) getSite().getPage().getWorkbenchWindow();
-		return window.getShellActivated();
-	}
-	/*
-	 * The colors used to draw the title bar of the inner editors
-	 */
-	public static class Gradient {
-		public Color fgColor;
-		public Color[] bgColors;
-		public int[] bgPercents;
-
-		private static Gradient BLUE = new Gradient();
-		private static Gradient BLACK = new Gradient();
-		private static Gradient GRAY = new Gradient();
-		private static Gradient WHITE = new Gradient();
-
-		static {
-			BLUE.fgColor = WorkbenchColors.getSystemColor(SWT.COLOR_TITLE_FOREGROUND);
-			BLUE.bgColors = WorkbenchColors.getActiveEditorGradient();
-			BLUE.bgPercents = WorkbenchColors.getActiveEditorGradientPercents();
-
-			BLACK.fgColor = WorkbenchColors.getSystemColor(SWT.COLOR_TITLE_INACTIVE_FOREGROUND);
-			BLACK.bgColors = WorkbenchColors.getDeactivatedEditorGradient();
-			BLACK.bgPercents = WorkbenchColors.getDeactivatedEditorGradientPercents();
-
-			WHITE.fgColor = WorkbenchColors.getSystemColor(SWT.COLOR_BLACK);
-			WHITE.bgColors = WorkbenchColors.getActiveNoFocusEditorGradient();
-			WHITE.bgPercents = WorkbenchColors.getActiveNoFocusEditorGradientPercents();
-
-			GRAY.fgColor = null;
-			GRAY.bgColors = null;
-			GRAY.bgPercents = null;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiEditorInput.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiEditorInput.java
deleted file mode 100644
index a3ba2f7e..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiEditorInput.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * Copyright (c) 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.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IPersistableElement;
-
-/**
- * Implements a input for a MultiEditor
- * 
- * This class is intended to be instanciated by clients but its is 
- * not intented to be subclassed.
- */
-public class MultiEditorInput implements IEditorInput {
-
-	IEditorInput input[];
-	String editors[];
-
-	/**
-	 * Constructor for MultiEditorInput.
-	 */
-	public MultiEditorInput(String[] editorIDs, IEditorInput[] innerEditors) {
-		super();
-		editors = editorIDs;
-		input = innerEditors;
-	}
-	/**
-	 * Returns an array with the input of all inner editors.
-	 */
-	public IEditorInput[] getInput() {
-		return input;
-	}
-	/**
-	 * Retunrs an array with the id of all inner editors.
-	 */
-	public String[] getEditors() {
-		return editors;
-	}
-	/*
-	 * @see IEditorInput#exists()
-	 */
-	public boolean exists() {
-		return true;
-	}
-	/*
-	 * @see IEditorInput#getImageDescriptor()
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		return null;
-	}
-	/*
-	 * @see IEditorInput#getName()
-	 */
-	public String getName() {
-		String name = ""; //$NON-NLS-1$
-		for (int i = 0; i < (input.length - 1); i++) {
-			name = name + input[i].getName() + "/"; //$NON-NLS-1$
-		}
-		name = name + input[input.length - 1].getName();
-		return name;
-	}
-	/*
-	 * @see IEditorInput#getPersistable()
-	 */
-	public IPersistableElement getPersistable() {
-		return null;
-	}
-	/*
-	 * @see IEditorInput#getToolTipText()
-	 */
-	public String getToolTipText() {
-		return getName();
-	}
-	/*
-	 * @see IAdaptable#getAdapter(Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageEditor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageEditor.java
deleted file mode 100644
index a3884b0..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageEditor.java
+++ /dev/null
@@ -1,149 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.*;
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.*;
-
-/**
- * Abstract superclass of all multi-page workbench editors.
- * <p>
- * This class should be subclassed by clients wishing to define new 
- * multi-page editor.
- * </p>
- * <p>
- * Subclasses must implement the following methods:
- * <ul>
- *   <li><code>createPartControl</code> - to create the view's controls </li>
- *   <li><code>setFocus</code> - to accept focus</li>
- *   <li><code>isDirty</code> - to decide whether a significant change has
- *       occurred</li>
- *   <li><code>doSave</code> - to save contents of editor</li>
- *   <li><code>doSaveAs</code> - to save contents of editor</li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may extend or reimplement the following methods as required:
- * <ul>
- *   <li><code>setInitializationData</code> - extend to provide additional 
- *       initialization when editor extension is instantiated</li>
- *   <li><code>init(IEditorSite,IEditorInput)</code> - extend to provide 
- *       additional initialization when editor is assigned its site</li>
- *   <li><code>isSaveOnCloseNeeded</code> - override to control saving</li>
- *   <li><code>isSaveAsAllowed</code> - override to control saving</li>
- *   <li><code>gotoMarker</code> - reimplement to make selections based on
- *       markers</li>
- *   <li><code>dispose</code> - extend to provide additional cleanup</li>
- *   <li><code>getAdapter</code> - reimplement to make their editor
- *       adaptable</li>
- * </ul>
- * </p>
- * <p>
- * [Issue: Review not complete - class still in flux.]
- * </p>
- * 
- * @deprecated Use the class <code>MultiPageEditorPart</code> instead
- */
-public abstract class MultiPageEditor extends EditorPart {
-	private List syncVector;
-	private TabFolder tabFolder;
-/**
- * Creates a new multi-page editor.
- * 
- * @deprecated Use the class <code>MultiPageEditorPart</code> instead
- */
-public MultiPageEditor() {
-	super();
-}
-/**
- * Adds a synchronized pagebook to this editor.  Once added, the
- * visible page of the pagebook and the visible page of the editor 
- * will be synchronized.
- *
- * @param pageBook the pagebook to add
- */
-protected void addSyncroPageBook(PageBook pageBook) {
-	// Add the page.
-	if (syncVector == null)
-		syncVector = new ArrayList(1);
-	syncVector.add(pageBook);
-
-	// Set the visible page.
-	syncPageBook(pageBook);
-}
-/**
- * The <code>MultiPageEditor</code> implementation of this <code>IWorkbenchPart</code>
- * method creates a <code>TabFolder</code> control.
- */
-public void createPartControl(Composite parent) {
-	tabFolder = new TabFolder(parent, SWT.NONE);
-	tabFolder.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			sync();
-		}
-	});
-}
-/**
- * Returns this editor's workbook.
- *
- * @return the editor workbook
- */
-protected TabFolder getFolder() {
-	return tabFolder;
-}
-/**
- * Indicates that a page change has occurred.  Updates the sync vector.
- */
-protected void onPageChange() {
-	if (syncVector != null) {
-		Iterator enum = syncVector.iterator();
-		while (enum.hasNext()) {
-			PageBook pageBook = (PageBook)enum.next();
-			syncPageBook(pageBook);
-		}
-	}
-}
-/**
- * Removes a synchronized pagebook from this editor. 
- *
- * @param pageBook the pagebook to remove 
- * @see addSyncroPageBook
- */
-protected void removeSyncroPageBook(PageBook pageBook) {
-	if (syncVector != null)
-		syncVector.remove(pageBook);
-	pageBook.dispose();
-}
-/**
- * Synchronizes each registered pagebook with the editor page.
- */
-protected void sync() {
-	if (syncVector != null) {
-		Iterator enum = syncVector.iterator();
-		while (enum.hasNext()) {
-			PageBook pageBook = (PageBook)enum.next();
-			syncPageBook(pageBook);
-		}
-	}
-}
-/**
- * Sets the visible page of the given pagebook to be the same as
- * the visible page of this editor.
- *
- * @param pageBook a pagebook to synchronize
- */
-protected void syncPageBook(PageBook pageBook) {
-	int pos = tabFolder.getSelectionIndex();
-	Control children [] = pageBook.getChildren();
-	int size = children.length;
-	if (pos < size)
-		pageBook.showPage(children[pos]);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageEditorActionBarContributor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageEditorActionBarContributor.java
deleted file mode 100644
index ff6870f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageEditorActionBarContributor.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.part.EditorActionBarContributor;
-import org.eclipse.ui.IEditorPart;
-
-/**
- * Abstract base class for managing the installation/deinstallation of global
- * actions for multi-page editors.
- * <p>
- * Subclasses must implement <code>setActivePage</code>, and may reimplement 
- * any of the following methods:
- * <ul>
- *   <li><code>contributeToMenu</code> - reimplement to contribute to menu</li>
- *   <li><code>contributeToToolBar</code> - reimplement to contribute to tool
- *     bar</li>
- *   <li><code>contributeToStatusLine</code> - reimplement to contribute to 
- *     status line</li>
- * </ul>
- * </p>
- */
-public abstract class MultiPageEditorActionBarContributor extends EditorActionBarContributor {
-/**
- * Creates a multi-page editor action contributor.
- */
-protected MultiPageEditorActionBarContributor() {
-	super();
-}
-/* (non-JavaDoc)
- * Method declared on EditorActionBarContributor
- * Registers the contributor with the multi-page editor for future 
- * editor action redirection when the active page is changed, and sets
- * the active page.
- */
-public void setActiveEditor(IEditorPart part) {
-	IEditorPart activeNestedEditor = null;
-	if (part instanceof MultiPageEditorPart) {
-		activeNestedEditor = ((MultiPageEditorPart) part).getActiveEditor();
-	}
-	setActivePage(activeNestedEditor);
-}
-/**
- * Sets the active page of the the multi-page editor to be the given editor.
- * Redirect actions to the given editor if actions are not already being sent to it.
- * <p>
- * This method is called whenever the page changes. 
- * Subclasses must implement this method to redirect actions to the given 
- * editor (if not already directed to it).
- * </p>
- *
- * @param activeEditor the new active editor, or <code>null</code> if there is no active page, or if the
- *   active page does not have a corresponding editor
- */
-public abstract void setActivePage(IEditorPart activeEditor);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageEditorPart.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageEditorPart.java
deleted file mode 100644
index c76731c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageEditorPart.java
+++ /dev/null
@@ -1,519 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- 
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.custom.CTabItem;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.*;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-
-import org.eclipse.ui.*;
-
-/**
- * A multi-page editor is an editor with multiple pages, each of which may
- * contain an editor or an arbitrary SWT control.
- * <p>
- * Subclasses must implement the following methods:
- * <ul>
- *   <li><code>createPages</code> - to create the required pages by calling one
- *     of the <code>addPage</code> methods</li>
- *   <li><code>IEditorPart.doSave</code> - to save contents of editor</li>
- *   <li><code>IEditorPart.doSaveAs</code> - to save contents of editor</li>
- *   <li><code>IEditorPart.isSaveAsAllowed</code> - to enable Save As</li>
- *   <li><code>IEditorPart.gotoMarker</code> - to scroll to a marker</li>
- * </ul>
- * </p>
- * <p>
- * Multi-page editors have a single action bar contributor, which manages 
- * contributions for all the pages. The contributor must be a subclass of
- * <code>AbstractMultiPageEditorActionBarContributor</code>.
- * Note that since any nested editors are created directly in code by callers of 
- * <code>addPage(IEditorPart,IEditorInput)</code>, nested editors do not have 
- * their own contributors.
- * </p>
- *
- * @see AbstractMultiPageEditorActionBarContributor
- */
-public abstract class MultiPageEditorPart extends EditorPart {
-	/**
-	 * The container widget.
-	 */
-	private CTabFolder container;
-
-	/**
-	 * List of nested editors. Element type: IEditorPart.
-	 * Need to hang onto them here, in addition to using get/setData on the items,
-	 * because dispose() needs to access them, but widgetry has already been disposed at that point.
-	 */
-	private ArrayList nestedEditors = new ArrayList(3);
-/**
- * Creates an empty multi-page editor with no pages.
- */
-protected MultiPageEditorPart() {
-	super();
-}
-/**
- * Creates and adds a new page containing the given control to this multi-page 
- * editor.  The control may be <code>null</code>, allowing it to be created
- * and set later using <code>setControl</code>.
- *
- * @param control the control, or <code>null</code>
- * @return the index of the new page
- *
- * @see #setControl
- */
-public int addPage(Control control) {
-	createItem(control);
-	return getPageCount() - 1;
-}
-/**
- * Creates and adds a new page containing the given editor to this multi-page 
- * editor. This also hooks a property change listener on the nested editor.
- *
- * @param editor the nested editor
- * @param input the input for the nested editor
- * @return the index of the new page
- * @exception PartInitException if a new page could not be created
- *
- * @see #handlePropertyChange the handler for property change events from the nested editor
- */
-public int addPage(IEditorPart editor, IEditorInput input) throws PartInitException {
-	IEditorSite site = createSite(editor);
-	// call init first so that if an exception is thrown, we have created no new widgets
-	editor.init(site, input);
-	Composite parent2 = new Composite(getContainer(), SWT.NONE);
-	parent2.setLayout(new FillLayout());
-	editor.createPartControl(parent2);
-	editor.addPropertyListener(
-		new IPropertyListener() {
-			public void propertyChanged(Object source, int propertyId) {
-				MultiPageEditorPart.this.handlePropertyChange(propertyId);
-			}
-		});
-	// create item for page only after createPartControl has succeeded
-	Item item = createItem(parent2);
-	// remember the editor, as both data on the item, and in the list of editors (see field comment)
-	item.setData(editor);
-	nestedEditors.add(editor);
-	return getPageCount() - 1;
-}
-/**
- * Creates an empty container.
- * Creates a CTabFolder with no style bits set, and hooks a selection 
- * listener which calls <code>pageChange()</code> whenever the selected tab changes.
- * 
- * @return a new container
- */
-private CTabFolder createContainer(Composite parent) {
-	final CTabFolder container = new CTabFolder(parent, SWT.BOTTOM);
-	container.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			int newPageIndex = container.indexOf((CTabItem) e.item);
-			pageChange(newPageIndex);
-		}
-	});
-	return container;
-}
-/**
- * Creates a tab item and places control in the new item.
- * The item is a CTabItem with no style bits set.
- *
- * @param control is the control to be placed in an item
- * @return a new item
- */
-private CTabItem createItem(Control control) {
-	CTabItem item = new CTabItem(getTabFolder(), SWT.NONE);
-	item.setControl(control);
-	return item;
-}
-/**
- * Creates the pages of this multi-page editor.
- * <p>
- * Subclasses must implement this method.
- * </p>
- */
-protected abstract void createPages();
-/**
- * The <code>MultiPageEditor</code> implementation of this 
- * <code>IWorkbenchPart</code> method creates the control for the multi-page
- * editor by calling <code>createContainer</code>, then <code>createPages</code>.
- * Subclasses should implement <code>createPages</code> rather than overriding 
- * this method.
- */
-public final void createPartControl(Composite parent) {
-	this.container = createContainer(parent);
-	createPages();
-	// set the active page (page 0 by default), unless it has already been done
-	if (getTabFolder().getSelectionIndex() == -1)
-		setActivePage(0);
-}
-/**
- * Creates the site for the given nested editor.
- * The <code>MultiPageEditorPart</code> implementation of this method creates an 
- * instance of <code>MultiPageEditorSite</code>. Subclasses may reimplement
- * to create more specialized sites.
- *
- * @param editor the nested editor
- * @return the editor site
- */
-protected IEditorSite createSite(IEditorPart editor){
-	return new MultiPageEditorSite(this, editor);
-}
-/**
- * The <code>MultiPageEditorPart</code> implementation of this 
- * <code>IWorkbenchPart</code> method disposes all nested editors.
- * Subclasses may extend.
- */
-public void dispose() {
-	for (int i = 0; i < nestedEditors.size(); ++i) {
-		IEditorPart editor = (IEditorPart) nestedEditors.get(i);
-		disposePart(editor);		
-	}
-	nestedEditors.clear();
-}
-/**
- * Returns the active nested editor if there is one.
- * <p>
- * Subclasses should not override this method
- * </p>
- * 
- * @return the active nested editor, or <code>null</code> if none
- */
-protected IEditorPart getActiveEditor() {
-	/* fix for 21988 */
-	if (container.isDisposed())
-		return null;
-	int index = getActivePage();
-	if (index != -1)
-		return getEditor(index);
-	return null;
-}
-/**
- * Returns the index of the currently active page,
- * or -1 if there is no active page.
- * <p>
- * Subclasses should not override this method
- * </p>
- *
- * @return the index of the active page, or -1 if there is no active page
- */
-protected int getActivePage() {
-	// May not have been created yet.
-	if (getTabFolder() != null)
-		return getTabFolder().getSelectionIndex();
-	return -1;
-}
-/**
- * Returns the composite control containing this multi-page editor's pages.
- * This should be used as the parent when creating controls for the individual pages.
- * That is, when calling <code>addPage(Control)</code>, the passed control should be
- * a child of this container.
- * <p>
- * Warning: Clients should not assume that the container is any particular subclass
- * of Composite.  The actual class used may change in order to improve the look and feel of
- * multi-page editors.  Any code making assumptions on the particular subclass would thus be broken.
- * </p>
- * <p>
- * Subclasses should not override this method
- * </p>
- *
- * @return the composite, or <code>null</code> if <code>createPartControl</code>
- *   has not been called yet
- */
-protected Composite getContainer() {
-	return container;
-}
-/**
- * Returns the control for the given page index, or <code>null</code>
- * if no control has been set for the page.
- * The page index must be valid.
- * <p>
- * Subclasses should not override this method
- * </p>
- *
- * @param pageIndex the index of the page
- * @return the control for the specified page, or <code>null</code> if none has been set
- */
-protected Control getControl(int pageIndex) {
-	return getItem(pageIndex).getControl();
-}
-/**
- * Returns the editor for the given page index.
- * The page index must be valid.
- *
- * @param pageIndex the index of the page
- * @return the editor for the specified page, or <code>null</code> if the
- *   specified page was not created with 
- *   <code>addPage(IEditorPart,IEditorInput)</code>
- */
-protected IEditorPart getEditor(int pageIndex) {
-	Item item = getItem(pageIndex);
-	if (item != null) {
-		Object data = item.getData();
-		if (data instanceof IEditorPart) {
-			return (IEditorPart) data;
-		}
-	}
-	return null;
-}
-/**
- * Returns the tab item for the given page index (page index is 0-based).
- * The page index must be valid.
- *
- * @param pageIndex the index of the page
- * @return the tab item for the given page index
- */
-private CTabItem getItem(int pageIndex) {
-	return getTabFolder().getItem(pageIndex);
-}
-/**
- * Returns the number of pages in this multi-page editor.
- *
- * @return the number of pages
- */
-protected int getPageCount() {
-	CTabFolder folder = getTabFolder();
-	// May not have been created yet, or may have been disposed.
-	if (folder != null && !folder.isDisposed())
-		return folder.getItemCount();
-	return 0;
-}
-/**
- * Returns the image for the page with the given index,
- * or <code>null</code> if no image has been set for the page.
- * The page index must be valid.
- *
- * @param pageIndex the index of the page
- * @return the image, or <code>null</code> if none
- */
-protected Image getPageImage(int pageIndex) {
-	return getItem(pageIndex).getImage();
-}
-/**
- * Returns the text label for the page with the given index.
- * Returns the empty string if no text label has been set for the page.
- * The page index must be valid.
- *
- * @param pageIndex the index of the page
- * @return the text label for the page
- */
-protected String getPageText(int pageIndex) {
-	return getItem(pageIndex).getText();
-}
-/**
- * Returns the tab folder containing this multi-page editor's pages.
- *
- * @return the tab folder, or <code>null</code> if <code>createPartControl</code>
- *   has not been called yet
- */
-private CTabFolder getTabFolder() {
-	return container;
-}
-/**
- * Handles a property change notification from a nested editor.
- * The default implementation simply forwards the change to listeners
- * on this multi-page editor by calling <code>firePropertyChange</code>
- * with the same property id.  For example, if the dirty state of a nested editor
- * changes (property id <code>IEditorPart.PROP_DIRTY</code>), this method
- * handles it by firing a property change event for <code>IEditorPart.PROP_DIRTY</code>
- * to property listeners on this multi-page editor.
- * <p>
- * Subclasses may extend or reimplement this method.
- * </p>
- *
- * @param propertyId the id of the property that changed
- */
-protected void handlePropertyChange (int propertyId) {
-	firePropertyChange(propertyId);
-}
-/**
- * The <code>MultiPageEditorPart</code> implementation of this 
- * <code>IEditorPart</code> method sets its site to the given site, its 
- * input to the given input, and the site's selection provider to a
- * <code>MultiPageSelectionProvider</code>.
- * Subclasses may extend this method.
- */
-public void init(IEditorSite site, IEditorInput input) throws PartInitException {
-	setSite(site);
-	setInput(input);
-	site.setSelectionProvider(new MultiPageSelectionProvider(this));
-}
-/**
- * The <code>MultiPageEditorPart</code> implementation of this 
- * <code>IEditorPart</code> method returns whether the contents of any of this
- * multi-page editor's nested editors have changed since the last save.
- * Pages created with <code>addPage(Control)</code> are ignored.
- * <p>
- * Subclasses may extend or reimplement this method.
- * </p>
- */
-public boolean isDirty() {
-	// use nestedEditors to avoid SWT requests; see bug 12996
-	for (Iterator i = nestedEditors.iterator(); i.hasNext();) {
-		IEditorPart editor = (IEditorPart) i.next();
-		if (editor.isDirty()) {
-			return true;
-		}
-	}
-	return false;
-}
-/**
- * Notifies this multi-page editor that the page with the given id has been
- * activated. This method is called when the user selects a different tab.
- * <p>
- * The <code>MultiPageEditorPart</code> implementation of this method 
- * sets focus to the new page, and notifies the action bar contributor (if there is one).
- * This checks whether the action bar contributor is an instance of 
- * <code>MultiPageEditorActionBarContributor</code>, and, if so,
- * calls <code>setActivePage</code> with the active nested editor.
- * This also fires a selection change event if required.
- * </p>
- * <p>
- * Subclasses may extend this method.
- * </p>
- *
- * @param newPageIndex the index of the activated page 
- */
-protected void pageChange(int newPageIndex) {
-	// XXX: Workaround for 1GCN531: SWT:WIN2000 - CTabFolder child's visibility is false on notification
-	Control control = getControl(newPageIndex);
-	if (control != null) {
-		control.setVisible(true);
-	}
-	// XXX: End workaround
-	setFocus();
-	IEditorPart activeEditor = getEditor(newPageIndex);
-	IEditorActionBarContributor contributor = getEditorSite().getActionBarContributor();
-	if (contributor != null && contributor instanceof MultiPageEditorActionBarContributor) {
-		((MultiPageEditorActionBarContributor) contributor).setActivePage(activeEditor);
-	}
-	if (activeEditor != null) {
-		//Workaround for 1GAUS7C: ITPUI:ALL - Editor not activated when restored from previous session
-		//do not need second if once fixed
-		ISelectionProvider selectionProvider = activeEditor.getSite().getSelectionProvider();
-		if (selectionProvider != null) {
-			SelectionChangedEvent event = new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection());
-			((MultiPageSelectionProvider) getSite().getSelectionProvider()).fireSelectionChanged(event);
-		}
-	}
-}
-private void disposePart(final IWorkbenchPart part) {
-	Platform.run(new SafeRunnable() {
-		public void run() {
-			part.dispose();
-		}
-		public void handleException(Throwable e) {
-			//Exception has already being logged by Core. Do nothing.
-		}
-	});
-}
-/**
- * Removes the page with the given index from this multi-page editor.
- * The controls for the page are disposed of; if the page has an editor, 
- * it is disposed of too. The page index must be valid.
- *
- * @param pageIndex the index of the page
- * @see #addPage
- */
-public void removePage(int pageIndex) {
-	Assert.isTrue(pageIndex >= 0 && pageIndex < getPageCount());
-	// get editor (if any) before disposing item
-	IEditorPart editor = getEditor(pageIndex);
-	// dispose item before disposing editor, in case there's an exception in editor's dispose
-	getItem(pageIndex).dispose();
-	// dispose editor (if any)
-	if (editor != null) {
-		nestedEditors.remove(editor);
-		disposePart(editor);
-	}
-}
-/**
- * Sets the currently active page.
- *
- * @param pageIndex the index of the page to be activated; the index must be valid
- */
-protected void setActivePage(int pageIndex) {
-	Assert.isTrue(pageIndex >= 0 && pageIndex < getPageCount());
-	getTabFolder().setSelection(pageIndex);
-}
-/**
- * Sets the control for the given page index.
- * The page index must be valid.
- *
- * @param pageIndex the index of the page
- * @param control the control for the specified page, or <code>null</code> to clear the control
- */
-protected void setControl(int pageIndex, Control control) {
-	getItem(pageIndex).setControl(control);
-}
-/**
- * The <code>MultiPageEditor</code> implementation of this 
- * <code>IWorkbenchPart</code> method sets focus on the active nested editor,
- * if there is one.
- * <p>
- * Subclasses may extend or reimplement.
- * </p>
- */
-public void setFocus() {
-	int index = getActivePage();
-	if (index != -1)
-		setFocus(index);
-}
-/**
- * Sets focus to the control for the given page.
- * If the page has an editor, this calls its <code>setFocus()</code> method.
- * Otherwise, this calls <code>setFocus</code> on the control for the page.
- *
- * @pageIndex the index of the page
- */
-private void setFocus(int pageIndex) {
-	if (pageIndex < 0 || pageIndex >= getPageCount())
-		return;
-	IEditorPart editor = getEditor(pageIndex);
-	if (editor != null) {
-		editor.setFocus();
-	} else {
-		Control control = getControl(pageIndex);
-		if (control != null) {
-			control.setFocus();
-		}
-	}
-}
-/**
- * Sets the image for the page with the given index, or <code>null</code>
- * to clear the image for the page.
- * The page index must be valid.
- *
- * @param pageIndex the index of the page
- * @param image the image, or <code>null</code>
- */
-protected void setPageImage(int pageIndex, Image image) {
-	getItem(pageIndex).setImage(image);
-}
-/**
- * Sets the text label for the page with the given index.
- * The page index must be valid.
- * The text label must not be null.
- *
- * @param pageIndex the index of the page
- * @param text the text label
- */
-protected void setPageText(int pageIndex, String text) {
-	getItem(pageIndex).setText(text);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageEditorSite.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageEditorSite.java
deleted file mode 100644
index dad6164..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageEditorSite.java
+++ /dev/null
@@ -1,227 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.*;
-
-/**
- * Site for a nested editor within a multi-page editor.
- * Selection is handled by forwarding the event to the multi-page editor's 
- * selection listeners; most other methods are forwarded to the multi-page 
- * editor's site.
- * <p>
- * The base implementation of <code>MultiPageEditor.createSite</code> creates 
- * an instance of this class. This class may be instantiated or subclassed.
- * </p>
- */
-public class MultiPageEditorSite implements IEditorSite {
-
-	/**
-	 * The nested editor.
-	 */
-	private IEditorPart editor;
-
-	/**
-	 * The multi-page editor.
-	 */
-	private MultiPageEditorPart multiPageEditor;
-
-	/**
-	 * The selection provider; <code>null</code> if none.
-	 * @see #setSelectionProvider
-	 */
-	private ISelectionProvider selectionProvider = null;
-
-	/**
-	 * The selection change listener, initialized lazily; <code>null</code>
-	 * if not yet created.
-	 */
-	private ISelectionChangedListener selectionChangedListener = null;
-/**
- * Creates a site for the given editor nested within the given multi-page editor.
- *
- * @param multiPageEditor the multi-page editor
- * @param editor the nested editor
- */
-public MultiPageEditorSite(MultiPageEditorPart multiPageEditor, IEditorPart editor) {
-	Assert.isNotNull(multiPageEditor);
-	Assert.isNotNull(editor);
-	this.multiPageEditor = multiPageEditor;
-	this.editor = editor;
-}
-/**
- * The <code>MultiPageEditorSite</code> implementation of this 
- * <code>IEditorSite</code> method returns <code>null</code>,
- * since nested editors do not have their own action bar contributor.
- */
-public IEditorActionBarContributor getActionBarContributor() {
-	return null;
-}
-
-/**
- * The <code>MultiPageEditorSite</code> implementation of this 
- * <code>IWorkbenchPartSite</code> method forwards to the multi-page editor to
- * return the decorator manager.
- * 
- * @deprecated use IWorkbench.getDecoratorManager()
- */
-public ILabelDecorator getDecoratorManager() {
-	return getWorkbenchWindow().getWorkbench().getDecoratorManager().getLabelDecorator();
-}
-
-/**
- * Returns the nested editor.
- *
- * @return the nested editor
- */
-public IEditorPart getEditor() {
-	return editor;
-}
-/**
- * The <code>MultiPageEditorSite</code> implementation of this 
- * <code>IWorkbenchPartSite</code> method returns an empty string since the
- * nested editor is not created from the registry.
- */
-public String getId() {
-	return "";//$NON-NLS-1$
-}
-
-/* (non-Javadoc)
- * Method declared on IEditorSite.
- */
-public IKeyBindingService getKeyBindingService() {
-	return getMultiPageEditor().getEditorSite().getKeyBindingService();	
-}
-
-/**
- * Returns the multi-page editor.
- *
- * @return the multi-page editor
- */
-public MultiPageEditorPart getMultiPageEditor() {
-	return multiPageEditor;
-}
-/**
- * The <code>MultiPageEditorSite</code> implementation of this 
- * <code>IWorkbenchPartSite</code> method forwards to the multi-page editor to
- * return the workbench page.
- */
-public IWorkbenchPage getPage() {
-	return getMultiPageEditor().getSite().getPage();
-}
-/**
- * The <code>MultiPageEditorSite</code> implementation of this 
- * <code>IWorkbenchPartSite</code> method returns an empty string since the
- * nested editor is not created from the registry. 
- */
-public String getPluginId() {
-	return "";//$NON-NLS-1$
-}
-/**
- * The <code>MultiPageEditorSite</code> implementation of this 
- * <code>IWorkbenchPartSite</code> method returns an empty string since the
- * nested editor is not created from the registry. 
- */
-public String getRegisteredName() {
-	return "";//$NON-NLS-1$
-}
-/**
- * Returns the selection changed listener which listens to the nested editor's selection
- * changes, and calls <code>handleSelectionChanged</code>.
- *
- * @return the selection changed listener
- */
-private ISelectionChangedListener getSelectionChangedListener() {
-	if (selectionChangedListener == null) {
-		selectionChangedListener = new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				MultiPageEditorSite.this.handleSelectionChanged(event);
-			}
-		};
-	}
-	return selectionChangedListener;
-}
-/**
- * The <code>MultiPageEditorSite</code> implementation of this 
- * <code>IWorkbenchPartSite</code> method returns the selection provider 
- * set by <code>setSelectionProvider</code>.
- */
-public ISelectionProvider getSelectionProvider() {
-	return selectionProvider;
-}
-/**
- * The <code>MultiPageEditorSite</code> implementation of this 
- * <code>IWorkbenchPartSite</code> method forwards to the multi-page editor to
- * return the shell.
- */
-public Shell getShell() {
-	return getMultiPageEditor().getSite().getShell();
-}
-/**
- * The <code>MultiPageEditorSite</code> implementation of this 
- * <code>IWorkbenchPartSite</code> method forwards to the multi-page editor to
- * return the workbench window.
- */
-public IWorkbenchWindow getWorkbenchWindow() {
-	return getMultiPageEditor().getSite().getWorkbenchWindow();
-}
-/**
- * Handles a selection changed event from the nested editor.
- * The default implementation gets the selection provider from the
- * multi-page editor's site, and calls <code>fireSelectionChanged</code>
- * on it (only if it is an instance of <code>MultiPageSelectionProvider</code>),
- * passing a new event object.
- * <p>
- * Subclasses may extend or reimplement this method.
- * </p>
- *
- * @param event the event
- */
-protected void handleSelectionChanged(SelectionChangedEvent event) {
-	ISelectionProvider parentProvider = getMultiPageEditor().getSite().getSelectionProvider();
-	if (parentProvider instanceof MultiPageSelectionProvider) {
-		SelectionChangedEvent newEvent = new SelectionChangedEvent(parentProvider, event.getSelection());
-		((MultiPageSelectionProvider) parentProvider).fireSelectionChanged(newEvent);
-	}
-}
-/**
- * The <code>MultiPageEditorSite</code> implementation of this 
- * <code>IWorkbenchPartSite</code> method forwards to the multi-page editor for
- * registration.
- */
-public void registerContextMenu(String menuID, MenuManager menuMgr, ISelectionProvider selProvider) {
-	getMultiPageEditor().getSite().registerContextMenu(menuID, menuMgr, selProvider);
-}
-/**
- * The <code>MultiPageEditorSite</code> implementation of this 
- * <code>IWorkbenchPartSite</code> method forwards to the multi-page editor for
- * registration.
- */
-public void registerContextMenu(MenuManager menuManager, ISelectionProvider selectionProvider) {
-	getMultiPageEditor().getSite().registerContextMenu(menuManager, selectionProvider);
-}
-/**
- * The <code>MultiPageEditorSite</code> implementation of this
- * <code>IWorkbenchPartSite</code> method remembers the selection provider, 
- * and also hooks a listener on it, which calls <code>handleSelectionChanged</code> 
- * when a selection changed event occurs.
- *
- * @see #handleSelectionChanged
- */
-public void setSelectionProvider(ISelectionProvider provider) {
-	ISelectionProvider oldSelectionProvider = selectionProvider;
-	selectionProvider = provider;
-	if (oldSelectionProvider != null) {
-		oldSelectionProvider.removeSelectionChangedListener(getSelectionChangedListener());
-	}
-	if (selectionProvider != null) {
-		selectionProvider.addSelectionChangedListener(getSelectionChangedListener());
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageSelectionProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageSelectionProvider.java
deleted file mode 100644
index 212c97b..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageSelectionProvider.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.*;
-
-/**
- * Manages the current selection in a multi-page editor by tracking the active
- * nested editor within the multi-page editor. When the selection changes,
- * notifications are sent to all registered listeners.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * The base implementation of <code>MultiPageEditor.init</code> creates 
- * an instance of this class.
- * </p>
- */
-public class MultiPageSelectionProvider implements ISelectionProvider {
-
-	/**
-	 * Registered selection changed listeners (element type: 
-	 * <code>ISelectionChangedListener</code>).
-	 */
-	private ListenerList listeners = new ListenerList();
-
-	/**
-	 * The multi-page editor.
-	 */
-	private MultiPageEditorPart multiPageEditor;
-/**
- * Creates a selection provider for the given multi-page editor.
- *
- * @param multiPageEditor the multi-page editor
- */
-public MultiPageSelectionProvider(MultiPageEditorPart multiPageEditor) {
-	Assert.isNotNull(multiPageEditor);
-	this.multiPageEditor = multiPageEditor;
-}
-/* (non-Javadoc)
- * Method declared on <code>ISelectionProvider</code>.
- */
-public void addSelectionChangedListener(ISelectionChangedListener listener) {
-	listeners.add(listener);
-}
-/**
- * Notifies all registered selection changed listeners that the editor's 
- * selection has changed. Only listeners registered at the time this method is
- * called are notified.
- *
- * @param event the selection changed event
- */
-public void fireSelectionChanged(final SelectionChangedEvent event) {
-	Object[] listeners = this.listeners.getListeners();
-	for (int i = 0; i < listeners.length; ++i) {
-		final ISelectionChangedListener l = (ISelectionChangedListener)listeners[i];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.selectionChanged(event);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				removeSelectionChangedListener(l);
-			}
-		});		
-	}
-}
-/**
- * Returns the multi-page editor.
- */
-public MultiPageEditorPart getMultiPageEditor(){
-	return multiPageEditor;
-}
-/* (non-Javadoc)
- * Method declared on <code>ISelectionProvider</code>.
- */
-public ISelection getSelection() {
-	IEditorPart activeEditor = multiPageEditor.getActiveEditor();
-	if (activeEditor != null) {
-		ISelectionProvider selectionProvider = activeEditor.getSite().getSelectionProvider();
-		if (selectionProvider != null)
-			return selectionProvider.getSelection();
-	}
-	return null;
-}
-/* (non-JavaDoc)
- * Method declaed on <code>ISelectionProvider</code>.
- */
-public void removeSelectionChangedListener(ISelectionChangedListener listener) {
-	listeners.remove(listener);
-}
-/* (non-Javadoc)
- * Method declared on <code>ISelectionProvider</code>.
- */
-public void setSelection(ISelection selection) {
-	IEditorPart activeEditor = multiPageEditor.getActiveEditor();
-	if (activeEditor != null) {
-		ISelectionProvider selectionProvider = activeEditor.getSite().getSelectionProvider();
-		if (selectionProvider != null)
-			selectionProvider.setSelection(selection);
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/Page.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/Page.java
deleted file mode 100644
index 1953aeb..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/Page.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Abstract base superclass for pages in a pagebook view.
- * <p>
- * This class should be subclassed by clients wishing to define new types
- * of pages for multi-page views.
- * </p>
- * <p>
- * Subclasses must implement the following methods:
- * <ul>
- *   <li><code>createControl</code> - to create the page's control</li>
- *   <li><code>getControl</code> - to retrieve the page's control</li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may extend or reimplement the following methods as required:
- * <ul>
- *   <li><code>dispose</code> - extend to provide additional cleanup</li>
- *   <li><code>setFocus</code> - reimplement to accept focus</li>
- *   <li><code>setActionBars</code> - reimplement to make contributions</li>
- *   <li><code>makeContributions</code> - this method exists to support previous versions</li>
- *   <li><code>setActionBars</code> - this method exists to support previous versions</li>
- *   <li><code>init</code> - extend to provide additional setup</li>
- * </ul>
- * </p>
- *
- * @see PageBookView
- */
-public abstract class Page implements IPageBookViewPage {
-/**
-* The site which contains this page
-*/
-private IPageSite site;
-/* 
- * Creates a new page for a pagebook view.
- */
-protected Page(){
-}
-/* (non-Javadoc)
- * Method declared on IPage.
- */
-public abstract void createControl(Composite parent);
-/**
- * The <code>Page</code> implementation of this <code>IPage</code> method 
- * disposes of this page's control (if it has one and it has not already
- * been disposed). Subclasses may extend.
- */
-public void dispose() {
-	Control ctrl = getControl();
-	if (ctrl != null && !ctrl.isDisposed())
-		ctrl.dispose();
-}
-/**
- * The <code>Page</code> implementation of this <code>IPage</code> method returns
- * <code>null</code>. Subclasses must reimplement.
- */
-public abstract Control getControl();
-/* (non-Javadoc)
- * This method exists for backward compatibility.
- * Subclasses should reimplement <code>init</code>.
- */
-public void makeContributions(
-	IMenuManager menuManager, 
-	IToolBarManager toolBarManager, 
-	IStatusLineManager statusLineManager) {
-}
-/* (non-Javadoc)
- * This method exists for backward compatibility.
- * Subclasses should reimplement <code>init</code>.
- */
-public void setActionBars(IActionBars actionBars) {
-	makeContributions(
-		actionBars.getMenuManager(), 
-		actionBars.getToolBarManager(), 
-		actionBars.getStatusLineManager());
-}
-/**
- * The <code>Page</code> implementation of this <code>IPageBookViewPage</code> method
- * stores a reference to the supplied site (the site which contains this 
- * page). 
- * <p>
- * Subclasses may extend.
- * </p>
- * 
- * @since 2.0
- */
-public void init(IPageSite pageSite) {
-	site = pageSite;
-}
-/**
- * Returns the site which contains this page.
- * 
- * @return the site which contains this page
- */
-public IPageSite getSite() {
-	return site;
-}	
-	
-/**
- * The <code>Page</code> implementation of this <code>IPage</code> method
- * does nothing. Subclasses may reimplement.
- */
-public abstract void setFocus();
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PageBook.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PageBook.java
deleted file mode 100644
index 6cdf922..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PageBook.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.Point;
-
-/**
- * A pagebook is a composite control where only a single control is visible
- * at a time. It is similar to a notebook, but without tabs.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- *
- * @see PageBookView
- */
-public class PageBook extends Composite {
-
-	/**
-	 * <p>
-	 * [Issue: This class should be declared private.]
-	 * </p>
-	 */
-	public class PageBookLayout extends Layout {
-
-		protected Point computeSize(
-			Composite composite, 
-			int wHint, 
-			int hHint, 
-			boolean flushCache) {
-			if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT)
-				return new Point(wHint, hHint);
-
-			Point result = null;
-			if (currentPage != null) {
-				result = currentPage.computeSize(wHint, hHint, flushCache);
-			} else {
-				//Rectangle rect= composite.getClientArea();
-				//result= new Point(rect.width, rect.height);
-				result = new Point(0, 0);
-			}			
-			if (wHint != SWT.DEFAULT)
-				result.x = wHint;
-			if (hHint != SWT.DEFAULT)
-				result.y = hHint;
-			return result;
-		}
-
-		protected void layout(Composite composite, boolean flushCache) {
-			if (currentPage != null) {
-				currentPage.setBounds(composite.getClientArea());
-			}
-		}
-	}
-
-	/**
-	 * The current control; <code>null</code> if none.
-	 */
-	private Control currentPage = null;
-/**
- * Creates a new empty pagebook.
- *
- * @param parent the parent composite
- * @param style the SWT style bits
- */
-public PageBook(Composite parent, int style) {
-	super(parent, style);
-	setLayout(new PageBookLayout());
-}
-/**
- * Shows the given page. This method has no effect if the given page is not
- * contained in this pagebook.
- *
- * @param page the page to show
- */
-public void showPage(Control page) {
-
-	if (page == currentPage)
-		return;
-	if (page.getParent() != this)
-		return;
-
-	Control oldPage = currentPage;
-	currentPage = page;
-
-	// show new page
-	if (page != null) {
-		if (!page.isDisposed()) {
-			page.setVisible(true);
-			layout(true);
-			//				if (fRequestFocusOnShowPage)
-			//					page.setFocus();
-		}
-	}
-
-	// hide old *after* new page has been made visible in order to avoid flashing
-	if (oldPage != null && !oldPage.isDisposed())
-		oldPage.setVisible(false);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PageBookView.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PageBookView.java
deleted file mode 100644
index f5985fd..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PageBookView.java
+++ /dev/null
@@ -1,724 +0,0 @@
-/************************************************************************
-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.part;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.SubActionBars;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * Abstract superclass of all multi-page workbench views.
- * <p>
- * Within the workbench there are many views which track the active part.  If a
- * part is activated these views display some properties for the active part.  A
- * simple example is the <code>Outline View</code>, which displays the outline for the
- * active editor.  To avoid loss of context when part activation changes, these 
- * views may implement a multi-page approach.  A separate page is maintained within
- * the view for each source view.  If a part is activated the associated page for the
- * part is brought to top.  If a part is closed the associated page is disposed.
- * <code>PageBookView</code> is a base implementation for multi page views.
- * </p>
- * <p>
- * <code>PageBookView</code>s provide an <code>IPageSite</code> for each of
- * their pages. This site is supplied during the page's initialization. The page
- * may supply a selection provider for this site. <code>PageBookView</code>s deal
- * with these selection providers in a similar way to a workbench page's
- * <code>SelectionService</code>. When a page is made visible, if its site
- * has a selection provider, then changes in the selection are listened for
- * and the current selection is obtained and fired as a selection change event.
- * Selection changes are no longer listened for when a page is made invisible.
- * </p>
- * <p>
- * This class should be subclassed by clients wishing to define new 
- * multi-page views.
- * </p>
- * <p>
- * When a <code>PageBookView</code> is created the following methods are
- * invoked.  Subclasses must implement these.
- * <ul>
- *   <li><code>createDefaultPage</code> - called to create a default page for the
- *		view.  This page is displayed when the active part in the workbench does not
- *		have a page.</li>
- *   <li><code>getBootstrapPart</code> - called to determine the active part in the
- *		workbench.  A page will be created for this part</li>
- * </ul>
- * </p>
- * <p>
- * When a part is activated the base implementation does not know if a page should
- * be created for the part.  Therefore, it delegates creation to the subclass.
- * <ul>
- *   <li><code>isImportant</code> - called when a workbench part is activated.
- *		Subclasses return whether a page should be created for the new part.</li>
- *   <li><code>doCreatePage</code> - called to create a page for a particular part
- *		in the workbench.  This is only invoked when <code>isImportant</code> returns 
- *		</code>true</code>.</li>
- * </ul>
- * </p>
- * <p>
- * When a part is closed the base implementation will destroy the page associated with
- * the particular part.  The page was created by a subclass, so the subclass must also
- * destroy it.  Subclasses must implement these.
- * <ul>
- *   <li><code>doDestroyPage</code> - called to destroy a page for a particular
- *		part in the workbench.</li>
- * </ul>
- * </p>
- */
-public abstract class PageBookView extends ViewPart implements IPartListener {
-	/**
-	 * The pagebook control, or <code>null</code> if not initialized.
-	 */
-	private PageBook book;
-	
-	/**
-	 * The page record for the default page.
-	 */
-	private PageRec defaultPageRec;
-	
-	/**
-	 * Map from parts to part records (key type: <code>IWorkbenchPart</code>;
-	 * value type: <code>PartRec</code>).
-	 */
-	private Map mapPartToRec = new HashMap();
-	
-	/**
-	 * Map from pages to view sites
-	 * Note that view sites were not added to page recs to 
-	 * avoid breaking binary compatibility with previous builds
-	 */
-	private Map mapPageToSite = new HashMap();
-
-	/**
-	 * The page rec which provided the current page or
-	 * <code>null</code> 
-	 */
-	private PageRec activeRec;
-
-	/**
-	 * The action bar property listener. 
-	 */
-	private IPropertyChangeListener actionBarPropListener =
-		new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (event.getProperty().equals(SubActionBars.P_ACTION_HANDLERS)
-					&& activeRec != null
-					&& event.getSource() == activeRec.subActionBars) {
-					refreshGlobalActionHandlers(); 
-				}
-			}
-		};
-		
-	/**
-	 * Selection change listener to listen for page selection changes
-	 */
-	private ISelectionChangedListener selectionChangedListener =
-		new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				pageSelectionChanged(event);
-			}
-		};
-		
-	/** 
-	 * Selection provider for this view's site
-	 */
-	private SelectionProvider selectionProvider = new SelectionProvider();	
-		
-	/**
-	 * A data structure used to store the information about a single page 
-	 * within a pagebook view.
-	 */	
-	protected static class PageRec {
-		
-		/**
-		 * The part.
-		 */
-		public IWorkbenchPart part;
-		
-		/**
-		 * The page.
-		 */
-		public IPage page;
-
-		/**
-		 * The page's action bars
-		 */
-		public SubActionBars subActionBars;
-		
-		/**
-		 * Creates a new page record initialized to the given part and page.
-		 */
-		public PageRec(IWorkbenchPart part, IPage page) {
-			this.part = part;
-			this.page = page;
-		}
-		/**
-		 * Disposes of this page record by <code>null</code>ing its fields.
-		 */
-		public void dispose() {
-			part = null;
-			page = null;
-		}
-	}
-	
-	/**
-	 * A selection provider/listener for this view.
-	 * It is a selection provider fo this view's site.
-	 */
-	protected class SelectionProvider implements ISelectionProvider {
-		/**
-		 * Selection change listeners.
-		 */
-		private ListenerList selectionChangedListeners = new ListenerList();
-				
-		/* (non-Javadoc)
-		 * Method declared on ISelectionProvider.
-		 */
-		public void addSelectionChangedListener(ISelectionChangedListener listener) {
-			selectionChangedListeners.add(listener);	
-		}
-		/* (non-Javadoc)
-		 * Method declared on ISelectionProvider.
-		 */
-		public ISelection getSelection() {
-			// get the selection provider from the current page
-			IPage currentPage = getCurrentPage();
-			// during workbench startup we may be in a state when
-			// there is no current page
-			if (currentPage == null) 
-				return StructuredSelection.EMPTY;
-			IPageSite site = getPageSite(currentPage);
-			if (site == null)
-				return	StructuredSelection.EMPTY;
-			ISelectionProvider selProvider = site.getSelectionProvider();
-			if (selProvider != null) 
-				return selProvider.getSelection();
-			else
-				return StructuredSelection.EMPTY;
-		}
-		/* (non-Javadoc)
-		 * Method declared on ISelectionProvider.
-		 */
-		public void removeSelectionChangedListener(ISelectionChangedListener listener) {
-			selectionChangedListeners.remove(listener);
-		}
-		/* (non-Javadoc)
-		 * Method declared on ISelectionChangedListener.
-		 */
-		public void selectionChanged(final SelectionChangedEvent event) {
-			// pass on the notification to listeners
-			Object[] listeners = selectionChangedListeners.getListeners();
-			for (int i = 0; i < listeners.length; ++i) {
-				final ISelectionChangedListener l = (ISelectionChangedListener)listeners[i];
-				Platform.run(new SafeRunnable() {
-					public void run() {
-						l.selectionChanged(event);
-					}
-					public void handleException(Throwable e) {
-						super.handleException(e);
-						//If and unexpected exception happens, remove it
-						//to make sure the workbench keeps running.
-						removeSelectionChangedListener(l);
-					}
-				});		
-			}
-		}
-		/* (non-Javadoc)
-		 * Method declared on ISelectionProvider.
-		 */
-		public void setSelection(ISelection selection) {
-			// get the selection provider from the current page
-			IPage currentPage = getCurrentPage();
-			// during workbench startup we may be in a state when
-			// there is no current page
-			if (currentPage == null) 
-				return;
-			IPageSite site = getPageSite(currentPage);
-			if (site == null)
-				return;
-			ISelectionProvider selProvider = site.getSelectionProvider();
-			// and set its selection
-			if (selProvider != null) 
-				selProvider.setSelection(selection);
-		}
-	}
-/**
- * Creates a new pagebook view.
- */
-protected PageBookView() {
-	super();
-}
-/**
- * Creates and returns the default page for this view.
- * <p>
- * Subclasses must implement this method.
- * </p>
- * <p> 
- * Subclasses must call initPage with the new page (if it is an
- * <code>IPageBookViewPage</code>) before calling createControl 
- * on the page.
- * </p>
- * 
- * @param book the pagebook control
- * @return the default page
- */
-protected abstract IPage createDefaultPage(PageBook book);
-/**
- * Creates a page for a given part.  Adds it to the pagebook but does
- * not show it.
- */
-private PageRec createPage(IWorkbenchPart part) {
-	PageRec rec = doCreatePage(part);
-	if (rec != null) {
-		mapPartToRec.put(part, rec);
-		preparePage(rec);
-	}
-	return rec;
-}
-/**
- * Prepares the page in the given page rec for use
- * in this view.
- */
-private void preparePage(PageRec rec) {
-	IPageSite site = null;
-	if (rec.page instanceof IPageBookViewPage) {
-		site = ((IPageBookViewPage)rec.page).getSite();
-	}
-	if (site == null) {
-		// We will create a site for our use
-		site = new PageSite(getViewSite());
-	}
-	mapPageToSite.put(rec.page, site);
-	rec.subActionBars = (SubActionBars)site.getActionBars();
-	rec.subActionBars.addPropertyChangeListener(actionBarPropListener);
-	// for backward compability with IPage
-	rec.page.setActionBars(rec.subActionBars);
-}
-/**
- * Initializes the given page with a page site.
- * <p>
- * Subclasses should call this method after
- * the page is created but before creating its
- * controls.
- * </p>
- * <p>
- * Subclasses may override
- * </p>
- * @param the page to initialize
- */
-protected void initPage(IPageBookViewPage page) {
-	try {
-		page.init(new PageSite(getViewSite()));
-	} catch (PartInitException e) {
-		WorkbenchPlugin.log(e.getMessage());
-	}
-}
-/**
- * The <code>PageBookView</code> implementation of this <code>IWorkbenchPart</code>
- * method creates a <code>PageBook</code> control with its default page showing.
- * Subclasses may extend.
- */
-public void createPartControl(Composite parent) {
-
-	// Create the page book.
-	book = new PageBook(parent, SWT.NONE);
-
-	// Create the default page rec.
-	IPage defaultPage = createDefaultPage(book);
-	defaultPageRec = new PageRec(null, defaultPage);
-	preparePage(defaultPageRec);
-
-	// Show the default page	
-	showPageRec(defaultPageRec);
-
-	// Listen to part activation events.
-	getSite().getPage().addPartListener(this);
-	showBootstrapPart();
-}
-/**
- * The <code>PageBookView</code> implementation of this 
- * <code>IWorkbenchPart</code> method cleans up all the pages.
- * Subclasses may extend.
- */
-public void dispose() {
-	// stop listening to part activation
-	getSite().getPage().removePartListener(this);
-
-	// Deref all of the pages.
-	activeRec = null;
-	if (defaultPageRec != null) {
-		// check for null since the default page may not have
-		// been created (ex. perspective never visible)
-		defaultPageRec.page.dispose();
-		defaultPageRec = null;
-	}
-	Map clone = (Map)((HashMap)mapPartToRec).clone();
-	Iterator enum = clone.values().iterator();
-	while (enum.hasNext()) {
-		PageRec rec = (PageRec) enum.next();
-		removePage(rec);
-	}
-
-	// Run super.
-	super.dispose();
-}
-/**
- * Creates a new page in the pagebook for a particular part.  This
- * page will be made visible whenever the part is active, and will be
- * destroyed with a call to <code>doDestroyPage</code>.
- * <p>
- * Subclasses must implement this method.
- * </p>
- * <p> 
- * Subclasses must call initPage with the new page (if it is an
- * <code>IPageBookViewPage</code>) before calling createControl 
- * on the page.
- * </p>
- * @param part the input part
- * @return the record describing a new page for this view
- * @see #doDestroyPage
- */
-protected abstract PageRec doCreatePage(IWorkbenchPart part);
-/**
- * Destroys a page in the pagebook for a particular part.  This page
- * was returned as a result from <code>doCreatePage</code>.
- * <p>
- * Subclasses must implement this method.
- * </p>
- *
- * @param part the input part
- * @param pageRecord a page record for the part
- * @see #doCreatePage
- */
-protected abstract void doDestroyPage(IWorkbenchPart part, PageRec pageRecord);
-
-/**
- * The <code>PageBookView</code> implementation of this <code>IAdaptable</code> 
- * method delegates to the current page, if it implements <code>IAdaptable</code>.
- */
-public Object getAdapter(Class key) {
-	// delegate to the current page, if supported
-	IPage page = getCurrentPage();
-	if (page instanceof IAdaptable) {
-		return ((IAdaptable) page).getAdapter(key);
-	}
-	return super.getAdapter(key);
-}
-
-/**
- * Returns the active, important workbench part for this view.  
- * <p>
- * When the page book view is created it has no idea which part within
- * the workbook should be used to generate the first page.  Therefore, it
- * delegates the choice to subclasses of <code>PageBookView</code>.
- * </p><p>
- * Implementors of this method should return an active, important part
- * in the workbench or <code>null</code> if none found.
- * </p><p>
- * Subclasses must implement this method.
- * </p>
- *
- * @return the active important part, or <code>null</code> if none
- */
-protected abstract IWorkbenchPart getBootstrapPart();
-/**
- * Returns the part which contributed the current 
- * page to this view.
- *
- * @return the part which contributed the current page
- * or <code>null</code> if no part contributed the current page
- */
-protected IWorkbenchPart getCurrentContributingPart() {
-	if (activeRec == null)
-		return null;
-	return activeRec.part;
-}
-/**
- * Returns the currently visible page for this view or
- * <code>null</code> if no page is currently visible.
- *
- * @return the currently visible page
- */
-public IPage getCurrentPage() {
-	if (activeRec == null)
-		return null;
-	return activeRec.page;
-}
-/**
- * Returns the view site for the given page of this view.
- *
- * @param page the page
- * @return the corresponding site, or <code>null</code> if not found
- */
-protected PageSite getPageSite(IPage page) {
-	return (PageSite)mapPageToSite.get(page);
-}
-/**
- * Returns the default page for this view.
- *
- * @return the default page
- */
-public IPage getDefaultPage() {
-	return defaultPageRec.page;
-}
-/**
- * Returns the pagebook control for this view.
- *
- * @return the pagebook control, or <code>null</code> if not initialized
- */
-protected PageBook getPageBook() {
-	return book;
-}
-/**
- * Returns the page record for the given part.
- *
- * @param part the part
- * @return the corresponding page record, or <code>null</code> if not found
- */
-protected PageRec getPageRec(IWorkbenchPart part) {
-	return (PageRec) mapPartToRec.get(part);
-}
-/**
- * Returns the page record for the given page of this view.
- *
- * @param page the page
- * @return the corresponding page record, or <code>null</code> if not found
- */
-protected PageRec getPageRec(IPage page) {
-	Iterator enum = mapPartToRec.values().iterator();
-	while (enum.hasNext()) {
-		PageRec rec = (PageRec)enum.next();
-		if (rec.page == page)
-			return rec;
-	}
-	return null;
-}
-/**
- * Returns whether the given part should be added to this view.
- * <p>
- * Subclasses must implement this method.
- * </p>
- * 
- * @param part the input part
- * @return <code>true</code> if the part is relevant, and <code>false</code>
- *   otherwise
- */
-protected abstract boolean isImportant(IWorkbenchPart part);
-/* (non-Javadoc)
- * Method declared on IViewPart.
- */
-public void init(IViewSite site) throws PartInitException {
-	site.setSelectionProvider(selectionProvider);
-	super.init(site);
-}
-/**
- * The <code>PageBookView</code> implementation of this <code>IPartListener</code>
- * method shows the page when the given part is activated. Subclasses may extend.
- */
-public void partActivated(IWorkbenchPart part) {
-	// Is this an important part?  If not just return.
-	if (!isImportant(part))
-		return;
-		
-	// Create a page for the part.
-	PageRec rec = getPageRec(part);
-	if (rec == null)
-		rec = createPage(part);
-
-	// Show the page.
-	if (rec != null) {
-		showPageRec(rec);
-	} else {
-		showPageRec(defaultPageRec);
-	}
-}
-/**
- * The <code>PageBookView</code> implementation of this <code>IPartListener</code>
- * method does nothing. Subclasses may extend.
- */
-public void partBroughtToTop(IWorkbenchPart part) {
-}
-/**
- * The <code>PageBookView</code> implementation of this <code>IPartListener</code>
- * method deal with the closing of the active part. Subclasses may extend.
- */
-public void partClosed(IWorkbenchPart part) {
-	// Update the active part.
-	if (activeRec != null && activeRec.part == part) {
-		showPageRec(defaultPageRec);
-	}
-	
-	// Find and remove the part page.
-	PageRec rec = getPageRec(part);
-	if (rec != null)
-		removePage(rec);
-}
-/**
- * The <code>PageBookView</code> implementation of this <code>IPartListener</code>
- * method does nothing. Subclasses may extend.
- */
-public void partDeactivated(IWorkbenchPart part) {
-	// Do nothing.
-}
-/**
- * The <code>PageBookView</code> implementation of this <code>IPartListener</code>
- * method does nothing. Subclasses may extend.
- */
-public void partOpened(IWorkbenchPart part) {
-}
-/* (non-Javadoc)
- * Refreshes the global actions for the active page.
- */
-private void refreshGlobalActionHandlers() {
-	// Clear old actions.
-	IActionBars bars = getViewSite().getActionBars();
-	bars.clearGlobalActionHandlers();
-
-	// Set new actions.
-	Map newActionHandlers = activeRec.subActionBars.getGlobalActionHandlers();
-	if (newActionHandlers != null) {
-		Set keys = newActionHandlers.entrySet();
-		Iterator iter = keys.iterator();
-		while (iter.hasNext()) {
-			Map.Entry entry = (Map.Entry)iter.next();
-			bars.setGlobalActionHandler((String)entry.getKey(),
-				(IAction)entry.getValue());
-		}
-	}
-}
-/**
- * Removes a page.
- */
-private void removePage(PageRec rec) {
-	mapPageToSite.remove(rec.page);
-	mapPartToRec.remove(rec.part);
-
-	if (rec.subActionBars != null) {
-		rec.subActionBars.dispose();
-	}
-
-	Control control = rec.page.getControl();
-	if (control != null && !control.isDisposed()) {
-		// Dispose the page's control so pages don't have to do this in their 
-		// dispose method. 
-		// The page's control is a child of this view's control so if this view 
-		// is closed, the page's control will already be disposed.
-		control.dispose();
-	}
-
-	// free the page 
-	doDestroyPage(rec.part, rec);
-}
-/* (non-Javadoc)
- * Method declared on IWorkbenchPart.
- */
-public void setFocus() {
-	if (activeRec == null)
-		book.setFocus();
-	else
-		activeRec.page.getControl().setFocus();
-}
-
-/**
- * Handle page selection changes.
- */
-private void pageSelectionChanged(SelectionChangedEvent event) {
-	// forward this change from a page to our site's selection provider
-	SelectionProvider provider = (SelectionProvider)getSite().getSelectionProvider();
-	if (provider != null)
-		provider.selectionChanged(event);
-}
-/**
- * Shows a page for the active workbench part.
- */
-private void showBootstrapPart() {
-	IWorkbenchPart part = getBootstrapPart();
-	if (part != null)
-		partActivated(part);
-}
-/**
- * Shows page contained in the given page record in this view. The page record must 
- * be one from this pagebook view.
- * <p>
- * The <code>PageBookView</code> implementation of this method asks the
- * pagebook control to show the given page's control, and records that the
- * given page is now current. Subclasses may extend.
- * </p>
- *
- * @param pageRec the page record containing the page to show
- */
-protected void showPageRec(PageRec pageRec) {
-	// If already showing do nothing
-	if (activeRec == pageRec)
-		return;
-	
-	// Hide old page.
-	if (activeRec != null) {
-		activeRec.subActionBars.deactivate();
-		// remove our selection listener
-		ISelectionProvider provider = ((PageSite)mapPageToSite.get(activeRec.page)).getSelectionProvider();
-		if (provider != null) 
-			provider.removeSelectionChangedListener(selectionChangedListener);
-	}			
-	// Show new page.
-	activeRec = pageRec;
-	Control pageControl = activeRec.page.getControl();
-	if (pageControl != null && !pageControl.isDisposed()) {
-		// Verify that the page control is not disposed
-		// If we are closing, it may have already been disposed
-		book.showPage(pageControl);
-		activeRec.subActionBars.activate();
-		refreshGlobalActionHandlers();
-		// add our selection listener
-		ISelectionProvider provider = 
-			((PageSite)mapPageToSite.get(activeRec.page)).getSelectionProvider();
-		if (provider != null) 
-			provider.addSelectionChangedListener(selectionChangedListener);		
-		// Update action bars.
-		getViewSite().getActionBars().updateActionBars();
-	}
-}
-/**
- * Returns the selectionProvider for this page book view.
- * 
- * @return a SelectionProvider
- */
-protected SelectionProvider getSelectionProvider() {
-	return selectionProvider;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PageSite.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PageSite.java
deleted file mode 100644
index 72f589f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PageSite.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved. 
- */
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.misc.Assert;
-/**
- * This implementation of <code>IPageSite</code> provides a site for a page
- * within a <code>PageBookView</code>. Most methods are forwarded to the view's
- * site.
- */
-public class PageSite implements IPageSite {
-	/**
-	 * The "parent" view site 
-	 */
-	private IViewSite parentSite;
-	/**
-	 * A selection provider set by the page.
-	 * Value is <code>null</code> until set.
-	 */
-	private ISelectionProvider selectionProvider;
-	/**
-	 * The action bars for this site
-	 */
-	private SubActionBars subActionBars;
-	/**
-	 * Creates a new sub view site of the given parent 
-	 * view site.
-	 * 
-	 * @param parentViewSite the parent view site
-	 */
-	public PageSite(IViewSite parentViewSite) {
-		Assert.isNotNull(parentViewSite);
-		parentSite = parentViewSite;
-		subActionBars = new SubActionBars(parentViewSite.getActionBars());
-	}
-	/**
-	 * The PageSite implementation of this <code>IPageSite</code>
-	 * method returns the <code>SubActionBars</code> for this site.
-	 * 
-	 * @return the subactionbars for this site
-	 */
-	public IActionBars getActionBars() {
-		return subActionBars;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IPageSite.
-	 */
-	public IWorkbenchPage getPage() {
-		return parentSite.getPage();
-	}
-	/* (non-Javadoc)
-	 * Method declared on IPageSite.
-	 */
-	public ISelectionProvider getSelectionProvider() {
-		return selectionProvider;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IPageSite.
-	 */
-	public Shell getShell() {
-		return parentSite.getShell();
-	}
-	/* (non-Javadoc)
-	 * Method declared on IPageSite.
-	 */
-	public IWorkbenchWindow getWorkbenchWindow() {
-		return parentSite.getWorkbenchWindow();
-	}
-	/* (non-Javadoc)
-	 * Method declared on IPageSite.
-	 */
-	public void registerContextMenu(String menuID, MenuManager menuMgr, ISelectionProvider selProvider) {
-		parentSite.registerContextMenu(menuID, menuMgr, selProvider);
-	}
-	/* (non-Javadoc)
-	 * Method declared on IPageSite.
-	 */
-	public void setSelectionProvider(ISelectionProvider provider) {
-		selectionProvider = provider;
-	}
-}
-
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PluginDropAdapter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PluginDropAdapter.java
deleted file mode 100644
index 5d6ee26..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PluginDropAdapter.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.IWorkbenchConstants;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.ViewerDropAdapter;
-import org.eclipse.swt.dnd.*;
-
-/**
- * Adapter for adding handling of the <code>PluginTransfer</code> drag and drop
- * transfer type to a drop action.
- * <p>
- * This class may be instantiated or subclassed.
- * </p>
- */
-public class PluginDropAdapter extends ViewerDropAdapter  {
-	/**
-	 * The extension point attribute that defines the drop action class.
-	 */
-	public static final String ATT_CLASS = "class";//$NON-NLS-1$
-
-	/**
-	 * The current transfer data, or <code>null</code> if none.
-	 */
-	private TransferData currentTransfer;
-/** 
- * Creates a plug-in drop adapter for the given viewer.
- *
- * @param viewer the viewer
- */
-public PluginDropAdapter(StructuredViewer viewer) {
-	super(viewer);
-}
-/* (non-Javadoc)
- * Method declared on DropTargetAdapter.
- * The user has dropped something on the desktop viewer.
- */
-public void drop(DropTargetEvent event) {
-	try {
-		if (PluginTransfer.getInstance().isSupportedType(event.currentDataType)) {
-			PluginTransferData pluginData = (PluginTransferData) event.data;
-			IDropActionDelegate delegate = getPluginAdapter(pluginData);
-			if (!delegate.run(pluginData.getData(), getCurrentTarget())) {
-				event.detail = DND.DROP_NONE;
-			}
-		} else {
-			super.drop(event);
-		}
-	} catch (CoreException e) {
-		WorkbenchPlugin.log("Drop Failed", e.getStatus());//$NON-NLS-1$
-	}
-}
-/**
- * Returns the current transfer.
- */
-protected TransferData getCurrentTransfer() {
-	return currentTransfer;
-}
-/**
- * Loads the class that will perform the action associated with the given drop
- * data.
- *
- * @param data the drop data
- * @return the viewer drop adapter
- */
-protected static IDropActionDelegate getPluginAdapter(PluginTransferData data) throws CoreException {
-
-	IPluginRegistry registry = Platform.getPluginRegistry();
-	String adapterName = data.getExtensionId();
-	IExtensionPoint xpt =
-		registry.getExtensionPoint(PlatformUI.PLUGIN_ID, IWorkbenchConstants.PL_DROP_ACTIONS);
-	IExtension[] extensions = xpt.getExtensions();
-	for (int i = 0; i < extensions.length; i++) {
-		IConfigurationElement[] configs = extensions[i].getConfigurationElements();
-		if (configs != null && configs.length > 0) {
-			String id = configs[0].getAttribute("id");//$NON-NLS-1$
-			if (id != null && id.equals(adapterName)) {
-				return (IDropActionDelegate)WorkbenchPlugin.createExtension(
-					configs[0], ATT_CLASS);
-			}
-		}
-	}
-	return null;
-}
-/**
- * @see ViewerDropAdapter#performDrop
- */
-public boolean performDrop(Object data) {
-	//should never be called, since we override the drop() method.
-	return false;
-}
-/**
- * The <code>PluginDropAdapter</code> implementation of this
- * <code>ViewerDropAdapter</code> method is used to notify the action that some
- * aspect of the drop operation has changed. Subclasses may override.
- */
-public boolean validateDrop(Object target, int operation, TransferData transferType) {
-	currentTransfer = transferType;
-	if (currentTransfer != null && PluginTransfer.getInstance().isSupportedType(currentTransfer)) {
-		//plugin cannot be loaded without the plugin data
-		return true;
-	}
-	return false;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PluginTransfer.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PluginTransfer.java
deleted file mode 100644
index 7719e64..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PluginTransfer.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.swt.dnd.ByteArrayTransfer;
-import org.eclipse.swt.dnd.TransferData;
-import java.io.*;
-
-/**
- * This class can be used to transfer an instance of <code>PluginTransferData</code>
- * between two parts in a workbench in a drop and drop operation.
- * <p>
- * In every drag and drop operation there is a <code>DragSource</code> and 
- * a <code>DropTarget</code>.  When a drag occurs a <code>Transfer</code> is 
- * used to marshall the drag data from the source into a byte array.  If a drop 
- * occurs another <code>Transfer</code> is used to marshall the byte array into
- * drop data for the target.
- * </p><p>
- * A <code>PluginTransferData</code> contains the id of a drop action extension.  
- * If a drop occurs the extension is invoked to perform a drop action.  As a benefit, 
- * the destination viewer doesn't need to have any knowledge of the items being 
- * dropped into it.  
- * </p><p>
- * This class can be used for a <code>Viewer<code> or an SWT component directly.
- * A singleton is provided which may be serially reused (see <code>getInstance</code>).  
- * It is not intended to be subclassed.
- * </p>
- *
- * @see StructuredViewer
- * @see DropTarget
- * @see DragSource
- */
-public class PluginTransfer extends ByteArrayTransfer {
-
-	private static final String TYPE_NAME = "pluggable-transfer-format";//$NON-NLS-1$
-	private static final int TYPEID = registerType(TYPE_NAME);
-
-	/**
-	 * Singleton instance.
-	 */
-	private static PluginTransfer instance = new PluginTransfer();
-/**
- * Creates a new transfer object.
- */
-private PluginTransfer() {
-	super();
-}
-/**
- * Returns the singleton instance.
- *
- * @return the singleton instance
- */
-public static PluginTransfer getInstance () {
-	return instance;
-}
-/* (non-Javadoc)
- * Method declared on Transfer.
- */
-protected int[] getTypeIds() {
-	return new int[] {TYPEID};
-}
-/* (non-Javadoc)
- * Returns the type names.
- *
- * @return the list of type names
- */
-protected String[] getTypeNames() {
-	return new String[] {TYPE_NAME};
-}
-/* (non-Javadoc)
- * Method declared on Transfer.
- */
-protected void javaToNative (Object data, TransferData transferData){
-	PluginTransferData realData = (PluginTransferData)data;
-	if (data == null) return;
-	try {
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		DataOutputStream dataOut = new DataOutputStream(out);
-		dataOut.writeUTF(realData.getExtensionId());
-		dataOut.writeInt(realData.getData().length);
-		dataOut.write(realData.getData());
-		dataOut.close();
-		super.javaToNative(out.toByteArray(), transferData);
-	} catch (IOException e) {
-		e.printStackTrace();
-	}	
-}
-/* (non-Javadoc)
- * Method declared on Transfer.
- */
-protected Object nativeToJava(TransferData transferData) {
-	try {
-		byte[] bytes = (byte[]) super.nativeToJava(transferData);
-		ByteArrayInputStream in = new ByteArrayInputStream(bytes);
-		DataInputStream dataIn = new DataInputStream(in);
-		String extensionName = dataIn.readUTF();
-		int len = dataIn.readInt();
-		byte[] pluginData = new byte[len];
-		dataIn.readFully(pluginData);
-		return new PluginTransferData(extensionName, pluginData);
-	} catch (IOException e) {
-		e.printStackTrace();
-	}
-	//can't get here
-	return null;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PluginTransferData.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PluginTransferData.java
deleted file mode 100644
index 85cae5a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PluginTransferData.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * Record for transferring data during a drag and drop operation between
- * different plug-ins. This object contains an extension identifier and a block
- * of bytes. When the drop occurs, the data is interpreted by an action defined
- * in the specified extension.
- * <p>
- * The workbench will automatically create instances of this class as required.
- * It is not intended to be instantiated or subclassed by clients.
- * </p>
- */
-public class PluginTransferData {
-	String extensionName;
-	byte[] transferData;
-/**
- * Creates a new record for the given extension id and data.
- *
- * @param extensionId the extension id
- * @param data the data to transfer
- */
-public PluginTransferData(String extensionId, byte[] data) {
-	this.extensionName = extensionId;
-	this.transferData = data;
-}
-/**
- * Returns the data being transferred.
- *
- * @return the data
- */
-public byte[] getData() {
-	return transferData;
-}
-/**
- * Returns the id of the extension that will provide the drop action.
- *
- * @return the extension id
- */
-public String getExtensionId() {
-	return extensionName;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/ResourceTransfer.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/ResourceTransfer.java
deleted file mode 100644
index a7c3085..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/ResourceTransfer.java
+++ /dev/null
@@ -1,185 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.dnd.ByteArrayTransfer;
-import org.eclipse.swt.dnd.TransferData;
-
-/**
- * The <code>ResourceTransfer</code> class is used to transfer an
- * array of <code>IResources</code>s from one part to another in a 
- * drag and drop operation or a cut, copy, paste action.
- * <p>
- * In every drag and drop operation there is a <code>DragSource</code> and 
- * a <code>DropTarget</code>.  When a drag occurs a <code>Transfer</code> is 
- * used to marshall the drag data from the source into a byte array.  If a drop 
- * occurs another <code>Transfer</code> is used to marshall the byte array into
- * drop data for the target.  
- * </p>
- * <p>
- * When a <code>CutAction</code> or a <code>CopyAction</code> is performed, 
- * this transfer is used to place references to the selected resources 
- * on the <code>Clipboard</code>.  When a <code>PasteAction</code> is performed, the 
- * references on the clipboard are used to move or copy the resources
- * to the selected destination.
- * </p>
- * <p>
- * This class can be used for a <code>Viewer<code> or an SWT component directly.
- * A singleton is provided which may be serially reused (see <code>getInstance</code>).  
- * It is not intended to be subclassed.
- * </p>
- *
- * @see StructuredViewer
- * @see DropTarget
- * @see DragSource
- * @see CopyAction
- * @see PasteAction
- */
-public class ResourceTransfer extends ByteArrayTransfer {
-
-	/**
-	 * Singleton instance.
-	 */
-	private static final ResourceTransfer instance = new ResourceTransfer();
-	
-	// Create a unique ID to make sure that different Eclipse
-	// applications use different "types" of <code>ResourceTransfer</code>
-	private static final String TYPE_NAME = "resource-transfer-format:" + System.currentTimeMillis() + ":" + instance.hashCode();//$NON-NLS-2$//$NON-NLS-1$
-	
-	private static final int TYPEID = registerType(TYPE_NAME);
-		
-	private IWorkspace workspace = ResourcesPlugin.getWorkspace();
-/**
- * Creates a new transfer object.
- */
-private ResourceTransfer() {
-}
-/**
- * Returns the singleton instance.
- *
- * @return the singleton instance
- */
-public static ResourceTransfer getInstance() {
-	return instance;
-}
-/* (non-Javadoc)
- * Method declared on Transfer.
- */
-protected int[] getTypeIds() {
-	return new int[] {TYPEID};
-}
-/* (non-Javadoc)
- * Returns the type names.
- *
- * @return the list of type names
- */
-protected String[] getTypeNames() {
-	return new String[] {TYPE_NAME};
-}
-/* (non-Javadoc)
- * Method declared on Transfer.
- */
-protected void javaToNative(Object data, TransferData transferData) {
-	if (!(data instanceof IResource[])) {
-		return;
-	}
-
-	IResource[] resources = (IResource[]) data;
-	/**
-	 * The resource serialization format is:
-	 *  (int) number of resources
-	 * Then, the following for each resource:
-	 *  (int) resource type
-	 *  (String) path of resource
-	 */
-
-	int resourceCount = resources.length;
-
-	try {
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		DataOutputStream dataOut = new DataOutputStream(out);
-
-		//write the number of resources
-		dataOut.writeInt(resourceCount);
-
-		//write each resource
-		for (int i = 0; i < resources.length; i++) {
-			writeResource(dataOut, resources[i]);
-		}
-
-		//cleanup
-		dataOut.close();
-		out.close();
-		byte[] bytes = out.toByteArray();
-		super.javaToNative(bytes, transferData);
-	} catch (IOException e) {
-		//it's best to send nothing if there were problems
-	}
-}
-/* (non-Javadoc)
- * Method declared on Transfer.
- */
-protected Object nativeToJava(TransferData transferData) {
-	/**
-	 * The resource serialization format is:
-	 *  (int) number of resources
-	 * Then, the following for each resource:
-	 *  (int) resource type
-	 *  (String) path of resource
-	 */
-
-	byte[] bytes = (byte[]) super.nativeToJava(transferData);
-	if (bytes == null)
-		return null;
-	DataInputStream in = new DataInputStream(new ByteArrayInputStream(bytes));
-	try {
-		int count = in.readInt();
-		IResource[] results = new IResource[count];
-		for (int i = 0; i < count; i++) {
-			results[i] = readResource(in);
-		}
-		return results;
-	} catch (IOException e) {
-		return null;
-	}
-}
-/**
- * Reads a resource from the given stream.
- *
- * @param dataIn the input stream
- * @return the resource
- * @exception IOException if there is a problem reading from the stream
- */
-private IResource readResource(DataInputStream dataIn) throws IOException {
-	int type = dataIn.readInt();
-	String path = dataIn.readUTF();
-	switch (type) {
-		case IResource.FOLDER :
-			return workspace.getRoot().getFolder(new Path(path));
-		case IResource.FILE :
-			return workspace.getRoot().getFile(new Path(path));
-		case IResource.PROJECT :
-			return workspace.getRoot().getProject(path);
-	}
-	Assert.isTrue(false, "Unknown resource type in ResourceTransfer.readResource");//$NON-NLS-1$
-	return null;
-}
-/**
- * Writes the given resource to the given stream.
- *
- * @param dataOut the output stream
- * @param resource the resource
- * @exception IOException if there is a problem writing to the stream
- */
-private void writeResource(DataOutputStream dataOut, IResource resource) throws IOException {
-	dataOut.writeInt(resource.getType());
-	dataOut.writeUTF(resource.getFullPath().toString());
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/ShowInContext.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/ShowInContext.java
deleted file mode 100644
index ca9b012..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/ShowInContext.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/************************************************************************
-Copyright (c) 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are 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
-
-Contributors:
-    IBM - Initial implementation
-************************************************************************/
-
-package org.eclipse.ui.part;
-
-import org.eclipse.jface.viewers.ISelection;
-
-/**
- * Carries the context for the Show In... action.
- * The default implementation carries an input and a selection.
- * Subclasses may extend.
- *
- * @see IShowInSource
- * @see IShowInTarget
- * 
- * @since 2.1
- */
-public class ShowInContext {
-	
-	private Object input;
-	private ISelection selection;
-	
-    /**
-     * Constructs a new <code>ShowInContext</code> with the given input and 
-     * selection.
-     * 
-     * @param input the input or <code>null</code> 
-     * @param selection the selection or <code>null</code>
-     */
-    public ShowInContext(Object input, ISelection selection) {
-    	setInput(input);
-    	setSelection(selection);
-    }
-
-    /**
-     * Returns the input, or <code>null</code> to indicate no input
-     * 
-     * @return the input or <code>null</code>.
-     */
-    public Object getInput() {
-    	return input;
-    }
-
-    /**
-     * Returns the selection, or <code>null</code> to indicate no selection.
-     * 
-     * @return the selection or <code>null</code>
-     */
-    public ISelection getSelection() {
-    	return selection;
-    }
-    
-    /**
-     * Sets the input, or <code>null</code> to indicate no input.
-     * 
-     * @param input the input or <code>null</code> 
-     */
-    public void setInput(Object input) {
-    	this.input = input;
-    }
-
-    /**
-     * Sets the selection, or <code>null</code> to indicate no selection.
-     * 
-     * @param selection the selection or <code>null</code>
-     */
-    public void setSelection(ISelection selection) {
-    	this.selection = selection;
-    }
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/ViewPart.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/ViewPart.java
deleted file mode 100644
index ce4c24c..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/ViewPart.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.*;
-
-/**
- * Abstract base implementation of all workbench views.
- * <p>
- * This class should be subclassed by clients wishing to define new views.
- * The name of the subclass should be given as the <code>"class"</code> 
- * attribute in a <code>view</code> extension contributed to the workbench's
- * view extension point (named <code>"org.eclipse.ui.views"</code>).
- * For example, the plug-in's XML markup might contain:
- * <pre>
- * &LT;extension point="org.eclipse.ui.views"&GT;
- *      &LT;view id="com.example.myplugin.view"
- *         name="My View"
- *         class="com.example.myplugin.MyView"
- *         icon="images/cview.gif"
- *      /&GT;
- * &LT;/extension&GT;
- * </pre>
- * where <code>com.example.myplugin.MyView</code> is the name of the
- * <code>ViewPart</code> subclass.
- * </p>
- * <p>
- * Subclasses must implement the following methods:
- * <ul>
- *   <li><code>createPartControl</code> - to create the view's controls </li>
- *   <li><code>setFocus</code> - to accept focus</li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may extend or reimplement the following methods as required:
- * <ul>
- *   <li><code>setInitializationData</code> - extend to provide additional 
- *       initialization when view extension is instantiated</li>
- *   <li><code>init(IWorkbenchPartSite)</code> - extend to provide additional
- *       initialization when view is assigned its site</li>
- *   <li><code>dispose</code> - extend to provide additional cleanup</li>
- *   <li><code>getAdapter</code> - reimplement to make their view adaptable</li>
- * </ul>
- * </p>
- */
-public abstract class ViewPart extends WorkbenchPart implements IViewPart {
-/**
- * Creates a new view.
- */
-protected ViewPart() {
-	super();
-}
-/* (non-Javadoc)
- * Method declared on IViewPart.
- */
-public IViewSite getViewSite() {
-	return (IViewSite)getSite();
-}
-/* (non-Javadoc)
- * Initializes this view at the given view site.
- */
-public void init(IViewSite site) throws PartInitException {
-	setSite(site);
-}
-/* (non-Javadoc)
- * Initializes this view with the given view site.  A memento is passed to
- * the view which contains a snapshot of the views state from a previous
- * session.  Where possible, the view should try to recreate that state
- * within the part controls.
- * <p>
- * This implementation will ignore the memento and initialize the view in
- * a fresh state.  Subclasses may override the implementation to perform any
- * state restoration as needed.
- */
-public void init(IViewSite site,IMemento memento) throws PartInitException {
-	init(site);
-}
-/* (non-Javadoc)
- * Method declared on IViewPart.
- */
-public void saveState(IMemento memento){
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/WorkbenchPart.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/WorkbenchPart.java
deleted file mode 100644
index 4f53c22..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/WorkbenchPart.java
+++ /dev/null
@@ -1,256 +0,0 @@
-package org.eclipse.ui.part;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.*;
-import org.eclipse.ui.internal.ReferenceCounter;
-import org.eclipse.ui.internal.WorkbenchImages;
-
-/**
- * Abstract base implementation of all workbench parts.
- * <p>
- * This class is not intended to be subclassed by clients outside this
- * package; clients should instead subclass <code>ViewPart</code> or
- * <code>EditorPart</code>.
- * </p>
- * 
- * @see ViewPart
- * @see EditorPart
- */
-public abstract class WorkbenchPart implements IWorkbenchPart, IExecutableExtension {
-	private String title;
-	private ImageDescriptor imageDescriptor;
-	private Image titleImage;
-	private String toolTip;
-	private IConfigurationElement configElement;
-	private IWorkbenchPartSite partSite;
-	private ListenerList propChangeListeners = new ListenerList(2);
-	
-/**
- * Creates a new workbench part.
- */
-protected WorkbenchPart() {
-	super();
-}
-/* (non-Javadoc)
- * Method declared on IWorkbenchPart.
- */
-public void addPropertyListener(IPropertyListener l) {
-	propChangeListeners.add(l);
-}
-/* (non-Javadoc)
- * Creates the SWT controls for this workbench part.
- * <p>
- * Subclasses must implement this method.  For a detailed description of the
- * requirements see <code>IWorkbenchPart</code>
- * </p>
- *
- * @param parent the parent control
- * @see IWorkbenchPart
- */
-public abstract void createPartControl(Composite parent);
-/**
- * The <code>WorkbenchPart</code> implementation of this 
- * <code>IWorkbenchPart</code> method disposes the title image
- * loaded by <code>setInitializationData</code>. Subclasses may extend.
- */
-public void dispose() {
-	ReferenceCounter imageCache = WorkbenchImages.getImageCache();
-	Image image = (Image)imageCache.get(imageDescriptor);
-	if (image != null) {
-		int count = imageCache.removeRef(imageDescriptor);
-		if(count <= 0)
-			image.dispose();
-	}
-	
-	// Clear out the property change listeners as we
-	// should not be notifying anyone after the part
-	// has been disposed.
-	if (!propChangeListeners.isEmpty()) {
-		propChangeListeners = new ListenerList(1);
-	}
-}
-/**
- * Fires a property changed event.
- *
- * @param propertyId the id of the property that changed
- */
-protected void firePropertyChange(final int propertyId) {
-	Object [] array = propChangeListeners.getListeners();
-	for (int nX = 0; nX < array.length; nX ++) {
-		final IPropertyListener l = (IPropertyListener)array[nX];
-		Platform.run(new SafeRunnable() {
-			public void run() {
-				l.propertyChanged(WorkbenchPart.this, propertyId);
-			}
-			public void handleException(Throwable e) {
-				super.handleException(e);
-				//If and unexpected exception happens, remove it
-				//to make sure the workbench keeps running.
-				propChangeListeners.remove(l);
-			}
-		});
-	}
-}
-/**
- * The <code>WorkbenchPart</code> implementation of this <code>IAdaptable</code>
- * method returns <code>null</code>. Subclasses may reimplement.
- */
-public Object getAdapter(Class key) {
-	return null;
-}
-/**
- * Returns the configuration element for this part. The configuration element
- * comes from the plug-in registry entry for the extension defining this part.
- *
- * @return the configuration element for this part
- */
-protected IConfigurationElement getConfigurationElement() {
-	return configElement;
-}
-/**
- * Returns the default title image.
- *
- * @return the default image
- */
-protected Image getDefaultImage() {
-	return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_DEF_VIEW);
-}
-/* (non-Javadoc)
- * Method declared on IWorkbenchPart.
- */
-public IWorkbenchPartSite getSite() {
-	return partSite;
-}
-/* (non-Javadoc)
- * Method declared on IWorkbenchPart.
- */
-public String getTitle() {
-	return title;
-}
-/* (non-Javadoc)
- * Method declared on IWorkbenchPart.
- */
-public Image getTitleImage() {
-	if (titleImage != null) {
-		return titleImage;
-	}
-	return getDefaultImage();
-}
-/* (non-Javadoc)
- * Gets the title tool tip text of this part.
- *
- * @return the tool tip text
- */
-public String getTitleToolTip() {
-	return toolTip;
-}
-/* (non-Javadoc)
- * Method declared on IWorkbenchPart.
- */
-public void removePropertyListener(IPropertyListener l) {
-	propChangeListeners.remove(l);
-}
-/* (non-Javadoc)
- * Asks this part to take focus within the workbench.
- * <p>
- * Subclasses must implement this method.  For a detailed description of the
- * requirements see <code>IWorkbenchPart</code>
- * </p>
- *
- * @see IWorkbenchPart
- */
-public abstract void setFocus();
-/**
- * The <code>WorkbenchPart</code> implementation of this
- * <code>IExecutableExtension</code> records the configuration element in
- * and internal state variable (accessible via <code>getConfigElement</code>).
- * It also loads the title image, if one is specified in the configuration element.
- * Subclasses may extend.
- * 
- * Should not be called by clients. It is called by the core plugin when creating
- * this executable extension.
- */
-public void setInitializationData(IConfigurationElement cfig, String propertyName, Object data) {
-
-	// Save config element.
-	configElement = cfig;
-
-	// Title.
-	title = cfig.getAttribute("name");//$NON-NLS-1$
-	if (title == null) {
-		title = "Unknown";//$NON-NLS-1$
-	}
-
-	// Icon.
-	String strIcon = cfig.getAttribute("icon");//$NON-NLS-1$
-	if (strIcon != null) {
-		imageDescriptor = 
-			WorkbenchImages.getImageDescriptorFromExtension(
-				configElement.getDeclaringExtension(), 
-				strIcon); 
-					
-		
-		/* remember the image in a separatly from titleImage,
-		 * since it must be disposed even if the titleImage is changed
-		 * to something else*/
-	 	ReferenceCounter imageCache = WorkbenchImages.getImageCache();
-		Image image = (Image)imageCache.get(imageDescriptor);
-		if(image != null) {
-			imageCache.addRef(imageDescriptor);
-		} else {
-			image = imageDescriptor.createImage();
-			imageCache.put(imageDescriptor,image);
-		}
-		titleImage = image;
-	}
-}
-/**
- * Sets the part site.
- * <p>
- * Subclasses must invoke this method from <code>IEditorPart.init</code>
- * and <code>IViewPart.init</code>.
- *
- * @param site the workbench part site
- */
-protected void setSite(IWorkbenchPartSite site) {
-	this.partSite = site;
-}
-/**
- * Sets or clears the title of this part.
- *
- * @param title the title, or <code>null</code> to clear
- */
-protected void setTitle(String title) {
-	this.title = title;
-	firePropertyChange(IWorkbenchPart.PROP_TITLE);
-}
-/**
- * Sets or clears the title image of this part.
- *
- * @param titleImage the title image, or <code>null</code> to clear
- */
-protected void setTitleImage(Image titleImage) {
-	this.titleImage = titleImage;
-	firePropertyChange(IWorkbenchPart.PROP_TITLE);
-}
-/**
- * Sets or clears the title tool tip text of this part.
- *
- * @param text the new tool tip text
- */
-protected void setTitleToolTip(String text) {
-	this.toolTip = text;
-	firePropertyChange(IWorkbenchPart.PROP_TITLE);
-}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/package.html b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/package.html
deleted file mode 100644
index f75d662..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/package.html
+++ /dev/null
@@ -1,23 +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.5 [en] (WinNT; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Classes for the creation of workbench parts that integrate
-with the Eclipse Platform User Interface.
-<h2>
-Package Specification</h2>
-A <b>workbench part</b> is a visual component within a <b>workbench page</b>.&nbsp;
-There are two types: <b>view</b> and <b>editor</b>, as defined by <tt>IViewPart</tt>
-and <tt>IEditorPart</tt>.&nbsp;&nbsp; An editor is typically used to edit
-or browse a document or input object.&nbsp; A view is typically used to
-navigate a hierarchy of information (like the workspace), open an editor,
-or display properties for the active editor.&nbsp; This package provides
-a base implementation for the definition of views and editors.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/plugin/AbstractUIPlugin.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/plugin/AbstractUIPlugin.java
deleted file mode 100644
index 60122bc..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/plugin/AbstractUIPlugin.java
+++ /dev/null
@@ -1,808 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2002 International Business Machines 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 API and implementation
- ******************************************************************************/
-package org.eclipse.ui.plugin;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.DialogSettings;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.preference.IPersistentPreferenceStore;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.*;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.Workbench;
-
-/**
- * Abstract base class for plug-ins that integrate with the Eclipse platform UI.
- * <p>
- * Subclasses obtain the following capabilities:
- * </p>
- * <p>
- * Preferences
- * <ul>
- * <li> The platform core runtime contains general support for plug-in
- *      preferences (<code>org.eclipse.core.runtime.Preferences</code>). 
- *      This class provides appropriate conversion to the older JFace preference 
- *      API (<code>org.eclipse.jface.preference.IPreferenceStore</code>).</li>
- * <li> The method <code>getPreferenceStore</code> returns the JFace preference
- *      store (cf. <code>Plugin.getPluginPreferences</code> which returns
- *      a core runtime preferences object.</li>
- * <li> Subclasses may reimplement <code>initializeDefaultPreferences</code>
- *      to set up any default values for preferences using JFace API. In this
- *      case, <code>initializeDefaultPluginPreferences</code> should not be
- *      overridden.</li>
- * <li> Subclasses may reimplement
- *      <code>initializeDefaultPluginPreferences</code> to set up any default
- *      values for preferences using core runtime API. In this
- *      case, <code>initializeDefaultPreferences</code> should not be
- *      overridden.</li>
- * <li> Preferences are also saved automatically on plug-in shutdown.
- *      However, saving preferences immediately after changing them is
- *      strongly recommended, since that ensures that preference settings
- *      are not lost even in the event of a platform crash.</li>
- * </ul>
- * Dialogs
- * <ul>
- * <li> The dialog store is read the first time <code>getDialogSettings</code> 
- *      is called.</li>
- * <li> The dialog store allows the plug-in to "record" important choices made
- *      by the user in a wizard or dialog, so that the next time the
- *      wizard/dialog is used the widgets can be defaulted to better values. A
- *      wizard could also use it to record the last 5 values a user entered into
- *      an editable combo - to show "recent values". </li>
- * <li> The dialog store is found in the file whose name is given by the
- *      constant <code>FN_DIALOG_STORE</code>. A dialog store file is first
- *      looked for in the plug-in's read/write state area; if not found there,
- *      the plug-in's install directory is checked.
- *      This allows a plug-in to ship with a read-only copy of a dialog store
- *      file containing initial values for certain settings.</li>
- * <li> Plug-in code can call <code>saveDialogSettings</code> to cause settings to
- *      be saved in the plug-in's read/write state area. A plug-in may opt to do
- *      this each time a wizard or dialog is closed to ensure the latest 
- *      information is always safe on disk. </li>
- * <li> Dialog settings are also saved automatically on plug-in shutdown.</li>
- * </ul>
- * Images
- * <ul>
- * <li> A typical UI plug-in will have some images that are used very frequently
- *      and so need to be cached and shared.  The plug-in's image registry 
- *      provides a central place for a plug-in to store its common images. 
- *      Images managed by the registry are created lazily as needed, and will be
- *      automatically disposed of when the plug-in shuts down. Note that the
- *      number of registry images should be kept to a minimum since many OSs
- *      have severe limits on the number of images that can be in memory at once.
- * </ul>
- * <p>
- * For easy access to your plug-in object, use the singleton pattern. Declare a
- * static variable in your plug-in class for the singleton. Store the first
- * (and only) instance of the plug-in class in the singleton when it is created.
- * Then access the singleton when needed through a static <code>getDefault</code>
- * method.
- * </p>
- */
-public abstract class AbstractUIPlugin extends Plugin {
-
-	/**
-	 * The name of the dialog settings file (value 
-	 * <code>"dialog_settings.xml"</code>).
-	 */
-	private static final String FN_DIALOG_SETTINGS = "dialog_settings.xml"; //$NON-NLS-1$
-
-	/**
-	 * Storage for dialog and wizard data; <code>null</code> if not yet
-	 * initialized.
-	 */
-	private DialogSettings dialogSettings = null;
-
-	/**
-	 * Storage for preferences.
-	 */
-	private CompatibilityPreferenceStore preferenceStore;
-
-	/**
-	 * The registry for all graphic images; <code>null</code> if not yet
-	 * initialized.
-	 */
-	private ImageRegistry imageRegistry = null;
-
-	/**
-	 * Internal implementation of a JFace preference store atop a core runtime
-	 * preference store.
-	 * 
-	 * @since 2.0
-	 */
-	private class CompatibilityPreferenceStore implements IPersistentPreferenceStore {
-
-		/**
-		 * Flag to indicate that the listener has been added.
-		 */
-		private boolean listenerAdded = false;
-
-		/**
-		 * The underlying core runtime preference store; <code>null</code> if it
-		 * has not been initialized yet.
-		 */
-		private Preferences prefs = null;
-
-		/**
-		 * Identity list of old listeners (element type: 
-		 * <code>org.eclipse.jface.util.IPropertyChangeListener</code>).
-		 */
-		private ListenerList listeners = new ListenerList();
-
-		/**
-		 * Indicates whether property change events should be suppressed
-		 * (used in implementation of <code>putValue</code>). Initially
-		 * and usually <code>false</code>.
-		 * 
-		 * @see IPreferenceStore#putValue
-		 */
-		private boolean silentRunning = false;
-
-		/**
-		 * Creates a new instance for the this plug-in.
-		 */
-		public CompatibilityPreferenceStore() {
-			// Important: do not call initialize() here
-			// due to heinous reentrancy problems.
-		}
-
-		/**
-		 * Initializes this preference store.
-		 */
-		void initialize() {
-			// ensure initialization is only done once.
-			if (this.prefs != null) {
-				return;
-			}
-			// here's where we first ask for the plug-in's core runtime 
-			// preferences;
-			// note that this causes this method to be reentered
-			this.prefs = getPluginPreferences();
-			// avoid adding the listener a second time when reentered
-			if (!this.listenerAdded) {
-				// register listener that funnels everything to firePropertyChangeEvent
-				this
-					.prefs
-					.addPropertyChangeListener(
-						new Preferences
-						.IPropertyChangeListener() {
-					public void propertyChange(
-						Preferences.PropertyChangeEvent event) {
-						if (!silentRunning) {
-							firePropertyChangeEvent(
-								event.getProperty(),
-								event.getOldValue(),
-								event.getNewValue());
-						}
-					}
-				});
-				this.listenerAdded = true;
-			}
-		}
-
-		/**
-		 * Returns the underlying preference store.
-		 * 
-		 * @return the underlying preference store
-		 */
-		private Preferences getPrefs() {
-			if (prefs == null) {
-				// although we try to ensure initialization is done eagerly,
-				// this cannot be guaranteed, so ensure it is done here
-				initialize();
-			}
-			return prefs;
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public void addPropertyChangeListener(final IPropertyChangeListener listener) {
-			listeners.add(listener);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public void removePropertyChangeListener(IPropertyChangeListener listener) {
-			listeners.remove(listener);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public void firePropertyChangeEvent(
-			String name,
-			Object oldValue,
-			Object newValue) {
-
-			// efficiently handle case of 0 listeners
-			if (listeners.isEmpty()) {
-				// no one interested
-				return;
-			}
-
-			// important: create intermediate array to protect against listeners 
-			// being added/removed during the notification
-			final Object[] list = listeners.getListeners();
-			final PropertyChangeEvent event =
-				new PropertyChangeEvent(this, name, oldValue, newValue);
-			Platform.run(new SafeRunnable(JFaceResources.getString("PreferenceStore.changeError")) { //$NON-NLS-1$
-				public void run() {
-					for (int i = 0; i < list.length; i++) {
-						((IPropertyChangeListener) list[i]).propertyChange(
-							event);
-					}
-				}
-			});
-
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public boolean contains(String name) {
-			return getPrefs().contains(name);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public boolean getBoolean(String name) {
-			return getPrefs().getBoolean(name);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public boolean getDefaultBoolean(String name) {
-			return getPrefs().getDefaultBoolean(name);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public double getDefaultDouble(String name) {
-			return getPrefs().getDefaultDouble(name);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public float getDefaultFloat(String name) {
-			return getPrefs().getDefaultFloat(name);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public int getDefaultInt(String name) {
-			return getPrefs().getDefaultInt(name);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public long getDefaultLong(String name) {
-			return getPrefs().getDefaultLong(name);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public String getDefaultString(String name) {
-			return getPrefs().getDefaultString(name);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public double getDouble(String name) {
-			return getPrefs().getDouble(name);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public float getFloat(String name) {
-			return getPrefs().getFloat(name);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public int getInt(String name) {
-			return getPrefs().getInt(name);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public long getLong(String name) {
-			return getPrefs().getLong(name);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public String getString(String name) {
-			return getPrefs().getString(name);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public boolean isDefault(String name) {
-			return getPrefs().isDefault(name);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public boolean needsSaving() {
-			return getPrefs().needsSaving();
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public void putValue(String name, String value) {
-			try {
-				// temporarily suppress event notification while setting value
-				silentRunning = true;
-				getPrefs().setValue(name, value);
-			} finally {
-				silentRunning = false;
-			}
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public void setDefault(String name, double value) {
-			getPrefs().setDefault(name, value);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public void setDefault(String name, float value) {
-			getPrefs().setDefault(name, value);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public void setDefault(String name, int value) {
-			getPrefs().setDefault(name, value);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public void setDefault(String name, long value) {
-			getPrefs().setDefault(name, value);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public void setDefault(String name, String value) {
-			getPrefs().setDefault(name, value);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public void setDefault(String name, boolean value) {
-			getPrefs().setDefault(name, value);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public void setToDefault(String name) {
-			getPrefs().setToDefault(name);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public void setValue(String name, double value) {
-			getPrefs().setValue(name, value);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public void setValue(String name, float value) {
-			getPrefs().setValue(name, value);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public void setValue(String name, int value) {
-			getPrefs().setValue(name, value);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public void setValue(String name, long value) {
-			getPrefs().setValue(name, value);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public void setValue(String name, String value) {
-			getPrefs().setValue(name, value);
-		}
-
-		/* (non-javadoc)
-		 * Method declared on IPreferenceStore
-		 */
-		public void setValue(String name, boolean value) {
-			getPrefs().setValue(name, value);
-		}
-		/**
-		 * @see org.eclipse.jface.preference.IPersistentPreferenceStore#save()
-		 */
-		public void save() throws IOException {
-			AbstractUIPlugin.this.savePreferenceStore();
-		}
-
-	}
-
-	/**
-	 * Creates an abstract UI plug-in runtime object for the given plug-in descriptor.
-	 * <p>
-	 * Note that instances of plug-in runtime classes are automatically created 
-	 * by the platform in the course of plug-in activation.
-	 * </p>
-	 *
-	 * @param descriptor the plug-in descriptor
-	 */
-	public AbstractUIPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-	}
-
-	/** 
-	 * Returns a new image registry for this plugin-in.  The registry will be
-	 * used to manage images which are frequently used by the plugin-in.
-	 * <p>
-	 * The default implementation of this method creates an empty registry.
-	 * Subclasses may override this method if needed.
-	 * </p>
-	 *
-	 * @return ImageRegistry the resulting registry.
-	 * @see #getImageRegistry
-	 */
-	protected ImageRegistry createImageRegistry() {
-		return new ImageRegistry();
-	}
-	/**
-	 * Returns the dialog settings for this UI plug-in.
-	 * The dialog settings is used to hold persistent state data for the various
-	 * wizards and dialogs of this plug-in in the context of a workbench. 
-	 * <p>
-	 * If an error occurs reading the dialog store, an empty one is quietly created
-	 * and returned.
-	 * </p>
-	 * <p>
-	 * Subclasses may override this method but are not expected to.
-	 * </p>
-	 *
-	 * @return the dialog settings
-	 */
-	public IDialogSettings getDialogSettings() {
-		if (dialogSettings == null)
-			loadDialogSettings();
-		return dialogSettings;
-	}
-	/**
-	 * Returns the image registry for this UI plug-in. 
-	 * <p>
-	 * The image registry contains the images used by this plug-in that are very 
-	 * frequently used and so need to be globally shared within the plug-in. Since 
-	 * many OSs have a severe limit on the number of images that can be in memory at 
-	 * any given time, a plug-in should only keep a small number of images in their 
-	 * registry.
-	 * <p>
-	 * Subclasses should reimplement <code>initializeImageRegistry</code> if they have
-	 * custom graphic images to load.
-	 * </p>
-	 * <p>
-	 * Subclasses may override this method but are not expected to.
-	 * </p>
-	 *
-	 * @return the image registry
-	 */
-	public ImageRegistry getImageRegistry() {
-		if (imageRegistry == null) {
-			imageRegistry = createImageRegistry();
-			initializeImageRegistry(imageRegistry);
-		}
-		return imageRegistry;
-	}
-	/**
-	 * Returns the preference store for this UI plug-in.
-	 * This preference store is used to hold persistent settings for this plug-in in
-	 * the context of a workbench. Some of these settings will be user controlled, 
-	 * whereas others may be internal setting that are never exposed to the user.
-	 * <p>
-	 * If an error occurs reading the preference store, an empty preference store is
-	 * quietly created, initialized with defaults, and returned.
-	 * </p>
-	 * <p>
-	 * Subclasses should reimplement <code>initializeDefaultPreferences</code> if
-	 * they have custom graphic images to load.
-	 * </p>
-	 *
-	 * @return the preference store 
-	 */
-	public IPreferenceStore getPreferenceStore() {
-		// Create the preference store lazily.
-		if (preferenceStore == null) {
-			// must assign field before calling initialize(), since
-			// this method can be reentered during initialization
-			preferenceStore = new CompatibilityPreferenceStore();
-			// force initialization
-			preferenceStore.initialize();
-		}
-		return preferenceStore;
-	}
-
-	/**
-	 * Returns the Platform UI workbench.  
-	 * <p> 
-	 * This method exists as a convenience for plugin implementors.  The
-	 * workbench can also be accessed by invoking <code>PlatformUI.getWorkbench()</code>.
-	 * </p>
-	 */
-	public IWorkbench getWorkbench() {
-		return PlatformUI.getWorkbench();
-	}
-
-	/** 
-	 * Initializes a preference store with default preference values 
-	 * for this plug-in.
-	 * <p>
-	 * This method is called after the preference store is initially loaded
-	 * (default values are never stored in preference stores).
-	 * </p>
-	 * <p>
-	 * The default implementation of this method does nothing.
-	 * Subclasses should reimplement this method if the plug-in has any preferences.
-	 * </p>
-	 * <p>
-	 * A subclass may reimplement this method to set default values for the 
-	 * preference store using JFace API. This is the older way of initializing 
-	 * default values. If this method is reimplemented, do not override
-	 * <code>initializeDefaultPluginPreferences()</code>.
-	 * </p>
-	 *
-	 * @param store the preference store to fill
-	 */
-	protected void initializeDefaultPreferences(IPreferenceStore store) {
-	}
-
-	/**
-	 * The <code>AbstractUIPlugin</code> implementation of this 
-	 * <code>Plugin</code> method forwards to 
-	 * <code>initializeDefaultPreferences(IPreferenceStore)</code>.
-	 * <p>
-	 * A subclass may reimplement this method to set default values for the core
-	 * runtime preference store in the standard way. This is the recommended way
-	 * to do this. 
-	 * The older <code>initializeDefaultPreferences(IPreferenceStore)</code> method
-	 * serves a similar purpose. If this method is reimplemented, do not send super,
-	 * and do not override <code>initializeDefaultPreferences(IPreferenceStore)</code>.
-	 * </p>
-	 * 
-	 * @see #initializeDefaultPreferences
-	 * @since 2.0
-	 */
-	protected void initializeDefaultPluginPreferences() {
-		// N.B. by the time this method is called, the plug-in has a 
-		// core runtime preference store (no default values)
-
-		// call loadPreferenceStore (only) for backwards compatibility with Eclipse 1.0
-		loadPreferenceStore();
-		// call initializeDefaultPreferences (only) for backwards compatibility 
-		// with Eclipse 1.0
-		initializeDefaultPreferences(getPreferenceStore());
-	}
-
-	/** 
-	 * Initializes an image registry with images which are frequently used by the 
-	 * plugin.
-	 * <p>
-	 * The image registry contains the images used by this plug-in that are very
-	 * frequently used and so need to be globally shared within the plug-in. Since
-	 * many OSs have a severe limit on the number of images that can be in memory
-	 * at any given time, each plug-in should only keep a small number of images in 
-	 * its registry.
-	 * </p><p>
-	 * Implementors should create a JFace image descriptor for each frequently used
-	 * image.  The descriptors describe how to create/find the image should it be needed. 
-	 * The image described by the descriptor is not actually allocated until someone 
-	 * retrieves it.
-	 * </p><p>
-	 * Subclasses may override this method to fill the image registry.
-	 * </p>
-	 *
-	 * @see #getImageRegistry
-	 */
-	protected void initializeImageRegistry(ImageRegistry reg) {
-	}
-
-	/**
-	 * Loads the dialog settings for this plug-in.
-	 * The default implementation first looks for a standard named file in the 
-	 * plug-in's read/write state area; if no such file exists, the plug-in's
-	 * install directory is checked to see if one was installed with some default
-	 * settings; if no file is found in either place, a new empty dialog settings
-	 * is created. If a problem occurs, an empty settings is silently used.
-	 * <p>
-	 * This framework method may be overridden, although this is typically
-	 * unnecessary.
-	 * </p>
-	 */
-	protected void loadDialogSettings() {
-		dialogSettings = new DialogSettings("Workbench"); //$NON-NLS-1$
-
-		// try r/w state area in the local file system
-		String readWritePath =
-			getStateLocation().append(FN_DIALOG_SETTINGS).toOSString();
-		File settingsFile = new File(readWritePath);
-		if (settingsFile.exists()) {
-			try {
-				dialogSettings.load(readWritePath);
-			} catch (IOException e) {
-				// load failed so ensure we have an empty settings
-				dialogSettings = new DialogSettings("Workbench"); //$NON-NLS-1$
-			}
-		} else {
-			// not found - use installed  defaults if available
-			URL baseURL = getDescriptor().getInstallURL();
-
-			URL dsURL = null;
-			try {
-				dsURL = new URL(baseURL, FN_DIALOG_SETTINGS);
-			} catch (MalformedURLException e) {
-				return;
-			}
-			InputStream is = null;
-			try {
-				is = dsURL.openStream();
-				BufferedReader reader = new BufferedReader(new InputStreamReader(is, "utf-8")); //$NON-NLS-1$
-				dialogSettings.load(reader);
-			} catch (IOException e) {
-				// load failed so ensure we have an empty settings
-				dialogSettings = new DialogSettings("Workbench"); //$NON-NLS-1$
-			} finally {
-				try {
-					if (is != null)
-						is.close();
-				} catch (IOException e) {
-				}
-			}
-		}
-	}
-
-	/**
-	 * Loads the preference store for this plug-in.
-	 * The default implementation looks for a standard named file in the 
-	 * plug-in's read/write state area. If no file is found or a problem
-	 * occurs, a new empty preference store is silently created. 
-	 * <p>
-	 * This framework method may be overridden, although this is typically 
-	 * unnecessary.
-	 * </p>
-	 * 
-	 * @deprecated As of Eclipse 2.0, a basic preference store exists for all
-	 * plug-ins. This method now exists only for backwards compatibility.
-	 * It is called as the plug-in's preference store is being initialized.
-	 * The plug-ins preferences are loaded from the file regardless of what
-	 * this method does.
-	 */
-	protected void loadPreferenceStore() {
-	}
-
-	/**
-	 * Refreshes the actions for the plugin.
-	 * This method is called from <code>startup</code>.
-	 * <p>
-	 * This framework method may be overridden, although this is typically 
-	 * unnecessary.
-	 * </p>
-	 */
-	protected void refreshPluginActions() {
-		final Workbench wb = (Workbench) PlatformUI.getWorkbench();
-		if (wb != null) {
-			// startup() is not guaranteed to be called in the UI thread,
-			// but refreshPluginActions must run in the UI thread, 
-			// so use asyncExec.  See bug 6623 for more details.
-			Display.getDefault().asyncExec(new Runnable() {
-				public void run() {
-					wb.refreshPluginActions(
-						getDescriptor().getUniqueIdentifier());
-				}
-			});
-		}
-	}
-	/**
-	 * Saves this plug-in's dialog settings.
-	 * Any problems which arise are silently ignored.
-	 */
-	protected void saveDialogSettings() {
-		if (dialogSettings == null) {
-			return;
-		}
-
-		try {
-			String readWritePath =
-				getStateLocation().append(FN_DIALOG_SETTINGS).toOSString();
-			dialogSettings.save(readWritePath);
-		} catch (IOException e) {
-		}
-	}
-
-	/**
-	 * Saves this plug-in's preference store.
-	 * Any problems which arise are silently ignored.
-	 * 
-	 * @see Plugin#savePluginPreferences
-	 * @deprecated As of Eclipse 2.0, preferences exist for all plug-ins. The 
-	 * equivalent of this method is <code>Plugin.savePluginPreferences</code>. 
-	 * This method now calls <code>savePluginPreferences</code>, and exists only for
-	 * backwards compatibility.
-	 */
-	protected void savePreferenceStore() {
-		savePluginPreferences();
-	}
-
-	/**
-	 * The <code>AbstractUIPlugin</code> implementation of this <code>Plugin</code>
-	 * method refreshes the plug-in actions.  Subclasses may extend this method,
-	 * but must send super first.
-	 * <p>
-	 * WARNING: Plug-ins may not be started in the UI thread.
-	 * The <code>startup()</code> method should not assume that its code runs in
-	 * the UI thread, otherwise SWT thread exceptions may occur on startup.
-	 */
-	public void startup() throws CoreException {
-		refreshPluginActions();
-	}
-	/**
-	 * The <code>AbstractUIPlugin</code> implementation of this <code>Plugin</code>
-	 * method saves this plug-in's preference and dialog stores and shuts down 
-	 * its image registry (if they are in use). Subclasses may extend this method,
-	 * but must send super first.
-	 */
-	public void shutdown() throws CoreException {
-		super.shutdown();
-		saveDialogSettings();
-		savePreferenceStore();
-		preferenceStore = null;
-		imageRegistry = null;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/plugin/package.html b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/plugin/package.html
deleted file mode 100644
index be60615..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/plugin/package.html
+++ /dev/null
@@ -1,19 +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.5 [en] (WinNT; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Class hierarchies for plug-ins that integrate with
-the Eclipse Platform UI.
-<h2>
-Package Specification</h2>
-A <b>Plug-in</b> is a bundle of extensions for the Platform.&nbsp; This
-package contains support for the creation of User Interface Plug-ins, plug-ins
-which define extension points for the Platform User Interface.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/Base64Encoder.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/Base64Encoder.java
deleted file mode 100644
index db0e876..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/Base64Encoder.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- *	This utility class converts a passed byte array into a Base 64 encoded
- *	String according to the specification in RFC1521 section 5.2
- */
-/*package*/ class Base64Encoder {
-	private static final String mappings = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";//$NON-NLS-1$
-	private static final String filler = "=";//$NON-NLS-1$
-/**
- *	Answer a string representing the Base 64 encoded form of the passed
- *	byte array
- *
- *	@return java.lang.String
- *	@param contents byte[]
- */
-public static String encode(byte[] contents) {
-	StringBuffer result = new StringBuffer();
-
-	for (int i = 0; i < contents.length; i = i + 3) {
-		if (result.length() == 76)
-			result.append("\n\r");//$NON-NLS-1$
-		
-		// output character 1
-		result.append(mappings.charAt((contents[i] & 0xFC) >> 2));
-
-		// output character 2
-		int c2 = (contents[i] & 0x03) << 4;
-		if (i + 1 >= contents.length) {
-			result.append(mappings.charAt(c2));
-			result.append(filler);
-			result.append(filler);
-			return result.toString();
-		}
-		
-		c2 |= ((contents[i + 1] & 0xF0) >> 4);
-		result.append(mappings.charAt(c2));
-
-		// output character 3
-		int c3 = (contents[i + 1] & 0x0F) << 2;
-		if (i + 2 >= contents.length) {
-			result.append(mappings.charAt(c3));
-			result.append(filler);
-			return result.toString();
-		}
-		
-		c3 |= ((contents[i + 2] & 0xC0) >> 6);
-		result.append(mappings.charAt(c3));
-
-		// output character 4
-		result.append(mappings.charAt(contents[i + 2] & 0x3F));
-	}
-		
-	return result.toString();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/DataTransferMessages.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/DataTransferMessages.java
deleted file mode 100644
index 3182a53..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/DataTransferMessages.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps managing messages
- */
-class DataTransferMessages {
-	private static final String RESOURCE_BUNDLE= "org.eclipse.ui.wizards.datatransfer.messages";//$NON-NLS-1$
-	private static ResourceBundle bundle = ResourceBundle.getBundle(RESOURCE_BUNDLE);
-private DataTransferMessages(){
-	// prevent instantiation of class
-}
-/**
- * Returns the formatted message for the given key in
- * the resource bundle. 
- *
- * @param key the resource name
- * @param args the message arguments
- * @return the string
- */	
-public static String format(String key, Object[] args) {
-	return MessageFormat.format(getString(key),args);
-}
-/**
- * Returns the resource object with the given key in
- * the resource bundle. If there isn't any value under
- * the given key, the key is returned.
- *
- * @param key the resource name
- * @return the string
- */	
-public static String getString(String key) {
-	try {
-		return bundle.getString(key);
-	} catch (MissingResourceException e) {
-		return key;
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ExternalProjectImportWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ExternalProjectImportWizard.java
deleted file mode 100644
index 0fb3371..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ExternalProjectImportWizard.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.*;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * Standard workbench wizard for importing projects defined
- * outside of the currently defined projects into Eclipse.
- * <p>
- * This class may be instantiated and used without further configuration;
- * this class is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * IWizard wizard = new ExternalProjectImportWizard();
- * wizard.init(workbench, selection);
- * WizardDialog dialog = new WizardDialog(shell, wizard);
- * dialog.open();
- * </pre>
- * During the call to <code>open</code>, the wizard dialog is presented to the
- * user. When the user hits Finish, a project is created with the location
- * specified by the user.
- * </p>
- */
-
-public class ExternalProjectImportWizard
-	extends Wizard
-	implements IImportWizard {
-	private WizardExternalProjectImportPage mainPage;
-	private IWorkbench workbench;
-
-	/**
-	 * Constructor for ExternalProjectImportWizard.
-	 */
-	public ExternalProjectImportWizard() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	* Method declared on IWizard.
-	*/
-	public void addPages() {
-		super.addPages();
-		mainPage = new WizardExternalProjectImportPage();
-		addPage(mainPage);
-	}
-	/**
-	 * Returns the image descriptor with the given relative path.
-	 */
-	private ImageDescriptor getImageDescriptor(String relativePath) {
-		String iconPath = "icons/full/"; //$NON-NLS-1$	
-		try {
-			AbstractUIPlugin plugin =
-				(AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-			URL installURL = plugin.getDescriptor().getInstallURL();
-			URL url = new URL(installURL, iconPath + relativePath);
-			return ImageDescriptor.createFromURL(url);
-		} catch (MalformedURLException e) {
-			// Should not happen
-			return null;
-		}
-	}
-	/* (non-Javadoc)
-	 * Method declared on IWorkbenchWizard.
-	 */
-	public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
-		this.workbench = workbench;
-		setWindowTitle(DataTransferMessages.getString("DataTransfer.importTitle")); //$NON-NLS-1$
-		setDefaultPageImageDescriptor(getImageDescriptor("wizban/importdir_wiz.gif")); //$NON-NLS-1$
-		
-	}
-	/* (non-Javadoc)
-	 * Method declared on IWizard.
-	 */
-	public boolean performCancel() {
-		return true;
-	}
-	/* (non-Javadoc)
-	 * Method declared on IWizard.
-	 */
-	public boolean performFinish() {
-		return (mainPage.createExistingProject() != null);
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/FileSystemExportOperation.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/FileSystemExportOperation.java
deleted file mode 100644
index eceae7d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/FileSystemExportOperation.java
+++ /dev/null
@@ -1,410 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.File;
-import java.io.IOException;
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.operation.ModalContext;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.IOverwriteQuery;
-
-/**
- *	Operation for exporting the contents of a resource to the local file system.
- */
-/*package*/
-class FileSystemExportOperation implements IRunnableWithProgress {
-	private IPath path;
-	private IProgressMonitor monitor;
-	private FileSystemExporter exporter = new FileSystemExporter();
-	private List resourcesToExport;
-	private IOverwriteQuery overwriteCallback;
-	private IResource resource;
-	private List errorTable = new ArrayList(1);
-
-	//The constants for the overwrite 3 state
-	private static final int OVERWRITE_NOT_SET = 0;
-	private static final int OVERWRITE_NONE = 1;
-	private static final int OVERWRITE_ALL = 2;
-	private int overwriteState = OVERWRITE_NOT_SET;
-
-	private boolean createLeadupStructure = true;
-	private boolean createContainerDirectories = true;
-	/**
-	 *  Create an instance of this class.  Use this constructor if you wish to
-	 *  export specific resources without a common parent resource
-	 */
-	public FileSystemExportOperation(
-		List resources,
-		String destinationPath,
-		IOverwriteQuery overwriteImplementor) {
-		super();
-
-		// Eliminate redundancies in list of resources being exported
-		Iterator elementsEnum = resources.iterator();
-		while (elementsEnum.hasNext()) {
-			IResource currentResource = (IResource) elementsEnum.next();
-			if (isDescendent(resources, currentResource))
-				elementsEnum.remove(); //Remove currentResource
-		}
-
-		resourcesToExport = resources;
-		path = new Path(destinationPath);
-		overwriteCallback = overwriteImplementor;
-	}
-	/**
-	 *  Create an instance of this class.  Use this constructor if you wish to
-	 *  recursively export a single resource
-	 */
-	public FileSystemExportOperation(
-		IResource res,
-		String destinationPath,
-		IOverwriteQuery overwriteImplementor) {
-		super();
-		resource = res;
-		path = new Path(destinationPath);
-		overwriteCallback = overwriteImplementor;
-	}
-	/**
-	 *  Create an instance of this class.  Use this constructor if you wish to
-	 *  export specific resources with a common parent resource (affects container
-	 *  directory creation)
-	 */
-	public FileSystemExportOperation(
-		IResource res,
-		List resources,
-		String destinationPath,
-		IOverwriteQuery overwriteImplementor) {
-		this(res, destinationPath, overwriteImplementor);
-		resourcesToExport = resources;
-	}
-	/**
-	 * Add a new entry to the error table with the passed information
-	 */
-	protected void addError(String message, Throwable e) {
-		errorTable.add(
-			new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, 0, message, e));
-	}
-	/**
-	 *  Answer the total number of file resources that exist at or below self in the
-	 *  resources hierarchy.
-	 *
-	 *  @return int
-	 *  @param resource org.eclipse.core.resources.IResource
-	 */
-	protected int countChildrenOf(IResource resource) throws CoreException {
-		if (resource.getType() == IResource.FILE)
-			return 1;
-
-		int count = 0;
-		if (resource.isAccessible()) {
-			IResource[] children = ((IContainer) resource).members();
-			for (int i = 0; i < children.length; i++)
-				count += countChildrenOf(children[i]);
-		}
-
-		return count;
-	}
-	/**
-	 *	Answer a boolean indicating the number of file resources that were
-	 *	specified for export
-	 *
-	 *	@return int
-	 */
-	protected int countSelectedResources() throws CoreException {
-		int result = 0;
-		Iterator resources = resourcesToExport.iterator();
-
-		while (resources.hasNext())
-			result += countChildrenOf((IResource) resources.next());
-
-		return result;
-	}
-	/**
-	 *  Create the directories required for exporting the passed resource,
-	 *  based upon its container hierarchy
-	 *
-	 *  @param resource org.eclipse.core.resources.IResource
-	 */
-	protected void createLeadupDirectoriesFor(IResource resource) {
-		IPath resourcePath = resource.getFullPath().removeLastSegments(1);
-
-		for (int i = 0; i < resourcePath.segmentCount(); i++) {
-			path = path.append(resourcePath.segment(i));
-			exporter.createFolder(path);
-		}
-	}
-	/**
-	 *	Recursively export the previously-specified resource
-	 */
-	protected void exportAllResources() throws InterruptedException {
-		if (resource.getType() == IResource.FILE)
-			exportFile((IFile) resource, path);
-		else {
-			try {
-				exportChildren(((IContainer) resource).members(), path);
-			} catch (CoreException e) {
-				// not safe to show a dialog
-				// should never happen because the file system export wizard ensures that the
-				// single resource chosen for export is both existent and accessible
-				errorTable.add(e);
-			}
-		}
-	}
-	/**
-	 *	Export all of the resources contained in the passed collection
-	 *
-	 *	@param children java.util.Enumeration
-	 *	@param currentPath IPath
-	 */
-	protected void exportChildren(IResource[] children, IPath currentPath)
-		throws InterruptedException {
-		for (int i = 0; i < children.length; i++) {
-			IResource child = children[i];
-			if (!child.isAccessible())
-				continue;
-
-			if (child.getType() == IResource.FILE)
-				exportFile((IFile) child, currentPath);
-			else {
-				IPath destination = currentPath.append(child.getName());
-				exporter.createFolder(destination);
-				try {
-					exportChildren(((IContainer) child).members(), destination);
-				} catch (CoreException e) {
-					// not safe to show a dialog
-					// should never happen because:
-					// i. this method is called recursively iterating over the result of #members,
-					//		which only answers existing children
-					// ii. there is an #isAccessible check done before #members is invoked
-					errorTable.add(e.getStatus());
-				}
-			}
-		}
-	}
-	/**
-	 *  Export the passed file to the specified location
-	 *
-	 *  @param file org.eclipse.core.resources.IFile
-	 *  @param location org.eclipse.core.runtime.IPath
-	 */
-	protected void exportFile(IFile file, IPath location)
-		throws InterruptedException {
-		IPath fullPath = location.append(file.getName());
-		monitor.subTask(file.getFullPath().toString());
-		String properPathString = fullPath.toOSString();
-		File targetFile = new File(properPathString);
-
-		if (targetFile.exists()) {
-			if (!targetFile.canWrite()) {
-				errorTable.add(new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, 0, DataTransferMessages.format("DataTransfer.cannotOverwrite", //$NON-NLS-1$
-				new Object[] { targetFile.getAbsolutePath()}), null));
-				monitor.worked(1);
-				return;
-			}
-
-			if(overwriteState == OVERWRITE_NONE)
-				return;
-				
-			if (overwriteState != OVERWRITE_ALL) {
-				String overwriteAnswer =
-					overwriteCallback.queryOverwrite(properPathString);
-
-				if (overwriteAnswer.equals(IOverwriteQuery.CANCEL))
-					throw new InterruptedException();
-
-				if (overwriteAnswer.equals(IOverwriteQuery.NO)) {
-					monitor.worked(1);
-					return;
-				}
-
-				if (overwriteAnswer.equals(IOverwriteQuery.NO_ALL)) {
-					monitor.worked(1);
-					overwriteState = OVERWRITE_NONE;
-					return;
-				}
-
-				if (overwriteAnswer.equals(IOverwriteQuery.ALL))
-					overwriteState = OVERWRITE_ALL;
-			}
-		}
-
-		try {
-			exporter.write(file, fullPath);
-		} catch (IOException e) {
-			errorTable.add(new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, 0, DataTransferMessages.format("DataTransfer.errorExporting", //$NON-NLS-1$
-			new Object[] { fullPath, e.getMessage()}), e));
-		} catch (CoreException e) {
-			errorTable.add(new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, 0, DataTransferMessages.format("DataTransfer.errorExporting", //$NON-NLS-1$
-			new Object[] { fullPath, e.getMessage()}), e));
-		}
-
-		monitor.worked(1);
-		ModalContext.checkCanceled(monitor);
-	}
-	/**
-	 *	Export the resources contained in the previously-defined
-	 *	resourcesToExport collection
-	 */
-	protected void exportSpecifiedResources() throws InterruptedException {
-		Iterator resources = resourcesToExport.iterator();
-		IPath initPath = (IPath) path.clone();
-
-		while (resources.hasNext()) {
-			IResource currentResource = (IResource) resources.next();
-			if (!currentResource.isAccessible())
-				continue;
-
-			path = initPath;
-
-			if (resource == null) {
-				// No root resource specified and creation of containment directories
-				// is required.  Create containers from depth 2 onwards (ie.- project's
-				// child inclusive) for each resource being exported.
-				if (createLeadupStructure)
-					createLeadupDirectoriesFor(currentResource);
-
-			} else {
-				// Root resource specified.  Must create containment directories
-				// from this point onwards for each resource being exported
-				IPath containersToCreate =
-					currentResource
-						.getFullPath()
-						.removeFirstSegments(
-							resource.getFullPath().segmentCount())
-						.removeLastSegments(1);
-
-				for (int i = 0; i < containersToCreate.segmentCount(); i++) {
-					path = path.append(containersToCreate.segment(i));
-					exporter.createFolder(path);
-				}
-			}
-
-			if (currentResource.getType() == IResource.FILE)
-				exportFile((IFile) currentResource, path);
-			else {
-				if (createContainerDirectories) {
-					path = path.append(currentResource.getName());
-					exporter.createFolder(path);
-				}
-
-				try {
-					exportChildren(
-						((IContainer) currentResource).members(),
-						path);
-				} catch (CoreException e) {
-					// should never happen because #isAccessible is called before #members is invoked,
-					// which implicitly does an existence check
-					errorTable.add(e.getStatus());
-				}
-			}
-		}
-	}
-	/**
-	 * Returns the status of the export operation.
-	 * If there were any errors, the result is a status object containing
-	 * individual status objects for each error.
-	 * If there were no errors, the result is a status object with error code <code>OK</code>.
-	 *
-	 * @return the status
-	 */
-	public IStatus getStatus() {
-		IStatus[] errors = new IStatus[errorTable.size()];
-		errorTable.toArray(errors);
-		return new MultiStatus(PlatformUI.PLUGIN_ID, IStatus.OK, errors, DataTransferMessages.getString("FileSystemExportOperation.problemsExporting"), //$NON-NLS-1$
-		null);
-	}
-	/**
-	 *  Answer a boolean indicating whether the passed child is a descendent
-	 *  of one or more members of the passed resources collection
-	 *
-	 *  @return boolean
-	 *  @param resources java.util.List
-	 *  @param child org.eclipse.core.resources.IResource
-	 */
-	protected boolean isDescendent(List resources, IResource child) {
-		if (child.getType() == IResource.PROJECT)
-			return false;
-
-		IResource parent = child.getParent();
-		if (resources.contains(parent))
-			return true;
-
-		return isDescendent(resources, parent);
-	}
-	/**
-	 *	Export the resources that were previously specified for export
-	 *	(or if a single resource was specified then export it recursively)
-	 */
-	public void run(IProgressMonitor monitor) throws InterruptedException {
-		this.monitor = monitor;
-
-		if (resource != null) {
-			if (createLeadupStructure)
-				createLeadupDirectoriesFor(resource);
-
-			if (createContainerDirectories
-				&& resource.getType() != IResource.FILE) {
-				// ensure it's a container
-				path = path.append(resource.getName());
-				exporter.createFolder(path);
-			}
-		}
-
-		try {
-			int totalWork = IProgressMonitor.UNKNOWN;
-			try {
-				if (resourcesToExport == null)
-					totalWork = countChildrenOf(resource);
-				else
-					totalWork = countSelectedResources();
-			} catch (CoreException e) {
-				// Should not happen
-				errorTable.add(e.getStatus());
-			}
-			monitor.beginTask(DataTransferMessages.getString("DataTransfer.exportingTitle"), totalWork); //$NON-NLS-1$
-			if (resourcesToExport == null) {
-				exportAllResources();
-			} else {
-				exportSpecifiedResources();
-			}
-		} finally {
-			monitor.done();
-		}
-	}
-	/**
-	 *	Set this boolean indicating whether a directory should be created for
-	 *	Folder resources that are explicitly passed for export
-	 *
-	 *	@param value boolean
-	 */
-	public void setCreateContainerDirectories(boolean value) {
-		createContainerDirectories = value;
-	}
-	/**
-	 *	Set this boolean indicating whether each exported resource's complete path should
-	 *	include containment hierarchies as dictated by its parents
-	 *
-	 *	@param value boolean
-	 */
-	public void setCreateLeadupStructure(boolean value) {
-		createLeadupStructure = value;
-	}
-	/**
-	 *	Set this boolean indicating whether exported resources should automatically
-	 *	overwrite existing files when a conflict occurs. If not
-	 *	query the user.
-	 *
-	 *	@param value boolean
-	 */
-	public void setOverwriteFiles(boolean value) {
-		if(value)	
-			overwriteState = OVERWRITE_ALL;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/FileSystemExportWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/FileSystemExportWizard.java
deleted file mode 100644
index 8b7eed5..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/FileSystemExportWizard.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.*;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-
-/**
- * Standard workbench wizard for exporting resources from the workspace
- * to the local file system.
- * <p>
- * This class may be instantiated and used without further configuration;
- * this class is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * IWizard wizard = new FileSystemExportWizard();
- * wizard.init(workbench, selection);
- * WizardDialog dialog = new WizardDialog(shell, wizard);
- * dialog.open();
- * </pre>
- * During the call to <code>open</code>, the wizard dialog is presented to the
- * user. When the user hits Finish, the user-selected workspace resources 
- * are exported to the user-specified location in the local file system,
- * the dialog closes, and the call to <code>open</code> returns.
- * </p>
- */
-public class FileSystemExportWizard extends Wizard implements IExportWizard {
-	private IWorkbench workbench;
-	private IStructuredSelection selection;
-	private WizardFileSystemResourceExportPage1 mainPage;
-/**
- * Creates a wizard for exporting workspace resources to the local file system.
- */
-public FileSystemExportWizard() {
-	AbstractUIPlugin plugin = (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-	IDialogSettings workbenchSettings = plugin.getDialogSettings();
-	IDialogSettings section = workbenchSettings.getSection("FileSystemExportWizard");//$NON-NLS-1$
-	if(section == null)
-		section = workbenchSettings.addNewSection("FileSystemExportWizard");//$NON-NLS-1$
-	setDialogSettings(section);
-}
-/* (non-Javadoc)
- * Method declared on IWizard.
- */
-public void addPages() {
-	super.addPages();
-	mainPage = new WizardFileSystemResourceExportPage1(selection);
-	addPage(mainPage);
-}
-/**
- * Returns the image descriptor with the given relative path.
- */
-private ImageDescriptor getImageDescriptor(String relativePath) {
-	String iconPath = "icons/full/";//$NON-NLS-1$	
-	try {
-		AbstractUIPlugin plugin = (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-		URL installURL = plugin.getDescriptor().getInstallURL();
-		URL url = new URL(installURL, iconPath + relativePath);
-		return ImageDescriptor.createFromURL(url);
-	}
-	catch (MalformedURLException e) {
-		// Should not happen
-		return null;
-	}
-}
-/* (non-Javadoc)
- * Method declared on IWorkbenchWizard.
- */
-public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
-	this.workbench = workbench;
-	
-	
-	//Make it the current selection by default but look it up otherwise
-	
-	selection = currentSelection;
-	
-	if(currentSelection.isEmpty() && workbench.getActiveWorkbenchWindow() != null){
-		IWorkbenchPage page = workbench.getActiveWorkbenchWindow().getActivePage();
-		if(page != null){
-			IEditorPart currentEditor = page.getActiveEditor();
-			if(currentEditor != null){
-				Object selectedResource = currentEditor.getEditorInput().getAdapter(IResource.class);
-				if(selectedResource != null)
-				selection = new StructuredSelection(selectedResource);
-			}
-		}
-	}
-
-	setWindowTitle(DataTransferMessages.getString("DataTransfer.export")); //$NON-NLS-1$
-	setDefaultPageImageDescriptor(getImageDescriptor("wizban/exportdir_wiz.gif"));//$NON-NLS-1$
-	setNeedsProgressMonitor(true);
-}
-/* (non-Javadoc)
- * Method declared on IWizard.
- */
-public boolean performFinish() {
-	return mainPage.finish();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/FileSystemExporter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/FileSystemExporter.java
deleted file mode 100644
index f1fd523..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/FileSystemExporter.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-
-/**
- * Helper class for exporting resources to the file system.
- */
-/*package*/ class FileSystemExporter {
-/**
- *  Creates the specified file system directory at <code>destinationPath</code>.
- *  This creates a new file system directory.
- */
-public void createFolder(IPath destinationPath) {
-	new File(destinationPath.toOSString()).mkdir();
-}
-/**
- *  Writes the passed resource to the specified location recursively
- */
-public void write(IResource resource,IPath destinationPath) throws CoreException, IOException {
-	if (resource.getType() == IResource.FILE)
-		writeFile((IFile)resource,destinationPath); 
-	else 
-		writeChildren((IContainer)resource,destinationPath);
-}
-/**
- *  Exports the passed container's children
- */
-protected void writeChildren(IContainer folder, IPath destinationPath) throws CoreException, IOException {
-	if (folder.isAccessible()) {
-		IResource[] children = folder.members();
-		for (int i = 0; i<children.length; i++)  {
-			IResource child = children[i];
-			writeResource(
-				child,
-				destinationPath.append(child.getName()));
-		}
-	}
-}
-/**
- *  Writes the passed file resource to the specified destination on the local
- *  file system
- */
-protected void writeFile(IFile file, IPath destinationPath) throws IOException, CoreException {
-	FileOutputStream output = null;
-	InputStream contentStream = null;
-
-	try {
-		output = new FileOutputStream(destinationPath.toOSString());
-		contentStream = file.getContents(false);
-		int chunkSize = contentStream.available();
-		byte[] readBuffer = new byte[chunkSize];
-		int n = contentStream.read(readBuffer);
-		
-		while (n > 0) {
-			output.write(readBuffer);
-			n = contentStream.read(readBuffer);
-		}
-	} finally {
-		if (output != null)
-			output.close();
-		if (contentStream != null)
-			contentStream.close();
-	}
-}
-/**
- *  Writes the passed resource to the specified location recursively
- */
-protected void writeResource(IResource resource,IPath destinationPath) throws CoreException, IOException {
-	if (resource.getType() == IResource.FILE)
-		writeFile((IFile)resource,destinationPath); 
-	else {
-		createFolder(destinationPath);
-		writeChildren((IContainer)resource,destinationPath);
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/FileSystemImportWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/FileSystemImportWizard.java
deleted file mode 100644
index c3f7acf..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/FileSystemImportWizard.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.*;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-
-/**
- * Standard workbench wizard for importing resources from the local file system
- * into the workspace.
- * <p>
- * This class may be instantiated and used without further configuration;
- * this class is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * IWizard wizard = new FileSystemImportWizard();
- * wizard.init(workbench, selection);
- * WizardDialog dialog = new WizardDialog(shell, wizard);
- * dialog.open();
- * </pre>
- * During the call to <code>open</code>, the wizard dialog is presented to the
- * user. When the user hits Finish, the user-selected files are imported
- * into the workspace, the dialog closes, and the call to <code>open</code>
- * returns.
- * </p>
- */
-public class FileSystemImportWizard extends Wizard implements IImportWizard {
-	private IWorkbench workbench;
-	private IStructuredSelection selection;
-	private WizardFileSystemResourceImportPage1 mainPage;
-/**
- * Creates a wizard for importing resources into the workspace from
- * the file system.
- */
-public FileSystemImportWizard() {
-	AbstractUIPlugin plugin = (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-	IDialogSettings workbenchSettings = plugin.getDialogSettings();
-	IDialogSettings section = workbenchSettings.getSection("FileSystemImportWizard");//$NON-NLS-1$
-	if(section == null)
-		section = workbenchSettings.addNewSection("FileSystemImportWizard");//$NON-NLS-1$
-	setDialogSettings(section);
-}
-/* (non-Javadoc)
- * Method declared on IWizard.
- */
-public void addPages() {
-	super.addPages();
-	mainPage = new WizardFileSystemResourceImportPage1(workbench,selection);
-	addPage(mainPage);
-}
-/**
- * Returns the image descriptor with the given relative path.
- */
-private ImageDescriptor getImageDescriptor(String relativePath) {
-	String iconPath = "icons/full/";//$NON-NLS-1$
-	try {
-		AbstractUIPlugin plugin = (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-		URL installURL = plugin.getDescriptor().getInstallURL();
-		URL url = new URL(installURL, iconPath + relativePath);
-		return ImageDescriptor.createFromURL(url);
-	}
-	catch (MalformedURLException e) {
-		// Should not happen
-		return null;
-	}
-}
-/* (non-Javadoc)
- * Method declared on IWorkbenchWizard.
- */
-public void init(IWorkbench workbench,IStructuredSelection currentSelection) {
-	this.workbench = workbench;
-	selection = currentSelection;
-
-	setWindowTitle(DataTransferMessages.getString("DataTransfer.importTitle")); //$NON-NLS-1$
-	setDefaultPageImageDescriptor(getImageDescriptor("wizban/importdir_wiz.gif"));//$NON-NLS-1$
-	setNeedsProgressMonitor(true);
-}
-/* (non-Javadoc)
- * Method declared on IWizard.
- */
-public boolean performFinish() {
-	return mainPage.finish();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/FileSystemStructureProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/FileSystemStructureProvider.java
deleted file mode 100644
index 3155d07..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/FileSystemStructureProvider.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.*;
-import java.util.*;
-
-/**
- * This class provides information regarding the structure and
- * content of specified file system File objects.
- */
-public class FileSystemStructureProvider implements IImportStructureProvider {
-
-	/**
-	 * Holds a singleton instance of this class.
-	 */
-	public final static FileSystemStructureProvider INSTANCE = new FileSystemStructureProvider();
-/**
- * Creates an instance of <code>FileSystemStructureProvider</code>.
- */
-private FileSystemStructureProvider() {
-	super();
-}
-/* (non-Javadoc)
- * Method declared on IImportStructureProvider
- */
-public List getChildren(Object element) {
-	File folder = (File) element;
-	String[] children = folder.list();
-	int childrenLength = children == null ? 0 : children.length;
-	List result = new ArrayList(childrenLength);
-	
-	for (int i = 0; i < childrenLength; i++)
-		result.add(new File(folder, children[i]));
-		
-	return result;
-}
-/* (non-Javadoc)
- * Method declared on IImportStructureProvider
- */
-public InputStream getContents(Object element) {
-	try {
-		return new FileInputStream((File)element);
-	} catch (FileNotFoundException e) {
-		return null;
-	}
-}
-/* (non-Javadoc)
- * Method declared on IImportStructureProvider
- */
-public String getFullPath(Object element) {
-	return ((File)element).getPath();
-}
-/* (non-Javadoc)
- * Method declared on IImportStructureProvider
- */
-public String getLabel(Object element) {
-
-	//Get the name - if it is empty then return the path as it is a file root
-	File file = (File) element;
-	String name = file.getName();
-	if (name.length() == 0)
-		return file.getPath();
-	else
-		return name;
-}
-/* (non-Javadoc)
- * Method declared on IImportStructureProvider
- */
-public boolean isFolder(Object element) {
-	return ((File)element).isDirectory();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/IDataTransferHelpContextIds.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/IDataTransferHelpContextIds.java
deleted file mode 100644
index 168bab4..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/IDataTransferHelpContextIds.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Help context ids for the data transfer wizards.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * 
- */
-/*package*/ interface IDataTransferHelpContextIds {
-	public static final String PREFIX = PlatformUI.PLUGIN_ID + "."; //$NON-NLS-1$
-
-	// Wizard pages
-	public static final String FILE_SYSTEM_EXPORT_WIZARD_PAGE = PREFIX + "file_system_export_wizard_page"; //$NON-NLS-1$
-	public static final String FILE_SYSTEM_IMPORT_WIZARD_PAGE = PREFIX + "file_system_import_wizard_page"; //$NON-NLS-1$
-	public static final String ZIP_FILE_EXPORT_WIZARD_PAGE = PREFIX + "zip_file_export_wizard_page"; //$NON-NLS-1$
-	public static final String ZIP_FILE_IMPORT_WIZARD_PAGE = PREFIX + "zip_file_import_wizard_page"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/IImportStructureProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/IImportStructureProvider.java
deleted file mode 100644
index 8105f71..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/IImportStructureProvider.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.*;
-import java.util.*;
-
-/**
- * Interface which can provide structure and content information 
- * for an element (for example, a file system element).
- * Used by the import wizards to abstract the commonalities
- * between importing from the file system and importing from an archive.
- */
-public interface IImportStructureProvider {
-/**
- * Returns a collection with the children of the specified structured element.
- */
-List getChildren(Object element);
-/**
- * Returns the contents of the specified structured element, or
- * <code>null</code> if there is a problem determining the element's
- * contents.
- *
- * @param element a structured element
- * @return the contents of the structured element, or <code>null</code>
- */
-InputStream getContents(Object element);
-/**
- * Returns the full path of the specified structured element.
- *
- * @param element a structured element
- * @return the display label of the structured element
- */
-String getFullPath(Object element);
-/**
- * Returns the display label of the specified structured element.
- *
- * @param element a structured element
- * @return the display label of the structured element
- */
-String getLabel(Object element);
-/**
- * Returns a boolean indicating whether the passed structured element represents
- * a container element (as opposed to a leaf element).
- *
- * @return boolean
- * @param element java.lang.Object
- */
-boolean isFolder(Object element);
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ImportOperation.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ImportOperation.java
deleted file mode 100644
index afcdf1d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ImportOperation.java
+++ /dev/null
@@ -1,727 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.dialogs.ContainerGenerator;
-import org.eclipse.ui.dialogs.IOverwriteQuery;
-import java.io.*;
-import java.util.*;
-
-/**
- * An operation which does the actual work of copying objects from the local file
- * system into the workspace.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class ImportOperation extends WorkspaceModifyOperation {
-	private static final int POLICY_DEFAULT = 0;
-	private static final int POLICY_SKIP_CHILDREN = 1;
-	private static final int POLICY_FORCE_OVERWRITE = 2;
-	
-	private Object source;
-	private IPath destinationPath;
-	private IContainer destinationContainer;
-	private List selectedFiles;
-	private List rejectedFiles; 
-	private IImportStructureProvider provider;
-	private IProgressMonitor	monitor;
-	protected IOverwriteQuery overwriteCallback;
-	private Shell context;
-	private List errorTable = new ArrayList();
-	private boolean createContainerStructure = true;
-	
-	//The constants for the overwrite 3 state
-	private static final int OVERWRITE_NOT_SET = 0;
-	private static final int OVERWRITE_NONE = 1;	
-	private static final int OVERWRITE_ALL = 2;	
-	private int overwriteState = OVERWRITE_NOT_SET;
-/**
- * Creates a new operation that recursively imports the entire contents of the
- * specified root file system object.
- * <p>
- * The <code>source</code> parameter represents the root file system object to 
- * import. All contents of this object are imported. Valid types for this parameter
- * are determined by the supplied <code>IImportStructureProvider</code>.
- * </p>
- * <p>
- * The <code>provider</code> parameter allows this operation to deal with the
- * source object in an abstract way. This operation calls methods on the provider
- * and the provider in turn calls specific methods on the source object.
- * </p>
- *  <p>
- * The default import behavior is to recreate the complete container structure
- * for the contents of the root file system object in their destination. 
- * If <code>setCreateContainerStructure</code> is set to false then the container 
- * structure created is relative to the root file system object.
- * </p>
- * 
- * @param containerPath the full path of the destination container within the
- *   workspace
- * @param source the root file system object to import
- * @param provider the file system structure provider to use
- * @param overwriteImplementor the overwrite strategy to use
- */
-public ImportOperation(IPath containerPath, Object source, IImportStructureProvider provider, IOverwriteQuery overwriteImplementor) {
-	super();
-	this.destinationPath = containerPath;
-	this.source = source;
-	this.provider = provider;
-	overwriteCallback = overwriteImplementor;
-}
-/**
- * Creates a new operation that imports specific file system objects.
- * In this usage context, the specified source file system object is used by the
- * operation solely to determine the destination container structure of the file system
- * objects being imported.
- * <p>
- * The <code>source</code> parameter represents the root file system object to 
- * import. Valid types for this parameter are determined by the supplied 
- * <code>IImportStructureProvider</code>. The contents of the source which
- * are to be imported are specified in the <code>filesToImport</code>
- * parameter.
- * </p>
- * <p>
- * The <code>provider</code> parameter allows this operation to deal with the
- * source object in an abstract way. This operation calls methods on the provider
- * and the provider in turn calls specific methods on the source object.
- * </p>
- * <p>
- * The <code>filesToImport</code> parameter specifies what contents of the root
- * file system object are to be imported.
- * </p>
- * <p>
- * The default import behavior is to recreate the complete container structure
- * for the file system objects in their destination. If <code>setCreateContainerStructure</code>
- * is set to <code>false</code>, then the container structure created for each of 
- * the file system objects is relative to the supplied root file system object.
- * </p>
- *
- * @param containerPath the full path of the destination container within the
- *   workspace
- * @param source the root file system object to import from
- * @param provider the file system structure provider to use
- * @param overwriteImplementor the overwrite strategy to use
- * @param filesToImport the list of file system objects to be imported
- *  (element type: <code>Object</code>)
- */
-public ImportOperation(IPath containerPath, Object source, IImportStructureProvider provider, IOverwriteQuery overwriteImplementor, List filesToImport) {
-	this(containerPath, source, provider, overwriteImplementor);
-	setFilesToImport(filesToImport);
-}
-/**
- * Creates a new operation that imports specific file system objects.
- * <p>
- * The <code>provider</code> parameter allows this operation to deal with the
- * source object in an abstract way. This operation calls methods on the provider
- * and the provider in turn calls specific methods on the source object.
- * </p>
- * <p>
- * The <code>filesToImport</code> parameter specifies what file system objects 
- * are to be imported.
- * </p>
- * <p>
- * The default import behavior is to recreate the complete container structure
- * for the file system objects in their destination. If <code>setCreateContainerStructure</code>
- * is set to <code>false</code>, then no container structure is created for each of 
- * the file system objects.
- * </p>
- *
- * @param containerPath the full path of the destination container within the
- *   workspace
- * @param provider the file system structure provider to use
- * @param overwriteImplementor the overwrite strategy to use
- * @param filesToImport the list of file system objects to be imported
- *  (element type: <code>Object</code>)
- */
-public ImportOperation(IPath containerPath, IImportStructureProvider provider, IOverwriteQuery overwriteImplementor, List filesToImport) {
-	this(containerPath, null, provider, overwriteImplementor);
-	setFilesToImport(filesToImport);
-}
-/**
- * Prompts if existing resources should be overwritten. Recursively collects
- * existing read-only files to overwrite and resources that should not be
- * overwritten.
- * 
- * @param destinationPath destination path to check for existing files
- * @param sources file system objects that may exist in the destination
- * @param noOverwrite files that were selected to be skipped (don't overwrite).
- * 	object type IPath
- * @param overwriteReadonly the collected existing read-only files to overwrite.
- * 	object type IPath
- */
-void collectExistingReadonlyFiles(IPath destinationPath, List sources, ArrayList noOverwrite, ArrayList overwriteReadonly, int policy) {
-	IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
-	Iterator sourceIter = sources.iterator();
-	IPath sourceRootPath = null;
-	
-	if (this.source != null) {
-		sourceRootPath = new Path(provider.getFullPath(this.source));
-	}
-	while (sourceIter.hasNext()) {
-		Object source = sourceIter.next();
-		IPath sourcePath = new Path(provider.getFullPath(source));
-		IPath newDestinationPath;
-		IResource newDestination;
-			
-		if (sourceRootPath == null) {
-			newDestinationPath = destinationPath.append(provider.getLabel(source));
-		} else {
-			int prefixLength = sourcePath.matchingFirstSegments(sourceRootPath);
-			IPath relativeSourcePath = sourcePath.removeFirstSegments(prefixLength); 
-			newDestinationPath = this.destinationPath.append(relativeSourcePath);
-		}		
-		newDestination = workspaceRoot.findMember(newDestinationPath);
-		if (newDestination == null)
-			continue;
-
-		IFolder folder = getFolder(newDestination);
-		if (folder != null) {
-			if (policy != POLICY_FORCE_OVERWRITE){			
-				if(this.overwriteState == OVERWRITE_NONE || !queryOverwrite(newDestinationPath)) {
-					noOverwrite.add(folder);
-					continue;
-				}
-			}			
-			if (provider.isFolder(source))			
-				collectExistingReadonlyFiles(
-					newDestinationPath, 
-					provider.getChildren(source), 
-					noOverwrite, 
-					overwriteReadonly, 
-					POLICY_FORCE_OVERWRITE);
-		}			
-		else {
-			IFile file = getFile(newDestination);
-			
-			if (file != null) {
-				if (!queryOverwriteFile(file, policy))
-					noOverwrite.add(file.getFullPath());
-				else if (file.isReadOnly())
-					overwriteReadonly.add(file);
-			}	
-		}
-	}
-} 
-/**
- * Creates the folders that appear in the specified resource path.
- * These folders are created relative to the destination container.
- *
- * @param path the relative path of the resource
- * @return the container resource coresponding to the given path
- * @exception CoreException if this method failed
- */
-IContainer createContainersFor(IPath path) throws CoreException {
-
-	IContainer currentFolder = (IContainer) destinationContainer;
-	
-	int segmentCount = path.segmentCount();
-	
-	//No containers to create
-	if(segmentCount == 0)
-		return currentFolder;
-	
-	//Needs to be handles differently at the root
-	if(currentFolder.getType() == IResource.ROOT)
-		return createFromRoot(path);
-
-	
-	for (int i = 0; i < segmentCount; i++) {
-		currentFolder = currentFolder.getFolder(new Path(path.segment(i)));
-		if (!currentFolder.exists()) 
-			((IFolder) currentFolder).create(false,true,null);
-	}
-
-	return currentFolder;
-}
-
-/**
- * Creates the folders that appear in the specified resource path
- * assuming that the destinationContainer begins at the root. Do not create projects.
- *
- * @param path the relative path of the resource
- * @return the container resource coresponding to the given path
- * @exception CoreException if this method failed
- */
-private IContainer createFromRoot(IPath path) throws CoreException {
-		
-	int segmentCount = path.segmentCount();
-	
-	//Assume the project exists 
-	IContainer currentFolder = 
-		((IWorkspaceRoot) destinationContainer).getProject(path.segment(0));
-	
-	for (int i = 1; i < segmentCount; i++) {
-		currentFolder = currentFolder.getFolder(new Path(path.segment(i)));
-		if (!currentFolder.exists()) 
-			((IFolder) currentFolder).create(false,true,null);
-	}
-
-	return currentFolder;
-}
-
-
-/**
- * Deletes the given resource. If the resource fails to be deleted, adds a
- * status object to the list to be returned by <code>getResult</code>.
- *
- * @param resource the resource
- */
-void deleteResource(IResource resource) {
-	try {
-		resource.delete(IResource.KEEP_HISTORY, null);
-	} catch (CoreException e) {
-		errorTable.add(e.getStatus());
-	}
-}
-/* (non-Javadoc)
- * Method declared on WorkbenchModifyOperation.
- * Imports the specified file system objects from the file system.
- */
-protected void execute(IProgressMonitor progressMonitor) {
-	
-	monitor = progressMonitor;
-
-	try {
-		if (selectedFiles == null) {
-			//Set the amount to 1000 as we have no idea of how long this will take
-			monitor.beginTask(DataTransferMessages.getString("DataTransfer.importTask"),1000); //$NON-NLS-1$
-			ContainerGenerator generator = new ContainerGenerator(destinationPath);
-			monitor.worked(30);
-			validateFiles(Arrays.asList(new Object[] {source}));
-			monitor.worked(50);
-			destinationContainer = generator.generateContainer(new SubProgressMonitor(monitor, 50));
-			importRecursivelyFrom(source, POLICY_DEFAULT);
-			//Be sure it finishes
-			monitor.worked(90);
-		} else {
-			// Choose twice the selected files size to take folders into account
-			int creationCount = selectedFiles.size();
-			monitor.beginTask(DataTransferMessages.getString("DataTransfer.importTask"),creationCount + 100); //$NON-NLS-1$
-			ContainerGenerator generator = new ContainerGenerator(destinationPath);
-			monitor.worked(30);
-			validateFiles(selectedFiles);		
-			monitor.worked(50);
-			destinationContainer = generator.generateContainer(new SubProgressMonitor(monitor, 50));
-			importFileSystemObjects(selectedFiles);
-			monitor.done();
-		}
-	}
-	catch (CoreException e) {
-		errorTable.add(e.getStatus());
-	}
-	finally {
-		monitor.done();
-	}
-}
-/**
- * Returns the container resource that the passed file system object should be
- * imported into.
- *
- * @param fileSystemObject the file system object being imported
- * @return the container resource that the passed file system object should be
- *     imported into
- * @exception CoreException if this method failed
- */
-IContainer getDestinationContainerFor(Object fileSystemObject) throws CoreException {
-	IPath pathname = new Path(provider.getFullPath(fileSystemObject));
-	
-	if (createContainerStructure)
-		return createContainersFor(pathname.removeLastSegments(1));
-	else {
-		if (source == fileSystemObject)
-			return null;
-		IPath sourcePath = new Path(provider.getFullPath(source));
-		IPath destContainerPath = pathname.removeLastSegments(1);
-		IPath relativePath = destContainerPath.removeFirstSegments(sourcePath.segmentCount()).setDevice(null);
-		return createContainersFor(relativePath);
-	}
-}
-/**
- * Returns the resource either casted to or adapted to an IFile. 
- * 
- * @param resource resource to cast/adapt
- * @return the resource either casted to or adapted to an IFile.
- * 	<code>null</code> if the resource does not adapt to IFile 
- */
-IFile getFile(IResource resource) {
-	if (resource instanceof IFile) {
-		return (IFile) resource;
-	}
-	if (resource instanceof IAdaptable) {
-		return (IFile) ((IAdaptable) resource).getAdapter(IFile.class);
-	}
-	return null;
-}
-/**
- * Returns the resource either casted to or adapted to an IFolder. 
- * 
- * @param resource resource to cast/adapt
- * @return the resource either casted to or adapted to an IFolder.
- * 	<code>null</code> if the resource does not adapt to IFolder 
- */
-IFolder getFolder(IResource resource) {
-	if (resource instanceof IFolder) {
-		return (IFolder) resource;
-	}
-	if (resource instanceof IAdaptable) {
-		return (IFolder) ((IAdaptable) resource).getAdapter(IFolder.class);
-	}
-	return null;
-}
-/**
- * Returns the rejected files based on the given multi status.
- *  
- * @param multiStatus multi status to use to determine file rejection
- * @param files source files
- * @return list of rejected files as absolute paths. Object type IPath.
- */
-ArrayList getRejectedFiles(IStatus multiStatus, IFile[] files) {
-	ArrayList rejectedFiles = new ArrayList();
-
-	IStatus[] status = multiStatus.getChildren();
-	for (int i = 0; i < status.length; i++) {
-		if (status[i].isOK() == false) {
-			rejectedFiles.add(files[i].getFullPath());
-		}
-	}
-	return rejectedFiles;
-}
-/**
- * Returns the status of the import operation.
- * If there were any errors, the result is a status object containing
- * individual status objects for each error.
- * If there were no errors, the result is a status object with error code <code>OK</code>.
- *
- * @return the status
- */
-public IStatus getStatus() {
-	IStatus[] errors = new IStatus[errorTable.size()];
-	errorTable.toArray(errors);
-	return new MultiStatus(
-		PlatformUI.PLUGIN_ID, 
-		IStatus.OK, 
-		errors,
-		DataTransferMessages.getString("ImportOperation.importProblems"),  //$NON-NLS-1$
-		null);
-}
-/**
- * Imports the specified file system object into the workspace.
- * If the import fails, adds a status object to the list to be returned by
- * <code>getResult</code>.
- *
- * @param fileObject the file system object to be imported
- * @param policy determines how the file object is imported
- */
-void importFile(Object fileObject, int policy) {
-	IContainer containerResource;
-	try {
-		containerResource = getDestinationContainerFor(fileObject);
-	} catch (CoreException e) {
-		IStatus coreStatus = e.getStatus();		
-		String newMessage = DataTransferMessages.format("ImportOperation.coreImportError", new Object [] {fileObject, coreStatus.getMessage()}); //$NON-NLS-1$
-		IStatus status = new Status(coreStatus.getSeverity(), coreStatus.getPlugin(), coreStatus.getCode(), newMessage, null);
-		errorTable.add(status);
-		return;
-	}
-		
-	String fileObjectPath = provider.getFullPath(fileObject);
-	monitor.subTask(fileObjectPath);
-	IFile targetResource = containerResource.getFile(new Path(provider.getLabel(fileObject)));
-	monitor.worked(1);
-	
-	if (rejectedFiles.contains(targetResource.getFullPath()))
-		return;
-
-	// ensure that the source and target are not the same
-	IPath targetPath = targetResource.getLocation();
-	// Use Files for comparison to avoid platform specific case issues
-	if (targetPath != null && 
-		(targetPath.toFile().equals(new File(fileObjectPath)))) {
-		errorTable.add(
-			new Status(
-				IStatus.ERROR,
-				PlatformUI.PLUGIN_ID,
-				0,
-				DataTransferMessages.format(
-					"ImportOperation.targetSameAsSourceError", //$NON-NLS-1$
-					new Object [] {fileObjectPath}), 
-				null));
-		return;		
-	}
-
-	InputStream contentStream = provider.getContents(fileObject);
-	if (contentStream == null) {
-		errorTable.add(
-			new Status(
-				IStatus.ERROR,
-				PlatformUI.PLUGIN_ID,
-				0,
-				DataTransferMessages.format("ImportOperation.openStreamError", new Object [] {fileObjectPath}), //$NON-NLS-1$
-				null));
-		return;
-	}
-	
-	try {
-		if (targetResource.exists())
-			targetResource.setContents(contentStream, IResource.KEEP_HISTORY, null);
-		else
-			targetResource.create(contentStream, false, null);
-	} catch (CoreException e) {
-		errorTable.add(e.getStatus());
-	} finally {
-		try {
-			contentStream.close();
-		} catch (IOException e) {
-			errorTable.add(
-				new Status(
-					IStatus.ERROR,
-					PlatformUI.PLUGIN_ID,
-					0,
-					DataTransferMessages.format("ImportOperation.closeStreamError", new Object [] {fileObjectPath}),  //$NON-NLS-1$
-					e));
-		}
-	}
-}
-/**
- * Imports the specified file system objects into the workspace.
- * If the import fails, adds a status object to the list to be returned by
- * <code>getStatus</code>.
- *
- * @param filesToImport the list of file system objects to import
- *   (element type: <code>Object</code>)
- * @exception OperationCanceledException if canceled
- */
-void importFileSystemObjects(List filesToImport) {
-	Iterator filesEnum = filesToImport.iterator();
-	while (filesEnum.hasNext()) {
-		Object fileSystemObject = filesEnum.next();
-		if (source == null) {
-			// We just import what we are given into the destination
-			IPath sourcePath = new Path(provider.getFullPath(fileSystemObject)).removeLastSegments(1);
-			if (provider.isFolder(fileSystemObject) && sourcePath.isEmpty()) {
-				// If we don't have a parent then we have selected the
-				// file systems root. Roots can't copied (at least not
-				// under windows).
-				errorTable.add(
-					new Status(
-						IStatus.INFO,
-						PlatformUI.PLUGIN_ID,
-						0,
-						DataTransferMessages.getString("ImportOperation.cannotCopy"), //$NON-NLS-1$
-						null));
-				continue;
-			}
-			source = sourcePath.toFile();
-		}
-		importRecursivelyFrom(fileSystemObject, POLICY_DEFAULT);
-	}
-}
-/**
- * Imports the specified file system container object into the workspace.
- * If the import fails, adds a status object to the list to be returned by
- * <code>getResult</code>.
- *
- * @param fileObject the file system container object to be imported
- * @param policy determines how the folder object and children are imported
- * @return the policy to use to import the folder's children
- */
-int importFolder(Object folderObject, int policy) {
-	IContainer containerResource;
-	try {
-		containerResource = getDestinationContainerFor(folderObject);
-	} catch (CoreException e) {
-		errorTable.add(e.getStatus());
-		return policy;
-	}
-
-	if (containerResource == null)
-		return policy;
-
-	monitor.subTask(provider.getFullPath(folderObject));
-	IWorkspace workspace = destinationContainer.getWorkspace();
-	IPath containerPath = containerResource.getFullPath();
-	IPath resourcePath = containerPath.append(provider.getLabel(folderObject));
-
-	// Do not attempt the import if the resource path is unchanged. This may happen
-	// when importing from a zip file.
-	if (resourcePath.equals(containerPath))
-		return policy;
-
-	if (workspace.getRoot().exists(resourcePath)) {
-		if (rejectedFiles.contains(resourcePath))
-			return POLICY_SKIP_CHILDREN;
-
-		return POLICY_FORCE_OVERWRITE;
-	}
-		
-	try {
-		workspace.getRoot().getFolder(resourcePath).create(
-			false,
-			true,
-			null);
-	} catch (CoreException e) {
-		errorTable.add(e.getStatus());
-	}
-
-	return policy;
-}
-/**
- * Imports the specified file system object recursively into the workspace.
- * If the import fails, adds a status object to the list to be returned by
- * <code>getStatus</code>.
- *
- * @param fileSystemObject the file system object to be imported
- * @param policy determines how the file system object and children are imported
- * @exception OperationCanceledException if canceled
- */
-void importRecursivelyFrom(Object fileSystemObject, int policy) {
-	if (monitor.isCanceled())
-		throw new OperationCanceledException();
-	
-	if (!provider.isFolder(fileSystemObject)) {
-		importFile(fileSystemObject, policy);
-		return;
-	}
-
-	int childPolicy = importFolder(fileSystemObject, policy);
-	if (childPolicy != POLICY_SKIP_CHILDREN) {
-		Iterator children = provider.getChildren(fileSystemObject).iterator();
-		while (children.hasNext())
-			importRecursivelyFrom(children.next(), childPolicy);
-	}
-}
-/**
- * Queries the user whether the resource with the specified path should be
- * overwritten by a file system object that is being imported.
- * 
- * @param path the workspace path of the resource that needs to be overwritten
- * @return <code>true</code> to overwrite, <code>false</code> to not overwrite
- * @exception OperationCanceledException if canceled
- */
-boolean queryOverwrite(IPath resourcePath) throws OperationCanceledException {
-	String overwriteAnswer = overwriteCallback.queryOverwrite(resourcePath.makeRelative().toString());
-
-	if (overwriteAnswer.equals(IOverwriteQuery.CANCEL))
-		throw new OperationCanceledException(DataTransferMessages.getString("DataTransfer.emptyString")); //$NON-NLS-1$
-				
-	if (overwriteAnswer.equals(IOverwriteQuery.NO)) {
-		return false;
-	}
-	
-	if (overwriteAnswer.equals(IOverwriteQuery.NO_ALL)){
-		this.overwriteState = OVERWRITE_NONE;
-		return false;
-	}
-			
-	if (overwriteAnswer.equals(IOverwriteQuery.ALL))
-		this.overwriteState = OVERWRITE_ALL;
-
-	return true;
-}
-/**
- * Returns whether the given file should be overwritten.
- *
- * @param targetFile the file to ask to overwrite 
- * @param policy determines if the user is queried for overwrite 
- * @return <code>true</code> if the file should be overwritten, and
- * 	<code>false</code> if not.
- */
-boolean queryOverwriteFile(IFile targetFile, int policy) {
-	//If force overwrite is on don't bother
-	if (policy != POLICY_FORCE_OVERWRITE){
-		if(this.overwriteState == OVERWRITE_NOT_SET && 
-			!queryOverwrite(targetFile.getFullPath()))
-				return false;
-		if(this.overwriteState == OVERWRITE_NONE)
-			return false;	
-	}
-	return true;
-}
-/**
- * Sets the context for use by the VCM provider to prompt the user
- * for check-out of files.
- * 
- * @param shell context for use by the VCM provider to prompt user
- * 	for check-out. The user will not be prompted if set to <code>null</code>.
- * @see IWorkspace.validateEdit
- * @since 2.1
- */
-public void setContext(Shell shell) {
-	context = shell;
-}
-/**
- * Sets whether the containment structures that are implied from the full paths
- * of file system objects being imported should be duplicated in the workbench.
- *
- * @param value <code>true</code> if containers should be created, and
- *  <code>false</code> otherwise
- */
-public void setCreateContainerStructure(boolean value) {
-	createContainerStructure = value;
-}
-/**
- * Sets the file system objects to import.
- *
- * @param filesToImport the list of file system objects to be imported
- *   (element type: <code>Object</code>)
- */
-public void setFilesToImport(List filesToImport) {
-	this.selectedFiles = filesToImport;
-}
-/**
- * Sets whether imported file system objects should automatically overwrite
- * existing workbench resources when a conflict occurs.
- *
- * @param value <code>true</code> to automatically overwrite, and 
- *   <code>false</code> otherwise
- */
-public void setOverwriteResources(boolean value) {
-	if(value)
-		this.overwriteState = OVERWRITE_ALL;
-}
-/**
- * Validates that the given source resources can be copied to the 
- * destination as decided by the VCM provider.
- * 
- * @param existingFiles existing files to validate
- * @return list of rejected files as absolute paths. Object type IPath.
- */
-ArrayList validateEdit(List existingFiles) {
-	ArrayList rejectedFiles = new ArrayList();
-		
-	if (existingFiles.size() > 0) {
-		IFile[] files = (IFile[]) existingFiles.toArray(new IFile[existingFiles.size()]);
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IStatus status = workspace.validateEdit(files, context);
-			
-		if (status.isMultiStatus())
-			rejectedFiles = getRejectedFiles(status, files);
-		else if (!status.isOK())
-			throw new OperationCanceledException(DataTransferMessages.getString("DataTransfer.emptyString")); //$NON-NLS-1$
-	}
-	return rejectedFiles;
-}
-/**
- * Validates the given file system objects.
- * The user is prompted to overwrite existing files.
- * Existing read-only files are validated with the VCM provider.
- * 
- * @param sourceFiles files to validate
- */
-void validateFiles(List sourceFiles) {
-	ArrayList noOverwrite = new ArrayList();
-	ArrayList overwriteReadonly = new ArrayList();
-	
-	collectExistingReadonlyFiles(destinationPath, sourceFiles, noOverwrite, overwriteReadonly, POLICY_DEFAULT);
-	rejectedFiles = validateEdit(overwriteReadonly);
-	rejectedFiles.addAll(noOverwrite);
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/MinimizedFileSystemElement.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/MinimizedFileSystemElement.java
deleted file mode 100644
index 3b174f4..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/MinimizedFileSystemElement.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.*;
-import org.eclipse.ui.internal.model.AdaptableList;
-import org.eclipse.ui.dialogs.FileSystemElement;
-
-/**
- * The <code>MinimizedFileSystemElement</code> is a <code>FileSystemElement</code> that knows
- * if it has been populated or not.
- */
-class MinimizedFileSystemElement extends FileSystemElement {
-	private boolean populated = false;
-/**
- * Create a <code>MinimizedFileSystemElement</code> with the supplied name and parent.
- * @param name the name of the file element this represents
- * @param parent the containing parent
- * @param isDirectory indicated if this could have children or not
- */
-MinimizedFileSystemElement(String name, org.eclipse.ui.dialogs.FileSystemElement parent, boolean isDirectory) {
-	super(name, parent, isDirectory);
-}
-/**
- * Returns a list of the files that are immediate children. Use the supplied provider
- * if it needs to be populated.
- * of this folder.
- */
-public AdaptableList getFiles(IImportStructureProvider provider) {
-	if(!populated)
-		populate(provider);
-	
-	return super.getFiles();
-		
-}
-/**
- * Returns a list of the folders that are immediate children. Use the supplied provider
- * if it needs to be populated.
- * of this folder.
- */
-public AdaptableList getFolders(IImportStructureProvider provider) {
-	if(!populated)
-		populate(provider);
-	
-	return super.getFolders();
-		
-}
-/**
- * Return whether or not population has happened for the receiver.
- */
-boolean isPopulated() {
-	return this.populated;
-}
-/**
- * Return whether or not population has not happened for the receiver.
- */
-boolean notPopulated() {
-	return !this.populated;
-}
-/**
- * Populate the files and folders of the receiver using the suppliec structure provider.
- * @param provider org.eclipse.ui.wizards.datatransfer.IImportStructureProvider
- */
-private void populate(IImportStructureProvider provider) {
-
-	Object fileSystemObject = getFileSystemObject();
-
-	List children = provider.getChildren(fileSystemObject);
-	if (children == null)
-		children = new ArrayList(1);
-	Iterator childrenEnum = children.iterator();
-	while (childrenEnum.hasNext()) {
-		Object child = childrenEnum.next();
-
-		String elementLabel = provider.getLabel(child);
-		//Create one level below
-		MinimizedFileSystemElement result =
-			new MinimizedFileSystemElement(elementLabel, this, provider.isFolder(child));
-		result.setFileSystemObject(child);
-	}
-	setPopulated();
-}
-/**
- * Set whether or not population has happened for the receiver to true.
- */
-void setPopulated() {
-	this.populated = true;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/PopulateElementOperation.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/PopulateElementOperation.java
deleted file mode 100644
index 52dcd77..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/PopulateElementOperation.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.*;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.operation.ModalContext;
-
-/**
- * The PopulateElementOperation has a MinimizedFileSystemElement as an object as this is
- * just filled in.
- */
-class PopulateElementOperation extends PopulateRootOperation {
-/**
- * Create a new <code>PopulateElementsOperation</code>.
- * @param rootObject the object to be populated
- * @param structureProvider the object that defines how we are to populate it.
- */
-public PopulateElementOperation(
-	MinimizedFileSystemElement rootObject,
-	IImportStructureProvider structureProvider) {
-	super(rootObject, structureProvider);
-}
-/**
- * Populates the children of element down to level depth
- */
-private void populateElement(
-	MinimizedFileSystemElement element,
-	IProgressMonitor monitor)
-	throws InterruptedException {
-
-	Object fileSystemObject = element.getFileSystemObject();
-	ModalContext.checkCanceled(monitor);
-
-	
-	List children = provider.getChildren(fileSystemObject);
-	if (children == null)
-		children = new ArrayList(1);
-	Iterator childrenEnum = children.iterator();
-	while (childrenEnum.hasNext()) {
-		//Create one level below
-		createElement(element, childrenEnum.next(), 1);
-	}
-	element.setPopulated();
-}
-/**
- * Runs the operation. The result of this operation is always the elemen provided.
- */
-public void run(IProgressMonitor monitor) throws InterruptedException {
-	try {
-		this.monitor = monitor;
-		monitor.beginTask(DataTransferMessages.getString("DataTransfer.scanningChildren"),IProgressMonitor.UNKNOWN); //$NON-NLS-1$
-		MinimizedFileSystemElement element = (MinimizedFileSystemElement) root;
-		populateElement(element,monitor);
-		
-	} finally {
-		monitor.done();
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/PopulateRootOperation.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/PopulateRootOperation.java
deleted file mode 100644
index f2daf3b..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/PopulateRootOperation.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
- 
-import java.util.*;
-
-import org.eclipse.jface.operation.ModalContext;
-import org.eclipse.ui.dialogs.FileSystemElement;
-
-/**
- * The PopulateFilesOperation is an operation used to populate a FileSystemElement one
- * level deep rather than the whole way.
- */
-public class PopulateRootOperation extends SelectFilesOperation {
-/**
- * Create a new <code>PopulateFilesOperation</code>.
- * @param rootObject the object to be populated
- * @param structureProvider the object that defines how we are to populate it.
- */
-public PopulateRootOperation(Object rootObject, IImportStructureProvider structureProvider) {
-	super(rootObject, structureProvider);
-}
-/**
- * Creates and returns a <code>FileSystemElement</code> if the specified
- * file system object merits one.  The criteria for this are:
- * - if the file system object is a container then it must have either a
- *   child container or an associated file
- * - if the file system object is a file then it must have an extension
- *   suitable for selection
- */
-protected FileSystemElement createElement(
-	FileSystemElement parent,
-	Object fileSystemObject)
-	throws InterruptedException {
-
-	//Iterate on level deep
-	return createElement(parent, fileSystemObject, 2);
-
-}
-/**
- * Creates and returns a <code>FileSystemElement</code> if the specified
- * file system object merits one.  The criteria for this are:
- * - if the file system object is a container then it must have either a
- *   child container or an associated file
- * - if the file system object is a file then it must have an extension
- *   suitable for selection
- * 	recurse down for depth to populate children
- */
-protected FileSystemElement createElement(
-	FileSystemElement parent,
-	Object fileSystemObject,
-	int depth)
-	throws InterruptedException {
-	ModalContext.checkCanceled(monitor);
-	boolean isContainer = provider.isFolder(fileSystemObject);
-	String elementLabel =
-		parent == null
-			? provider.getFullPath(fileSystemObject)
-			: provider.getLabel(fileSystemObject);
-
-	MinimizedFileSystemElement result =
-		new MinimizedFileSystemElement(elementLabel, parent, isContainer);
-	result.setFileSystemObject(fileSystemObject);
-
-	if (isContainer) {
-		if (depth > 0) {
-			List children = provider.getChildren(fileSystemObject);
-			if (children == null)
-				children = new ArrayList(1);
-			Iterator childrenEnum = children.iterator();
-			while (childrenEnum.hasNext()) {
-				createElement(result, childrenEnum.next(), depth - 1);
-			}
-			result.setPopulated();
-		}
-
-	}
-
-	return result;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/SelectFilesOperation.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/SelectFilesOperation.java
deleted file mode 100644
index 97603ac..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/SelectFilesOperation.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.*;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.operation.ModalContext;
-import org.eclipse.ui.dialogs.FileSystemElement;
-
-/**
- *	Operation responsible for traversing a specified file system position
- *	recursively and building
- *	-	a tree that represents the container structure
- *	-	a collection containing all files meeting a specified extension criteria
- *
- *	This is implemented as an Operation in order to provide an escape to the user
- *	(the Cancel button) if the operation drags on for too long
- */
-public class SelectFilesOperation implements IRunnableWithProgress {
-	IProgressMonitor				monitor;
-	Object							root;
-	IImportStructureProvider	provider;
-	String							desiredExtensions[];
-	FileSystemElement				result;
-/**
- * Creates a new <code>SelectFilesOperation</code>.
- */
-public SelectFilesOperation(Object rootObject,IImportStructureProvider structureProvider) {
-	super();
-	root = rootObject;
-	provider = structureProvider;
-}
-/**
- * Creates and returns a <code>FileSystemElement</code> if the specified
- * file system object merits one.  The criteria for this are:
- * - if the file system object is a container then it must have either a
- *   child container or an associated file
- * - if the file system object is a file then it must have an extension
- *   suitable for selection
- */
-protected FileSystemElement createElement(FileSystemElement parent,Object fileSystemObject) throws InterruptedException {
-	ModalContext.checkCanceled(monitor);
-	boolean isContainer = provider.isFolder(fileSystemObject);
-	String elementLabel = parent == null ? provider.getFullPath(fileSystemObject) : provider.getLabel(fileSystemObject);
-	
-	if (!isContainer && !hasDesiredExtension(elementLabel))
-		return null;
-
-	FileSystemElement result =
-		new FileSystemElement(elementLabel,parent,isContainer);
-	result.setFileSystemObject(fileSystemObject);
-
-	if (isContainer) {
-		boolean haveChildOrFile = false;
-		List children = provider.getChildren(fileSystemObject);
-		if (children == null)
-			children = new ArrayList(1);
-		Iterator childrenEnum = children.iterator();
-		while (childrenEnum.hasNext()) {
-			if (createElement(result,childrenEnum.next()) != null)
-				haveChildOrFile = true;
-		}
-
-		if (!haveChildOrFile && parent != null) {
-			parent.removeFolder(result);
-			result = null;
-		}
-	}
-
-	return result;
-}
-/**
- * Returns the extension portion of the passed filename string.
- */
-protected String getExtensionFor(String filename) {
-	int nIndex = filename.lastIndexOf('.');
-	
-	if (nIndex >= 0)
-		return filename.substring(nIndex + 1);
-		
-	return "";//$NON-NLS-1$
-
-}
-/**
- * Returns the resulting root file system element.
- */
-public FileSystemElement getResult() {
-	return result;
-}
-/**
- * Returns a boolean indicating whether the extension of the passed filename
- * is one of the extensions specified as desired by the filter.
- */
-protected boolean hasDesiredExtension(String filename) {
-	if (desiredExtensions == null)		// ie.- all extensions are fine
-		return true;
-		
-	int extensionsSize = desiredExtensions.length;
-	for (int i = 0; i < extensionsSize; i++) {
-		if (getExtensionFor(filename).equalsIgnoreCase(desiredExtensions[i]))
-			return true;
-	}
-
-	return false;
-}
-/**
- * Runs the operation.
- */
-public void run(IProgressMonitor monitor) throws InterruptedException {
-	try {
-		this.monitor = monitor;
-		monitor.beginTask(DataTransferMessages.getString("DataTransfer.scanningMatching"),IProgressMonitor.UNKNOWN); //$NON-NLS-1$
-		result = createElement(null,root);
-		if (result == null) {
-			result = new FileSystemElement(provider.getLabel(root),null,provider.isFolder(root));
-			result.setFileSystemObject(root);
-		}
-	} finally {
-		monitor.done();
-	}
-}
-/**
- * Sets the file extensions which are desired.  A value of <code>null</code>
- * indicates that all files should be kept regardless of extension.
- */
-public void setDesiredExtensions(String[] extensions) {
-	desiredExtensions = extensions;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardExternalProjectImportPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardExternalProjectImportPage.java
deleted file mode 100644
index 0698845..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardExternalProjectImportPage.java
+++ /dev/null
@@ -1,464 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import java.io.File;
-import java.io.FileFilter;
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * Standard main page for a wizard that creates a project resource from
- * whose location already contains a project.
- * <p>
- * This page may be used by clients as-is; it may be also be subclassed to suit.
- * </p>
- * <p>
- * Example useage:
- * <pre>
- * mainPage = new WizardExternalProjectImportPage("basicNewProjectPage");
- * mainPage.setTitle("Project");
- * mainPage.setDescription("Create a new project resource.");
- * </pre>
- * </p>
- */
-public class WizardExternalProjectImportPage extends WizardPage {
-
-	private FileFilter projectFilter = new FileFilter() {
-			//Only accept those files that are .project
-	public boolean accept(File pathName) {
-			return pathName.getName().equals(IProjectDescription.DESCRIPTION_FILE_NAME);
-		}
-	};
-
-	//Keep track of the directory that we browsed to last time
-	//the wizard was invoked.
-	private static String previouslyBrowsedDirectory = "";
-
-	// widgets
-	private Text projectNameField;
-	private Text locationPathField;
-	private Label locationLabel;
-	private Button browseButton;
-	private IProjectDescription description;
-
-	private Listener locationModifyListener = new Listener() {
-		public void handleEvent(Event e) {
-			setPageComplete(validatePage());
-		}
-	};
-
-	// constants
-	private static final int SIZING_TEXT_FIELD_WIDTH = 250;
-	private static final int SIZING_INDENTATION_WIDTH = 10;
-	/**
-	 * Creates a new project creation wizard page.
-	 *
-	 * @param pageName the name of this page
-	 */
-	public WizardExternalProjectImportPage() {
-		super("wizardExternalProjectPage"); //$NON-NLS-1$
-		setPageComplete(false);
-		setTitle(
-			DataTransferMessages.getString("WizardExternalProjectImportPage.title")); //$NON-NLS-1$
-		setDescription(
-			DataTransferMessages.getString("WizardExternalProjectImportPage.description")); //$NON-NLS-1$
-
-	}
-	/** (non-Javadoc)
-	 * Method declared on IDialogPage.
-	 */
-	public void createControl(Composite parent) {
-		
-		initializeDialogUnits(parent);
-		
-		Composite composite = new Composite(parent, SWT.NULL);
-
-		WorkbenchHelp.setHelp(composite, IHelpContextIds.NEW_PROJECT_WIZARD_PAGE);
-
-		composite.setLayout(new GridLayout());
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite.setFont(parent.getFont());
-
-		createProjectNameGroup(composite);
-		createProjectLocationGroup(composite);
-		validatePage();
-		// Show description on opening
-		setErrorMessage(null);
-		setMessage(null);
-		setControl(composite);
-	}
-
-	/**
-	 * Creates the project location specification controls.
-	 *
-	 * @param parent the parent composite
-	 */
-	private final void createProjectLocationGroup(Composite parent) {
-
-		// project specification group
-		Composite projectGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		projectGroup.setLayout(layout);
-		projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		projectGroup.setFont(parent.getFont());
-
-		// new project label
-		Label projectContentsLabel = new Label(projectGroup, SWT.NONE);
-		projectContentsLabel.setText(
-			DataTransferMessages.getString(
-				"WizardExternalProjectImportPage.projectContentsLabel")); //$NON-NLS-1$
-		projectContentsLabel.setFont(parent.getFont());
-
-		createUserSpecifiedProjectLocationGroup(projectGroup);
-	}
-	/**
-	 * Creates the project name specification controls.
-	 *
-	 * @param parent the parent composite
-	 */
-	private final void createProjectNameGroup(Composite parent) {
-		
-		Font dialogFont = parent.getFont();
-		
-		// project specification group
-		Composite projectGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		projectGroup.setFont(dialogFont);
-		projectGroup.setLayout(layout);
-		projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		// new project label
-		Label projectLabel = new Label(projectGroup, SWT.NONE);
-		projectLabel.setText(DataTransferMessages.getString("WizardExternalProjectImportPage.nameLabel")); //$NON-NLS-1$
-		projectLabel.setFont(dialogFont);
-
-		// new project name entry field
-		projectNameField = new Text(projectGroup, SWT.BORDER | SWT.READ_ONLY);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-		projectNameField.setLayoutData(data);
-		projectNameField.setFont(dialogFont);
-	}
-	/**
-	 * Creates the project location specification controls.
-	 *
-	 * @param projectGroup the parent composite
-	 * @param boolean - the initial enabled state of the widgets created
-	 */
-	private void createUserSpecifiedProjectLocationGroup(Composite projectGroup) {
-		
-		Font dialogFont = projectGroup.getFont();
-
-		// project location entry field
-		this.locationPathField = new Text(projectGroup, SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-		this.locationPathField.setLayoutData(data);
-		this.locationPathField.setFont(dialogFont);
-
-		// browse button
-		this.browseButton = new Button(projectGroup, SWT.PUSH);
-		this.browseButton.setText(
-			DataTransferMessages.getString("WizardExternalProjectImportPage.browseLabel")); //$NON-NLS-1$
-		this.browseButton.setFont(dialogFont);
-		setButtonLayoutData(this.browseButton);
-		
-		this.browseButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				handleLocationBrowseButtonPressed();
-			}
-		});
-
-		locationPathField.addListener(SWT.Modify, locationModifyListener);
-	}
-	/**
-	 * Returns the current project location path as entered by 
-	 * the user, or its anticipated initial value.
-	 *
-	 * @return the project location path, its anticipated initial value, or <code>null</code>
-	 *   if no project location path is known
-	 */
-	public IPath getLocationPath() {
-
-		return new Path(getProjectLocationFieldValue());
-	}
-	/**
-	 * Creates a project resource handle for the current project name field value.
-	 * <p>
-	 * This method does not create the project resource; this is the responsibility
-	 * of <code>IProject::create</code> invoked by the new project resource wizard.
-	 * </p>
-	 *
-	 * @return the new project resource handle
-	 */
-	public IProject getProjectHandle() {
-		return ResourcesPlugin.getWorkspace().getRoot().getProject(getProjectName());
-	}
-	/**
-	 * Returns the current project name as entered by the user, or its anticipated
-	 * initial value.
-	 *
-	 * @return the project name, its anticipated initial value, or <code>null</code>
-	 *   if no project name is known
-	 */
-	public String getProjectName() {
-		return getProjectNameFieldValue();
-	}
-	/**
-	 * Returns the value of the project name field
-	 * with leading and trailing spaces removed.
-	 * 
-	 * @return the project name in the field
-	 */
-	private String getProjectNameFieldValue() {
-		if (projectNameField == null)
-			return ""; //$NON-NLS-1$
-		else
-			return projectNameField.getText().trim();
-	}
-	/**
-	 * Returns the value of the project location field
-	 * with leading and trailing spaces removed.
-	 * 
-	 * @return the project location directory in the field
-	 */
-	private String getProjectLocationFieldValue() {
-		return locationPathField.getText().trim();
-	}
-	/**
-	 *	Open an appropriate directory browser
-	 */
-	private void handleLocationBrowseButtonPressed() {
-		DirectoryDialog dialog = new DirectoryDialog(locationPathField.getShell());
-		dialog.setMessage(
-			DataTransferMessages.getString(
-				"WizardExternalProjectImportPage.directoryLabel")); //$NON-NLS-1$
-
-		String dirName = getProjectLocationFieldValue();
-		if (dirName.length() == 0)
-			dirName = previouslyBrowsedDirectory;
-			
-		
-		if (dirName.length() == 0)  //$NON-NLS-1$
-			dialog.setFilterPath(getWorkspace().getRoot().getLocation().toOSString());
-		else{
-			File path = new File(dirName);
-			if (path.exists())
-				dialog.setFilterPath(new Path(dirName).toOSString());
-		}		
-
-		String selectedDirectory = dialog.open();
-		if (selectedDirectory != null) {
-			previouslyBrowsedDirectory = selectedDirectory;
-			locationPathField.setText(previouslyBrowsedDirectory);
-			setProjectName(projectFile(previouslyBrowsedDirectory));
-		}
-	}
-
-	/**
-	 * Returns whether this page's controls currently all contain valid 
-	 * values.
-	 *
-	 * @return <code>true</code> if all controls are valid, and
-	 *   <code>false</code> if at least one is invalid
-	 */
-	private boolean validatePage() {
-
-		String locationFieldContents = getProjectLocationFieldValue();
-
-		if (locationFieldContents.equals("")) { //$NON-NLS-1$
-			setErrorMessage(null);
-			setMessage(
-				DataTransferMessages.getString(
-					"WizardExternalProjectImportPage.projectLocationEmpty")); //$NON-NLS-1$
-			return false;
-		}
-
-		IPath path = new Path(""); //$NON-NLS-1$
-		if (!path.isValidPath(locationFieldContents)) {
-			setErrorMessage(
-				DataTransferMessages.getString(
-					"WizardExternalProjectImportPage.locationError")); //$NON-NLS-1$
-			return false;
-		}
-
-		File projectFile = projectFile(locationFieldContents);
-		if (projectFile == null) {
-			setErrorMessage(
-				DataTransferMessages.format(
-					"WizardExternalProjectImportPage.notAProject", //$NON-NLS-1$
-					new String[] { locationFieldContents }));
-			return false;
-		}
-		else{
-			setProjectName(projectFile);
-		}
-		
-		if (getProjectHandle().exists()) {
-			setErrorMessage(
-				DataTransferMessages.getString(
-					"WizardExternalProjectImportPage.projectExistsMessage")); //$NON-NLS-1$
-			return false;
-		}
-
-		setErrorMessage(null);
-		setMessage(null);
-		return true;
-	}
-	private IWorkspace getWorkspace() {
-		IWorkspace workspace = WorkbenchPlugin.getPluginWorkspace();
-		return workspace;
-	}
-
-
-	/**
-	 * Return whether or not the specifed location is a prefix
-	 * of the root.
-	 */
-	private boolean isPrefixOfRoot(IPath locationPath) {
-		return Platform.getLocation().isPrefixOf(locationPath);
-	}
-
-	/**
-	 * Set the project name using either the name of the
-	 * parent of the file or the name entry in the xml for 
-	 * the file
-	 */
-	private void setProjectName(File projectFile) {
-
-		//If there is no file or the user has already specified forget it
-		if (projectFile == null)
-			return;
-
-		IPath path = new Path(projectFile.getPath());
-
-		IProjectDescription newDescription = null;
-
-		try {
-			newDescription = getWorkspace().loadProjectDescription(path);
-		} catch (CoreException exception) {
-			//no good couldn't get the name
-		}
-
-		if (newDescription == null) {
-			this.description = null;
-			this.projectNameField.setText("");
-		}
-		else{			
-			this.description = newDescription;
-			this.projectNameField.setText(this.description.getName());
-		}
-	}
-
-	/**
-	 * Return a.project file from the specified location.
-	 * If there isn't one return null.
-	 */
-	private File projectFile(String locationFieldContents) {
-		File directory = new File(locationFieldContents);
-		if (directory.isFile())
-			return null;
-
-		File[] files = directory.listFiles(this.projectFilter);
-		if (files != null && files.length == 1)
-			return files[0];
-		else
-			return null;
-	}
-
-	/**
-	 * Creates a new project resource with the selected name.
-	 * <p>
-	 * In normal usage, this method is invoked after the user has pressed Finish on
-	 * the wizard; the enablement of the Finish button implies that all controls
-	 * on the pages currently contain valid values.
-	 * </p>
-	 *
-	 * @return the created project resource, or <code>null</code> if the project
-	 *    was not created
-	 */
-	IProject createExistingProject() {
-
-		String projectName = projectNameField.getText();
-		final IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		final IProject project = workspace.getRoot().getProject(projectName);
-		if(this.description == null){
-			this.description =	workspace.newProjectDescription(projectName);
-			IPath locationPath = getLocationPath();
-			//If it is under the root use the default location
-			if (isPrefixOfRoot(locationPath))
-				this.description.setLocation(null);
-			else
-				this.description.setLocation(locationPath);
-		}
-		else
-			this.description.setName(projectName);
-
-		// create the new project operation
-		WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-			protected void execute(IProgressMonitor monitor) throws CoreException {
-				monitor.beginTask("", 2000); //$NON-NLS-1$
-				project.create(description, new SubProgressMonitor(monitor, 1000));
-				if (monitor.isCanceled())
-					throw new OperationCanceledException();
-				project.open(new SubProgressMonitor(monitor, 1000));
-
-			}
-		};
-
-		// run the new project creation operation
-		try {
-			getContainer().run(true, true, op);
-		} catch (InterruptedException e) {
-			return null;
-		} catch (InvocationTargetException e) {
-			// ie.- one of the steps resulted in a core exception	
-			Throwable t = e.getTargetException();
-			if (t instanceof CoreException) {
-				if (((CoreException) t).getStatus().getCode()
-					== IResourceStatus.CASE_VARIANT_EXISTS) {
-					MessageDialog.openError(getShell(), DataTransferMessages.getString("WizardExternalProjectImportPage.errorMessage"), //$NON-NLS-1$
-					DataTransferMessages.getString("WizardExternalProjectImportPage.caseVariantExistsError") //$NON-NLS-1$,
-					);
-				} else {
-					ErrorDialog.openError(getShell(), DataTransferMessages.getString("WizardExternalProjectImportPage.errorMessage"), //$NON-NLS-1$
-					null, ((CoreException) t).getStatus());
-				}
-			}
-			return null;
-		}
-
-		return project;
-	}
-	
-	/*
- 	 * see @DialogPage.setVisible(boolean)
- 	 */
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		if(visible)
-			this.locationPathField.setFocus();
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardFileSystemExportPage1.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardFileSystemExportPage1.java
deleted file mode 100644
index 190440a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardFileSystemExportPage1.java
+++ /dev/null
@@ -1,354 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.dialogs.WizardExportPage;
-
-/**
- *	Page 1 of the base resource export-to-file-system Wizard
- *  @deprecated use WizardFileSystemResourceExportPage1
- */
-/*package*/ class WizardFileSystemExportPage1 extends WizardExportPage implements Listener {
-
-	// widgets
-	private Combo				destinationNameField;
-	private Button				destinationBrowseButton;
-	private Button				overwriteExistingFilesCheckbox;
-	private Button				createDirectoryStructureCheckbox;
-	private Button				createDirectoriesForSelectedContainersCheckbox;
-
-	// constants
-	private static final int	SIZING_TEXT_FIELD_WIDTH = 250;
-	private static final int	COMBO_HISTORY_LENGTH = 5;
-
-	// dialog store id constants
-	private static final String	STORE_DESTINATION_NAMES_ID = "WizardFileSystemExportPage1.STORE_DESTINATION_NAMES_ID";//$NON-NLS-1$
-	private static final String	STORE_OVERWRITE_EXISTING_FILES_ID = "WizardFileSystemExportPage1.STORE_OVERWRITE_EXISTING_FILES_ID";//$NON-NLS-1$
-	private static final String	STORE_CREATE_STRUCTURE_ID = "WizardFileSystemExportPage1.STORE_CREATE_STRUCTURE_ID";//$NON-NLS-1$
-	private static final String	STORE_CREATE_DIRECTORIES_FOR_SPECIFIED_CONTAINER_ID = "WizardFileSystemExportPage1.STORE_CREATE_DIRECTORIES_FOR_SPECIFIED_CONTAINER_ID";//$NON-NLS-1$
-/**
- *	Create an instance of this class
- */
-protected WizardFileSystemExportPage1(String name, IStructuredSelection selection) {
-	super(name, selection);
-}
-/**
- *	Create an instance of this class
- */
-public WizardFileSystemExportPage1(IStructuredSelection selection) {
-	this("fileSystemExportPage1", selection);//$NON-NLS-1$
-	setTitle(DataTransferMessages.getString("DataTransfer.fileSystemTitle")); //$NON-NLS-1$
-	setDescription(DataTransferMessages.getString("FileExport.exportLocalFileSystem")); //$NON-NLS-1$
-}
-/**
- *	Add the passed value to self's destination widget's history
- *
- *	@param value java.lang.String
- */
-protected void addDestinationItem(String value) {
-	destinationNameField.add(value);
-}
-/** (non-Javadoc)
- * Method declared on IDialogPage.
- */
-public void createControl(Composite parent) {
-	super.createControl(parent);
-	giveFocusToDestination();
-}
-/**
- *	Create the export destination specification widgets
- *
- *	@param parent org.eclipse.swt.widgets.Composite
- */
-protected void createDestinationGroup(Composite parent) {
-	// destination specification group
-	Composite destinationSelectionGroup = new Composite(parent, SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 3;
-	destinationSelectionGroup.setLayout(layout);
-	destinationSelectionGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-
-	new Label(destinationSelectionGroup, SWT.NONE).setText(getDestinationLabel());
-
-	// destination name entry field
-	destinationNameField = new Combo(destinationSelectionGroup, SWT.SINGLE | SWT.BORDER);
-	destinationNameField.addListener(SWT.Modify, this);
-	destinationNameField.addListener(SWT.Selection, this);
-	GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
-	data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-	destinationNameField.setLayoutData(data);
-
-	// destination browse button
-	destinationBrowseButton = new Button(destinationSelectionGroup, SWT.PUSH);
-	destinationBrowseButton.setText(DataTransferMessages.getString("DataTransfer.browse")); //$NON-NLS-1$
-	destinationBrowseButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-	destinationBrowseButton.addListener(SWT.Selection, this);
-
-	new Label(parent, SWT.NONE);	// vertical spacer
-}
-/**
- *	Create the export options specification widgets.
- *
- *	@param parent org.eclipse.swt.widgets.Composite
- */
-protected void createOptionsGroup(Composite parent) {
-	// options group
-	Composite optionsGroup = new Composite(parent, SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.marginHeight = 0;
-	optionsGroup.setLayout(layout);
-	optionsGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-
-	// overwrite... checkbox
-	overwriteExistingFilesCheckbox = new Button(optionsGroup,SWT.CHECK|SWT.LEFT);
-	overwriteExistingFilesCheckbox.setText(DataTransferMessages.getString("ExportFile.overwriteExisting")); //$NON-NLS-1$
-
-	// create directory structure checkbox
-	createDirectoryStructureCheckbox = new Button(optionsGroup,SWT.CHECK|SWT.LEFT);
-	createDirectoryStructureCheckbox.setText(DataTransferMessages.getString("ExportFile.createDirectoryStructure")); //$NON-NLS-1$
-	createDirectoryStructureCheckbox.addListener(SWT.Selection,this);
-
-	// create directory for container checkbox
-	createDirectoriesForSelectedContainersCheckbox = new Button(optionsGroup,SWT.CHECK|SWT.LEFT);
-	createDirectoriesForSelectedContainersCheckbox.setText(DataTransferMessages.getString("ExportFile.createDirectoriesForSelected")); //$NON-NLS-1$
-
-	// initial setup
-	createDirectoryStructureCheckbox.setSelection(true);
-}
-/**
- * Attempts to ensure that the specified directory exists on the local file system.
- * Answers a boolean indicating success.
- *
- * @return boolean
- * @param directory java.io.File
- */
-protected boolean ensureDirectoryExists(File directory) {
-	if (!directory.exists()) {
-		if (!queryYesNoQuestion(DataTransferMessages.getString("DataTransfer.createTargetDirectory"))) //$NON-NLS-1$
-			return false;
-
-		if (!directory.mkdirs()) {
-			displayErrorDialog(DataTransferMessages.getString("DataTransfer.directoryCreationError")); //$NON-NLS-1$
-			giveFocusToDestination();
-			return false;
-		}
-	}
-
-	return true;
-}
-/**
- *	If the target for export does not exist then attempt to create it.
- *	Answer a boolean indicating whether the target exists (ie.- if it
- *	either pre-existed or this method was able to create it)
- *
- *	@return boolean
- */
-protected boolean ensureTargetIsValid(File targetDirectory) {
-	if (targetDirectory.exists() && !targetDirectory.isDirectory()) {
-		displayErrorDialog(DataTransferMessages.getString("FileExport.directoryExists")); //$NON-NLS-1$
-		giveFocusToDestination();
-		return false;
-	}
-
-	return ensureDirectoryExists(targetDirectory);
-}
-/**
- *  Set up and execute the passed Operation.  Answer a boolean indicating success.
- *
- *  @return boolean
- */
-protected boolean executeExportOperation(FileSystemExportOperation op) {
-	op.setCreateContainerDirectories(createDirectoriesForSelectedContainersCheckbox.getSelection());
-	op.setCreateLeadupStructure(createDirectoryStructureCheckbox.getSelection());
-	op.setOverwriteFiles(overwriteExistingFilesCheckbox.getSelection());
-	
-	try {
-		getContainer().run(true, true, op);
-	} catch (InterruptedException e) {
-		return false;
-	} catch (InvocationTargetException e) {
-		displayErrorDialog(e.getTargetException().getMessage());
-		return false;
-	}
-
-	IStatus status = op.getStatus();
-	if (!status.isOK()) {
-		ErrorDialog.openError(getContainer().getShell(),
-			DataTransferMessages.getString("DataTransfer.exportProblems"), //$NON-NLS-1$
-			null,   // no special message
-			status);
-		return false;
-	}
-	
-	return true;
-}
-/**
- *	The Finish button was pressed.  Try to do the required work now and answer
- *	a boolean indicating success.  If false is returned then the wizard will
- *	not close.
- *
- *	@return boolean
- */
-public boolean finish() {
-	if (!ensureTargetIsValid(new File(getDestinationValue())))
-		return false;
-
-	List resourcesToExport = getSelectedResources();
-
-	// about to invoke the operation so save our state
-	saveWidgetValues();
-	
-	if (resourcesToExport.size() > 0)
-		return executeExportOperation(
-			new FileSystemExportOperation(
-				getSourceResource(),
-				resourcesToExport,
-				getDestinationValue(),
-				this));
-
-	MessageDialog.openInformation(
-		getContainer().getShell(),
-		DataTransferMessages.getString("DataTransfer.information"), //$NON-NLS-1$
-		DataTransferMessages.getString("FileExport.noneSelected")); //$NON-NLS-1$
-
-	return false;
-}
-/**
- *	Answer the string to display in self as the destination type
- *
- *	@return java.lang.String
- */
-protected String getDestinationLabel() {
-	return DataTransferMessages.getString("DataTransfer.directory"); //$NON-NLS-1$
-}
-/**
- *	Answer the contents of self's destination specification widget
- *
- *	@return java.lang.String
- */
-protected String getDestinationValue() {
-	return destinationNameField.getText().trim();
-}
-/**
- *	Set the current input focus to self's destination entry field
- */
-protected void giveFocusToDestination() {
-	destinationNameField.setFocus();
-}
-/**
- *	Open an appropriate destination browser so that the user can specify a source
- *	to import from
- */
-protected void handleDestinationBrowseButtonPressed() {
-	DirectoryDialog dialog = new DirectoryDialog(getContainer().getShell(),SWT.SAVE);
-	dialog.setMessage(DataTransferMessages.getString("DataTransfer.selectDestination")); //$NON-NLS-1$
-	dialog.setFilterPath(getDestinationValue());
-	String selectedDirectoryName = dialog.open();
-	
-	if (selectedDirectoryName != null)
-		setDestinationValue(selectedDirectoryName);
-}
-/**
- *	Handle all events and enablements for widgets in this page
- *
- *	@param e org.eclipse.swt.widgets.Event
- */
-public void handleEvent(Event e) {
-	Widget source = e.widget;
-
-	if (source == destinationBrowseButton)
-		handleDestinationBrowseButtonPressed();
-
-	super.handleEvent(e);
-}
-/**
- *	Hook method for saving widget values for restoration by the next instance
- *	of this class.
- */
-protected void internalSaveWidgetValues() {
-	// update directory names history
-	IDialogSettings settings = getDialogSettings();
-	if(settings != null) {
-		String[] directoryNames = settings.getArray(STORE_DESTINATION_NAMES_ID);
-		if (directoryNames == null)
-			directoryNames = new String[0];
-
-		directoryNames = addToHistory(directoryNames,getDestinationValue());
-		settings.put(
-			STORE_DESTINATION_NAMES_ID,
-			directoryNames);
-
-		// options
-		settings.put(
-			STORE_OVERWRITE_EXISTING_FILES_ID,
-			overwriteExistingFilesCheckbox.getSelection());
-
-		settings.put(
-			STORE_CREATE_STRUCTURE_ID,
-			createDirectoryStructureCheckbox.getSelection());
-
-		settings.put(
-			STORE_CREATE_DIRECTORIES_FOR_SPECIFIED_CONTAINER_ID,
-			createDirectoriesForSelectedContainersCheckbox.getSelection());
-
-	}
-}
-/**
- *	Hook method for restoring widget values to the values that they held
- *	last time this wizard was used to completion.
- */
-protected void restoreWidgetValues() {
-	IDialogSettings settings = getDialogSettings();
-	if(settings != null) {
-		String[] directoryNames = settings.getArray(STORE_DESTINATION_NAMES_ID);
-		if (directoryNames == null)
-			return;		// ie.- no settings stored
-
-		// destination
-		setDestinationValue(directoryNames[0]);
-		for (int i = 0; i < directoryNames.length; i++)
-			addDestinationItem(directoryNames[i]);
-
-		// options
-		overwriteExistingFilesCheckbox.setSelection(
-			settings.getBoolean(STORE_OVERWRITE_EXISTING_FILES_ID));
-
-		createDirectoryStructureCheckbox.setSelection(
-			settings.getBoolean(STORE_CREATE_STRUCTURE_ID));
-
-		createDirectoriesForSelectedContainersCheckbox.setSelection(
-			settings.getBoolean(STORE_CREATE_DIRECTORIES_FOR_SPECIFIED_CONTAINER_ID));
-	} 
-}
-/**
- *	Set the contents of self's destination specification widget to
- *	the passed value
- *
- *	@param value java.lang.String
- */
-protected void setDestinationValue(String value) {
-	destinationNameField.setText(value);
-}
-/**
- *	Answer a boolean indicating whether self's destination specification
- *	widgets currently all contain valid values.
- *
- *	@return boolean
- */
-protected boolean validateDestinationGroup() {
-	return !getDestinationValue().equals("");//$NON-NLS-1$
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardFileSystemImportPage1.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardFileSystemImportPage1.java
deleted file mode 100644
index f2adfae..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardFileSystemImportPage1.java
+++ /dev/null
@@ -1,679 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-import java.util.List;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.dialogs.*;
-
-/**
- *	Page 1 of the base resource import-from-file-system Wizard
- *  @deprecated use WizardFileSystemResourceImportPage1
- */
-/*package*/ class WizardFileSystemImportPage1 extends WizardImportPage implements ISelectionChangedListener, Listener {
-	private List selectedResources;
-	private FileSystemElement root;
-	private IWorkbench workbench;
-
-	// widgets
-	protected Combo				typesToImportField;
-	protected Button			typesToImportEditButton;
-	protected Combo				sourceNameField;
-	protected Button			sourceBrowseButton;
-	protected Button			importAllResourcesRadio;
-	protected Button			importTypedResourcesRadio;
-	protected Button			detailsButton;
-	protected Label				detailsDescriptionLabel;
-	protected Button			overwriteExistingResourcesCheckbox;
-	protected Button			createContainerStructureCheckbox;
-	
-	// constants
-	private static final int	SIZING_TEXT_FIELD_WIDTH = 250;
-	private static final int	SIZING_LIST_HEIGHT = 150;
-	private static final int	COMBO_HISTORY_LENGTH = 5;
-	private static final String TYPE_DELIMITER = DataTransferMessages.getString("DataTransfer.typeDelimiter"); //$NON-NLS-1$
-
-	// dialog store id constants
-	private final static String STORE_SOURCE_NAMES_ID = "WizardFileSystemImportPage1.STORE_SOURCE_NAMES_ID";//$NON-NLS-1$
-	private final static String STORE_IMPORT_ALL_RESOURCES_ID = "WizardFileSystemImportPage1.STORE_IMPORT_ALL_FILES_ID";//$NON-NLS-1$
-	private final static String STORE_OVERWRITE_EXISTING_RESOURCES_ID = "WizardFileSystemImportPage1.STORE_OVERWRITE_EXISTING_RESOURCES_ID";//$NON-NLS-1$
-	private final static String STORE_CREATE_CONTAINER_STRUCTURE_ID = "WizardFileSystemImportPage1.STORE_CREATE_CONTAINER_STRUCTURE_ID";//$NON-NLS-1$
-	private final static String STORE_SELECTED_TYPES_ID = "WizardFileSystemImportPage1.STORE_SELECTED_TYPES_ID";//$NON-NLS-1$
-/**
- *	Creates an instance of this class
- */
-protected WizardFileSystemImportPage1(String name, IWorkbench aWorkbench, IStructuredSelection selection) {
-	super(name,selection);
-	this.workbench = aWorkbench;
-}
-/**
- *	Creates an instance of this class
- */
-public WizardFileSystemImportPage1(IWorkbench aWorkbench, IStructuredSelection selection) {
-	this("fileSystemImportPage1", aWorkbench, selection);//$NON-NLS-1$
-	setTitle(DataTransferMessages.getString("DataTransfer.fileSystemTitle")); //$NON-NLS-1$
-	setDescription(DataTransferMessages.getString("FileImport.importFileSystem")); //$NON-NLS-1$
-}
-/**
- * Adds the recursive contents of the passed file system element to this
- * page's collection of selected resources.
- */
-protected void addToSelectedResources(FileSystemElement element) {
-	if (element.isDirectory()) {
-		Object[] children = element.getFolders().getChildren(element);
-		for (int i = 0; i < children.length; ++i) {
-			addToSelectedResources((FileSystemElement) children[i]);
-		}
-		children = element.getFiles().getChildren(element);
-		for (int i = 0; i < children.length; ++i) {
-			addToSelectedResources((FileSystemElement) children[i]);
-		}
-	} else
-		selectedResources.add(element);
-}
-/**
- *	Create the import options specification widgets.
- */
-protected void createOptionsGroup(Composite parent) {
-	// options group
-	Composite optionsGroup = new Composite(parent, SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.marginHeight = 0;
-	optionsGroup.setLayout(layout);
-	optionsGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-
-	// overwrite... checkbox
-	overwriteExistingResourcesCheckbox = new Button(optionsGroup,SWT.CHECK);
-	overwriteExistingResourcesCheckbox.setText(DataTransferMessages.getString("FileImport.overwriteExisting")); //$NON-NLS-1$
-
-	// create containers checkbox
-	createContainerStructureCheckbox = new Button(optionsGroup,SWT.CHECK);
-	createContainerStructureCheckbox.setText(DataTransferMessages.getString("FileImport.createComplete")); //$NON-NLS-1$
-}
-/**
- *	Create the import source specification widgets
- */
-protected void createSourceGroup(Composite parent) {
-	Composite sourceContainerGroup = new Composite(parent,SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 3;
-	sourceContainerGroup.setLayout(layout);
-	sourceContainerGroup.setLayoutData(
-		new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-
-	new Label(sourceContainerGroup,SWT.NONE).setText(getSourceLabel());
-
-	// source name entry field
-	sourceNameField = new Combo(sourceContainerGroup,SWT.BORDER);
-	sourceNameField.addListener(SWT.Modify,this);
-	sourceNameField.addListener(SWT.Selection,this);
-	GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
-	data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-	sourceNameField.setLayoutData(data);
-
-	// source browse button
-	sourceBrowseButton = new Button(sourceContainerGroup,SWT.PUSH);
-	sourceBrowseButton.setText(DataTransferMessages.getString("DataTransfer.browse")); //$NON-NLS-1$
-	sourceBrowseButton.addListener(SWT.Selection,this);
-	sourceBrowseButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-	createSpacer(parent);
-	createBoldLabel(parent,DataTransferMessages.getString("FileImport.whichTypesImport")); //$NON-NLS-1$
-
-	// source types group
-	Composite sourceTypesGroup = new Composite(parent,SWT.NONE);
-	layout = new GridLayout();
-	layout.numColumns = 3;
-	sourceTypesGroup.setLayout(layout);
-	sourceTypesGroup.setLayoutData(
-		new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-
-	// all types radio
-	importAllResourcesRadio = new Button(sourceTypesGroup,SWT.RADIO);
-	importAllResourcesRadio.setText(DataTransferMessages.getString("DataTransfer.allTypes")); //$NON-NLS-1$
-	importAllResourcesRadio.addListener(SWT.Selection,this);
-	data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
-	data.horizontalSpan = 3;
-	importAllResourcesRadio.setLayoutData(data);
-
-	// import specific types radio
-	importTypedResourcesRadio = new Button(sourceTypesGroup,SWT.RADIO);
-	importTypedResourcesRadio.setText(DataTransferMessages.getString("FileImport.filesofType")); //$NON-NLS-1$
-	importTypedResourcesRadio.addListener(SWT.Selection,this);
-
-	// types combo
-	typesToImportField = new Combo(sourceTypesGroup, SWT.NONE);
-	data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
-	data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-	typesToImportField.setLayoutData(data);
-	typesToImportField.addListener(SWT.Modify, this);
-
-	// types edit button
-	typesToImportEditButton = new Button(sourceTypesGroup, SWT.PUSH);
-	typesToImportEditButton.setText(DataTransferMessages.getString("FileImport.edit")); //$NON-NLS-1$
-	typesToImportEditButton.setLayoutData(new GridData(
-		GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_END));
-	typesToImportEditButton.addListener(SWT.Selection, this);
-
-	// details of files to import group
-	Composite fileDetailsGroup = new Composite(parent, SWT.NONE);
-	layout = new GridLayout();
-	layout.numColumns = 2;
-	fileDetailsGroup.setLayout(layout);
-	fileDetailsGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-
-	// details button
-	detailsButton = new Button(fileDetailsGroup,SWT.PUSH);
-	detailsButton.setText(DataTransferMessages.getString("DataTransfer.details")); //$NON-NLS-1$
-	detailsButton.addListener(SWT.Selection,this);
-
-	// details label
-	detailsDescriptionLabel = new Label(fileDetailsGroup,SWT.NONE);
-	data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
-	detailsDescriptionLabel.setLayoutData(data);
-
-	// initial setup
-	typesToImportField.setEnabled(false);
-	typesToImportEditButton.setEnabled(false);
-	importAllResourcesRadio.setSelection(true);
-	resetSelection();
-	sourceNameField.setFocus();
-}
-/**
- *	Display the appropriate string representing a selection of the
- *	passed size.
- */
-protected void displaySelectedCount(int selectedFileCount) {
-	if (selectedFileCount == 1)
-		detailsDescriptionLabel.setText(
-			DataTransferMessages.getString("DataTransfer.oneSelected"));  //$NON-NLS-1$
-	else
-		detailsDescriptionLabel.setText(DataTransferMessages.format("FileImport.filesSelected",new Object[] {String.valueOf(selectedFileCount)})); //$NON-NLS-1$
-}
-/**
- *	Answer a boolean indicating whether the specified source currently exists
- *	and is valid
- */
-protected boolean ensureSourceIsValid() {
-	if (new File(getSourceDirectoryName()).isDirectory())
-		return true;
-
-	displayErrorDialog(DataTransferMessages.getString("FileImport.invalidSource")); //$NON-NLS-1$
-	sourceNameField.setFocus();
-	return false;
-}
-/**
- *	Execute the passed import operation.  Answer a boolean indicating success.
- */
-protected boolean executeImportOperation(ImportOperation op) {
-	initializeOperation(op);
-	 
-	try {
-		getContainer().run(true, true, op);
-	} catch (InterruptedException e) {
-		return false;
-	} catch (InvocationTargetException e) {
-		displayErrorDialog(e.getTargetException().getMessage());
-		return false;
-	}
-
-	IStatus status = op.getStatus();
-	if (!status.isOK()) {
-		ErrorDialog.openError(getContainer().getShell(),
-			DataTransferMessages.getString("FileImport.importProblems"), //$NON-NLS-1$
-			null,		// no special message
-			status);
-		return false;
-	}
-
-	return true;
-}
-/**
- *	The Finish button was pressed.  Try to do the required work now and answer
- *	a boolean indicating success.  If false is returned then the wizard will
- *	not close.
- */
-public boolean finish() {
-	if (!ensureSourceIsValid())
-		return false;
-
-	if (selectedResources == null && importAllResourcesRadio.getSelection()) {
-		// about to invoke the operation so save our state
-		saveWidgetValues();
-
-		return importAllResources();
-	} else {
-		// ensure that files of appropriate extension will be marked as selected
-		if (selectedResources == null) {
-			if (getFileSystemTree() == null)
-				return false;
-		}
-
-		// about to invoke the operation so save our state
-		saveWidgetValues();
-
-		if (selectedResources.size() > 0) {
-			List fileSystemObjects = new ArrayList(selectedResources.size());
-			Iterator resourcesEnum = selectedResources.iterator();
-			while (resourcesEnum.hasNext())
-				fileSystemObjects.add(
-					((FileSystemElement)resourcesEnum.next()).getFileSystemObject());
-	
-			return importResources(fileSystemObjects);
-		}
-
-		MessageDialog.openInformation(
-			getContainer().getShell(),
-			DataTransferMessages.getString("DataTransfer.information"), //$NON-NLS-1$
-			DataTransferMessages.getString("FileImport.noneSelected")); //$NON-NLS-1$
-		
-		return false;
-	}
-}
-/**
- *	Answer the root FileSystemElement that represents the contents of
- *	the currently-specified source.  If this FileSystemElement is not
- *	currently defined then create and return it.
- */
-protected FileSystemElement getFileSystemTree() {
-	if (root != null)
-		return root;
-		
-	File sourceDirectory = getSourceDirectory();
-	if (sourceDirectory == null)
-		return null;
-
-	return selectFiles(sourceDirectory, FileSystemStructureProvider.INSTANCE);
-}
-/**
- *	Answer self's import source root element
- */
-protected FileSystemElement getRoot() {
-	return root;
-}
-/**
- *	Answer self's current collection of selected resources
- */
-protected List getSelectedResources() {
-	return selectedResources;
-}
-/**
- * Returns a File object representing the currently-named source directory iff
- * it exists as a valid directory, or <code>null</code> otherwise.
- */
-protected File getSourceDirectory() {
-	File sourceDirectory = new File(getSourceDirectoryName());
-	if (!sourceDirectory.exists() || !sourceDirectory.isDirectory()) {
-		displayErrorDialog(DataTransferMessages.getString("FileImport.invalidSource")); //$NON-NLS-1$
-		sourceNameField.setFocus();
-		return null;
-	}
-
-	return sourceDirectory;
-}
-/**
- *	Answer the directory name specified as being the import source.
- *	Note that if it ends with a separator then the separator is first
- *	removed so that java treats it as a proper directory
- */
-private String getSourceDirectoryName() {
-	IPath result = new Path(sourceNameField.getText().trim());
-
-	if (result.getDevice() != null && result.segmentCount() == 0)	// something like "c:"
-		result = result.addTrailingSeparator();
-	else
-		result = result.removeTrailingSeparator();
-
-	return result.toOSString();
-}
-/**
- *	Answer the string to display as the label for the source specification field
- */
-protected String getSourceLabel() {
-	return DataTransferMessages.getString("FileImport.sourceTitle"); //$NON-NLS-1$
-}
-/**
- * Returns a collection of the currently-specified resource types,
- * or <code>null</code> to indicate that all types should be imported.
- */
-protected List getTypesToImport() {
-	if (importAllResourcesRadio.getSelection())
-		return null;
-					
-	List result = new ArrayList();
-	StringTokenizer tokenizer = new StringTokenizer(typesToImportField.getText(),TYPE_DELIMITER);
-	
-	while (tokenizer.hasMoreTokens()) {
-		String currentExtension = tokenizer.nextToken().trim();
-		if (!currentExtension.equals(""))//$NON-NLS-1$
-			result.add(currentExtension);
-	}
-		
-	return result;
-}
-/**
- * Returns an array of the currently-specified resource types,
- * or <code>null</code> to indicate that all types should be imported.
- */
-protected String[] getTypesToImportArray() {
-	List typesToImport = getTypesToImport();
-	if (typesToImport == null)
-		return null;
-		
-	String result[] = new String[typesToImport.size()];
-	typesToImport.toArray(result);
-
-	return result;
-}
-/**
- *	Open a selection dialog and note the selections
- */
-protected void handleDetailsButtonPressed() {
-	FileSystemElement rootElement = getFileSystemTree();
-	
-	if (rootElement != null) {
-		List newSelections = queryResourcesToImport(rootElement);
-		
-		if (newSelections != null) {
-			selectedResources = newSelections;
-			displaySelectedCount(selectedResources.size());
-		}
-	}
-}
-/**
- *	Handle all events and enablements for widgets in this dialog
- */
-public void handleEvent(Event e) {
-	Widget source = e.widget;
-
-	if (source == sourceNameField)
-		resetSelection();
-	else if (source == sourceBrowseButton)
-		handleSourceBrowseButtonPressed();
-	else if (source == importAllResourcesRadio)
-		resetSelection();
-	else if (source == importTypedResourcesRadio) {
-		resetSelection();
-		typesToImportField.setFocus();
-	} else if (source == detailsButton)
-		handleDetailsButtonPressed();
-	else if (source == typesToImportField)
-		resetSelection();
-	else if (source == typesToImportEditButton)
-		handleTypesEditButtonPressed();
-
-	super.handleEvent(e);
-}
-/**
- *	Open an appropriate source browser so that the user can specify a source
- *	to import from
- */
-protected void handleSourceBrowseButtonPressed() {
-	DirectoryDialog dialog = new DirectoryDialog(sourceNameField.getShell(),SWT.SAVE);
-	dialog.setMessage(DataTransferMessages.getString("FileImport.selectSource")); //$NON-NLS-1$
-	dialog.setFilterPath(getSourceDirectoryName());
-	
-	String selectedDirectory = dialog.open();
-	if (selectedDirectory != null) {
-		if (!selectedDirectory.equals(getSourceDirectoryName())) {
-			resetSelection();
-			sourceNameField.setText(selectedDirectory);
-		}
-	}
-}
-/**
- *	Open a registered type selection dialog and note the selections
- *	in self's types-to-export field
- */
-protected void handleTypesEditButtonPressed() {
-	IFileEditorMapping editorMappings[] =
-		PlatformUI.getWorkbench().getEditorRegistry().getFileEditorMappings();
-
-	List selectedTypes = getTypesToImport();
-	List initialSelections = new ArrayList();
-	for (int i = 0; i < editorMappings.length; i++) {
-		IFileEditorMapping mapping = editorMappings[i];
-		if (selectedTypes.contains(mapping.getExtension()))
-			initialSelections.add(mapping);
-	}
-
-	ListSelectionDialog dialog =
-		new ListSelectionDialog(
-			getContainer().getShell(),
-			editorMappings,
-			FileEditorMappingContentProvider.INSTANCE,
-			FileEditorMappingLabelProvider.INSTANCE,
-			DataTransferMessages.getString("FileImport.selectTypes")); //$NON-NLS-1$
-
-	dialog.setInitialSelections(initialSelections.toArray());
-	dialog.setTitle(DataTransferMessages.getString("FileImport.typeSelectionTitle")); //$NON-NLS-1$
-	dialog.open();
-
-	Object[] newSelectedTypes = dialog.getResult();
-	if (newSelectedTypes != null) {					// ie.- did not press Cancel
-		List result = new ArrayList(newSelectedTypes.length);
-		for (int i = 0; i < newSelectedTypes.length; i++)
-			result.add(((IFileEditorMapping)newSelectedTypes[i]).getExtension());
-		setTypesToImport(result);
-	}
-}
-/**
- *	Recursively import all resources starting at the user-specified source location.
- *	Answer a boolean indicating success.
- */
-protected boolean importAllResources() {
-	return executeImportOperation(
-		new ImportOperation(
-			getContainerFullPath(),
-			getSourceDirectory(),
-			FileSystemStructureProvider.INSTANCE,
-			this));
-}
-/**
- *  Import the resources with extensions as specified by the user
- */
-protected boolean importResources(List fileSystemObjects) {
-	return executeImportOperation(
-		new ImportOperation(
-			getContainerFullPath(),
-			getSourceDirectory(),
-			FileSystemStructureProvider.INSTANCE,
-			this,
-			fileSystemObjects));
-}
-/**
- * Initializes the specified operation appropriately.
- */
-protected void initializeOperation(ImportOperation op) {
-	op.setCreateContainerStructure(createContainerStructureCheckbox.getSelection());
-	op.setOverwriteResources(overwriteExistingResourcesCheckbox.getSelection());
-}
-/**
- * Opens a resource selection dialog with the passed root as input, and returns
- * a collection with the resources that were subsequently specified for import
- * by the user, or <code>null</code> if the dialog was canceled.
- */
-protected List queryResourcesToImport(FileSystemElement rootElement) {
-	FileSelectionDialog dialog = new FileSelectionDialog(getContainer().getShell(), rootElement, DataTransferMessages.getString("FileImport.selectResources")); //$NON-NLS-1$
-	dialog.setInitialSelections(selectedResources.toArray());
-	dialog.setExpandAllOnOpen(true);
-	dialog.open();
-	if (dialog.getResult() == null)
-		return null;
-	return Arrays.asList(dialog.getResult());
-
-}
-/**
- *	Reset the selected resources collection and update the ui appropriately
- */
-protected void resetSelection() {
-	detailsDescriptionLabel.setText(DataTransferMessages.getString("DataTransfer.allFiles")); //$NON-NLS-1$
-	selectedResources = null;
-	root = null;
-}
-/**
- *	Use the dialog store to restore widget values to the values that they held
- *	last time this wizard was used to completion
- */
-protected void restoreWidgetValues() {
-	IDialogSettings settings = getDialogSettings();
-	if(settings != null) {
-		String[] sourceNames = settings.getArray(STORE_SOURCE_NAMES_ID);
-		if (sourceNames == null)
-			return;		// ie.- no values stored, so stop
-		
-		// set all/specific types radios and related enablements
-		boolean importAll = settings.getBoolean(STORE_IMPORT_ALL_RESOURCES_ID);
-		importAllResourcesRadio.setSelection(importAll);
-		importTypedResourcesRadio.setSelection(!importAll);
-
-		// set filenames history
-		sourceNameField.setText(sourceNames[0]);
-		for (int i = 0; i < sourceNames.length; i++)
-			sourceNameField.add(sourceNames[i]);
-
-		// set selected types
-		String[] selectedTypes = settings.getArray(STORE_SELECTED_TYPES_ID);
-		if (selectedTypes.length > 0)
-			typesToImportField.setText(selectedTypes[0]);
-		for (int i = 0; i < selectedTypes.length; i++)
-			typesToImportField.add(selectedTypes[i]);
-			
-		// radio buttons and checkboxes	
-		overwriteExistingResourcesCheckbox.setSelection(
-			settings.getBoolean(STORE_OVERWRITE_EXISTING_RESOURCES_ID));
-
-		createContainerStructureCheckbox.setSelection(
-			settings.getBoolean(STORE_CREATE_CONTAINER_STRUCTURE_ID));
-		
-	}
-}
-/**
- * 	Since Finish was pressed, write widget values to the dialog store so that they
- *	will persist into the next invocation of this wizard page
- */
-protected void saveWidgetValues() {
-	IDialogSettings settings = getDialogSettings();
-	if(settings != null) {
-		// update source names history
-		String[] sourceNames = settings.getArray(STORE_SOURCE_NAMES_ID);
-		if (sourceNames == null)
-			sourceNames = new String[0];
-
-		sourceNames = addToHistory(sourceNames,getSourceDirectoryName());
-		settings.put(
-			STORE_SOURCE_NAMES_ID,
-			sourceNames);
-
-		// update specific types to import history
-		String[] selectedTypesNames = settings.getArray(STORE_SELECTED_TYPES_ID);
-		if (selectedTypesNames == null)
-			selectedTypesNames = new String[0];
-
-		if (importTypedResourcesRadio.getSelection())
-			selectedTypesNames = addToHistory(selectedTypesNames,typesToImportField.getText());
-			
-		settings.put(
-			STORE_SELECTED_TYPES_ID,
-			selectedTypesNames);
-
-		// radio buttons and checkboxes	
-		settings.put(
-			STORE_IMPORT_ALL_RESOURCES_ID,
-			importAllResourcesRadio.getSelection());
-	
-		settings.put(
-			STORE_OVERWRITE_EXISTING_RESOURCES_ID,
-			overwriteExistingResourcesCheckbox.getSelection());
-
-		settings.put(
-			STORE_CREATE_CONTAINER_STRUCTURE_ID,
-			createContainerStructureCheckbox.getSelection());
-	
-	}
-}
-/**
- * Invokes a file selection operation using the specified file system and
- * structure provider.  If the user specifies files to be imported then
- * this selection is cached for later retrieval and is returned.
- */
-protected FileSystemElement selectFiles(Object rootFileSystemObject,IImportStructureProvider structureProvider) {
-	try {
-		SelectFilesOperation op =
-			new SelectFilesOperation(rootFileSystemObject,structureProvider);
-		op.setDesiredExtensions(getTypesToImportArray());
-		getContainer().run(true, true, op);
-		root = op.getResult();
-		setSelectedResources(new ArrayList());
-		addToSelectedResources(root);
-	} catch (InterruptedException e) {
-		return null;
-	} catch (InvocationTargetException e) {
-		displayErrorDialog(e.getTargetException().getMessage());
-		return null;
-	}
-
-	return root;
-}
-/**
- *	Respond to the user selecting/deselecting items in the
- *	extensions list
- */
-public void selectionChanged(SelectionChangedEvent event) {
-	if (importTypedResourcesRadio.getSelection())
-		resetSelection();
-}
-/**
- *	Set self's import source root element
- */
-protected void setRoot(FileSystemElement value) {
-	root = value;
-}
-/**
- *	Set self's current collection of selected resources
- */
-protected void setSelectedResources(List value) {
-	selectedResources = value;
-}
-/**
- *	Populate self's import types field based upon the passed types collection
- */
-protected void setTypesToImport(List types) {
-	StringBuffer result = new StringBuffer();
-	for (int i = 0; i < types.size(); ++i) {
-		if (i != 0) {
-			result.append(TYPE_DELIMITER);
-			result.append(" ");//$NON-NLS-1$
-		}
-		result.append(types.get(i));
-	}
-	typesToImportField.setText(result.toString());
-}
-/**
- *	Set the enablements of self's widgets
- */
-protected void updateWidgetEnablements() {
-	typesToImportField.setEnabled(importTypedResourcesRadio.getSelection());
-	typesToImportEditButton.setEnabled(importTypedResourcesRadio.getSelection());
-}
-/**
- *	Answer a boolean indicating whether self's source specification
- *	widgets currently all contain valid values.
- */
-protected boolean validateSourceGroup() {
-	return !getSourceDirectoryName().equals("");//$NON-NLS-1$
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardFileSystemResourceExportPage1.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardFileSystemResourceExportPage1.java
deleted file mode 100644
index 5d569ca..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardFileSystemResourceExportPage1.java
+++ /dev/null
@@ -1,429 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.dialogs.WizardExportResourcesPage;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- *	Page 1 of the base resource export-to-file-system Wizard
- */
-/*package*/ class WizardFileSystemResourceExportPage1 extends WizardExportResourcesPage implements Listener {
-
-	// widgets
-	private Combo				destinationNameField;
-	private Button				destinationBrowseButton;
-	protected Button			overwriteExistingFilesCheckbox;
-	protected Button			createDirectoryStructureButton;
-	protected Button			createSelectionOnlyButton;
-
-	// constants
-	private static final int	SIZING_TEXT_FIELD_WIDTH = 250;
-	private static final int	COMBO_HISTORY_LENGTH = 5;
-
-	// dialog store id constants
-	private static final String STORE_DESTINATION_NAMES_ID =
-		"WizardFileSystemResourceExportPage1.STORE_DESTINATION_NAMES_ID";//$NON-NLS-1$
-	private static final String STORE_OVERWRITE_EXISTING_FILES_ID =
-		"WizardFileSystemResourceExportPage1.STORE_OVERWRITE_EXISTING_FILES_ID";//$NON-NLS-1$
-	private static final String STORE_CREATE_STRUCTURE_ID =
-		"WizardFileSystemResourceExportPage1.STORE_CREATE_STRUCTURE_ID";//$NON-NLS-1$
-	private static final String STORE_CREATE_DIRECTORIES_FOR_SPECIFIED_CONTAINER_ID =
-		"WizardFileSystemResourceExportPage1.STORE_CREATE_DIRECTORIES_FOR_SPECIFIED_CONTAINER_ID";//$NON-NLS-1$
-	//messages
-	private static final String DESTINATION_EMPTY_MESSAGE = DataTransferMessages.getString("FileExport.destinationEmpty"); //$NON-NLS-1$
-	private static final String SELECT_DESTINATION_MESSAGE = DataTransferMessages.getString("DataTransfer.selectDestination"); //$NON-NLS-1$
-/**
- *	Create an instance of this class
- */
-protected WizardFileSystemResourceExportPage1(String name, IStructuredSelection selection) {
-	super(name, selection);
-}
-/**
- *	Create an instance of this class
- */
-public WizardFileSystemResourceExportPage1(IStructuredSelection selection) {
-	this("fileSystemExportPage1", selection);//$NON-NLS-1$
-	setTitle(DataTransferMessages.getString("DataTransfer.fileSystemTitle")); //$NON-NLS-1$
-	setDescription(DataTransferMessages.getString("FileExport.exportLocalFileSystem")); //$NON-NLS-1$
-}
-/**
- *	Add the passed value to self's destination widget's history
- *
- *	@param value java.lang.String
- */
-protected void addDestinationItem(String value) {
-	destinationNameField.add(value);
-}
-/** (non-Javadoc)
- * Method declared on IDialogPage.
- */
-public void createControl(Composite parent) {
-	super.createControl(parent);
-	giveFocusToDestination();
-	WorkbenchHelp.setHelp(getControl(), IDataTransferHelpContextIds.FILE_SYSTEM_EXPORT_WIZARD_PAGE);
-}
-/**
- *	Create the export destination specification widgets
- *
- *	@param parent org.eclipse.swt.widgets.Composite
- */
-protected void createDestinationGroup(Composite parent) {
-	
-	Font font = parent.getFont();
-	// destination specification group
-	Composite destinationSelectionGroup = new Composite(parent, SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 3;
-	destinationSelectionGroup.setLayout(layout);
-	destinationSelectionGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-	destinationSelectionGroup.setFont(font);
-
-	Label destinationLabel = new Label(destinationSelectionGroup, SWT.NONE);
-	destinationLabel.setText(getDestinationLabel());
-	destinationLabel.setFont(font);
-
-	// destination name entry field
-	destinationNameField = new Combo(destinationSelectionGroup, SWT.SINGLE | SWT.BORDER);
-	destinationNameField.addListener(SWT.Modify, this);
-	destinationNameField.addListener(SWT.Selection, this);
-	GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
-	data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-	destinationNameField.setLayoutData(data);
-	destinationNameField.setFont(font);
-
-	// destination browse button
-	destinationBrowseButton = new Button(destinationSelectionGroup, SWT.PUSH);
-	destinationBrowseButton.setText(DataTransferMessages.getString("DataTransfer.browse")); //$NON-NLS-1$
-	destinationBrowseButton.addListener(SWT.Selection, this);
-	destinationBrowseButton.setFont(font);
-	setButtonLayoutData(destinationBrowseButton);
-
-	new Label(parent, SWT.NONE);	// vertical spacer
-}
-
-/**
- * Create the buttons in the options group.
- */
-
-protected void createOptionsGroupButtons(Group optionsGroup) {
-	
-	Font font = optionsGroup.getFont();
-	createOverwriteExisting(optionsGroup, font);
-
-	createDirectoryStructureOptions(optionsGroup, font);
-}
-
-/**
- * Create the buttons for the group that determine if the entire or
- * selected directory structure should be created.
- * @param optionsGroup
- * @param font
- */
-protected void createDirectoryStructureOptions(Group optionsGroup, Font font) {
-	// create directory structure radios
-	createDirectoryStructureButton = new Button(optionsGroup, SWT.RADIO | SWT.LEFT);
-	createDirectoryStructureButton.setText(
-		DataTransferMessages.getString("FileExport.createDirectoryStructure")); //$NON-NLS-1$
-	createDirectoryStructureButton.setSelection(false);
-	createDirectoryStructureButton.setFont(font);
-	
-	
-	// create directory structure radios
-	createSelectionOnlyButton = new Button(optionsGroup, SWT.RADIO | SWT.LEFT);
-	createSelectionOnlyButton.setText(
-		DataTransferMessages.getString("FileExport.createSelectedDirectories"));//$NON-NLS-1$}
-	createSelectionOnlyButton.setSelection(true);
-	createSelectionOnlyButton.setFont(font);
-}
-
-/**
- * Create the button for checking if we should ask if we are going to
- * overwrite existing files.
- * @param optionsGroup
- * @param font
- */
-protected void createOverwriteExisting(Group optionsGroup, Font font) {
-	// overwrite... checkbox
-	overwriteExistingFilesCheckbox = new Button(optionsGroup, SWT.CHECK | SWT.LEFT);
-	overwriteExistingFilesCheckbox.setText(
-		DataTransferMessages.getString("ExportFile.overwriteExisting")); //$NON-NLS-1$
-	overwriteExistingFilesCheckbox.setFont(font);
-}
-
-/**
- * Attempts to ensure that the specified directory exists on the local file system.
- * Answers a boolean indicating success.
- *
- * @return boolean
- * @param directory java.io.File
- */
-protected boolean ensureDirectoryExists(File directory) {
-	if (!directory.exists()) {
-		if (!queryYesNoQuestion(DataTransferMessages.getString("DataTransfer.createTargetDirectory"))) //$NON-NLS-1$
-			return false;
-
-		if (!directory.mkdirs()) {
-			displayErrorDialog(DataTransferMessages.getString("DataTransfer.directoryCreationError")); //$NON-NLS-1$
-			giveFocusToDestination();
-			return false;
-		}
-	}
-
-	return true;
-}
-/**
- *	If the target for export does not exist then attempt to create it.
- *	Answer a boolean indicating whether the target exists (ie.- if it
- *	either pre-existed or this method was able to create it)
- *
- *	@return boolean
- */
-protected boolean ensureTargetIsValid(File targetDirectory) {
-	if (targetDirectory.exists() && !targetDirectory.isDirectory()) {
-		displayErrorDialog(DataTransferMessages.getString("FileExport.directoryExists")); //$NON-NLS-1$
-		giveFocusToDestination();
-		return false;
-	}
-
-	return ensureDirectoryExists(targetDirectory);
-}
-/**
- *  Set up and execute the passed Operation.  Answer a boolean indicating success.
- *
- *  @return boolean
- */
-protected boolean executeExportOperation(FileSystemExportOperation op) {
-	op.setCreateLeadupStructure(createDirectoryStructureButton.getSelection());
-	op.setOverwriteFiles(overwriteExistingFilesCheckbox.getSelection());
-	
-	try {
-		getContainer().run(true, true, op);
-	} catch (InterruptedException e) {
-		return false;
-	} catch (InvocationTargetException e) {
-		displayErrorDialog(e.getTargetException());
-		return false;
-	}
-
-	IStatus status = op.getStatus();
-	if (!status.isOK()) {
-		ErrorDialog.openError(getContainer().getShell(),
-			DataTransferMessages.getString("DataTransfer.exportProblems"), //$NON-NLS-1$
-			null,   // no special message
-			status);
-		return false;
-	}
-	
-	return true;
-}
-/**
- *	The Finish button was pressed.  Try to do the required work now and answer
- *	a boolean indicating success.  If false is returned then the wizard will
- *	not close.
- *
- *	@return boolean
- */
-public boolean finish() {
-	if (!ensureTargetIsValid(new File(getDestinationValue())))
-		return false;
-
-	List resourcesToExport = getWhiteCheckedResources();
-
-	//Save dirty editors if possible but do not stop if not all are saved
-	saveDirtyEditors();
-	// about to invoke the operation so save our state
-	saveWidgetValues();
-
-	if (resourcesToExport.size() > 0)
-		return executeExportOperation(
-			new FileSystemExportOperation(
-				null,
-				resourcesToExport,
-				getDestinationValue(),
-				this));
-
-	MessageDialog.openInformation(
-		getContainer().getShell(),
-		DataTransferMessages.getString("DataTransfer.information"), //$NON-NLS-1$
-		DataTransferMessages.getString("FileExport.noneSelected")); //$NON-NLS-1$
-
-	return false;
-}
-/**
- *	Answer the string to display in self as the destination type
- *
- *	@return java.lang.String
- */
-protected String getDestinationLabel() {
-	return DataTransferMessages.getString("DataTransfer.directory"); //$NON-NLS-1$
-}
-/**
- *	Answer the contents of self's destination specification widget
- *
- *	@return java.lang.String
- */
-protected String getDestinationValue() {
-	return destinationNameField.getText().trim();
-}
-/**
- *	Set the current input focus to self's destination entry field
- */
-protected void giveFocusToDestination() {
-	destinationNameField.setFocus();
-}
-/**
- *	Open an appropriate destination browser so that the user can specify a source
- *	to import from
- */
-protected void handleDestinationBrowseButtonPressed() {
-	DirectoryDialog dialog =
-		new DirectoryDialog(getContainer().getShell(), SWT.SAVE);
-	dialog.setMessage(SELECT_DESTINATION_MESSAGE);
-	dialog.setFilterPath(getDestinationValue());
-	String selectedDirectoryName = dialog.open();
-
-	if (selectedDirectoryName != null) {
-		setErrorMessage(null);
-		setDestinationValue(selectedDirectoryName);
-	}
-}
-/**
- * Handle all events and enablements for widgets in this page
- * @param e Event
- */
-public void handleEvent(Event e) {
-	Widget source = e.widget;
-
-	if (source == destinationBrowseButton)
-		handleDestinationBrowseButtonPressed();
-
-	updatePageCompletion();
-}
-/**
- *	Hook method for saving widget values for restoration by the next instance
- *	of this class.
- */
-protected void internalSaveWidgetValues() {
-	// update directory names history
-	IDialogSettings settings = getDialogSettings();
-	if (settings != null) {
-		String[] directoryNames = settings.getArray(STORE_DESTINATION_NAMES_ID);
-		if (directoryNames == null)
-			directoryNames = new String[0];
-
-		directoryNames = addToHistory(directoryNames, getDestinationValue());
-		settings.put(STORE_DESTINATION_NAMES_ID, directoryNames);
-
-		// options
-		settings.put(
-			STORE_OVERWRITE_EXISTING_FILES_ID,
-			overwriteExistingFilesCheckbox.getSelection());
-
-		settings.put(
-			STORE_CREATE_STRUCTURE_ID,
-			createDirectoryStructureButton.getSelection());
-
-	}
-}
-/**
- *	Hook method for restoring widget values to the values that they held
- *	last time this wizard was used to completion.
- */
-protected void restoreWidgetValues() {
-	IDialogSettings settings = getDialogSettings();
-	if (settings != null) {
-		String[] directoryNames = settings.getArray(STORE_DESTINATION_NAMES_ID);
-		if (directoryNames == null)
-			return; // ie.- no settings stored
-
-		// destination
-		setDestinationValue(directoryNames[0]);
-		for (int i = 0; i < directoryNames.length; i++)
-			addDestinationItem(directoryNames[i]);
-
-		// options
-		overwriteExistingFilesCheckbox.setSelection(
-			settings.getBoolean(STORE_OVERWRITE_EXISTING_FILES_ID));
-
-		boolean createDirectories = settings.getBoolean(STORE_CREATE_STRUCTURE_ID);
-		createDirectoryStructureButton.setSelection(createDirectories);
-		createSelectionOnlyButton.setSelection(!createDirectories);
-	}
-}
-/**
- *	Set the contents of the receivers destination specification widget to
- *	the passed value
- *
- */
-protected void setDestinationValue(String value) {
-	destinationNameField.setText(value);
-}
-/**
- *	Answer a boolean indicating whether the receivers destination specification
- *	widgets currently all contain valid values.
- */
-protected boolean validateDestinationGroup() {
-	String destinationValue = getDestinationValue();
-	if (destinationValue.length() == 0) {
-		setMessage(DESTINATION_EMPTY_MESSAGE);
-		return false;
-	} 
-	
-	String conflictingContainer = getConflictingContainerNameFor(destinationValue);
-	if(conflictingContainer == null)
-		setErrorMessage(""); //$NON-NLS-1$
-	else {
-		setErrorMessage(
-			DataTransferMessages.format(
-				"FileExport.conflictingContainer",  //$NON-NLS-1$
-				new Object[] {conflictingContainer}));
-		giveFocusToDestination();
-		return false;
-	}
-	
-	return true;
-}
-
-/**
- * Returns the name of a container with a location that encompasses targetDirectory.
- * Returns null if there is no conflict.
- * 
- * @param targetDirectory the path of the directory to check.
- * @return the conflicting container name or <code>null</code>
- */
-protected String getConflictingContainerNameFor(String targetDirectory){
-	
-	IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-	IPath testPath = new Path(targetDirectory);
-	
-	if(root.getLocation().isPrefixOf(testPath))
-		return DataTransferMessages.getString("FileExport.rootName"); //$NON-NLS-1$
-	
-	IProject[] projects = root.getProjects();
-	
-	for(int i = 0; i < projects.length; i++){
-		if(projects[i].getLocation().isPrefixOf(testPath))
-			return projects[i].getName();
-	}
-	
-	return null;
-	
-}
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardFileSystemResourceImportPage1.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardFileSystemResourceImportPage1.java
deleted file mode 100644
index 226b0d0..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardFileSystemResourceImportPage1.java
+++ /dev/null
@@ -1,905 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.*;
-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.DirectoryDialog;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.dialogs.FileSystemElement;
-import org.eclipse.ui.dialogs.WizardResourceImportPage;
-import org.eclipse.ui.internal.dialogs.IElementFilter;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-
-/**
- *	Page 1 of the base resource import-from-file-system Wizard
- */
-/*package*/
-class WizardFileSystemResourceImportPage1
-	extends WizardResourceImportPage
-	implements Listener {
-	
-
-	private IWorkbench workbench;
-	// widgets
-	protected Combo sourceNameField;
-	protected Button overwriteExistingResourcesCheckbox;
-	protected Button createContainerStructureButton;
-	protected Button createOnlySelectedButton;
-	protected Button sourceBrowseButton;
-	protected Button selectTypesButton;
-	protected Button selectAllButton;
-	protected Button deselectAllButton;
-	//A boolean to indicate if the user has typed anything
-	private boolean entryChanged = false;
-
-	// dialog store id constants
-	private final static String STORE_SOURCE_NAMES_ID =
-		"WizardFileSystemResourceImportPage1.STORE_SOURCE_NAMES_ID";//$NON-NLS-1$
-	private final static String STORE_OVERWRITE_EXISTING_RESOURCES_ID =
-		"WizardFileSystemResourceImportPage1.STORE_OVERWRITE_EXISTING_RESOURCES_ID";//$NON-NLS-1$
-	private final static String STORE_CREATE_CONTAINER_STRUCTURE_ID =
-		"WizardFileSystemResourceImportPage1.STORE_CREATE_CONTAINER_STRUCTURE_ID";//$NON-NLS-1$
-
-	private static final String SELECT_TYPES_TITLE = DataTransferMessages.getString("DataTransfer.selectTypes"); //$NON-NLS-1$
-	private static final String SELECT_ALL_TITLE = DataTransferMessages.getString("DataTransfer.selectAll"); //$NON-NLS-1$
-	private static final String DESELECT_ALL_TITLE = DataTransferMessages.getString("DataTransfer.deselectAll"); //$NON-NLS-1$
-	private static final String SELECT_SOURCE_MESSAGE =
-		DataTransferMessages.getString("FileImport.selectSource"); //$NON-NLS-1$
-	protected static final String SOURCE_EMPTY_MESSAGE = DataTransferMessages.getString("FileImport.sourceEmpty"); //$NON-NLS-1$
-/**
- *	Creates an instance of this class
- */
-protected WizardFileSystemResourceImportPage1(String name, IWorkbench aWorkbench, IStructuredSelection selection) {
-	super(name,selection);
-	this.workbench = aWorkbench;
-}
-/**
- *	Creates an instance of this class
- *
- * @param aWorkbench IWorkbench
- * @param selection IStructuredSelection
- */
-public WizardFileSystemResourceImportPage1(IWorkbench aWorkbench, IStructuredSelection selection) {
-	this("fileSystemImportPage1", aWorkbench, selection);//$NON-NLS-1$
-	setTitle(DataTransferMessages.getString("DataTransfer.fileSystemTitle")); //$NON-NLS-1$
-	setDescription(DataTransferMessages.getString("FileImport.importFileSystem")); //$NON-NLS-1$
-}
-/**
- * Creates a new button with the given id.
- * <p>
- * The <code>Dialog</code> implementation of this framework method
- * creates a standard push button, registers for selection events
- * including button presses and registers
- * default buttons with its shell.
- * The button id is stored as the buttons client data.
- * Note that the parent's layout is assumed to be a GridLayout and 
- * the number of columns in this layout is incremented.
- * Subclasses may override.
- * </p>
- *
- * @param parent the parent composite
- * @param id the id of the button (see
- *  <code>IDialogConstants.*_ID</code> constants 
- *  for standard dialog button ids)
- * @param label the label from the button
- * @param defaultButton <code>true</code> if the button is to be the
- *   default button, and <code>false</code> otherwise
- */
-protected Button createButton(Composite parent, int id, String label, boolean defaultButton) {
-	// increment the number of columns in the button bar
-	((GridLayout)parent.getLayout()).numColumns++;
-
-	Button button = new Button(parent, SWT.PUSH );
-	button.setFont(parent.getFont());
-
-	GridData buttonData = new GridData(GridData.FILL_HORIZONTAL);
-	button.setLayoutData(buttonData);
-
-	button.setData(new Integer(id));
-	button.setText(label);
-	
-	if (defaultButton) {
-		Shell shell = parent.getShell();
-		if (shell != null) {
-			shell.setDefaultButton(button);
-		}
-		button.setFocus();
-	}
-	return button;
-}
-/**
- * Creates the buttons for selecting specific types or selecting all or none of the
- * elements.
- *
- * @param parent the parent control
- */
-protected final void createButtonsGroup(Composite parent) {
-	// top level group
-	Composite buttonComposite = new Composite(parent, SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 3;
-	layout.makeColumnsEqualWidth = true;
-	buttonComposite.setLayout(layout);
-	buttonComposite.setFont(parent.getFont());
-	GridData buttonData = 
-		new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL);
-	buttonData.horizontalSpan = 2;
-	buttonComposite.setLayoutData(buttonData);
-
-	// types edit button
-	selectTypesButton =
-		createButton(
-			buttonComposite,
-			IDialogConstants.SELECT_TYPES_ID,
-			SELECT_TYPES_TITLE,
-			false);
-
-	
-	SelectionListener listener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			handleTypesEditButtonPressed();
-		}
-	};
-	selectTypesButton.addSelectionListener(listener);
-	setButtonLayoutData(selectTypesButton);
-
-	selectAllButton =
-		createButton(
-			buttonComposite,
-			IDialogConstants.SELECT_ALL_ID,
-			SELECT_ALL_TITLE,
-			false);
-
-	listener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			setAllSelections(true);
-		}
-	};
-	selectAllButton.addSelectionListener(listener);
-	setButtonLayoutData(selectAllButton);
-
-	deselectAllButton =
-		createButton(
-			buttonComposite,
-			IDialogConstants.DESELECT_ALL_ID,
-			DESELECT_ALL_TITLE,
-			false);
-
-	listener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			setAllSelections(false);
-		}
-	};
-	deselectAllButton.addSelectionListener(listener);
-	setButtonLayoutData(deselectAllButton);
-
-}
-/** (non-Javadoc)
- * Method declared on IDialogPage.
- */
-public void createControl(Composite parent) {
-	super.createControl(parent);
-	validateSourceGroup();
-	WorkbenchHelp.setHelp(getControl(), IDataTransferHelpContextIds.FILE_SYSTEM_IMPORT_WIZARD_PAGE);
-}
-/**
- *	Create the import options specification widgets.
- */
-protected void createOptionsGroupButtons(Group optionsGroup) {
-
-		// overwrite... checkbox
-		overwriteExistingResourcesCheckbox = new Button(optionsGroup, SWT.CHECK);
-		overwriteExistingResourcesCheckbox.setFont(optionsGroup.getFont());
-		overwriteExistingResourcesCheckbox.setText(
-			DataTransferMessages.getString("FileImport.overwriteExisting")); //$NON-NLS-1$
-
-		// create containers radio
-		createContainerStructureButton = new Button(optionsGroup, SWT.RADIO);
-		createContainerStructureButton.setFont(optionsGroup.getFont());
-		createContainerStructureButton.setText(
-			DataTransferMessages.getString("FileImport.createComplete")); //$NON-NLS-1$
-		createContainerStructureButton.setSelection(false);
-		
-		// create selection only radio
-		createOnlySelectedButton = new Button(optionsGroup, SWT.RADIO);
-		createOnlySelectedButton.setFont(optionsGroup.getFont());
-		createOnlySelectedButton.setText(
-			DataTransferMessages.getString("FileImport.createSelectedFolders")); //$NON-NLS-1$
-		createOnlySelectedButton.setSelection(true);
-		
-
-	}
-/**
- *	Create the group for creating the root directory
- */
-protected void createRootDirectoryGroup(Composite parent) {
-	Composite sourceContainerGroup = new Composite(parent, SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.numColumns = 3;
-	sourceContainerGroup.setLayout(layout);
-	sourceContainerGroup.setFont(parent.getFont());
-	sourceContainerGroup.setLayoutData(
-		new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-
-	Label groupLabel = new Label(sourceContainerGroup, SWT.NONE);
-	groupLabel.setText(getSourceLabel());
-	groupLabel.setFont(parent.getFont());
-
-	// source name entry field
-	sourceNameField = new Combo(sourceContainerGroup, SWT.BORDER);
-	GridData data =
-		new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
-	data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-	sourceNameField.setLayoutData(data);
-	sourceNameField.setFont(parent.getFont());
-
-	sourceNameField.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			updateFromSourceField();
-		}
-	});
-	
-	
-	sourceNameField.addKeyListener(new KeyListener(){
-		/*
-		 * @see KeyListener.keyPressed
-		 */
-		public void keyPressed(KeyEvent e){
-			//If there has been a key pressed then mark as dirty
-			entryChanged = true;
-		}
-
-		/*
-		 * @see KeyListener.keyReleased
-		 */
-		public void keyReleased(KeyEvent e){}
-	});
-	
-	sourceNameField.addFocusListener(new FocusListener(){
-		/*
-		 * @see FocusListener.focusGained(FocusEvent)
-		 */
-		public void focusGained(FocusEvent e){
-			//Do nothing when getting focus
-		}
-		
-		/*
-		 * @see FocusListener.focusLost(FocusEvent)
-		 */
-		public void focusLost(FocusEvent e){
-			//Clear the flag to prevent constant update
-			if(entryChanged){
-				entryChanged = false;
-				updateFromSourceField();
-			}
-			
-		}	
-	});
-
-	// source browse button
-	sourceBrowseButton = new Button(sourceContainerGroup, SWT.PUSH);
-	sourceBrowseButton.setText(DataTransferMessages.getString("DataTransfer.browse")); //$NON-NLS-1$
-	sourceBrowseButton.addListener(SWT.Selection, this);
-	sourceBrowseButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-	sourceBrowseButton.setFont(parent.getFont());
-	setButtonLayoutData(sourceBrowseButton);
-}
-
-/**
- * Update the receiver from the source name field.
- */
-
-private void updateFromSourceField(){
-	
-	setSourceName(sourceNameField.getText());
-	//Update enablements when this is selected
-	updateWidgetEnablements();
-}		
-	
-/**
- * Creates and returns a <code>FileSystemElement</code> if the specified
- * file system object merits one.  The criteria for this are:
- * Also create the children.
- */
-protected MinimizedFileSystemElement createRootElement(
-	Object fileSystemObject,
-	IImportStructureProvider provider) {
-	boolean isContainer = provider.isFolder(fileSystemObject);
-	String elementLabel = provider.getLabel(fileSystemObject);
-
-	// Use an empty label so that display of the element's full name
-	// doesn't include a confusing label
-	MinimizedFileSystemElement dummyParent =
-		new MinimizedFileSystemElement("", null, true);//$NON-NLS-1$
-	dummyParent.setPopulated();
-	MinimizedFileSystemElement result =
-		new MinimizedFileSystemElement(elementLabel, dummyParent, isContainer);
-	result.setFileSystemObject(fileSystemObject);
-
-	//Get the files for the element so as to build the first level
-	result.getFiles(provider);
-
-	return dummyParent;
-}
-/**
- *	Create the import source specification widgets
- */
-protected void createSourceGroup(Composite parent) {
-
-	createRootDirectoryGroup(parent);
-	createFileSelectionGroup(parent);
-	createButtonsGroup(parent);
-}
-/**
- * Enable or disable the button group.
- */
-protected void enableButtonGroup(boolean enable) {
-	selectTypesButton.setEnabled(enable);
-	selectAllButton.setEnabled(enable);
-	deselectAllButton.setEnabled(enable);
-}
-/**
- *	Answer a boolean indicating whether the specified source currently exists
- *	and is valid
- */
-protected boolean ensureSourceIsValid() {
-	if (new File(getSourceDirectoryName()).isDirectory())
-		return true;
-
-	displayErrorDialog(DataTransferMessages.getString("FileImport.invalidSource")); //$NON-NLS-1$
-	sourceNameField.setFocus();
-	return false;
-}
-/**
- *	Execute the passed import operation.  Answer a boolean indicating success.
- */
-protected boolean executeImportOperation(ImportOperation op) {
-	initializeOperation(op);
-	 
-	try {
-		getContainer().run(true, true, op);
-	} catch (InterruptedException e) {
-		return false;
-	} catch (InvocationTargetException e) {
-		displayErrorDialog(e.getTargetException());
-		return false;
-	}
-
-	IStatus status = op.getStatus();
-	if (!status.isOK()) {
-		ErrorDialog.openError(getContainer().getShell(),
-			DataTransferMessages.getString("FileImport.importProblems"), //$NON-NLS-1$
-			null,		// no special message
-			status);
-		return false;
-	}
-
-	return true;
-}
-/**
- *	The Finish button was pressed.  Try to do the required work now and answer
- *	a boolean indicating success.  If false is returned then the wizard will
- *	not close.
- *
- * @return boolean
- */
-public boolean finish() {
-	if (!ensureSourceIsValid())
-		return false;
-
-	saveWidgetValues();
-
-	Iterator resourcesEnum = getSelectedResources().iterator();
-	List fileSystemObjects = new ArrayList();
-	while (resourcesEnum.hasNext()) {
-		fileSystemObjects.add(
-			((FileSystemElement) resourcesEnum.next()).getFileSystemObject());
-	}
-
-	if (fileSystemObjects.size() > 0)
-		return importResources(fileSystemObjects);
-
-	MessageDialog
-		.openInformation(
-			getContainer().getShell(),
-			DataTransferMessages.getString("DataTransfer.information"), //$NON-NLS-1$
-			DataTransferMessages.getString("FileImport.noneSelected")); //$NON-NLS-1$
-
-	return false;
-}
-/**
- * Returns a content provider for <code>FileSystemElement</code>s that returns 
- * only files as children.
- */
-protected ITreeContentProvider getFileProvider() {
-	return new WorkbenchContentProvider() {
-		public Object[] getChildren(Object o) {
-			if (o instanceof MinimizedFileSystemElement) {
-				MinimizedFileSystemElement element = (MinimizedFileSystemElement) o;
-				return element.getFiles(FileSystemStructureProvider.INSTANCE).getChildren(
-					element);
-			}
-			return new Object[0];
-		}
-	};
-}
-/**
- *	Answer the root FileSystemElement that represents the contents of
- *	the currently-specified source.  If this FileSystemElement is not
- *	currently defined then create and return it.
- */
-protected MinimizedFileSystemElement getFileSystemTree() {
-
-	File sourceDirectory = getSourceDirectory();
-	if (sourceDirectory == null)
-		return null;
-
-	return selectFiles(sourceDirectory, FileSystemStructureProvider.INSTANCE);
-}
-/**
- * Returns a content provider for <code>FileSystemElement</code>s that returns 
- * only folders as children.
- */
-protected ITreeContentProvider getFolderProvider() {
-	return new WorkbenchContentProvider() {
-		public Object[] getChildren(Object o) {
-			if (o instanceof MinimizedFileSystemElement) {
-				MinimizedFileSystemElement element = (MinimizedFileSystemElement) o;
-				return element.getFolders(FileSystemStructureProvider.INSTANCE).getChildren(
-					element);
-			}
-			return new Object[0];
-		}
-		public boolean hasChildren(Object o) {
-			if (o instanceof MinimizedFileSystemElement) {
-				MinimizedFileSystemElement element = (MinimizedFileSystemElement) o;
-				if (element.isPopulated())
-					return getChildren(element).length > 0;
-				else {
-					//If we have not populated then wait until asked
-					return true;
-				}
-			}
-			return false;
-		}
-	};
-}
-
-/**
- * Returns a File object representing the currently-named source directory iff
- * it exists as a valid directory, or <code>null</code> otherwise.
- */
-protected File getSourceDirectory() {
-	return getSourceDirectory(this.sourceNameField.getText());
-}
-/**
- * Returns a File object representing the currently-named source directory iff
- * it exists as a valid directory, or <code>null</code> otherwise.
- *
- * @param path a String not yet formatted for java.io.File compatability
- */
-private File getSourceDirectory(String path) {
-	File sourceDirectory = new File(getSourceDirectoryName(path));
-	if (!sourceDirectory.exists() || !sourceDirectory.isDirectory()) {
-		return null;
-	}
-
-	return sourceDirectory;
-}
-/**
- *	Answer the directory name specified as being the import source.
- *	Note that if it ends with a separator then the separator is first
- *	removed so that java treats it as a proper directory
- */
-private String getSourceDirectoryName() {
-	return getSourceDirectoryName(this.sourceNameField.getText());
-}
-/**
- *	Answer the directory name specified as being the import source.
- *	Note that if it ends with a separator then the separator is first
- *	removed so that java treats it as a proper directory
- */
-private String getSourceDirectoryName(String sourceName) {
-	IPath result = new Path(sourceName.trim());
-
-	if (result.getDevice() != null && result.segmentCount() == 0)	// something like "c:"
-		result = result.addTrailingSeparator();
-	else
-		result = result.removeTrailingSeparator();
-
-	return result.toOSString();
-}
-/**
- *	Answer the string to display as the label for the source specification field
- */
-protected String getSourceLabel() {
-	return DataTransferMessages.getString("DataTransfer.directory"); //$NON-NLS-1$
-}
-/**
- *	Handle all events and enablements for widgets in this dialog
- *
- * @param event Event
- */
-public void handleEvent(Event event) {
-	if (event.widget == sourceBrowseButton)
-		handleSourceBrowseButtonPressed();
-
-	super.handleEvent(event);
-}
-/**
- *	Open an appropriate source browser so that the user can specify a source
- *	to import from
- */
-protected void handleSourceBrowseButtonPressed() {
-
-	String currentSource = this.sourceNameField.getText();
-	DirectoryDialog dialog =
-		new DirectoryDialog(sourceNameField.getShell(), SWT.SAVE);
-	dialog.setMessage(SELECT_SOURCE_MESSAGE);
-	dialog.setFilterPath(getSourceDirectoryName(currentSource));
-
-	String selectedDirectory = dialog.open();
-	if (selectedDirectory != null) {
-		//Just quit if the directory is not valid
-		if ((getSourceDirectory(selectedDirectory) == null)
-			|| selectedDirectory.equals(currentSource))
-			return;
-		else { //If it is valid then proceed to populate
-			setErrorMessage(null);
-			setSourceName(selectedDirectory);
-			selectionGroup.setFocus();
-		}
-	}
-}
-/**
- * Open a registered type selection dialog and note the selections
- * in the receivers types-to-export field.,
- * Added here so that inner classes can have access
- */
-protected void handleTypesEditButtonPressed() {
-
-	super.handleTypesEditButtonPressed();
-}
-/**
- *  Import the resources with extensions as specified by the user
- */
-protected boolean importResources(List fileSystemObjects) {
-	ImportOperation operation = new ImportOperation(
-		getContainerFullPath(),
-		getSourceDirectory(),
-		FileSystemStructureProvider.INSTANCE,
-		this,
-		fileSystemObjects);
-		
-	operation.setContext(getShell());	 
-	return executeImportOperation(operation);
-}
-/**
- * Initializes the specified operation appropriately.
- */
-protected void initializeOperation(ImportOperation op) {
-	op.setCreateContainerStructure(createContainerStructureButton.getSelection());
-	op.setOverwriteResources(overwriteExistingResourcesCheckbox.getSelection());
-}
-/**
- * Returns whether the extension provided is an extension that
- * has been specified for export by the user.
- *
- * @param extension the resource name
- * @return <code>true</code> if the resource name is suitable for export based 
- *   upon its extension
- */
-protected boolean isExportableExtension(String extension) {
-	if (selectedTypes == null)	// ie.- all extensions are acceptable
-		return true;
-
-	Iterator enum = selectedTypes.iterator();
-	while (enum.hasNext()) {
-		if (extension.equalsIgnoreCase((String)enum.next()))
-			return true;
-	}
-	
-	return false;
-}
-/**
- *	Repopulate the view based on the currently entered directory.
- */
-protected void resetSelection() {
-
-	MinimizedFileSystemElement currentRoot = getFileSystemTree();
-	this.selectionGroup.setRoot(currentRoot);
-	
-
-}
-/**
- *	Use the dialog store to restore widget values to the values that they held
- *	last time this wizard was used to completion
- */
-protected void restoreWidgetValues() {
-	IDialogSettings settings = getDialogSettings();
-	if (settings != null) {
-		String[] sourceNames = settings.getArray(STORE_SOURCE_NAMES_ID);
-		if (sourceNames == null)
-			return; // ie.- no values stored, so stop
-
-		// set filenames history
-		for (int i = 0; i < sourceNames.length; i++)
-			sourceNameField.add(sourceNames[i]);
-
-		// radio buttons and checkboxes	
-		overwriteExistingResourcesCheckbox.setSelection(
-			settings.getBoolean(STORE_OVERWRITE_EXISTING_RESOURCES_ID));
-
-		boolean createStructure =
-			settings.getBoolean(STORE_CREATE_CONTAINER_STRUCTURE_ID);
-		createContainerStructureButton.setSelection(createStructure);
-		createOnlySelectedButton.setSelection(!createStructure);
-
-	}
-}
-/**
- * 	Since Finish was pressed, write widget values to the dialog store so that they
- *	will persist into the next invocation of this wizard page
- */
-protected void saveWidgetValues() {
-	IDialogSettings settings = getDialogSettings();
-	if (settings != null) {
-		// update source names history
-		String[] sourceNames = settings.getArray(STORE_SOURCE_NAMES_ID);
-		if (sourceNames == null)
-			sourceNames = new String[0];
-
-		sourceNames = addToHistory(sourceNames, getSourceDirectoryName());
-		settings.put(STORE_SOURCE_NAMES_ID, sourceNames);
-
-		// radio buttons and checkboxes	
-		settings.put(
-			STORE_OVERWRITE_EXISTING_RESOURCES_ID,
-			overwriteExistingResourcesCheckbox.getSelection());
-
-		settings.put(
-			STORE_CREATE_CONTAINER_STRUCTURE_ID,
-			createContainerStructureButton.getSelection());
-
-	}
-}
-/**
- * Invokes a file selection operation using the specified file system and
- * structure provider.  If the user specifies files to be imported then
- * this selection is cached for later retrieval and is returned.
- */
-protected MinimizedFileSystemElement selectFiles(
-	final Object rootFileSystemObject,
-	final IImportStructureProvider structureProvider) {
-
-	final MinimizedFileSystemElement[] results = new MinimizedFileSystemElement[1];
-
-	BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
-		public void run() {
-			//Create the root element from the supplied file system object
-			results[0] = createRootElement(rootFileSystemObject, structureProvider);
-		}
-	});
-
-	return results[0];
-}
-/**
- * Set all of the selections in the selection group to value. Implemented here
- * to provide access for inner classes.
- * @param value boolean
- */
-protected void setAllSelections(boolean value) {
-	super.setAllSelections(value);
-}
-/**
- * Sets the source name of the import to be the supplied path.
- * Adds the name of the path to the list of items in the
- * source combo and selects it.
- *
- * @param path the path to be added
- */
-protected void setSourceName(String path) {
-
-	if (path.length() > 0) {
-
-		String[] currentItems = this.sourceNameField.getItems();
-		int selectionIndex = -1;
-		for (int i = 0; i < currentItems.length; i++) {
-			if (currentItems[i].equals(path))
-				selectionIndex = i;
-		}
-		if (selectionIndex < 0) {
-			int oldLength = currentItems.length;
-			String[] newItems = new String[oldLength + 1];
-			System.arraycopy(currentItems, 0, newItems, 0, oldLength);
-			newItems[oldLength] = path;
-			this.sourceNameField.setItems(newItems);
-			selectionIndex = oldLength;
-		}
-		this.sourceNameField.select(selectionIndex);
-
-		resetSelection();
-	}
-}
-/**
- * Update the tree to only select those elements that match the selected types
- */
-protected void setupSelectionsBasedOnSelectedTypes() {
-	ProgressMonitorDialog dialog = new ProgressMonitorDialog(getContainer().getShell());	
-	final Map selectionMap = new Hashtable();
-	
-	final IElementFilter filter = new IElementFilter() {
-		
-		public void filterElements(Collection files,IProgressMonitor monitor) throws InterruptedException{
-			if(files == null){
-				throw new InterruptedException();
-			}				
-			Iterator filesList = files.iterator();			
-			while (filesList.hasNext()) {
-				if(monitor.isCanceled())
-					throw new InterruptedException();
-				checkFile(filesList.next());
-			}
-		}
-		
-		public void filterElements(Object[] files,IProgressMonitor monitor) throws InterruptedException{
-			if(files == null){
-				throw new InterruptedException();
-			}						
-			for(int i =0; i < files.length; i ++){
-				if(monitor.isCanceled())
-					throw new InterruptedException();
-				checkFile(files[i]);
-			}
-		}
-		
-		private void checkFile(Object fileElement){
-			MinimizedFileSystemElement file = (MinimizedFileSystemElement) fileElement;
-			if (isExportableExtension(file.getFileNameExtension())) {
-				List elements = new ArrayList();
-				FileSystemElement parent = file.getParent();
-				if (selectionMap.containsKey(parent))
-					elements = (List) selectionMap.get(parent);
-				elements.add(file);
-				selectionMap.put(parent, elements);
-			}
-		}
-
-	};
-	
-	IRunnableWithProgress runnable  = new IRunnableWithProgress() {
-		public void run(final IProgressMonitor monitor) throws InterruptedException{		
-			monitor.beginTask(DataTransferMessages.getString("ImportPage.filterSelections"), IProgressMonitor.UNKNOWN); //$NON-NLS-1$
-			getSelectedResources(filter,monitor);
-		}
-	};
-	
-	try{
-		dialog.run(true,true,runnable);
-	}
-	catch (InvocationTargetException exception){
-		//Couldn't start. Do nothing.
-		return;
-	}
-	catch (InterruptedException exception){
-		//Got interrupted. Do nothing.
-		return;
-	}
-	// make sure that all paint operations caused by closing the progress 
-	// dialog get flushed, otherwise extra pixels will remain on the screen until 
-	// updateSelections is completed
-	getShell().update();
-	// The updateSelections method accesses SWT widgets so cannot be executed
-	// as part of the above progress dialog operation since the operation forks
-	// a new process.	
-	if (selectionMap != null) {
-		updateSelections(selectionMap);
-	}
-}
-/* (non-Javadoc)
- * Method declared on IDialogPage. Set the selection up when it becomes visible.
- */
-public void setVisible(boolean visible) {
-	super.setVisible(visible);
-	resetSelection();
-	if(visible)
-		this.sourceNameField.setFocus();
-}
-/**
- * Update the selections with those in map . Implemented here to give inner class
- * visibility
- * @param map Map - key tree elements, values Lists of list elements
- */
-protected void updateSelections(Map map) {
-	super.updateSelections(map);
-}
-/**
- * Check if widgets are enabled or disabled by a change in the dialog.
- * Provided here to give access to inner classes.
- * @param event Event
- */
-protected void updateWidgetEnablements() {
-
-	super.updateWidgetEnablements();
-}
-/**
- *	Answer a boolean indicating whether self's source specification
- *	widgets currently all contain valid values.
- */
-protected boolean validateSourceGroup() {
-	File sourceDirectory = getSourceDirectory();
-	if (sourceDirectory == null) {
-		setMessage(SOURCE_EMPTY_MESSAGE);
-		enableButtonGroup(false);
-		return false;
-	}
-	
-	if(sourceConflictsWithDestination(new Path(sourceDirectory.getPath()))){
-		setErrorMessage(getSourceConflictMessage()); //$NON-NLS-1$
-		enableButtonGroup(false);
-		return false;
-	}
-	
-	enableButtonGroup(true);
-	return true;
-}
-
-/**
- * Returns whether the source location conflicts
- * with the destination resource. This will occur if
- * the source is already under the destination.
- * 
- * @param sourcePath the path to check
- * @return <code>true</code> if there is a conflict, <code>false</code> if not
- */
-protected boolean sourceConflictsWithDestination(IPath sourcePath){
-	
-	IContainer container = getSpecifiedContainer();
-	if(container == null)
-		return false;
-	else {
-		IPath destinationLocation = getSpecifiedContainer().getLocation();
-		if (destinationLocation != null) { 
-			return destinationLocation.isPrefixOf(sourcePath);
-		}
-		else {
-			// null destination location is handled in 
-			// WizardResourceImportPage 
-			return false;
-		}
-	}
-}
-
-
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardZipFileExportPage1.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardZipFileExportPage1.java
deleted file mode 100644
index e74b3f0..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardZipFileExportPage1.java
+++ /dev/null
@@ -1,314 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-
-/**
- *	Page 1 of the base resource export-to-zip Wizard
- * WizardFileSystemExportPage1
- * @deprecated use WizardZipFileResourceExportPage1
- */
-/*package*/ class WizardZipFileExportPage1 extends WizardFileSystemExportPage1 {
-
-	// widgets
-	protected Button			overwriteExistingFileCheckbox;
-	protected Button			createDirectoryStructureCheckbox;
-	protected Button			compressContentsCheckbox;
-
-	// constants
-	protected static final int	COMBO_HISTORY_LENGTH = 5;
-	
-	// dialog store id constants
-	private final static String	STORE_DESTINATION_NAMES_ID = "WizardZipFileExportPage1.STORE_DESTINATION_NAMES_ID";//$NON-NLS-1$
-	private final static String	STORE_OVERWRITE_EXISTING_FILE_ID = "WizardZipFileExportPage1.STORE_OVERWRITE_EXISTING_FILE_ID";//$NON-NLS-1$
-	private final static String	STORE_CREATE_STRUCTURE_ID = "WizardZipFileExportPage1.STORE_CREATE_STRUCTURE_ID";//$NON-NLS-1$
-	private final static String	STORE_COMPRESS_CONTENTS_ID = "WizardZipFileExportPage1.STORE_COMPRESS_CONTENTS_ID";//$NON-NLS-1$
-/**
- *	Create an instance of this class.  Note that this constructor
- *	is here primarily to keep the JarFileExportPage1 subclass happy
- *
- *	@param name java.lang.String
- */
-protected WizardZipFileExportPage1(String name, IStructuredSelection selection) {
-	super(name, selection);
-}
-/**
- *	Create an instance of this class
- */
-public WizardZipFileExportPage1(IStructuredSelection selection) {
-	this("zipFileExportPage1", selection);//$NON-NLS-1$
-	setTitle(DataTransferMessages.getString("ZipExport.exportTitle")); //$NON-NLS-1$
-	setDescription(DataTransferMessages.getString("ZipExport.description")); //$NON-NLS-1$
-}
-/**
- *	Create the export options specification widgets.
- *
- *	@param parent org.eclipse.swt.widgets.Composite
- */
-protected void createOptionsGroup(Composite parent) {
-	// options group
-	Composite optionsGroup = new Composite(parent, SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.marginHeight = 0;
-	optionsGroup.setLayout(layout);
-	optionsGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-
-	// overwrite... checkbox
-	overwriteExistingFileCheckbox = new Button(optionsGroup, SWT.CHECK | SWT.LEFT);
-	overwriteExistingFileCheckbox.setText(DataTransferMessages.getString("ZipExport.overwriteFile")); //$NON-NLS-1$
-
-	// create directory structure checkbox
-	createDirectoryStructureCheckbox = new Button(optionsGroup, SWT.CHECK | SWT.LEFT);
-	createDirectoryStructureCheckbox.setText(DataTransferMessages.getString("ExportFile.createDirectoryStructure")); //$NON-NLS-1$
-
-	// compress... checkbox
-	compressContentsCheckbox = new Button(optionsGroup, SWT.CHECK | SWT.LEFT);
-	compressContentsCheckbox.setText(DataTransferMessages.getString("ZipExport.compressContents")); //$NON-NLS-1$
-
-	// initial setup
-	createDirectoryStructureCheckbox.setSelection(true);
-	compressContentsCheckbox.setSelection(true);
-}
-/**
- * Returns a boolean indicating whether the directory portion of the
- * passed pathname is valid and available for use.
- *
- * @return boolean
- */
-protected boolean ensureTargetDirectoryIsValid(String fullPathname) {
-	int separatorIndex = fullPathname.lastIndexOf(File.separator);
-
-	if (separatorIndex == -1)	// ie.- default dir, which is fine
-		return true;
-		
-	return ensureTargetIsValid(new File(fullPathname.substring(0,separatorIndex)));
-}
-/**
- * Returns a boolean indicating whether the passed File handle is
- * is valid and available for use.
- *
- * @return boolean
- */
-protected boolean ensureTargetFileIsValid(File targetFile) {
-	if (targetFile.exists() && targetFile.isDirectory()) {
-		displayErrorDialog(DataTransferMessages.getString("ZipExport.mustBeFile")); //$NON-NLS-1$
-		giveFocusToDestination();
-		return false;
-	}
-
-	if (targetFile.exists()) {
-		if (!overwriteExistingFileCheckbox.getSelection() && targetFile.canWrite()) {
-			if (!queryYesNoQuestion(DataTransferMessages.getString("ZipExport.alreadyExists"))) //$NON-NLS-1$
-				return false;
-		}
-
-		if (!targetFile.canWrite()) {
-			displayErrorDialog(DataTransferMessages.getString("ZipExport.alreadyExistsError")); //$NON-NLS-1$
-			giveFocusToDestination();
-			return false;
-		}
-	}
-
-	return true;
-}
-/**
- * Ensures that the target output file and its containing directory are
- * both valid and able to be used.  Answer a boolean indicating these.
- *
- * @return boolean
- */
-protected boolean ensureTargetIsValid() {
-	String targetPath = getDestinationValue();
-
-	if (!ensureTargetDirectoryIsValid(targetPath))
-		return false;
-	
-	if (!ensureTargetFileIsValid(new File(targetPath)))
-		return false;
-		
-	return true;	
-}
-/**
- *  Export the passed resource and recursively export all of its child resources
- *  (iff it's a container).  Answer a boolean indicating success.
- *
- *  @return boolean
- */
-protected boolean executeExportOperation(ZipFileExportOperation op) {
-	op.setCreateLeadupStructure(createDirectoryStructureCheckbox.getSelection());
-	op.setUseCompression(compressContentsCheckbox.getSelection());
-	
-	try {
-		getContainer().run(true, true, op);
-	} catch (InterruptedException e) {
-		return false;
-	} catch (InvocationTargetException e) {
-		displayErrorDialog(e.getTargetException().getMessage());
-		return false;
-	}
-
-	IStatus status = op.getStatus();
-	if (!status.isOK()) {
-		ErrorDialog.openError(getContainer().getShell(),
-			DataTransferMessages.getString("DataTransfer.exportProblems"), //$NON-NLS-1$
-			null,   // no special message
-			status);
-		return false;
-	}
-
-	return true;
-}
-/**
- *	The Finish button was pressed.  Try to do the required work now and answer
- *	a boolean indicating success.  If false is returned then the wizard will
- *	not close.
- *
- *	@return boolean
- */
-public boolean finish() {
-	if (!ensureTargetIsValid())
-		return false;
-
-	List resourcesToExport = getSelectedResources();
-
-	// about to invoke the operation so save our state
-	saveWidgetValues();
-
-	if (resourcesToExport.size() > 0)
-		return executeExportOperation(
-			new ZipFileExportOperation(
-				null,
-				resourcesToExport,
-				getDestinationValue()));
-
-	MessageDialog.openInformation(
-		getContainer().getShell(),
-		DataTransferMessages.getString("DataTransfer.information"), //$NON-NLS-1$
-		DataTransferMessages.getString("FileExport.noneSelected")); //$NON-NLS-1$
-
-	return false;
-}
-/**
- *	Answer the string to display in self as the destination type
- *
- *	@return java.lang.String
- */
-protected String getDestinationLabel() {
-	return DataTransferMessages.getString("ZipExport.destinationLabel"); //$NON-NLS-1$
-}
-/**
- *	Answer the contents of self's destination specification widget.  If this
- *	value does not have the required suffix then add it first.
- *
- *	@return java.lang.String
- */
-protected String getDestinationValue() {
-	String requiredSuffix = getOutputSuffix();
-	String destinationText = super.getDestinationValue();
-
-	if (!destinationText.toLowerCase().endsWith(requiredSuffix.toLowerCase()))
-		destinationText += requiredSuffix;
-		
-	return destinationText;
-}
-/**
- *	Answer the suffix that files exported from this wizard must have.
- *	If this suffix is a file extension (which is typically the case)
- *	then it must include the leading period character.
- *
- *	@return java.lang.String
- */
-protected String getOutputSuffix() {
-	return ".zip";//$NON-NLS-1$
-}
-/**
- *	Open an appropriate destination browser so that the user can specify a source
- *	to import from
- */
-protected void handleDestinationBrowseButtonPressed() {
-	FileDialog dialog = new FileDialog(getContainer().getShell(),SWT.SAVE);
-	dialog.setFilterExtensions(new String[] {"*.jar;*.zip"});//$NON-NLS-1$
-	
-	String currentSourceString = getDestinationValue();
-	int lastSeparatorIndex = currentSourceString.lastIndexOf(File.separator);
-	if (lastSeparatorIndex != -1)
-		dialog.setFilterPath(currentSourceString.substring(0,lastSeparatorIndex));
-	String selectedFileName = dialog.open();
-
-	if (selectedFileName != null)
-		setDestinationValue(selectedFileName);
-}
-/**
- *	Hook method for saving widget values for restoration by the next instance
- *	of this class.
- */
-protected void internalSaveWidgetValues() {
-	// update directory names history
-	IDialogSettings settings = getDialogSettings();
-	if(settings != null) {
-		String[] directoryNames = settings.getArray(STORE_DESTINATION_NAMES_ID);
-		if (directoryNames == null)
-			directoryNames = new String[0];
-		String[] newDirectoryNames = new String[directoryNames.length + 1];
-		System.arraycopy(directoryNames,0,newDirectoryNames,1,directoryNames.length);
-		newDirectoryNames[0] = getDestinationValue();
-	
-		settings.put(
-			STORE_DESTINATION_NAMES_ID,
-			directoryNames);
-
-		// options
-		settings.put(
-			STORE_OVERWRITE_EXISTING_FILE_ID,
-			overwriteExistingFileCheckbox.getSelection());
-
-		settings.put(
-			STORE_CREATE_STRUCTURE_ID,
-			createDirectoryStructureCheckbox.getSelection());
-
-		settings.put(
-			STORE_COMPRESS_CONTENTS_ID,
-			compressContentsCheckbox.getSelection());
-	}
-}
-/**
- *	Hook method for restoring widget values to the values that they held
- *	last time this wizard was used to completion.
- */
-protected void restoreWidgetValues() {
-	IDialogSettings settings = getDialogSettings();
-	if(settings != null) {
-		String[] directoryNames = settings.getArray(STORE_DESTINATION_NAMES_ID);
-		if (directoryNames == null || directoryNames.length == 0)
-			return;		// ie.- no settings stored
-
-		// destination
-		setDestinationValue(directoryNames[0]); 
-		for (int i = 0; i < directoryNames.length; i++)
-			addDestinationItem(directoryNames[i]);
-
-		// options
-		overwriteExistingFileCheckbox.setSelection(
-			settings.getBoolean(STORE_OVERWRITE_EXISTING_FILE_ID));
-
-		createDirectoryStructureCheckbox.setSelection(
-			settings.getBoolean(STORE_CREATE_STRUCTURE_ID));
-
-		compressContentsCheckbox.setSelection(
-			settings.getBoolean(STORE_COMPRESS_CONTENTS_ID));
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardZipFileImportPage1.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardZipFileImportPage1.java
deleted file mode 100644
index e6e5d85..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardZipFileImportPage1.java
+++ /dev/null
@@ -1,324 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
-import java.util.zip.ZipException;
-import java.util.zip.ZipFile;
-
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.dialogs.FileSystemElement;
-
-/**
- *	Page 1 of the base resource import-from-zip Wizard.
- *
- *	Note that importing from .jar is identical to importing from .zip, so
- *	all references to .zip in this class are equally applicable to .jar
- *	references.
- * @deprecated use WizardZipFileResourceImportPage1
- */
-/*package*/ class WizardZipFileImportPage1 extends WizardFileSystemImportPage1 implements ISelectionChangedListener, Listener {
-	private ZipFileStructureProvider providerCache;
-
-	// constants
-	private static final int	COMBO_HISTORY_LENGTH = 5;
-	private static final String	FILE_IMPORT_MASK = "*.jar;*.zip";//$NON-NLS-1$
-	
-	// dialog store id constants
-	private final static String STORE_SOURCE_NAMES_ID = "WizardZipFileImportPage1.STORE_SOURCE_NAMES_ID";//$NON-NLS-1$
-	private final static String STORE_IMPORT_ALL_RESOURCES_ID = "WizardZipFileImportPage1.STORE_IMPORT_ALL_ENTRIES_ID";//$NON-NLS-1$
-	private final static String STORE_OVERWRITE_EXISTING_RESOURCES_ID = "WizardZipFileImportPage1.STORE_OVERWRITE_EXISTING_RESOURCES_ID";//$NON-NLS-1$
-	private final static String STORE_SELECTED_TYPES_ID = "WizardZipFileImportPage1.STORE_SELECTED_TYPES_ID";//$NON-NLS-1$
-/**
- *	Creates an instance of this class
- */
-public WizardZipFileImportPage1(IWorkbench aWorkbench, IStructuredSelection selection) {
-	super("zipFileImportPage1", aWorkbench, selection);//$NON-NLS-1$
-	setTitle(DataTransferMessages.getString("ZipExport.exportTitle")); //$NON-NLS-1$
-	setDescription(DataTransferMessages.getString("ZipImport.description")); //$NON-NLS-1$
-}
-/**
- * Called when the user presses the Cancel button. Return a boolean
- * indicating permission to close the wizard.
- */
-public boolean cancel() {
-	clearProviderCache();
-	return true;
-}
-/**
- * Clears the cached structure provider after first finalizing
- * it properly.
- */
-protected void clearProviderCache() {
-	if (providerCache != null) {
-		closeZipFile(providerCache.getZipFile());
-		providerCache = null;
-	}
-}
-/**
- * Attempts to close the passed zip file, and answers a boolean indicating success.
- */
-protected boolean closeZipFile(ZipFile file) {
-	try {
-		file.close();
-	} catch (IOException e) {
-		displayErrorDialog(DataTransferMessages.format("ZipImport.couldNotClose", new Object [] {file.getName()})); //$NON-NLS-1$
-		return false;
-	}
-
-	return true;
-}
-/**
- *	Create the import options specification widgets.
- */
-protected void createOptionsGroup(Composite parent) {
-	// options group
-	Composite optionsGroup = new Composite(parent, SWT.NONE);
-	GridLayout layout = new GridLayout();
-	layout.marginHeight = 0;
-	optionsGroup.setLayout(layout);
-	optionsGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-
-	// overwrite... checkbox
-	overwriteExistingResourcesCheckbox = new Button(optionsGroup,SWT.CHECK);
-	overwriteExistingResourcesCheckbox.setText(DataTransferMessages.getString("FileImport.overwriteExisting")); //$NON-NLS-1$
-}
-/**
- *	Display the appropriate string representing a selection of the
- *	passed size.
- */
-protected void displaySelectedCount(int selectedEntryCount) {
-	if (selectedEntryCount == 1)
-		detailsDescriptionLabel.setText(DataTransferMessages.getString("ImportPage.oneSelected")); //$NON-NLS-1$
-	else
-		detailsDescriptionLabel.setText(DataTransferMessages.format("ZipImport.entriesSelected",new Object[] {String.valueOf(selectedEntryCount)})); //$NON-NLS-1$
-}
-/**
- *	Answer a boolean indicating whether the specified source currently exists
- *	and is valid (ie.- proper format)
- */
-protected boolean ensureSourceIsValid() {
-	ZipFile specifiedFile = getSpecifiedSourceFile();
-
-	if (specifiedFile == null)
-		return false;
-
-	return closeZipFile(specifiedFile);
-}
-/**
- * The Finish button was pressed.  Try to do the required work now and answer
- * a boolean indicating success.  If <code>false</code> is returned then the
- * wizard will not close.
- */
-public boolean finish() {
-	if (!super.finish())
-		return false;
-
-	clearProviderCache();
-	return true;
-}
-/**
- *	Answer the root FileSystemElement that represents the contents of the
- *	currently-specified .zip file.  If this FileSystemElement is not
- *	currently defined then create and return it.
- */
-protected FileSystemElement getFileSystemTree() {
-	if (getRoot() != null)
-		return getRoot();
-
-	ZipFile sourceFile = getSpecifiedSourceFile();
-	if (sourceFile == null)
-		return null;
-
-	ZipFileStructureProvider provider = getStructureProvider(sourceFile);
-	return selectFiles(provider.getRoot(),provider);
-}
-/**
- *	Answer the string to display as the label for the source specification field
- */
-protected String getSourceLabel() {
-	return DataTransferMessages.getString("ZipExport.destinationLabel"); //$NON-NLS-1$
-}
-/**
- *	Answer a handle to the zip file currently specified as being the source.
- *	Return null if this file does not exist or is not of valid format.
- */
-protected ZipFile getSpecifiedSourceFile() {
-	try {
-		return new ZipFile(sourceNameField.getText());
-	} catch (ZipException e) {
-		displayErrorDialog(DataTransferMessages.getString("ZipImport.badFormat")); //$NON-NLS-1$
-	} catch (IOException e) {
-		displayErrorDialog(DataTransferMessages.getString("ZipImport.couldNotRead")); //$NON-NLS-1$
-	}
-	
-	sourceNameField.setFocus();
-	return null;
-}
-/**
- * Returns a structure provider for the specified zip file.
- */
-protected ZipFileStructureProvider getStructureProvider(ZipFile targetZip) {
-	if (providerCache == null)
-		providerCache = new ZipFileStructureProvider(targetZip);
-	else if (!providerCache.getZipFile().getName().equals(targetZip.getName())) {
-		clearProviderCache();               // ie.- new value, so finalize&remove old value
-		providerCache = new ZipFileStructureProvider(targetZip);
-	} else if (!providerCache.getZipFile().equals(targetZip))
-		closeZipFile(targetZip);            // ie.- duplicate handle to same .zip
-		
-	return providerCache;
-}
-/**
- *	Open a FileDialog so that the user can specify the source
- *	file to import from
- */
-protected void handleSourceBrowseButtonPressed() {
-	String selectedFile = queryZipFileToImport();
-
-	if (selectedFile != null) {
-		if (!selectedFile.equals(sourceNameField.getText())) {
-			resetSelection();
-			sourceNameField.setText(selectedFile);
-		}
-	}
-}
-/**
- *	Recursively import all resources starting at the user-specified source location.
- *	Answer a boolean indicating success.
- */
-protected boolean importAllResources() {
-	ZipFileStructureProvider structureProvider = getStructureProvider(getSpecifiedSourceFile());
-	
-	return executeImportOperation(
-		new ImportOperation(
-			getContainerFullPath(),
-			structureProvider.getRoot(),
-			structureProvider,
-			this));
-}
-/**
- *  Import the resources with extensions as specified by the user
- */
-protected boolean importResources(List fileSystemObjects) {
-	ZipFileStructureProvider structureProvider = getStructureProvider(getSpecifiedSourceFile());
-	
-	return executeImportOperation(
-		new ImportOperation(
-			getContainerFullPath(),
-			structureProvider.getRoot(),
-			structureProvider,
-			this,
-			fileSystemObjects));
-}
-/**
- * Initializes the specified operation appropriately.
- */
-protected void initializeOperation(ImportOperation op) {
-	op.setOverwriteResources(overwriteExistingResourcesCheckbox.getSelection());
-}
-/**
- * Opens a file selection dialog and returns a string representing the
- * selected file, or <code>null</code> if the dialog was canceled.
- */
-protected String queryZipFileToImport() {
-	FileDialog dialog = new FileDialog(sourceNameField.getShell(),SWT.OPEN);
-	dialog.setFilterExtensions(new String[] {FILE_IMPORT_MASK});
-	
-	String currentSourceString = sourceNameField.getText();
-	int lastSeparatorIndex = currentSourceString.lastIndexOf(File.separator);
-	if (lastSeparatorIndex != -1)
-		dialog.setFilterPath(currentSourceString.substring(0,lastSeparatorIndex));
-		
-	return dialog.open();
-}
-/**
- *	Use the dialog store to restore widget values to the values that they held
- *	last time this wizard was used to completion
- */
-protected void restoreWidgetValues() {
-	IDialogSettings settings = getDialogSettings();
-	if(settings != null) {
-		String[] sourceNames = settings.getArray(STORE_SOURCE_NAMES_ID);
-		if (sourceNames == null)
-			return;		// ie.- no settings stored
-		
-		// set all/specific types radios and related enablements
-		if (settings.getBoolean(STORE_IMPORT_ALL_RESOURCES_ID)) {
-			importAllResourcesRadio.setSelection(true);
-			importTypedResourcesRadio.setSelection(false);
-		} else {
-			importTypedResourcesRadio.setSelection(true);
-			importAllResourcesRadio.setSelection(false);
-		}
-
-		// set filenames history
-		sourceNameField.setText(sourceNames[0]); 
-		for (int i = 0; i < sourceNames.length; i++)
-			sourceNameField.add(sourceNames[i]);
-
-		// set selected types
-		String[] selectedTypes = settings.getArray(STORE_SELECTED_TYPES_ID);
-		if (selectedTypes.length > 0)
-			typesToImportField.setText((String)selectedTypes[0]);
-		for (int i = 0; i < selectedTypes.length; i++)
-			typesToImportField.add((String)selectedTypes[i]);
-			
-		// radio buttons and checkboxes	
-		overwriteExistingResourcesCheckbox.setSelection(
-			settings.getBoolean(STORE_OVERWRITE_EXISTING_RESOURCES_ID));
-	}
-}
-/**
- * 	Since Finish was pressed, write widget values to the dialog store so that they
- *	will persist into the next invocation of this wizard page.
- *
- *	Note that this method is identical to the one that appears in the superclass.
- *	This is necessary because proper overriding of instance variables is not occurring.
- */
-protected void saveWidgetValues() {
-	IDialogSettings settings = getDialogSettings();
-	if(settings != null) {
-		// update source names history
-		String[] sourceNames = settings.getArray(STORE_SOURCE_NAMES_ID);
-		if (sourceNames == null)
-			sourceNames = new String[0];
-
-		sourceNames = addToHistory(sourceNames,sourceNameField.getText());
-		settings.put(
-			STORE_SOURCE_NAMES_ID,
-			sourceNames);
-
-		// update specific types to import history
-		String[] selectedTypesNames = settings.getArray(STORE_SELECTED_TYPES_ID);
-		if (selectedTypesNames == null)
-			selectedTypesNames = new String[0];
-
-		if (importTypedResourcesRadio.getSelection())
-			selectedTypesNames = addToHistory(selectedTypesNames,typesToImportField.getText());
-		settings.put(
-			STORE_SELECTED_TYPES_ID,
-			selectedTypesNames);
-
-		// radio buttons and checkboxes	
-		settings.put(
-			STORE_IMPORT_ALL_RESOURCES_ID,
-			importAllResourcesRadio.getSelection());
-	
-		settings.put(
-			STORE_OVERWRITE_EXISTING_RESOURCES_ID,
-			overwriteExistingResourcesCheckbox.getSelection());	
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardZipFileResourceExportPage1.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardZipFileResourceExportPage1.java
deleted file mode 100644
index 9de065f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardZipFileResourceExportPage1.java
+++ /dev/null
@@ -1,311 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- *	Page 1 of the base resource export-to-zip Wizard
- */
-/*package*/
-class WizardZipFileResourceExportPage1
-	extends WizardFileSystemResourceExportPage1 {
-
-	// widgets
-	protected Button compressContentsCheckbox;
-
-	// constants
-	protected static final int COMBO_HISTORY_LENGTH = 5;
-
-	// dialog store id constants
-	private final static String STORE_DESTINATION_NAMES_ID =
-		"WizardZipFileResourceExportPage1.STORE_DESTINATION_NAMES_ID";
-	//$NON-NLS-1$
-	private final static String STORE_OVERWRITE_EXISTING_FILE_ID =
-		"WizardZipFileResourceExportPage1.STORE_OVERWRITE_EXISTING_FILE_ID";
-	//$NON-NLS-1$
-	private final static String STORE_CREATE_STRUCTURE_ID =
-		"WizardZipFileResourceExportPage1.STORE_CREATE_STRUCTURE_ID";
-	//$NON-NLS-1$
-	private final static String STORE_COMPRESS_CONTENTS_ID =
-		"WizardZipFileResourceExportPage1.STORE_COMPRESS_CONTENTS_ID";
-	//$NON-NLS-1$
-	/**
-	 *	Create an instance of this class. 
-	 *
-	 *	@param name java.lang.String
-	 */
-	protected WizardZipFileResourceExportPage1(
-		String name,
-		IStructuredSelection selection) {
-		super(name, selection);
-	}
-	/**
-	 * Create an instance of this class
-	 * @param IStructuredSelection selection
-	 */
-	public WizardZipFileResourceExportPage1(IStructuredSelection selection) {
-		this("zipFileExportPage1", selection); //$NON-NLS-1$
-		setTitle(DataTransferMessages.getString("ZipExport.exportTitle")); //$NON-NLS-1$
-		setDescription(DataTransferMessages.getString("ZipExport.description")); //$NON-NLS-1$
-	}
-	/** (non-Javadoc)
-	 * Method declared on IDialogPage.
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		WorkbenchHelp.setHelp(
-			getControl(),
-			IDataTransferHelpContextIds.ZIP_FILE_EXPORT_WIZARD_PAGE);
-	}
-	/**
-	 *	Create the export options specification widgets.
-	 *
-	 */
-	protected void createOptionsGroupButtons(Group optionsGroup) {
-
-		Font font = optionsGroup.getFont();
-		// compress... checkbox
-		compressContentsCheckbox =
-			new Button(optionsGroup, SWT.CHECK | SWT.LEFT);
-		compressContentsCheckbox.setText(DataTransferMessages.getString("ZipExport.compressContents")); //$NON-NLS-1$
-		compressContentsCheckbox.setFont(font);
-
-		createDirectoryStructureOptions(optionsGroup, font);
-
-		// initial setup
-		createDirectoryStructureButton.setSelection(true);
-		createSelectionOnlyButton.setSelection(false);
-		compressContentsCheckbox.setSelection(true);
-	}
-	/**
-	 * Returns a boolean indicating whether the directory portion of the
-	 * passed pathname is valid and available for use.
-	 */
-	protected boolean ensureTargetDirectoryIsValid(String fullPathname) {
-		int separatorIndex = fullPathname.lastIndexOf(File.separator);
-
-		if (separatorIndex == -1) // ie.- default dir, which is fine
-			return true;
-
-		return ensureTargetIsValid(
-			new File(fullPathname.substring(0, separatorIndex)));
-	}
-	/**
-	 * Returns a boolean indicating whether the passed File handle is
-	 * is valid and available for use.
-	 */
-	protected boolean ensureTargetFileIsValid(File targetFile) {
-		if (targetFile.exists() && targetFile.isDirectory()) {
-			displayErrorDialog(DataTransferMessages.getString("ZipExport.mustBeFile")); //$NON-NLS-1$
-			giveFocusToDestination();
-			return false;
-		}
-
-		if (targetFile.exists()) {
-			if (targetFile.canWrite()) {
-				if (!queryYesNoQuestion(DataTransferMessages.getString("ZipExport.alreadyExists"))) //$NON-NLS-1$
-					return false;
-			}
-
-			if (!targetFile.canWrite()) {
-				displayErrorDialog(DataTransferMessages.getString("ZipExport.alreadyExistsError")); //$NON-NLS-1$
-				giveFocusToDestination();
-				return false;
-			}
-		}
-
-		return true;
-	}
-	/**
-	 * Ensures that the target output file and its containing directory are
-	 * both valid and able to be used.  Answer a boolean indicating validity.
-	 */
-	protected boolean ensureTargetIsValid() {
-		String targetPath = getDestinationValue();
-
-		if (!ensureTargetDirectoryIsValid(targetPath))
-			return false;
-
-		if (!ensureTargetFileIsValid(new File(targetPath)))
-			return false;
-
-		return true;
-	}
-	/**
-	 *  Export the passed resource and recursively export all of its child resources
-	 *  (iff it's a container).  Answer a boolean indicating success.
-	 */
-	protected boolean executeExportOperation(ZipFileExportOperation op) {
-		op.setCreateLeadupStructure(
-			createDirectoryStructureButton.getSelection());
-		op.setUseCompression(compressContentsCheckbox.getSelection());
-
-		try {
-			getContainer().run(true, true, op);
-		} catch (InterruptedException e) {
-			return false;
-		} catch (InvocationTargetException e) {
-			displayErrorDialog(e.getTargetException());
-			return false;
-		}
-
-		IStatus status = op.getStatus();
-		if (!status.isOK()) {
-			ErrorDialog.openError(getContainer().getShell(), DataTransferMessages.getString("DataTransfer.exportProblems"), //$NON-NLS-1$
-			null, // no special message
-			status);
-			return false;
-		}
-
-		return true;
-	}
-	/**
-	 * The Finish button was pressed.  Try to do the required work now and answer
-	 * a boolean indicating success.  If false is returned then the wizard will
-	 * not close.
-	 * @returns boolean
-	 */
-	public boolean finish() {
-		if (!ensureTargetIsValid())
-			return false;
-
-		List resourcesToExport = getWhiteCheckedResources();
-
-		//Save dirty editors if possible but do not stop if not all are saved
-		saveDirtyEditors();
-		// about to invoke the operation so save our state
-		saveWidgetValues();
-
-		if (resourcesToExport.size() > 0)
-			return executeExportOperation(
-				new ZipFileExportOperation(
-					null,
-					resourcesToExport,
-					getDestinationValue()));
-
-		MessageDialog.openInformation(getContainer().getShell(), DataTransferMessages.getString("DataTransfer.information"), //$NON-NLS-1$
-		DataTransferMessages.getString("FileExport.noneSelected")); //$NON-NLS-1$
-
-		return false;
-	}
-	/**
-	 *	Answer the string to display in the receiver as the destination type
-	 */
-	protected String getDestinationLabel() {
-		return DataTransferMessages.getString("ZipExport.destinationLabel"); //$NON-NLS-1$
-	}
-	/**
-	 *	Answer the contents of self's destination specification widget.  If this
-	 *	value does not have the required suffix then add it first.
-	 */
-	protected String getDestinationValue() {
-		String requiredSuffix = getOutputSuffix();
-		String destinationText = super.getDestinationValue();
-
-		if (destinationText.length() != 0) {
-			// only append a suffix if a value has been specified for the destination
-			if (!destinationText
-				.toLowerCase()
-				.endsWith(requiredSuffix.toLowerCase()))
-				destinationText += requiredSuffix;
-		}
-
-		return destinationText;
-	}
-	/**
-	 *	Answer the suffix that files exported from this wizard must have.
-	 *	If this suffix is a file extension (which is typically the case)
-	 *	then it must include the leading period character.
-	 *
-	 */
-	protected String getOutputSuffix() {
-		return ".zip"; //$NON-NLS-1$
-	}
-	/**
-	 *	Open an appropriate destination browser so that the user can specify a source
-	 *	to import from
-	 */
-	protected void handleDestinationBrowseButtonPressed() {
-		FileDialog dialog = new FileDialog(getContainer().getShell(), SWT.SAVE);
-		dialog.setFilterExtensions(new String[] { "*.zip" }); //$NON-NLS-1$
-
-		String currentSourceString = getDestinationValue();
-		int lastSeparatorIndex =
-			currentSourceString.lastIndexOf(File.separator);
-		if (lastSeparatorIndex != -1)
-			dialog.setFilterPath(
-				currentSourceString.substring(0, lastSeparatorIndex));
-		String selectedFileName = dialog.open();
-
-		if (selectedFileName != null) {
-			setErrorMessage(null);
-			setDestinationValue(selectedFileName);
-		}
-	}
-	/**
-	 *	Hook method for saving widget values for restoration by the next instance
-	 *	of this class.
-	 */
-	protected void internalSaveWidgetValues() {
-		// update directory names history
-		IDialogSettings settings = getDialogSettings();
-		if (settings != null) {
-			String[] directoryNames =
-				settings.getArray(STORE_DESTINATION_NAMES_ID);
-			if (directoryNames == null)
-				directoryNames = new String[0];
-
-			directoryNames =
-				addToHistory(directoryNames, getDestinationValue());
-			settings.put(STORE_DESTINATION_NAMES_ID, directoryNames);
-
-			settings.put(
-				STORE_CREATE_STRUCTURE_ID,
-				createDirectoryStructureButton.getSelection());
-
-			settings.put(
-				STORE_COMPRESS_CONTENTS_ID,
-				compressContentsCheckbox.getSelection());
-		}
-	}
-	/**
-	 *	Hook method for restoring widget values to the values that they held
-	 *	last time this wizard was used to completion.
-	 */
-	protected void restoreWidgetValues() {
-		IDialogSettings settings = getDialogSettings();
-		if (settings != null) {
-			String[] directoryNames =
-				settings.getArray(STORE_DESTINATION_NAMES_ID);
-			if (directoryNames == null || directoryNames.length == 0)
-				return; // ie.- no settings stored
-
-			// destination
-			setDestinationValue(directoryNames[0]);
-			for (int i = 0; i < directoryNames.length; i++)
-				addDestinationItem(directoryNames[i]);
-
-			boolean setStructure =
-				settings.getBoolean(STORE_CREATE_STRUCTURE_ID);
-
-			createDirectoryStructureButton.setSelection(setStructure);
-			createSelectionOnlyButton.setSelection(!setStructure);
-
-			compressContentsCheckbox.setSelection(
-				settings.getBoolean(STORE_COMPRESS_CONTENTS_ID));
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardZipFileResourceImportPage1.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardZipFileResourceImportPage1.java
deleted file mode 100644
index 28a297d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/WizardZipFileResourceImportPage1.java
+++ /dev/null
@@ -1,384 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
-import java.util.zip.ZipException;
-import java.util.zip.ZipFile;
-
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-
-/**
- *	Page 1 of the base resource import-from-zip Wizard.
- *
- *	Note that importing from .jar is identical to importing from .zip, so
- *	all references to .zip in this class are equally applicable to .jar
- *	references.
- */
-/*package*/
-class WizardZipFileResourceImportPage1
-	extends WizardFileSystemResourceImportPage1
-	implements Listener {
-	private ZipFileStructureProvider providerCache;
-	ZipFileStructureProvider currentProvider;
-
-	// constants
-	private static final int COMBO_HISTORY_LENGTH = 5;
-	private static final String FILE_IMPORT_MASK = "*.jar;*.zip";//$NON-NLS-1$
-
-	// dialog store id constants
-	private final static String STORE_SOURCE_NAMES_ID =
-		"WizardZipFileResourceImportPage1.STORE_SOURCE_NAMES_ID";//$NON-NLS-1$
-	private final static String STORE_IMPORT_ALL_RESOURCES_ID =
-		"WizardZipFileResourceImportPage1.STORE_IMPORT_ALL_ENTRIES_ID";//$NON-NLS-1$
-	private final static String STORE_OVERWRITE_EXISTING_RESOURCES_ID =
-		"WizardZipFileResourceImportPage1.STORE_OVERWRITE_EXISTING_RESOURCES_ID";//$NON-NLS-1$
-	private final static String STORE_SELECTED_TYPES_ID =
-		"WizardZipFileResourceImportPage1.STORE_SELECTED_TYPES_ID";//$NON-NLS-1$
-/**
- *	Creates an instance of this class
- * @param aWorkbench IWorkbench
- * @param selection IStructuredSelection
- */
-public WizardZipFileResourceImportPage1(IWorkbench aWorkbench, IStructuredSelection selection) {
-	super("zipFileImportPage1", aWorkbench, selection);//$NON-NLS-1$
-	setTitle(DataTransferMessages.getString("ZipExport.exportTitle")); //$NON-NLS-1$
-	setDescription(DataTransferMessages.getString("ZipImport.description")); //$NON-NLS-1$
-}
-/**
- * Called when the user presses the Cancel button. Return a boolean
- * indicating permission to close the wizard.
- *
- * @return boolean
- */
-public boolean cancel() {
-	clearProviderCache();
-	return true;
-}
-/**
- * Clears the cached structure provider after first finalizing
- * it properly.
- */
-protected void clearProviderCache() {
-	if (providerCache != null) {
-		closeZipFile(providerCache.getZipFile());
-		providerCache = null;
-	}
-}
-/**
- * Attempts to close the passed zip file, and answers a boolean indicating success.
- */
-protected boolean closeZipFile(ZipFile file) {
-	try {
-		file.close();
-	} catch (IOException e) {
-		displayErrorDialog(DataTransferMessages.format("ZipImport.couldNotClose", new Object[] {file.getName()})); //$NON-NLS-1$
-		return false;
-	}
-
-	return true;
-}
-/** (non-Javadoc)
- * Method declared on IDialogPage.
- */
-public void createControl(Composite parent) {
-	super.createControl(parent);
-	WorkbenchHelp.setHelp(getControl(), IDataTransferHelpContextIds.ZIP_FILE_IMPORT_WIZARD_PAGE);
-}
-/**
- *	Create the options specification widgets. There is only one
- * in this case so create no group.
- *
- *	@param parent org.eclipse.swt.widgets.Composite
- */
-protected void createOptionsGroup(Composite parent) {
-	
-	//create a spacer first
-	
-	createSpacer(parent);
-	
-	// overwrite... checkbox
-	overwriteExistingResourcesCheckbox = new Button(parent,SWT.CHECK);
-	overwriteExistingResourcesCheckbox.setText(DataTransferMessages.getString("FileImport.overwriteExisting")); //$NON-NLS-1$
-	overwriteExistingResourcesCheckbox.setFont(parent.getFont());
-}
-/**
- *	Answer a boolean indicating whether the specified source currently exists
- *	and is valid (ie.- proper format)
- */
-protected boolean ensureSourceIsValid() {
-	ZipFile specifiedFile = getSpecifiedSourceFile();
-
-	if (specifiedFile == null)
-		return false;
-
-	return closeZipFile(specifiedFile);
-}
-/**
- * The Finish button was pressed.  Try to do the required work now and answer
- * a boolean indicating success.  If <code>false</code> is returned then the
- * wizard will not close.
- *
- * @return boolean
- */
-public boolean finish() {
-	if (!super.finish())
-		return false;
-
-	clearProviderCache();
-	return true;
-}
-/**
- * Returns a content provider for <code>FileSystemElement</code>s that returns 
- * only files as children.
- */
-protected ITreeContentProvider getFileProvider() {
-	return new WorkbenchContentProvider() {
-		public Object[] getChildren(Object o) {
-			if (o instanceof MinimizedFileSystemElement) {
-				MinimizedFileSystemElement element = (MinimizedFileSystemElement) o;
-				return element.getFiles(currentProvider).getChildren(
-					element);
-			}
-			return new Object[0];
-		}
-	};
-}
-/**
- *	Answer the root FileSystemElement that represents the contents of the
- *	currently-specified .zip file.  If this FileSystemElement is not
- *	currently defined then create and return it.
- */
-protected MinimizedFileSystemElement getFileSystemTree() {
-
-	ZipFile sourceFile = getSpecifiedSourceFile();
-	if (sourceFile == null) {
-		//Clear out the provider as well
-		this.currentProvider = null;
-		return null;
-	}
-
-	ZipFileStructureProvider provider = getStructureProvider(sourceFile);
-	this.currentProvider = provider;
-	return selectFiles(provider.getRoot(), provider);
-}
-/**
- * Returns a content provider for <code>FileSystemElement</code>s that returns 
- * only folders as children.
- */
-protected ITreeContentProvider getFolderProvider() {
-	return new WorkbenchContentProvider() {
-		public Object[] getChildren(Object o) {
-			if (o instanceof MinimizedFileSystemElement) {
-				MinimizedFileSystemElement element = (MinimizedFileSystemElement) o;
-				return element.getFolders(currentProvider).getChildren(
-					element);
-			}
-			return new Object[0];
-		}
-		public boolean hasChildren(Object o) {
-			if (o instanceof MinimizedFileSystemElement) {
-				MinimizedFileSystemElement element = (MinimizedFileSystemElement) o;
-				if (element.isPopulated())
-					return getChildren(element).length > 0;
-				else {
-					//If we have not populated then wait until asked
-					return true;
-				}
-			}
-			return false;
-		}
-	};
-}
-/**
- *	Answer the string to display as the label for the source specification field
- */
-protected String getSourceLabel() {
-	return DataTransferMessages.getString("ZipExport.destinationLabel"); //$NON-NLS-1$
-}
-/**
- *	Answer a handle to the zip file currently specified as being the source.
- *	Return null if this file does not exist or is not of valid format.
- */
-protected ZipFile getSpecifiedSourceFile() {
-	return getSpecifiedSourceFile(sourceNameField.getText());
-}
-/**
- *	Answer a handle to the zip file currently specified as being the source.
- *	Return null if this file does not exist or is not of valid format.
- */
-private ZipFile getSpecifiedSourceFile(String fileName) {
-	if(fileName.length() == 0)
-		return null;
-		
-	try {
-		return new ZipFile(fileName);
-	} catch (ZipException e) {
-		displayErrorDialog(DataTransferMessages.getString("ZipImport.badFormat")); //$NON-NLS-1$
-	} catch (IOException e) {
-		displayErrorDialog(DataTransferMessages.getString("ZipImport.couldNotRead")); //$NON-NLS-1$
-	}
-	
-	sourceNameField.setFocus();
-	return null;
-}
-/**
- * Returns a structure provider for the specified zip file.
- */
-protected ZipFileStructureProvider getStructureProvider(ZipFile targetZip) {
-	if (providerCache == null)
-		providerCache = new ZipFileStructureProvider(targetZip);
-	else if (!providerCache.getZipFile().getName().equals(targetZip.getName())) {
-		clearProviderCache();               // ie.- new value, so finalize&remove old value
-		providerCache = new ZipFileStructureProvider(targetZip);
-	} else if (!providerCache.getZipFile().equals(targetZip))
-		closeZipFile(targetZip);            // ie.- duplicate handle to same .zip
-		
-	return providerCache;
-}
-/**
- *	Open a FileDialog so that the user can specify the source
- *	file to import from
- */
-protected void handleSourceBrowseButtonPressed() {
-	String selectedFile = queryZipFileToImport();
-
-	if (selectedFile != null) {
-		if (!selectedFile.equals(sourceNameField.getText())) {
-			//Be sure it is valid before we go setting any names
-			ZipFile sourceFile = getSpecifiedSourceFile(selectedFile);
-			if (sourceFile != null) {
-				closeZipFile(sourceFile);
-				setSourceName(selectedFile);
-				selectionGroup.setFocus();
-			}
-		}
-	}
-}
-/**
- *  Import the resources with extensions as specified by the user
- */
-protected boolean importResources(List fileSystemObjects) {
-	ZipFile zipFile = getSpecifiedSourceFile();
-	ZipFileStructureProvider structureProvider = getStructureProvider(zipFile);
-	ImportOperation operation = new ImportOperation(
-		getContainerFullPath(),
-		structureProvider.getRoot(),
-		structureProvider,
-		this,
-		fileSystemObjects);
-				
-	operation.setContext(getShell());	 
-	boolean result = executeImportOperation(operation);				
-
-	closeZipFile(zipFile);
-
-	return result;
-}
-/**
- * Initializes the specified operation appropriately.
- */
-protected void initializeOperation(ImportOperation op) {
-	op.setOverwriteResources(overwriteExistingResourcesCheckbox.getSelection());
-}
-/**
- * Opens a file selection dialog and returns a string representing the
- * selected file, or <code>null</code> if the dialog was canceled.
- */
-protected String queryZipFileToImport() {
-	FileDialog dialog = new FileDialog(sourceNameField.getShell(),SWT.OPEN);
-	dialog.setFilterExtensions(new String[] {FILE_IMPORT_MASK});
-	
-	String currentSourceString = sourceNameField.getText();
-	int lastSeparatorIndex = currentSourceString.lastIndexOf(File.separator);
-	if (lastSeparatorIndex != -1)
-		dialog.setFilterPath(currentSourceString.substring(0,lastSeparatorIndex));
-		
-	return dialog.open();
-}
-/**
- *	Repopulate the view based on the currently entered directory.
- */
-protected void resetSelection() {
-
-	super.resetSelection();
-	setAllSelections(true);
-}
-/**
- *	Use the dialog store to restore widget values to the values that they held
- *	last time this wizard was used to completion
- */
-protected void restoreWidgetValues() {
-	IDialogSettings settings = getDialogSettings();
-	if(settings != null) {
-		String[] sourceNames = settings.getArray(STORE_SOURCE_NAMES_ID);
-		if (sourceNames == null)
-			return;		// ie.- no settings stored
-		
-		// set filenames history
-		for (int i = 0; i < sourceNames.length; i++)
-			sourceNameField.add(sourceNames[i]);
-			
-		// radio buttons and checkboxes	
-		overwriteExistingResourcesCheckbox.setSelection(
-			settings.getBoolean(STORE_OVERWRITE_EXISTING_RESOURCES_ID));
-	}
-}
-/**
- * 	Since Finish was pressed, write widget values to the dialog store so that they
- *	will persist into the next invocation of this wizard page.
- *
- *	Note that this method is identical to the one that appears in the superclass.
- *	This is necessary because proper overriding of instance variables is not occurring.
- */
-protected void saveWidgetValues() {
-	IDialogSettings settings = getDialogSettings();
-	if(settings != null) {
-		// update source names history
-		String[] sourceNames = settings.getArray(STORE_SOURCE_NAMES_ID);
-		if (sourceNames == null)
-			sourceNames = new String[0];
-
-		sourceNames = addToHistory(sourceNames,sourceNameField.getText());
-		settings.put(
-			STORE_SOURCE_NAMES_ID,
-			sourceNames);
-
-		// update specific types to import history
-		String[] selectedTypesNames = settings.getArray(STORE_SELECTED_TYPES_ID);
-		if (selectedTypesNames == null)
-			selectedTypesNames = new String[0];
-	
-		settings.put(
-			STORE_OVERWRITE_EXISTING_RESOURCES_ID,
-			overwriteExistingResourcesCheckbox.getSelection());	
-	}
-}
-/**
- *	Answer a boolean indicating whether self's source specification
- *	widgets currently all contain valid values.
- */
-protected boolean validateSourceGroup() {
-
-	//If there is nothing being provided to the input then there is a problem
-	if (this.currentProvider == null) {
-		setMessage(SOURCE_EMPTY_MESSAGE);
-		enableButtonGroup(false);
-		return false;
-	} else {
-		enableButtonGroup(true);
-		return true;
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ZipFileExportOperation.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ZipFileExportOperation.java
deleted file mode 100644
index 488bc8b..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ZipFileExportOperation.java
+++ /dev/null
@@ -1,326 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.jface.operation.*;
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-/**
- *	Operation for exporting a resource and its children to a new .zip file
- */
-/*package*/
-class ZipFileExportOperation implements IRunnableWithProgress {
-	private ZipFileExporter exporter;
-	private String destinationFilename;
-	private IProgressMonitor monitor;
-
-	private List resourcesToExport;
-	private IResource resource;
-	private List errorTable = new ArrayList(1); //IStatus
-
-	private boolean useCompression = true;
-	private boolean createLeadupStructure = true;
-	private boolean generateManifestFile = false;
-	/**
-	 *	Create an instance of this class.  Use this constructor if you wish to
-	 *	export specific resources without a common parent resource
-	 *
-	 *	@param resources java.util.Vector
-	 *	@param filename java.lang.String
-	 */
-	public ZipFileExportOperation(List resources, String filename) {
-		super();
-
-		// Eliminate redundancies in list of resources being exported
-		Iterator elementsEnum = resources.iterator();
-		while (elementsEnum.hasNext()) {
-			IResource currentResource = (IResource) elementsEnum.next();
-			if (isDescendent(resources, currentResource))
-				elementsEnum.remove(); //Removes currentResource;
-		}
-
-		resourcesToExport = resources;
-		destinationFilename = filename;
-	}
-	/**
-	 *  Create an instance of this class.  Use this constructor if you wish
-	 *  to recursively export a single resource.
-	 *
-	 *  @param res org.eclipse.core.resources.IResource;
-	 *  @param filename java.lang.String
-	 */
-	public ZipFileExportOperation(IResource res, String filename) {
-		super();
-		resource = res;
-		destinationFilename = filename;
-	}
-	/**
-	 *  Create an instance of this class.  Use this constructor if you wish to
-	 *  export specific resources with a common parent resource (affects container
-	 *  directory creation)
-	 *
-	 *  @param res org.eclipse.core.resources.IResource
-	 *  @param resources java.util.Vector
-	 *  @param filename java.lang.String
-	 */
-	public ZipFileExportOperation(
-		IResource res,
-		List resources,
-		String filename) {
-		this(res, filename);
-		resourcesToExport = resources;
-	}
-	/**
-	 * Add a new entry to the error table with the passed information
-	 */
-	protected void addError(String message, Throwable e) {
-		errorTable.add(
-			new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, 0, message, e));
-	}
-	/**
-	 *  Answer the total number of file resources that exist at or below self
-	 *  in the resources hierarchy.
-	 *
-	 *  @return int
-	 *  @param resource org.eclipse.core.resources.IResource
-	 */
-	protected int countChildrenOf(IResource resource) throws CoreException {
-		if (resource.getType() == IResource.FILE)
-			return 1;
-
-		int count = 0;
-		if (resource.isAccessible()) {
-			IResource[] children = ((IContainer) resource).members();
-			for (int i = 0; i < children.length; i++)
-				count += countChildrenOf(children[i]);
-		}
-
-		return count;
-	}
-	/**
-	 *	Answer a boolean indicating the number of file resources that were
-	 *	specified for export
-	 *
-	 *	@return int
-	 */
-	protected int countSelectedResources() throws CoreException {
-		int result = 0;
-		Iterator resources = resourcesToExport.iterator();
-		while (resources.hasNext())
-			result += countChildrenOf((IResource) resources.next());
-
-		return result;
-	}
-
-	/**
-	 *  Export the passed resource to the destination .zip. Export with
-	 * no path leadup
-	 *
-	 *  @param resource org.eclipse.core.resources.IResource
-	 */
-	protected void exportResource(IResource resource)
-		throws InterruptedException {
-		exportResource(resource, 1);
-	}
-
-	/**
-	 *  Export the passed resource to the destination .zip
-	 *
-	 *  @param resource org.eclipse.core.resources.IResource
-	 *  @param depth - the number of resource levels to be included in
-	 *   				the path including the resourse itself.
-	 */
-	protected void exportResource(IResource resource, int leadupDepth)
-		throws InterruptedException {
-		if (!resource.isAccessible())
-			return;
-
-		if (resource.getType() == IResource.FILE) {
-			String destinationName;
-			IPath fullPath = resource.getFullPath();
-			if (createLeadupStructure)
-				destinationName = fullPath.makeRelative().toString();
-			else
-				destinationName =
-					fullPath
-						.removeFirstSegments(
-							fullPath.segmentCount() - leadupDepth)
-						.toString();
-			monitor.subTask(destinationName);
-
-			try {
-				exporter.write((IFile) resource, destinationName);
-			} catch (IOException e) {
-				addError(DataTransferMessages.format("DataTransfer.errorExporting", //$NON-NLS-1$
-				new Object[] {
-					resource.getFullPath().makeRelative(),
-					e.getMessage()}),
-					e);
-			} catch (CoreException e) {
-				addError(DataTransferMessages.format("DataTransfer.errorExporting", //$NON-NLS-1$
-				new Object[] {
-					resource.getFullPath().makeRelative(),
-					e.getMessage()}),
-					e);
-			}
-
-			monitor.worked(1);
-			ModalContext.checkCanceled(monitor);
-		} else {
-			IResource[] children = null;
-
-			try {
-				children = ((IContainer) resource).members();
-			} catch (CoreException e) {
-				// this should never happen because an #isAccessible check is done before #members is invoked
-				addError(DataTransferMessages.format("DataTransfer.errorExporting", new Object[] { resource.getFullPath()}), e); //$NON-NLS-1$
-			}
-
-			for (int i = 0; i < children.length; i++)
-				exportResource(children[i], leadupDepth + 1);
-
-		}
-	}
-	/**
-	 *	Export the resources contained in the previously-defined
-	 *	resourcesToExport collection
-	 */
-	protected void exportSpecifiedResources() throws InterruptedException {
-		Iterator resources = resourcesToExport.iterator();
-
-		while (resources.hasNext()) {
-			IResource currentResource = (IResource) resources.next();
-			exportResource(currentResource);
-		}
-	}
-	/**
-	 *	Answer the error table
-	 *
-	 *	@return Vector of IStatus
-	 */
-	public List getResult() {
-		return errorTable;
-	}
-	/**
-	 * Returns the status of the operation.
-	 * If there were any errors, the result is a status object containing
-	 * individual status objects for each error.
-	 * If there were no errors, the result is a status object with error code <code>OK</code>.
-	 *
-	 * @return the status
-	 */
-	public IStatus getStatus() {
-		IStatus[] errors = new IStatus[errorTable.size()];
-		errorTable.toArray(errors);
-		return new MultiStatus(PlatformUI.PLUGIN_ID, IStatus.OK, errors, DataTransferMessages.getString("FileSystemExportOperation.problemsExporting"), //$NON-NLS-1$
-		null);
-	}
-	/**
-	 *	Initialize this operation
-	 *
-	 *	@exception java.io.IOException
-	 */
-	protected void initialize() throws IOException {
-		exporter =
-			new ZipFileExporter(
-				destinationFilename,
-				useCompression,
-				generateManifestFile);
-
-	}
-	/**
-	 *  Answer a boolean indicating whether the passed child is a descendent
-	 *  of one or more members of the passed resources collection
-	 *
-	 *  @return boolean
-	 *  @param resources java.util.Vector
-	 *  @param child org.eclipse.core.resources.IResource
-	 */
-	protected boolean isDescendent(List resources, IResource child) {
-		if (child.getType() == IResource.PROJECT)
-			return false;
-
-		IResource parent = child.getParent();
-		if (resources.contains(parent))
-			return true;
-
-		return isDescendent(resources, parent);
-	}
-	/**
-	 *	Export the resources that were previously specified for export
-	 *	(or if a single resource was specified then export it recursively)
-	 */
-	public void run(IProgressMonitor monitor)
-		throws InvocationTargetException, InterruptedException {
-		this.monitor = monitor;
-
-		try {
-			initialize();
-		} catch (IOException e) {
-			throw new InvocationTargetException(e, DataTransferMessages.format("ZipExport.cannotOpen", new Object[] { e.getMessage()})); //$NON-NLS-1$
-		}
-
-		try {
-			// ie.- a single resource for recursive export was specified
-			int totalWork = IProgressMonitor.UNKNOWN;
-			try {
-				if (resourcesToExport == null)
-					totalWork = countChildrenOf(resource);
-				else
-					totalWork = countSelectedResources();
-			} catch (CoreException e) {
-				// Should not happen
-			}
-			monitor.beginTask(DataTransferMessages.getString("DataTransfer.exportingTitle"), totalWork); //$NON-NLS-1$
-			if (resourcesToExport == null) {
-				exportResource(resource);
-			} else {
-				// ie.- a list of specific resources to export was specified
-				exportSpecifiedResources();
-			}
-
-			try {
-				exporter.finished();
-			} catch (IOException e) {
-				throw new InvocationTargetException(e, DataTransferMessages.format("ZipExport.cannotClose", new Object[] { e.getMessage()})); //$NON-NLS-1$
-			}
-		} finally {
-			monitor.done();
-		}
-	}
-	/**
-	 *	Set this boolean indicating whether each exported resource's path should
-	 *	include containment hierarchies as dictated by its parents
-	 *
-	 *	@param value boolean
-	 */
-	public void setCreateLeadupStructure(boolean value) {
-		createLeadupStructure = value;
-	}
-	/**
-	 *	Set this boolean indicating whether a manifest.mf file based upon
-	 *	the exported contents should be created and included in the final
-	 *	archive
-	 *
-	 *	@param value boolean
-	 */
-	public void setGenerateManifestFile(boolean value) {
-		generateManifestFile = value;
-	}
-	/**
-	 *	Set this boolean indicating whether exported resources should
-	 *	be compressed (as opposed to simply being stored)
-	 *
-	 *	@param value boolean
-	 */
-	public void setUseCompression(boolean value) {
-		useCompression = value;
-	}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ZipFileExportWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ZipFileExportWizard.java
deleted file mode 100644
index b7738a1..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ZipFileExportWizard.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.*;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-
-/**
- * Standard workbench wizard for exporting resources from the workspace
- * to a zip file.
- * <p>
- * This class may be instantiated and used without further configuration;
- * this class is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * IWizard wizard = new ZipFileExportWizard();
- * wizard.init(workbench, selection);
- * WizardDialog dialog = new WizardDialog(shell, wizard);
- * dialog.open();
- * </pre>
- * During the call to <code>open</code>, the wizard dialog is presented to the
- * user. When the user hits Finish, the user-selected workspace resources 
- * are exported to the user-specified zip file, the dialog closes, and the call
- * to <code>open</code> returns.
- * </p>
-  */
-public class ZipFileExportWizard extends Wizard implements IExportWizard {
-	private IWorkbench workbench;
-	private IStructuredSelection selection;
-	private WizardZipFileResourceExportPage1 mainPage;
-/**
- * Creates a wizard for exporting workspace resources to a zip file.
- */
-public ZipFileExportWizard() {
-	AbstractUIPlugin plugin = (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-	IDialogSettings workbenchSettings = plugin.getDialogSettings();
-	IDialogSettings section = workbenchSettings.getSection("ZipFileExportWizard");//$NON-NLS-1$
-	if(section == null)
-		section = workbenchSettings.addNewSection("ZipFileExportWizard");//$NON-NLS-1$
-	setDialogSettings(section);
-}
-/* (non-Javadoc)
- * Method declared on IWizard.
- */
-public void addPages() {
-	super.addPages();
-	mainPage = new WizardZipFileResourceExportPage1(selection);
-	addPage(mainPage);
-}
-/**
- * Returns the image descriptor with the given relative path.
- */
-private ImageDescriptor getImageDescriptor(String relativePath) {
-	String iconPath = "icons/full/";//$NON-NLS-1$
-	try {
-		AbstractUIPlugin plugin = (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-		URL installURL = plugin.getDescriptor().getInstallURL();
-		URL url = new URL(installURL, iconPath + relativePath);
-		return ImageDescriptor.createFromURL(url);
-	}
-	catch (MalformedURLException e) {
-		// Should not happen
-		return null;
-	}
-}
-/* (non-Javadoc)
- * Method declared on IWorkbenchWizard.
- */
-public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
-	this.workbench = workbench;
-	selection = currentSelection;
-
-	setWindowTitle(DataTransferMessages.getString("DataTransfer.export")); //$NON-NLS-1$
-	setDefaultPageImageDescriptor(getImageDescriptor("wizban/exportzip_wiz.gif"));//$NON-NLS-1$
-	setNeedsProgressMonitor(true);
-}
-/* (non-Javadoc)
- * Method declared on IWizard.
- */
-public boolean performFinish() {
-	return mainPage.finish();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ZipFileExporter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ZipFileExporter.java
deleted file mode 100644
index e419d54..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ZipFileExporter.java
+++ /dev/null
@@ -1,173 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.*;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.zip.*;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- *	Exports resources to a .zip file
- */
-/*package*/ class ZipFileExporter {
-	private ZipOutputStream		outputStream;
-	private StringBuffer		manifestContents;
-
-	private boolean				generateManifestFile = false;
-	private boolean				useCompression = true;
-
-	// constants
-	private static final String newline = "\r\n";			// is this platform dependent?//$NON-NLS-1$
-	private static final String	manifestMagic = "Manifest-Version: 1.0" + newline + newline;//$NON-NLS-1$
-	private static final String	nameLabel = "Name: ";//$NON-NLS-1$
-	private static final String	digestsLabel = "Digest-Algorithms: SHA MD5" + newline;//$NON-NLS-1$
-	private static final String shaLabel = "SHA-Digest: ";//$NON-NLS-1$
-	private static final String md5Label = "MD5-Digest: ";//$NON-NLS-1$
-	private static final String	manifestPath = "meta-inf/Manifest.mf";//$NON-NLS-1$
-/**
- *	Create an instance of this class.
- *
- *	@param filename java.lang.String
- *	@param compress boolean
- *	@param includeManifestFile boolean
- *	@exception java.io.IOException
- */
-public ZipFileExporter(String filename,boolean compress,boolean includeManifestFile) throws IOException {
-	outputStream = new ZipOutputStream(new FileOutputStream(filename));
-	useCompression = compress;
-	generateManifestFile = includeManifestFile;
-
-	if (generateManifestFile)
-		manifestContents = new StringBuffer(manifestMagic);
-}
-/**
- *  Create a new entry in the manifest file being constructed.
- *
- *  @param pathname java.lang.String
- *  @param file org.eclipse.core.resources.IFile
- *  @exception java.io.IOException
- *  @exception org.eclipse.core.runtime.CoreException
- */
-protected void appendToManifest(String pathname, IFile file) throws IOException, CoreException {
-	StringBuffer manifestEntry = new StringBuffer();
-	manifestEntry.append(nameLabel);
-	manifestEntry.append(pathname);
-	manifestEntry.append(newline);
-	manifestEntry.append(digestsLabel);
-	manifestEntry.append(shaLabel);
-	
-	byte[] fileContents = null;
-
-	// we don't have to EnsureLocal because it was already done in #write
-	InputStream contentStream = file.getContents(false);
-	Reader in = new InputStreamReader(contentStream);
-	int chunkSize = contentStream.available();
-	StringBuffer buffer = new StringBuffer(chunkSize);
-	char[] readBuffer = new char[chunkSize];
-	int n = in.read(readBuffer);
-	while (n > 0) {
-		buffer.append(readBuffer);
-		n = in.read(readBuffer);
-	}
-	contentStream.close();  
-	fileContents = buffer.toString().getBytes();
-	
-	try {
-		byte[] hashValue = MessageDigest.getInstance("SHA").digest(fileContents);//$NON-NLS-1$
-		manifestEntry.append(Base64Encoder.encode(hashValue));
-		manifestEntry.append(newline);
-		manifestEntry.append(md5Label);
-		hashValue = MessageDigest.getInstance("MD5").digest(fileContents);//$NON-NLS-1$
-		manifestEntry.append(Base64Encoder.encode(hashValue));
-		manifestEntry.append(newline + newline);
-	} catch (NoSuchAlgorithmException e) {
-		// should never happen
-		return;
-	}
-	manifestContents.append(manifestEntry.toString());
-}
-/**
- *	Do all required cleanup now that we're finished with the
- *	currently-open .zip
- *
- *	@exception java.io.IOException
- */
-public void finished() throws IOException {
-	if (generateManifestFile)
-		writeManifestFile();
-		
-	outputStream.close();
-}
-/**
- *	Create a new ZipEntry with the passed pathname and contents, and write it
- *	to the current archive
- *
- *	@param pathname java.lang.String
- *	@param contents byte[]
- *	@exception java.io.IOException
- */
-protected void write(String pathname, byte[] contents) throws IOException {
-	ZipEntry newEntry = new ZipEntry(pathname);
-
-	// if the contents are being compressed then we get the below for free.
-	if (!useCompression) {
-		newEntry.setMethod(ZipEntry.STORED);
-		newEntry.setSize(contents.length);
-		CRC32 checksumCalculator = new CRC32();
-		checksumCalculator.update(contents);
-		newEntry.setCrc(checksumCalculator.getValue());
-	}
-
-	outputStream.putNextEntry(newEntry);
-	outputStream.write(contents);
-	outputStream.closeEntry();
-}
-/**
- *  Write the passed resource to the current archive
- *
- *  @param resource org.eclipse.core.resources.IFile
- *  @param destinationPath java.lang.String
- *  @exception java.io.IOException
- *  @exception org.eclipse.core.runtime.CoreException
- */
-public void write(IFile resource, String destinationPath) throws IOException, CoreException {
-	ByteArrayOutputStream output = null;
-	InputStream contentStream = null;
-
-	try {
-		output = new ByteArrayOutputStream();
-		contentStream = resource.getContents(false);
-		int chunkSize = contentStream.available();
-		byte[] readBuffer = new byte[chunkSize];
-		int n = contentStream.read(readBuffer);
-		
-		while (n > 0) {
-			output.write(readBuffer);
-			n = contentStream.read(readBuffer);
-		}
-	} finally {
-		if (output != null)
-			output.close();
-		if (contentStream != null)
-			contentStream.close();
-	}
-	
-	write(destinationPath,output.toByteArray());
-	if (generateManifestFile)
-		appendToManifest(destinationPath, resource);
-}
-/**
- *	Write the constructed manifest.mf file to the current archive
- *
- *	@exception java.io.IOException
- */
-protected void writeManifestFile() throws IOException {
-	write(manifestPath,manifestContents.toString().getBytes());
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ZipFileImportWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ZipFileImportWizard.java
deleted file mode 100644
index 4870b52..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ZipFileImportWizard.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.*;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * Standard workbench wizard for importing resources from a zip file
- * into the workspace.
- * <p>
- * This class may be instantiated and used without further configuration;
- * this class is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * IWizard wizard = new ZipFileImportWizard();
- * wizard.init(workbench, selection);
- * WizardDialog dialog = new WizardDialog(shell, wizard);
- * dialog.open();
- * </pre>
- * During the call to <code>open</code>, the wizard dialog is presented to the
- * user. When the user hits Finish, the user-selected zip file is imported
- * into the workspace, the dialog closes, and the call to <code>open</code>
- * returns.
- * </p>
- */
-public class ZipFileImportWizard extends Wizard implements IImportWizard {
-	private IWorkbench workbench;
-	private IStructuredSelection selection;
-	private WizardZipFileResourceImportPage1 mainPage;
-/**
- * Creates a wizard for importing resources into the workspace from
- * a zip file.
- */
-public ZipFileImportWizard() {
-	AbstractUIPlugin plugin = (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-	IDialogSettings workbenchSettings = plugin.getDialogSettings();
-	IDialogSettings section = workbenchSettings.getSection("ZipFileImportWizard");//$NON-NLS-1$
-	if(section == null)
-		section = workbenchSettings.addNewSection("ZipFileImportWizard");//$NON-NLS-1$
-	setDialogSettings(section);
-}
-/* (non-Javadoc)
- * Method declared on IWizard.
- */
-public void addPages() {
-	super.addPages();
-	mainPage = new WizardZipFileResourceImportPage1(workbench,selection);
-	addPage(mainPage);
-}
-/**
- * Returns the image descriptor with the given relative path.
- */
-private ImageDescriptor getImageDescriptor(String relativePath) {
-	String iconPath = "icons/full/";//$NON-NLS-1$	
-	try {
-		AbstractUIPlugin plugin = (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-		URL installURL = plugin.getDescriptor().getInstallURL();
-		URL url = new URL(installURL, iconPath + relativePath);
-		return ImageDescriptor.createFromURL(url);
-	}
-	catch (MalformedURLException e) {
-		// Should not happen
-		return null;
-	}
-}
-/* (non-Javadoc)
- * Method declared on IWorkbenchWizard.
- */
-public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
-	this.workbench = workbench;
-	selection = currentSelection;
-
-	setWindowTitle(DataTransferMessages.getString("DataTransfer.importTitle")); //$NON-NLS-1$
-	setDefaultPageImageDescriptor(getImageDescriptor("wizban/importzip_wiz.gif"));//$NON-NLS-1$
-	setNeedsProgressMonitor(true);
-}
-/* (non-Javadoc)
- * Method declared on IWizard.
- */
-public boolean performCancel() {
-	return mainPage.cancel();
-}
-/* (non-Javadoc)
- * Method declared on IWizard.
- */
-public boolean performFinish() {
-	return mainPage.finish();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ZipFileStructureProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ZipFileStructureProvider.java
deleted file mode 100644
index 528eb02..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/ZipFileStructureProvider.java
+++ /dev/null
@@ -1,147 +0,0 @@
-package org.eclipse.ui.wizards.datatransfer;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import java.io.*;
-import java.util.*;
-import java.util.zip.*;
-
-/**
- * This class provides information regarding the context structure and
- * content of specified zip file entry objects.
- */
-public class ZipFileStructureProvider implements IImportStructureProvider {
-	private ZipFile zipFile;
-	private ZipEntry root = new ZipEntry("/");//$NON-NLS-1$
-	private Map children;
-	private Map directoryEntryCache = new HashMap();
-/**
- * Creates a <code>ZipFileStructureProvider</code>, which will operate
- * on the passed zip file.
- */
-public ZipFileStructureProvider(ZipFile sourceFile) {
-	super();
-	zipFile = sourceFile;
-}
-/**
- * Adds the specified child to the internal collection of the parent's children.
- */
-protected void addToChildren(ZipEntry parent, ZipEntry child) {
-	List childList = (List)children.get(parent);
-	if (childList == null) {
-		childList = new ArrayList();
-		children.put(parent,childList);
-	}
-
-	childList.add(child);	
-}
-/**
- * Creates a new container zip entry with the specified name, iff
- * it has not already been created.
- */
-protected void createContainer(IPath pathname) {
-	if (directoryEntryCache.containsKey(pathname))
-		return;
-
-	ZipEntry parent;
-	if (pathname.segmentCount() == 1)
-		parent = root;
-	else
-		parent = (ZipEntry)directoryEntryCache.get(pathname.removeLastSegments(1));
-		
-	ZipEntry newEntry = new ZipEntry(pathname.toString());
-	directoryEntryCache.put(pathname,newEntry);
-	addToChildren(parent,newEntry);
-}
-/**
- * Creates a new file zip entry with the specified name.
- */
-protected void createFile(ZipEntry entry) {
-	IPath pathname = new Path(entry.getName());
-	ZipEntry parent;
-	if (pathname.segmentCount() == 1)
-		parent = root;
-	else
-		parent = (ZipEntry) directoryEntryCache.get(pathname.removeLastSegments(1));
-
-	addToChildren(parent, entry);
-}
-/* (non-Javadoc)
- * Method declared on IImportStructureProvider
- */
-public List getChildren(Object element) {
-	if (children == null)
-		initialize();
-		
-	return ((List)children.get(element));
-}
-/* (non-Javadoc)
- * Method declared on IImportStructureProvider
- */
-public InputStream getContents(Object element) {
-	try {
-		return zipFile.getInputStream((ZipEntry)element);
-	} catch (IOException e) {
-		return null;
-	}
-}
-/* (non-Javadoc)
- * Method declared on IImportStructureProvider
- */
-public String getFullPath(Object element) {
-	return ((ZipEntry)element).getName();
-}
-/* (non-Javadoc)
- * Method declared on IImportStructureProvider
- */
-public String getLabel(Object element) {
-	if (element.equals(root))
-		return ((ZipEntry)element).getName();
-		
-	return new Path(((ZipEntry)element).getName()).lastSegment();
-}
-/**
- * Returns the entry that this importer uses as the root sentinel.
- *
- * @return java.util.zip.ZipEntry
- */
-public ZipEntry getRoot() {
-	return root;
-}
-/**
- * Returns the zip file that this provider provides structure for.
- */
-public ZipFile getZipFile() {
-	return zipFile;
-}
-/**
- * Initializes this object's children table based on the contents of
- * the specified source file.
- */
-protected void initialize() {
-	children = new HashMap(1000);
-	
-	Enumeration entries = zipFile.entries();
-	while (entries.hasMoreElements()) {
-		ZipEntry entry = (ZipEntry)entries.nextElement();
-		if (!entry.isDirectory()) {
-			IPath path = new Path(entry.getName()).addTrailingSeparator();
-			int pathSegmentCount = path.segmentCount();
-			
-			for (int i = 1; i < pathSegmentCount; i++)
-				createContainer(path.uptoSegment(i));
-			createFile(entry);
-		}
-	}
-}
-/* (non-Javadoc)
- * Method declared on IImportStructureProvider
- */
-public boolean isFolder(Object element) {
-	return ((ZipEntry)element).isDirectory();
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/messages.properties b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/messages.properties
deleted file mode 100644
index 2656f2d..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/messages.properties
+++ /dev/null
@@ -1,120 +0,0 @@
-# ==============================================================================
-# (c) Copyright IBM Corp. 2000, 2001.
-# All Rights Reserved.
-# ==============================================================================
-
-# package: org.eclipse.ui.wizards.datatransfer
-
-
-# ==============================================================================
-# Data Transfer Wizards
-# ==============================================================================
-DataTransfer.fileSystemTitle = File system
-ZipExport.exportTitle = Zip file
-
-DataTransfer.browse = B&rowse...
-DataTransfer.selectTypes = Filter &Types...
-DataTransfer.selectAll = &Select All
-DataTransfer.deselectAll = &Deselect All
-
-DataTransfer.typeDelimiter = ,
-DataTransfer.allFiles = All files matching this criteria
-DataTransfer.oneSelected = 1 file selected
-DataTransfer.details = Details...
-DataTransfer.allTypes = All types
-
-DataTransfer.cannotOverwrite = Cannot overwrite file: {0}
-DataTransfer.emptyString = 
-DataTransfer.scanningChildren = Scanning for children...
-DataTransfer.scanningMatching = Scanning for matching files...
-DataTransfer.information = Information
-
-# --- Import Wizards ---
-DataTransfer.importTitle = Import
-
-DataTransfer.importTask = Importing:
-ImportOperation.creatingFolder = Creating folder:
-ImportOperation.cannotCopy = Cannot copy root file system.
-ImportOperation.importProblems = Problems were encountered during import:
-ImportOperation.openStreamError = Error opening input stream for {0}
-ImportOperation.closeStreamError = Could not close input stream for {0}
-ImportOperation.coreImportError = Unable to import {0}.  Reason: {1}
-ImportOperation.targetSameAsSourceError = Unable to import {0}. The file cannot be copied onto itself
-ImportPage.oneSelected = 1 entry selected
-ImportPage.filterSelections = Filtering selection
-
-FileImport.selectSource = Select the source directory.
-FileImport.sourceTitle = Directory:
-FileImport.selectResources = Select the resources to import.
-FileImport.importFileSystem = Import resources from the local file system.
-FileImport.overwriteExisting = &Overwrite existing resources without warning
-FileImport.createComplete = &Create complete folder structure
-FileImport.createSelectedFolders = Create s&elected folders only
-FileImport.selectTypes = Select the types to import.
-FileImport.typeSelectionTitle = Type Selection
-FileImport.noneSelected = There are no resources currently selected for import.
-FileImport.filesofType = Files of type:
-FileImport.edit = Edit...
-FileImport.filesSelected = {0} files selected
-FileImport.invalidSource = Source directory is not valid or has not been specified.
-FileImport.sourceEmpty = Source must not be empty.
-FileImport.importProblems = Import Problems
-FileImport.whichTypesImport = What types of files do you wish to import?
-
-ZipImport.description = Import the contents of a Zip file from the local file system.
-ZipImport.entriesSelected = {0} entries selected
-ZipImport.couldNotClose = Could not close file {0}
-ZipImport.badFormat = Source file is not of proper format.
-ZipImport.couldNotRead = Source file could not be read.
-
-WizardExternalProjectImportPage.locationError = Invalid project contents directory
-WizardExternalProjectImportPage.projectNameEmpty = A valid project name must be specified in the .project file at the Project contents location.
-WizardExternalProjectImportPage.projectLocationEmpty = Project contents directory must be specified
-WizardExternalProjectImportPage.projectExistsMessage = Project already exists.
-WizardExternalProjectImportPage.projectContentsLabel = Project &contents:
-WizardExternalProjectImportPage.nameLabel = &Project name:
-WizardExternalProjectImportPage.browseLabel = B&rowse...
-WizardExternalProjectImportPage.title = Import Project From File System
-WizardExternalProjectImportPage.description = Create a new Project from an Eclipse project in the file system. This does not copy the project to the workspace.
-WizardExternalProjectImportPage.notAProject = {0} does not have a .project file.
-WizardExternalProjectImportPage.errorMessage = Creation Problems
-WizardExternalProjectImportPage.internalError = Internal error: {0}
-WizardExternalProjectImportPage.caseVariantExistsError = The project contents directory specified is being used by another project. Please enter a new project contents directory.
-WizardExternalProjectImportPage.directoryLabel = Select the Project location.
-WizardExternalProjectImportPage.defaultLocationError = Projects under the workspace root must have a matching name and location
-
-
-# --- Export Wizards ---
-DataTransfer.export = Export
-
-DataTransfer.exportingTitle = Exporting:
-DataTransfer.selectDestination = Select the destination directory.
-DataTransfer.directory = Director&y:
-DataTransfer.createTargetDirectory = Target directory does not exist.  Would you like to create it?
-DataTransfer.directoryCreationError = Target directory could not be created.
-DataTransfer.errorExporting = Error exporting {0}: {1}
-DataTransfer.exportProblems = Export Problems
-
-ExportFile.overwriteExisting = &Overwrite existing files without warning
-ExportFile.createDirectoriesForSelected = Create directories for selected folders
-ExportFile.createDirectoryStructure = &Create directory structure
-
-FileExport.exportLocalFileSystem = Export resources to the local file system.
-FileExport.destinationEmpty = Please enter a destination.
-FileExport.createDirectoryStructure = &Create directory structure for files
-FileExport.createSelectedDirectories = Create on&ly selected directories
-FileExport.noneSelected = There are no resources currently selected for export.
-FileExport.directoryExists = Target directory already exists as a file.
-FileExport.conflictingContainer = Destination directory conflicts with location of {0}.
-FileExport.rootName = workspace root
-FileSystemExportOperation.problemsExporting = Problems were encountered during export:
-
-ZipExport.overwriteFile = &Overwrite existing file without warning
-ZipExport.compressContents = Co&mpress the contents of the file
-ZipExport.description = Export resources to a Zip file on the local file system.
-ZipExport.destinationLabel = &Zip file:
-ZipExport.mustBeFile = Export destination must be a file, not a directory.
-ZipExport.alreadyExists = Target file already exists.  Would you like to overwrite it?
-ZipExport.alreadyExistsError = Export destination already exists and cannot be overwritten.
-ZipExport.cannotOpen = Unable to open destination file: {0}
-ZipExport.cannotClose = Unable to close destination file: {0}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/package.html b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/package.html
deleted file mode 100644
index 83c410f..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/datatransfer/package.html
+++ /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">
-   <meta name="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.5 [en] (Win98; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides the standard Import and Export wizards for
-moving resources into and out of the workspace.
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/BasicNewFileResourceWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/BasicNewFileResourceWizard.java
deleted file mode 100644
index 69c8345..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/BasicNewFileResourceWizard.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package org.eclipse.ui.wizards.newresource;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.*;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-import org.eclipse.ui.internal.dialogs.DialogUtil;
-
-/**
- * Standard workbench wizard that create a new file resource in the workspace.
- * <p>
- * This class may be instantiated and used without further configuration;
- * this class is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * IWorkbenchWizard wizard = new BasicNewFileResourceWizard();
- * wizard.init(workbench, selection);
- * WizardDialog dialog = new WizardDialog(shell, wizard);
- * dialog.open();
- * </pre>
- * During the call to <code>open</code>, the wizard dialog is presented to the
- * user. When the user hits Finish, a file resource at the user-specified
- * workspace path is created, the dialog closes, and the call to
- * <code>open</code> returns.
- * </p>
- */
-public class BasicNewFileResourceWizard extends BasicNewResourceWizard {
-	private WizardNewFileCreationPage mainPage;
-/**
- * Creates a wizard for creating a new file resource in the workspace.
- */
-public BasicNewFileResourceWizard() {
-	super();
-}
-/* (non-Javadoc)
- * Method declared on IWizard.
- */
-public void addPages() {
-	super.addPages();
-	mainPage = new WizardNewFileCreationPage("newFilePage1",  getSelection());//$NON-NLS-1$
-	mainPage.setTitle(ResourceMessages.getString("FileResource.pageTitle")); //$NON-NLS-1$
-	mainPage.setDescription(ResourceMessages.getString("FileResource.description")); //$NON-NLS-1$
-	addPage(mainPage);
-}
-/* (non-Javadoc)
- * Method declared on IWorkbenchWizard.
- */
-public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
-	super.init(workbench, currentSelection);
-	setWindowTitle(ResourceMessages.getString("FileResource.shellTitle")); //$NON-NLS-1$
-	setNeedsProgressMonitor(true);
-}
-/* (non-Javadoc)
- * Method declared on BasicNewResourceWizard.
- */
-protected void initializeDefaultPageImageDescriptor() {
-	String iconPath = "icons/full/";//$NON-NLS-1$
-	try {
-		URL installURL = Platform.getPlugin(PlatformUI.PLUGIN_ID).getDescriptor().getInstallURL();
-		URL url = new URL(installURL, iconPath + "wizban/newfile_wiz.gif");//$NON-NLS-1$
-		ImageDescriptor desc = ImageDescriptor.createFromURL(url);
-		setDefaultPageImageDescriptor(desc);
-	}
-	catch (MalformedURLException e) {
-		// Should not happen.  Ignore.
-	}
-}
-/* (non-Javadoc)
- * Method declared on IWizard.
- */
-public boolean performFinish() {
-	IFile file = mainPage.createNewFile();
-	if (file == null)
-		return false;
-
-	selectAndReveal(file);
-
-	// Open editor on new file.
-	IWorkbenchWindow dw = getWorkbench().getActiveWorkbenchWindow();
-	try {
-		IWorkbenchPage page = dw.getActivePage();
-		if (page != null)
-			page.openEditor(file);
-	} catch (PartInitException e) {
-		DialogUtil.openError(
-			dw.getShell(),
-			ResourceMessages.getString("FileResource.errorMessage"), //$NON-NLS-1$
-			e.getMessage(),
-			e);
-	}
-			
-	return true;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/BasicNewFolderResourceWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/BasicNewFolderResourceWizard.java
deleted file mode 100644
index bab9fa8..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/BasicNewFolderResourceWizard.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.eclipse.ui.wizards.newresource;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.WizardNewFolderMainPage;
-
-/**
- * Standard workbench wizard that create a new folder resource in the workspace.
- * <p>
- * This class may be instantiated and used without further configuration;
- * this class is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * IWorkbenchWizard wizard = new BasicNewFolderResourceWizard();
- * wizard.init(workbench, selection);
- * WizardDialog dialog = new WizardDialog(shell, wizard);
- * dialog.open();
- * </pre>
- * During the call to <code>open</code>, the wizard dialog is presented to the
- * user. When the user hits Finish, a folder resource at the user-specified
- * workspace path is created, the dialog closes, and the call to
- * <code>open</code> returns.
- * </p>
- */
-public class BasicNewFolderResourceWizard extends BasicNewResourceWizard {
-	private WizardNewFolderMainPage mainPage;
-/**
- * Creates a wizard for creating a new folder resource in the workspace.
- */
-public BasicNewFolderResourceWizard() {
-	super();
-}
-/* (non-Javadoc)
- * Method declared on IWizard.
- */
-public void addPages() {
-	super.addPages();
-	mainPage = new WizardNewFolderMainPage(ResourceMessages.getString("NewFolder.text"), getSelection()); //$NON-NLS-1$
-	addPage(mainPage);
-}
-/* (non-Javadoc)
- * Method declared on IWorkbenchWizard.
- */
-public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
-	super.init(workbench, currentSelection);
-	setWindowTitle(ResourceMessages.getString("NewFolder.title")); //$NON-NLS-1$
-	setNeedsProgressMonitor(true);
-}
-/* (non-Javadoc)
- * Method declared on BasicNewResourceWizard.
- */
-protected void initializeDefaultPageImageDescriptor() {
-	String iconPath = "icons/full/";//$NON-NLS-1$
-	try {
-		URL installURL = Platform.getPlugin(PlatformUI.PLUGIN_ID).getDescriptor().getInstallURL();
-		URL url = new URL(installURL, iconPath + "wizban/newfolder_wiz.gif");//$NON-NLS-1$
-		ImageDescriptor desc = ImageDescriptor.createFromURL(url);
-		setDefaultPageImageDescriptor(desc);
-	}
-	catch (MalformedURLException e) {
-		// Should not happen.  Ignore.
-	}
-}
-/* (non-Javadoc)
- * Method declared on IWizard.
- */
-public boolean performFinish() {
-	IFolder folder = mainPage.createNewFolder();
-	if (folder == null)
-		return false;
-
-	selectAndReveal(folder);	
-	
-	return true;
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/BasicNewProjectResourceWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/BasicNewProjectResourceWizard.java
deleted file mode 100644
index cb1da1a..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/BasicNewProjectResourceWizard.java
+++ /dev/null
@@ -1,395 +0,0 @@
-package org.eclipse.ui.wizards.newresource;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.lang.reflect.InvocationTargetException;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.*;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
-import org.eclipse.ui.dialogs.WizardNewProjectReferencePage;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-
-/**
- * Standard workbench wizard that creates a new project resource in
- * the workspace.
- * <p>
- * This class may be instantiated and used without further configuration;
- * this class is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * IWorkbenchWizard wizard = new BasicNewProjectResourceWizard();
- * wizard.init(workbench, selection);
- * WizardDialog dialog = new WizardDialog(shell, wizard);
- * dialog.open();
- * </pre>
- * During the call to <code>open</code>, the wizard dialog is presented to the
- * user. When the user hits Finish, a project resource with the user-specified
- * name is created, the dialog closes, and the call to <code>open</code> returns.
- * </p>
- */
-public class BasicNewProjectResourceWizard extends BasicNewResourceWizard
-	implements IExecutableExtension
-{
-	private WizardNewProjectCreationPage mainPage;
-	private WizardNewProjectReferencePage referencePage;
-	
-	// cache of newly-created project
-	private IProject newProject;
-	
-	/**
-	 * The config element which declares this wizard.
-	 */
-	private IConfigurationElement configElement;
-
-	private static String PAGE_PROBLEMS_TITLE = ResourceMessages.getString("NewProject.errorOpeningPage"); //$NON-NLS-1$
-	private static String WINDOW_PROBLEMS_TITLE = ResourceMessages.getString("NewProject.errorOpeningWindow"); //$NON-NLS-1$
-/**
- * Creates a wizard for creating a new project resource in the workspace.
- */
-public BasicNewProjectResourceWizard() {
-	AbstractUIPlugin plugin = (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-	IDialogSettings workbenchSettings = plugin.getDialogSettings();
-	IDialogSettings section = workbenchSettings.getSection("BasicNewProjectResourceWizard");//$NON-NLS-1$
-	if(section == null)
-		section = workbenchSettings.addNewSection("BasicNewProjectResourceWizard");//$NON-NLS-1$
-	setDialogSettings(section);
-}
-/* (non-Javadoc)
- * Method declared on IWizard.
- */
-public void addPages() {
-	super.addPages();
-	
-	mainPage = new WizardNewProjectCreationPage("basicNewProjectPage");//$NON-NLS-1$
-	mainPage.setTitle(ResourceMessages.getString("NewProject.title")); //$NON-NLS-1$
-	mainPage.setDescription(ResourceMessages.getString("NewProject.description")); //$NON-NLS-1$
-	this.addPage(mainPage);
-	
-	// only add page if there are already projects in the workspace
-	if (ResourcesPlugin.getWorkspace().getRoot().getProjects().length > 0) {
-		referencePage = new WizardNewProjectReferencePage("basicReferenceProjectPage");//$NON-NLS-1$
-		referencePage.setTitle(ResourceMessages.getString("NewProject.referenceTitle")); //$NON-NLS-1$
-		referencePage.setDescription(ResourceMessages.getString("NewProject.referenceDescription")); //$NON-NLS-1$
-		this.addPage(referencePage);
-	}
-}
-/**
- * Creates a new project resource with the selected name.
- * <p>
- * In normal usage, this method is invoked after the user has pressed Finish on
- * the wizard; the enablement of the Finish button implies that all controls
- * on the pages currently contain valid values.
- * </p>
- * <p>
- * Note that this wizard caches the new project once it has been successfully
- * created; subsequent invocations of this method will answer the same
- * project resource without attempting to create it again.
- * </p>
- *
- * @return the created project resource, or <code>null</code> if the project
- *    was not created
- */
-private IProject createNewProject() {
-	if (newProject != null)
-		return newProject;
-
-	// get a project handle
-	final IProject newProjectHandle = mainPage.getProjectHandle();
-
-	// get a project descriptor
-	IPath newPath = null;
-	if (!mainPage.useDefaults())
-		newPath = mainPage.getLocationPath();
-		
-	IWorkspace workspace = ResourcesPlugin.getWorkspace();
-	final IProjectDescription description = workspace.newProjectDescription(newProjectHandle.getName());
-	description.setLocation(newPath);
-
-	// update the referenced project if provided
-	if (referencePage != null) {
-		IProject[] refProjects = referencePage.getReferencedProjects();
-		if (refProjects.length > 0)
-			description.setReferencedProjects(refProjects);
-	}
-	
-	// create the new project operation
-	WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-		protected void execute(IProgressMonitor monitor) throws CoreException {
-			createProject(description, newProjectHandle, monitor);
-		}
-	};
-
-	// run the new project creation operation
-	try {
-		getContainer().run(true, true, op);
-	}
-	catch (InterruptedException e) {
-		return null;
-	}
-	catch (InvocationTargetException e) {
-		// ie.- one of the steps resulted in a core exception	
-		Throwable t = e.getTargetException();
-		if (t instanceof CoreException) {
-			if (((CoreException)t).getStatus().getCode() == IResourceStatus.CASE_VARIANT_EXISTS) {
-				MessageDialog.openError(
-					getShell(), 
-					ResourceMessages.getString("NewProject.errorMessage"),  //$NON-NLS-1$
-					ResourceMessages.format("NewProject.caseVariantExistsError", new String[] { newProjectHandle.getName()} )  //$NON-NLS-1$,
-					);	
-			} else {
-				ErrorDialog.openError(
-					getShell(), 
-					ResourceMessages.getString("NewProject.errorMessage"),  //$NON-NLS-1$
-					null, // no special message
-			 		((CoreException) t).getStatus());
-			}
-		} else {
-			// CoreExceptions are handled above, but unexpected runtime exceptions and errors may still occur.
-			Platform.getPlugin(PlatformUI.PLUGIN_ID).getLog().log(
-				new Status(
-					Status.ERROR, 
-					PlatformUI.PLUGIN_ID, 
-					0, 
-					t.toString(),
-					t));
-			MessageDialog.openError(
-				getShell(),
-				ResourceMessages.getString("NewProject.errorMessage"),  //$NON-NLS-1$
-				ResourceMessages.format("NewProject.internalError", new Object[] {t.getMessage()})); //$NON-NLS-1$
-		}
-		return null;
-	}
-
-	newProject = newProjectHandle;
-
-	return newProject;
-}
-/**
- * Creates a project resource given the project handle and description.
- *
- * @param description the project description to create a project resource for
- * @param projectHandle the project handle to create a project resource for
- * @param monitor the progress monitor to show visual progress with
- *
- * @exception CoreException if the operation fails
- * @exception OperationCanceledException if the operation is canceled
- */
-private void createProject(IProjectDescription description, IProject projectHandle, IProgressMonitor monitor) throws CoreException, OperationCanceledException {
-	try {
-		monitor.beginTask("",2000);//$NON-NLS-1$
-
-		projectHandle.create(description, new SubProgressMonitor(monitor,1000));
-
-		if (monitor.isCanceled())
-			throw new OperationCanceledException();
-
-		projectHandle.open(new SubProgressMonitor(monitor,1000));
-
-	} finally {
-		monitor.done();
-	}
-}
-/**
- * Returns the newly created project.
- *
- * @return the created project, or <code>null</code>
- *   if project not created
- */
-public IProject getNewProject() {
-	return newProject;
-}
-/* (non-Javadoc)
- * Method declared on IWorkbenchWizard.
- */
-public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
-	super.init(workbench, currentSelection);
-	setNeedsProgressMonitor(true);
-	setWindowTitle(ResourceMessages.getString("NewProject.windowTitle")); //$NON-NLS-1$
-}
-/* (non-Javadoc)
- * Method declared on BasicNewResourceWizard.
- */
-protected void initializeDefaultPageImageDescriptor() {
-	String iconPath = "icons/full/";//$NON-NLS-1$		
-	try {
-		URL installURL = Platform.getPlugin(PlatformUI.PLUGIN_ID).getDescriptor().getInstallURL();
-		URL url = new URL(installURL, iconPath + "wizban/newprj_wiz.gif");//$NON-NLS-1$
-		ImageDescriptor desc = ImageDescriptor.createFromURL(url);
-		setDefaultPageImageDescriptor(desc);
-	}
-	catch (MalformedURLException e) {
-		// Should not happen.  Ignore.
-	}
-}
-/* (non-Javadoc)
- * Opens a new page with a particular perspective and input.
- */
-private static void openInNewPage(IPerspectiveDescriptor desc) {
-
-	IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-	if (window == null)
-		return;
-
-	// If the active perspective is the same, then reuse it
-	IWorkbenchPage page = window.getActivePage();
-	if (page != null) {
-		IPerspectiveDescriptor persp = page.getPerspective();
-		if (persp != null && persp.getId().equals(desc.getId()))
-			return;
-	}
-
-	// If the perspective is already open, then reuse it.
-	IWorkbenchPage[] pages = window.getPages();
-	for (int i = 0; i < pages.length; i++) {
-		IPerspectiveDescriptor persp = pages[i].getPerspective();
-		if (persp != null && persp.getId().equals(desc.getId())) {
-			window.setActivePage(pages[i]);
-			return;
-		}
-	}
-
-	// Open the page.
-	try {
-		window.openPage(desc.getId(), ResourcesPlugin.getWorkspace().getRoot());
-	} catch (WorkbenchException e) {
-		ErrorDialog.openError(window.getShell(), PAGE_PROBLEMS_TITLE, e.getMessage(), e.getStatus());
-	}
-}
-/* (non-Javadoc)
- * Opens a new window with a particular perspective and input.
- */
-private static void openInNewWindow(IPerspectiveDescriptor desc) {
-
-	// Open the page.
-	try {
-		PlatformUI.getWorkbench().openWorkbenchWindow(
-			desc.getId(),
-			ResourcesPlugin.getWorkspace().getRoot());
-	} catch (WorkbenchException e) {
-		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		ErrorDialog.openError(
-			window.getShell(),
-			WINDOW_PROBLEMS_TITLE,
-			e.getMessage(),
-			e.getStatus());
-	}
-}
-/* (non-Javadoc)
- * Method declared on IWizard.
- */
-public boolean performFinish() {
-	createNewProject();
-	
-	if (newProject == null)
-		return false;
-
-	updatePerspective();
-	selectAndReveal(newProject);
-	
-	return true;
-}
-/* (non-Javadoc)
- * Replaces the current perspective with the new one.
- */
-private static void replaceCurrentPerspective(IPerspectiveDescriptor persp) {
-
-	//Get the active page.
-	IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-	if (window == null)
-		return;
-	IWorkbenchPage page = window.getActivePage();
-	if (page == null)
-		return;
-
-	// Set the perspective.
-	page.setPerspective(persp);
-}
-/**
- * Stores the configuration element for the wizard.  The config element will be used
- * in <code>performFinish</code> to set the result perspective.
- */
-public void setInitializationData(IConfigurationElement cfig, String propertyName, Object data) {
-	configElement = cfig;
-}
-/**
- * Updates the perspective for the active page within the window.
- */
-protected void updatePerspective() {
-	updatePerspective(configElement);
-}
-/**
- * Update the perspective based on the current setting
- * in the workbench preference page.
- * <p>
- * A new project wizard class will need to implement the
- * <code>IExecutableExtension</code> interface so as to gain
- * access to the wizard's <code>IConfigurationElement</code>.
- * That is the configuration element to pass into this method.
- * </p>
- *
- * @see @IWorkbenchPreferenceConstants#OPEN_PERSPECTIVE_WINDOW
- * @see @IWorkbenchPreferenceConstants#OPEN_PERSPECTIVE_PAGE
- * @see @IWorkbenchPreferenceConstants#OPEN_PERSPECTIVE_REPLACE
- * @see @IWorkbenchPreferenceConstants#NO_NEW_PERSPECTIVE
- */
-public static void updatePerspective(IConfigurationElement configElement) {
-	// Do not change perspective if the configuration element is
-	// not specified.
-	if (configElement == null)
-		return;
-		
-	AbstractUIPlugin uiPlugin =
-		(AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-		
-	// Retrieve the new project open perspective preference setting
-	String perspSetting =
-		uiPlugin.getPreferenceStore().getString(
-			IWorkbenchPreferenceConstants.PROJECT_OPEN_NEW_PERSPECTIVE);
-
-	// Return if do not switch perspective setting
-	if (perspSetting.equals(IWorkbenchPreferenceConstants.NO_NEW_PERSPECTIVE))
-		return;
-
-	// Read the requested perspective id to be opened.
-	String perspID = configElement.getAttribute("finalPerspective");//$NON-NLS-1$
-	if (perspID == null)
-		return;
-
-	// Map perspective id to descriptor.
-	IPerspectiveRegistry reg = PlatformUI.getWorkbench().getPerspectiveRegistry();
-	IPerspectiveDescriptor persp = reg.findPerspectiveWithId(perspID);
-	if (persp == null)
-		return;
-
-	// Open perspective in new window setting
-	if (perspSetting.equals(IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_WINDOW)) {
-		openInNewWindow(persp);
-		return;
-	}
-
-	// Open perspective in same window setting
-	if (perspSetting.equals(IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_PAGE)) {
-		openInNewPage(persp);
-		return;
-	}
-
-	// Replace active perspective	setting
-	if (perspSetting.equals(IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_REPLACE)) {
-		replaceCurrentPerspective(persp);
-		return;
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/BasicNewResourceWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/BasicNewResourceWizard.java
deleted file mode 100644
index c9365fd..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/BasicNewResourceWizard.java
+++ /dev/null
@@ -1,160 +0,0 @@
-package org.eclipse.ui.wizards.newresource;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.*;
-import org.eclipse.ui.part.ISetSelectionTarget;
-
-/**
- * Abstract base implementation of the standard workbench wizards
- * that create new resources in the workspace.
- * <p>
- * This class is not intended to be subclassed outside this package.
- * </p>
- */
-public abstract class BasicNewResourceWizard extends Wizard implements INewWizard {
-
-	/**
-	 * The workbench.
-	 */
-	private IWorkbench workbench;
-
-	/**
-	 * The current selection.
-	 */
-	protected IStructuredSelection selection;
-/**
- * Creates an empty wizard for creating a new resource in the workspace.
- */
-protected BasicNewResourceWizard() {
-	super();
-}
-/**
- * Returns the selection which was passed to <code>init</code>.
- *
- * @return the selection
- */
-public IStructuredSelection getSelection() {
-	return selection;
-}
-/**
- * Returns the workbench which was passed to <code>init</code>.
- *
- * @return the workbench
- */
-public IWorkbench getWorkbench() {
-	return workbench;
-}
-/**
- * The <code>BasicNewResourceWizard</code> implementation of this 
- * <code>IWorkbenchWizard</code> method records the given workbench and
- * selection, and initializes the default banner image for the pages
- * by calling <code>initializeDefaultPageImageDescriptor</code>. 
- * Subclasses may extend.
- */
-public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
-	this.workbench = workbench;
-	this.selection = currentSelection;
-	
-	initializeDefaultPageImageDescriptor();
-}
-/**
- * Initializes the default page image descriptor to an appropriate banner.
- * By calling <code>setDefaultPageImageDescriptor</code>.
- * The default implementation of this method uses a generic new wizard image.
- * <p>
- * Subclasses may reimplement.
- * </p>
- */
-protected void initializeDefaultPageImageDescriptor() {
-	String iconPath = "icons/full/";//$NON-NLS-1$
-	try {
-		URL installURL = Platform.getPlugin(PlatformUI.PLUGIN_ID).getDescriptor().getInstallURL();
-		URL url = new URL(installURL, iconPath + "wizban/new_wiz.gif");//$NON-NLS-1$
-		ImageDescriptor desc = ImageDescriptor.createFromURL(url);
-		setDefaultPageImageDescriptor(desc);
-	}
-	catch (MalformedURLException e) {
-		// Should not happen.  Ignore.
-	}
-}
-/**
- * Selects and reveals the newly added resource in all parts
- * of the active workbench window's active page.
- *
- * @see ISetSelectionTarget
- */
-protected void selectAndReveal(IResource newResource) {
-	selectAndReveal(newResource, getWorkbench().getActiveWorkbenchWindow());
-}
-/**
- * Attempts to select and reveal the specified resource in all
- * parts within the supplied workbench window's active page.
- * <p>
- * Checks all parts in the active page to see if they implement <code>ISetSelectionTarget</code>,
- * either directly or as an adapter. If so, tells the part to select and reveal the
- * specified resource.
- * </p>
- *
- * @param resource the resource to be selected and revealed
- * @param window the workbench window to select and reveal the resource
- * 
- * @see ISetSelectionTarget
- */
-public static void selectAndReveal(IResource resource, IWorkbenchWindow window) {
-	// validate the input
-	if (window == null || resource == null)
-		return;
-	IWorkbenchPage page = window.getActivePage();
-	if (page == null)
-		return;
-
-	// get all the view and editor parts
-	List parts = new ArrayList();
-	IWorkbenchPartReference refs[] = page.getViewReferences();
-	for (int i = 0; i < refs.length; i++) {
-		IWorkbenchPart part = refs[i].getPart(false);
-		if(part != null)
-			parts.add(part);
-	}	
-	refs = page.getEditorReferences();
-	for (int i = 0; i < refs.length; i++) {
-		if(refs[i].getPart(false) != null)
-			parts.add(refs[i].getPart(false));
-	}
-	
-	final ISelection selection = new StructuredSelection(resource);
-	Iterator enum = parts.iterator();
-	while (enum.hasNext()) {
-		IWorkbenchPart part = (IWorkbenchPart) enum.next();
-		
-		// get the part's ISetSelectionTarget implementation
-		ISetSelectionTarget target = null;
-		if (part instanceof ISetSelectionTarget)
-			target = (ISetSelectionTarget) part;
-		else
-			target = (ISetSelectionTarget) part.getAdapter(ISetSelectionTarget.class);
-			
-		if (target != null) {
-			// select and reveal resource
-			final ISetSelectionTarget finalTarget = target;
-			window.getShell().getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					finalTarget.selectReveal(selection);
-				}
-			});
-		}
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/ResourceMessages.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/ResourceMessages.java
deleted file mode 100644
index a402de0..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/ResourceMessages.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.ui.wizards.newresource;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps managing messages
- */
-class ResourceMessages {
-	private static final String RESOURCE_BUNDLE= "org.eclipse.ui.wizards.newresource.messages";//$NON-NLS-1$
-	private static ResourceBundle bundle = ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-private ResourceMessages(){
-	// prevent instantiation of class
-}
-/**
- * Returns the formatted message for the given key in
- * the resource bundle. 
- *
- * @param key the resource name
- * @param args the message arguments
- * @return the string
- */	
-public static String format(String key, Object[] args) {
-	return MessageFormat.format(getString(key),args);
-}
-/**
- * Returns the resource object with the given key in
- * the resource bundle. If there isn't any value under
- * the given key, the key is returned.
- *
- * @param key the resource name
- * @return the string
- */	
-public static String getString(String key) {
-	try {
-		return bundle.getString(key);
-	} catch (MissingResourceException e) {
-		return key;
-	}
-}
-}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/messages.properties b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/messages.properties
deleted file mode 100644
index e6dabbb..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/messages.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-# ==============================================================================
-# (c) Copyright IBM Corp. 2000, 2001.
-# All Rights Reserved.
-# ==============================================================================
-
-# package: org.eclipse.ui.wizards.newresource
-
-
-# ==============================================================================
-# New Resource Wizards
-# ==============================================================================
-FileResource.shellTitle = New File
-FileResource.pageTitle = File
-FileResource.description = Create a new file resource.
-FileResource.errorMessage = Problems Opening Editor
-
-NewFolder.title = New Folder
-NewFolder.text = Folder
-
-NewProject.windowTitle = New Project
-NewProject.title = Project
-NewProject.description = Create a new project resource.
-NewProject.referenceTitle = Project References
-NewProject.refeerenceTitle = Project
-NewProject.referenceDescription = Select referenced projects.
-NewProject.errorOpeningPage = Problems Opening Page
-NewProject.errorOpeningWindow = Problems Opening Window
-NewProject.errorMessage = Creation Problems
-NewProject.internalError = Internal error: {0}
-NewProject.caseVariantExistsError = The underlying file system is case insensitive. There is an existing project which conflicts with ''{0}''.
-
-NewLink.pageTitle = Link
-NewLink.fileDescription = Link the new file to a file on the file system.
-NewLink.folderDescription = Link the new folder to a folder on the file system. The contents of the file system folder will appear in the workspace.
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/package.html b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/package.html
deleted file mode 100644
index e7bcb60..0000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/newresource/package.html
+++ /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">
-   <meta name="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.5 [en] (Win98; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides the standard wizards for creating files,
-folders, and projects in the workspace.
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.workbench/about.html b/bundles/org.eclipse.ui.workbench/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/bundles/org.eclipse.ui.workbench/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/bundles/org.eclipse.ui.workbench/build.properties b/bundles/org.eclipse.ui.workbench/build.properties
deleted file mode 100644
index 5583c08..0000000
--- a/bundles/org.eclipse.ui.workbench/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-bin.includes = icons/,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-               *.jar
-src.includes = about.html
-source.workbench.jar = Eclipse UI/,\
-                       Eclipse UI Editor Support/
diff --git a/bundles/org.eclipse.ui.workbench/plugin.properties b/bundles/org.eclipse.ui.workbench/plugin.properties
deleted file mode 100644
index bff279d..0000000
--- a/bundles/org.eclipse.ui.workbench/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-pluginName= Workbench
-providerName= Eclipse.org
diff --git a/bundles/org.eclipse.ui.workbench/plugin.xml b/bundles/org.eclipse.ui.workbench/plugin.xml
deleted file mode 100644
index e162ca3..0000000
--- a/bundles/org.eclipse.ui.workbench/plugin.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-   id="org.eclipse.ui.workbench"
-   name="%pluginName"
-   version="2.1.0"
-   provider-name="%providerName"
-   class="org.eclipse.ui.internal.WorkbenchPlugin">
-   <runtime>
-      <library name="workbench.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.ui, org.eclipse.jface"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.apache.xerces"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.update.core"/>
-      <import plugin="org.eclipse.help"/>
-      <import plugin="org.eclipse.jface"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.swt" export="true"/>
-   </requires>
-</plugin>
diff --git a/bundles/org.eclipse.ui.workbench/scripts/exportplugin.xml b/bundles/org.eclipse.ui.workbench/scripts/exportplugin.xml
deleted file mode 100644
index 07f060b..0000000
--- a/bundles/org.eclipse.ui.workbench/scripts/exportplugin.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<project name="Export Workbench" default="export" basedir="..">
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="plugin"  value="org.eclipse.ui.workbench" />
-		<property name="version"  value="_2.1.0" />
-		<property name="dest"  value="${destdir}/${plugin}${version}" />
-	</target>
-
-	<target name="build" depends="init">
-    	<eclipse.incrementalBuild project="${plugin}" kind="incr"/>
-	</target>
-
-	<target name="export" depends="build">
-		<mkdir dir="${destdir}" />
-		<delete dir="${dest}" />
-		<mkdir dir="${dest}" />
-		<jar 
-			jarfile="${dest}/workbench.jar"
-			basedir="bin"
-		/>
-		<copy file="plugin.xml" todir="${dest}"/>
-		<copy file="plugin.properties" todir="${dest}"/>
-		<copy todir="${dest}/icons">
-			<fileset dir="icons" />
-		</copy>
-		<zip zipfile="${dest}/workbenchsrc.zip">
-		    <fileset dir="Eclipse UI" />
-		    <fileset dir="extensions" />
-		    <fileset dir="Eclipse UI Editor Support" />
-  		</zip>				
-	</target>
-
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui/.classpath b/bundles/org.eclipse.ui/.classpath
deleted file mode 100644
index eab4b51..0000000
--- a/bundles/org.eclipse.ui/.classpath
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<classpath>

-    <classpathentry kind="src" path="src"/>

-    <classpathentry kind="src" path="/org.eclipse.core.boot"/>

-    <classpathentry kind="src" path="/org.apache.xerces"/>

-    <classpathentry kind="src" path="/org.eclipse.core.resources"/>

-    <classpathentry kind="src" path="/org.eclipse.help"/>

-    <classpathentry exported="true" kind="src" path="/org.eclipse.swt"/>

-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>

-    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>

-    <classpathentry kind="src" path="/org.eclipse.update.core"/>

-    <classpathentry exported="true" kind="src" path="/org.eclipse.text"/>

-    <classpathentry exported="true" kind="src" path="/org.eclipse.jface"/>

-    <classpathentry exported="true" kind="src" path="/org.eclipse.jface.text"/>

-    <classpathentry exported="true" kind="src" path="/org.eclipse.ui.workbench"/>

-    <classpathentry exported="true" kind="src" path="/org.eclipse.ui.workbench.texteditor"/>

-    <classpathentry exported="true" kind="src" path="/org.eclipse.ui.views"/>

-    <classpathentry exported="true" kind="src" path="/org.eclipse.ui.editors"/>

-    <classpathentry kind="output" path="bin"/>

-</classpath>

diff --git a/bundles/org.eclipse.ui/.cvsignore b/bundles/org.eclipse.ui/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.ui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui/.options b/bundles/org.eclipse.ui/.options
deleted file mode 100644
index f728456..0000000
--- a/bundles/org.eclipse.ui/.options
+++ /dev/null
@@ -1,31 +0,0 @@
-# Debugging options for the org.eclipse.iu plugin.

-

-# Turn on debugging for the org.eclipse.iu plugin.

-org.eclipse.ui/debug=true

-

-# Show a dialog with details button when an internal error occur.

-org.eclipse.ui/debug/internalerror/openDialog=false

-

-# Enable the trace of SWT graphics.

-org.eclipse.ui/trace/graphics=false

-

-# Reports the time to create a part.

-org.eclipse.ui/trace/part.create=false

-

-# Reports the time to create a switch perspectives.

-org.eclipse.ui/trace/perspective=false

-

-# Reports the time to restore the workbench.

-org.eclipse.ui/trace/workbench.restore=false

-

-# Reports the time to start up the workbench.

-org.eclipse.ui/trace/workbench.start=false

-

-# Reports the time to activate parts.

-org.eclipse.ui/trace/part.activate=false

-

-# Reports the time to noticy part listeners.

-org.eclipse.ui/trace/part.listeners=false

-

-# Reports the time to run an action

-org.eclipse.jface/trace/actions=false
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui/.project b/bundles/org.eclipse.ui/.project
deleted file mode 100644
index f95895e..0000000
--- a/bundles/org.eclipse.ui/.project
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.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.help</project>

-		<project>org.eclipse.jface</project>

-		<project>org.eclipse.jface.text</project>

-		<project>org.eclipse.swt</project>

-		<project>org.eclipse.text</project>

-		<project>org.eclipse.ui.editors</project>

-		<project>org.eclipse.ui.views</project>

-		<project>org.eclipse.ui.workbench</project>

-		<project>org.eclipse.ui.workbench.texteditor</project>

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

-	</projects>

-	<buildSpec>

-		<buildCommand>

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

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

-			<name>org.eclipse.pde.ManifestBuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

-			<name>org.eclipse.pde.SchemaBuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-	</buildSpec>

-	<natures>

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

-		<nature>org.eclipse.pde.PluginNature</nature>

-	</natures>

-</projectDescription>

diff --git a/bundles/org.eclipse.ui/about.html b/bundles/org.eclipse.ui/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/bundles/org.eclipse.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/bundles/org.eclipse.ui/build.properties b/bundles/org.eclipse.ui/build.properties
deleted file mode 100644
index c4995a2..0000000
--- a/bundles/org.eclipse.ui/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-bin.includes = doc/,\

-               icons/,\

-               .options,\

-               plugin.properties,\

-               plugin.xml,\

-               about.html,\

-               *.jar

-src.includes = about.html,\

-               schema/

-source.ui.jar = src/

diff --git a/bundles/org.eclipse.ui/buildnotes_workbench.html b/bundles/org.eclipse.ui/buildnotes_workbench.html
deleted file mode 100644
index 536930a..0000000
--- a/bundles/org.eclipse.ui/buildnotes_workbench.html
+++ /dev/null
@@ -1,579 +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="Build">

-   <meta name="GENERATOR" content="Microsoft FrontPage 4.0">

-   <title>Eclipse Platform Release Notes - Workbench</title>

-</head>

-<body>

-

-<h1>

-Eclipse Platform Build Notes<br>

-Workbench</h1>

-Eclipse Integration Build 20030128

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

-<h3>Other highlights</h3>

-<h2>Known deficiencies</h2>

-<h2>Problem reports fixed</h2>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2003%2F01%2F14&amp;chfieldto=2003%2F01%2F28&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-between 2003/01/14 and 2003/01/28.

-<p>&nbsp;

-<hr SIZE="0" WIDTH="100%">

-

-Eclipse Integration Build 20030114

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

-<p><b>New Action Definition API</b></p>

-<p>When defining an action via the actionSets, editorActions, or popupMenus

-extension points, there is new support for radio style behavior. A new attribute

-called &quot;style&quot; was added and can have one of the following values:

-&quot;push&quot;, &quot;radio&quot;, &quot;toggle&quot;, and &quot;pulldown&quot;.

-The previous &quot;pulldown&quot; attribute has been deprecated. Also, the

-previous &quot;state&quot; attribute has a new purpose when the

-&quot;style&quot; attribute is defined. See the extension point documentation

-for details on how to use these attributes. Actions defined prior to this change

-are still supported for backward compatibility, but developers are encouraged to

-use the new attributes.</p>

-<h3>Other highlights</h3>

-<h2>Known deficiencies</h2>

-<h2>Problem reports fixed</h2>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2002%2F12%2F16&amp;chfieldto=2003%2F01%2F14&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-between 2002/12/16 and 2003/01/14.

-<p>&nbsp;

-<hr SIZE="0" WIDTH="100%">

-

-Eclipse Integration Build 200201216

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

-<p><b>Support added for drag-and-drop from view to editor area</b>.

-You can now drag-and-drop a file from a view like the Navigator to the editor area 

-to open it using an internal editor.  The editor area understands the following drop

-targets:

-<ul>

-<li>ResourceTransfer</li>

-<li>MarkerTransfer</li>

-<li>EditorInputTransfer (new)</li>

-</ul>

-<p><b>Preference added for showing Tasks view when errors in build</b>.

-</p>

-<h3>Other highlights</h3>

-<h2>Known deficiencies</h2>

-<h2>Problem reports fixed</h2>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2002%2F12%2F03&amp;chfieldto=2002%2F12%2F16&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-between 2002/12/03 and 2002/12/16.

-<p>&nbsp;

-<hr SIZE="0" WIDTH="100%">

-

-Eclipse Integration Build 200201203

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

-<p><b><u>Support added for declarative fonts</u></b>. There is a new extension

-point fontDefinition for defining fonts so that they can be viewed and managed

-by the workbench fonts preference page. There is also a defaultTo attribute

-which when set keeps the entry for the fontDefinition consistent with the

-defaultsTo entry if the preference for the fontDefinition is not set.</p>

-<p>For example if a font called org.eclipse.myplugin.textfont had a defaultsTo

-of org.eclipse.jface.textfont the value in the font registry for

-org.eclipse.myplugin.textfont will be the same as the value for

-org.eclipse.jface.textfont until the user sets a preference for

-org.eclipse.myplugin.textfont .</p>

-<h3>Other highlights</h3>

-<h2>Known deficiencies</h2>

-<h2>Problem reports fixed</h2>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2002%2F11%2F26&amp;chfieldto=2002%2F12%2F02&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-between 2002/11/26 and 2002/12/03.

-<p>&nbsp;

-<hr SIZE="0" WIDTH="100%">

-Eclipse Integration Build 200201126

-<h2>

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

-

-<p><u><b>Support added for under lays in the lightweight decorator.</b></u>&nbsp;

-The lightweight decorator now supports the value UNDERLAY which will underlay an

-image below the main image. Under lays should be of size 16x16. Current the <i>quadrant</i>

-tag will support the keyword UNDERLAY. <i>quadrant</i> will be replaced by the

-tag <i>location</i> by M4. This build will support both.&nbsp;</p>

-

-<h3>

-Other highlights</h3>

-

-<h2>

-Known deficiencies</h2>

-

-<h2>

-Problem reports fixed</h2>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2002%2F11%2F18&amp;chfieldto=2002%2F11%2F26&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-between 2002/11/18 and 2002/11/26.

-<p>

-<hr SIZE=0 WIDTH="100%">

-

-Eclipse Integration Build 200201118

-<h2>

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

-

-<h3>

-Other highlights</h3>

-

-<h2>

-Known deficiencies</h2>

-

-<h2>

-Problem reports fixed</h2>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2002%2F11%2F13&amp;chfieldto=2002%2F11%2F18&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-between 2002/11/13 and 2002/11/18.

-<p>

-<hr SIZE=0 WIDTH="100%">

-

-Eclipse Integration Build 200201113

-<h2>

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

-

-<p>Lightweight decorators have been added to the decorators specification. A

-lightweight decorator either has a class that implements

-org.eclipse.jface.viewers.ILightweightLabelDecorator or is entirely declarative

-and is defined using an icon and quadrant. See <a href="doc/org_eclipse_ui_decorators.html">org_eclipse_ui_decorators.html</a>

-for more details.</p>

-

-<h3>

-Other highlights</h3>

-

-<h2>

-Known deficiencies</h2>

-

-<h2>

-Problem reports fixed</h2>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2002%2F11%2F12&amp;chfieldto=2002%2F11%2F13&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-between 2002/11/12 and 2002/11/13.

-<p>

-<hr SIZE=0 WIDTH="100%">

-

-<p>

-Eclipse Integration Build 200201112</p>

-<h2>

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

-

-<h3>

-Other highlights</h3>

-

-<h2>

-Known deficiencies</h2>

-

-<h2>

-Problem reports fixed</h2>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2002%2F11%2F05&amp;chfieldto=2002%2F11%2F11&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-between 2002/11/05 and 2002/11/12.

-<p>

-<hr SIZE=0 WIDTH="100%">

-

-<p>

-&nbsp;</p>

-Eclipse Integration Build 200201105

-<h2>

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

-

-<h3>

-Other highlights</h3>

-

-<h2>

-Known deficiencies</h2>

-

-<h2>

-Problem reports fixed</h2>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2002%2F10%2F29&amp;chfieldto=2002%2F11%2F05&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-between 2002/10/29 and 2002/11/05.

-<p>

-<hr SIZE=0 WIDTH="100%">

-

-<p>

-&nbsp;</p>

-Eclipse Integration Build 200201029

-<h2>

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

-

-<h3>

-Other highlights</h3>

-

-<h2>

-Known deficiencies</h2>

-

-<h2>

-Problem reports fixed</h2>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2002%2F10%2F22&amp;chfieldto=2002%2F10%2F29&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-between 2002/10/22 and 2002/10/29.

-<p>

-<hr SIZE=0 WIDTH="100%">

-

-<p>

-&nbsp;</p>

-Eclipse Integration Build 200201022

-<h2>

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

-

-<h3>

-Other highlights</h3>

-

-<h2>

-Known deficiencies</h2>

-

-<h2>

-Problem reports fixed</h2>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2002%2F10%2F16&amp;chfieldto=2002%2F10%2F22&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-between 2002/10/16 and 2002/10/22.

-<p>

-<hr SIZE=0 WIDTH="100%">

-

-<p>

-&nbsp;</p>

-Eclipse Integration Build 200201016

-<h2>

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

-

-<h3>

-Other highlights</h3>

-

-<h2>

-Known deficiencies</h2>

-

-<h2>

-Problem reports fixed</h2>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2002%2F10%2F14&amp;chfieldto=2002%2F10%2F16&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-between 2002/10/14 and 2002/10/16.

-<p>

-<hr SIZE=0 WIDTH="100%">

-

-<p>

-&nbsp;</p>

-Eclipse Integration Build 200201014

-<h2>

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

-

-<h3>

-Other highlights</h3>

-

-<h2>

-Known deficiencies</h2>

-

-<h2>

-Problem reports fixed</h2>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2002%2F10%2F08&amp;chfieldto=2002%2F10%2F14&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-between 2002/10/08 and 2002/10/14.

-<p>

-<hr SIZE=0 WIDTH="100%">

-

-<p>

-&nbsp;</p>

-Eclipse Integration Build 200201008

-<h2>

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

-

-<h3>

-Other highlights</h3>

-

-<h2>

-Known deficiencies</h2>

-

-<h2>

-Problem reports fixed</h2>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2002%2F10%2F01&amp;chfieldto=2002%2F10%2F08&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-between 2002/10/01 and 2002/10/08.

-<p>

-<hr SIZE=0 WIDTH="100%">

-

-<p>

-&nbsp;</p>

-Eclipse Integration Build 200201001

-<h2>

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

-

-<p><b>API Additions</b></p>

-<p>Directly editing working sets</p>

-<p>This addresses bug 17945. A new interface IWorkingSetEditWizard lets you edit

-a working set using the edit wizard page associated with the working set.</p>

-<p>Use IWorkingSetEditWizard.getSelection to query the edited working set once

-the wizard is closed.</p>

-<p>Use IWorkingSetManager.createWorkingSetEditWizard(IWorkingSet) to create an

-IWorkingSetEditWizard for a given working se<font FACE="Helv" SIZE="2">t.</p>

-</font>

-<p>

-&nbsp;</p>

-

-<h3>

-Other highlights</h3>

-

-<h2>

-Known deficiencies</h2>

-

-<h2>

-Problem reports fixed</h2>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2002%2F09%2F24&amp;chfieldto=2002%2F10%2F01&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-between 2002/09/24 and 2002/10/01.

-<p>

-<hr SIZE=0 WIDTH="100%">

-

-<h1>

-Eclipse Platform Build Notes<br>

-Workbench</h1>

-Eclipse Integration Build 20020924

-<h2>

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

-

-<h3>

-Other highlights</h3>

-

-<h2>

-Known deficiencies</h2>

-

-<h2>

-Problem reports fixed</h2>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2002%2F09%2F19&amp;chfieldto=2002%2F09%2F24&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-between 2002/09/19 and 2002/09/24.

-<p>

-<hr SIZE=0 WIDTH="100%">

-

-<h1>

-Eclipse Platform Build Notes<br>

-Workbench</h1>

-Eclipse Integration Build 20020919

-<h2>

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

-

-<h3>

-Other highlights</h3>

-

-<h2>

-Known deficiencies</h2>

-

-<h2>

-Problem reports fixed</h2>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2002%2F09%2F17&amp;chfieldto=2002%2F09%2F19&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-between 2002/09/17 and 2002/09/19.

-<p>

-<hr SIZE=0 WIDTH="100%">

-

-<h1>

-Eclipse Platform Build Notes<br>

-Workbench</h1>

-Eclipse Integration Build 20020917

-<h2>

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

-

-<h3>

-Other highlights</h3>

-

-<h2>

-Known deficiencies</h2>

-

-<h2>

-Problem reports fixed</h2>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2002%2F08%2F20&amp;chfieldto=2002%2F09%2F17&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-between 2002/08/20 and 2002/09/17.

-<p>

-<hr SIZE=0 WIDTH="100%">

-

-<h1>

-Eclipse Platform Build Notes<br>

-Workbench</h1>

-Eclipse Integration Build 20020820

-<h2>

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

-

-<h3>

-API changes</h3>

-

-<h3>

-API additions</h3>

-

-<p>Due to strong demand from the community we have added a ColorSelector which

-is a wrapper for a button that displays a selected color and opens a ColorDialog

-when selected. This is now in use by the ColorFieldEditor.</p>

-<p>This class is pretty much the same as the following ones which appear to have

-been copied from the ColorFieldEditor:</p>

-<ul>

-  <li>org.eclipse.compare.internal.ColorEditor</li>

-  <li>org.eclipse.jdt.internal.ui.preferences.ColorEditor</li>

-  <li>org.eclipse.search.internal.ui.SearchPreferencePage.ColorEditor.</li>

-</ul>

-<p>The classes using these editors should be able switch to the new JFace one

-without any serious changes.</p>

-

-<h3>

-Other highlights</h3>

-

-<h2>

-Known deficiencies</h2>

-

-<h2>

-Problem reports fixed</h2>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2002%2F08%2F13&amp;chfieldto=2002%2F08%2F20&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-between 2002/08/13 and 2002/08/20.

-<p>

-<hr SIZE=0 WIDTH="100%">

-

-<h1>

-Eclipse Platform Build Notes<br>

-Workbench</h1>

-Eclipse Integration Build 20020813

-<h2>

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

-

-<h3>

-API changes</h3>

-

-<h3>

-API additions</h3>

-

-<h3>

-Other highlights</h3>

-

-<h2>

-Known deficiencies</h2>

-

-<h2>

-Problem reports fixed</h2>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2002%2F07%2F23&amp;chfieldto=2002%2F08%2F13&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-between 2002/07/23 and 2002/08/13.

-<p>

-<hr SIZE=0 WIDTH="100%">

-

-<h1>

-Eclipse Platform Build Notes<br>

-Workbench</h1>

-Eclipse Integration Build 20020723

-<h2>

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

-

-<h3>

-API changes</h3>

-

-<h3>

-API additions</h3>

-

-<h3>

-Other highlights</h3>

-

-<h2>

-Known deficiencies</h2>

-

-<h2>

-Problem reports fixed</h2>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F07%2F16&chfieldto=2002%2F07%2F23&product=Platform&component=UI&cmdtype=doit&&order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-between 2002/07/16 and 2002/07/23.

-<p>

-<hr SIZE=0 WIDTH="100%">

-<h1>

-Eclipse Platform Build Notes<br>

-Workbench</h1>

-Eclipse Integration Build 20020716

-<h2>

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

-

-<h3>

-API changes</h3>

-

-<h3>

-API additions</h3>

-

-<h3>

-Other highlights</h3>

-

-<h2>

-Known deficiencies</h2>

-

-<h2>

-Problem reports fixed</h2>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2002%2F07%2F03&chfieldto=2002%2F07%2F16&product=Platform&component=UI&cmdtype=doit&&order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-between 2002/07/03 and 2002/07/16.

-<p>

-<hr SIZE=0 WIDTH="100%">

-<h1>

-Eclipse Platform Build Notes<br>

-Workbench</h1>

-Eclipse Integration Build 20020627

-<h2>

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

-

-<h3>

-API changes</h3>

-

-<h3>

-API additions</h3>

-

-<h3>

-Other highlights</h3>

-

-<h2>

-Known deficiencies</h2>

-

-<h2>

-Problem reports fixed</h2>

-

-<hr SIZE=0 WIDTH="100%">

-<h1>

-Eclipse Platform Build Notes<br>

-Workbench</h1>

-Eclipse Integration Build 20020626

-<h2>

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

-

-<h3>

-API changes</h3>

-

-<h3>

-API additions</h3>

-

-<h3>

-Other highlights</h3>

-

-<h2>

-Known deficiencies</h2>

-

-<h2>

-Problem reports fixed</h2>

-

-<hr SIZE=0 WIDTH="100%">

-<h1>

-Eclipse Platform Build Notes<br>

-Workbench</h1>

-Eclipse Integration Build 20020625

-<h2>

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

-

-<h3>

-API changes</h3>

-

-<h3>

-API additions</h3>

-

-<h3>

-Other highlights</h3>

-

-<h2>

-Known deficiencies</h2>

-

-<h2>

-Problem reports fixed</h2>

-20256 - Why switch to resource persp when opening Welcome editor?

-<br>

-<hr SIZE=0 WIDTH="100%">

-</body>

-</html>

diff --git a/bundles/org.eclipse.ui/doc/hglegal.htm b/bundles/org.eclipse.ui/doc/hglegal.htm
deleted file mode 100644
index b071dbd..0000000
--- a/bundles/org.eclipse.ui/doc/hglegal.htm
+++ /dev/null
@@ -1,14 +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="GENERATOR" content="Mozilla/4.73 [en] (Win98; U) [Netscape]">

-   <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/bundles/org.eclipse.ui/doc/hglegal2002.htm b/bundles/org.eclipse.ui/doc/hglegal2002.htm
deleted file mode 100644
index e1aabb6..0000000
--- a/bundles/org.eclipse.ui/doc/hglegal2002.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. and others 2000, 2002. All Rights Reserved.

-</body>

-</html>

diff --git a/bundles/org.eclipse.ui/doc/ngibmcpy.gif b/bundles/org.eclipse.ui/doc/ngibmcpy.gif
deleted file mode 100644
index 360f8e9..0000000
--- a/bundles/org.eclipse.ui/doc/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/doc/ngibmcpy2002.gif b/bundles/org.eclipse.ui/doc/ngibmcpy2002.gif
deleted file mode 100644
index 61cef48..0000000
--- a/bundles/org.eclipse.ui/doc/ngibmcpy2002.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_acceleratorConfigurations.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_acceleratorConfigurations.html
deleted file mode 100644
index b79ef7b..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_acceleratorConfigurations.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Accelerator Configurations</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.ui.acceleratorConfigurations<p>
-<b><i>Since: </i></b>Release 2.0<p>
-<b><i>Description: </i></b>This extension point is used to register accelerator configuration extensions. Accelerator configurations are configurations to which accelerator sets may be registered. The workbench allows the user to select an accelerator configuration from the Workbench preference page. Only one accelerator configuration may be active at a time. 
-<p>
-An accelerator configuration represents a general style or theme of accelerators for Workbench actions. For example, the Workbench provides the "Emacs" accelerator configuration. When the "Emacs" accelerator configuration is active, accelerators belonging to accelerator sets registered to the "Emacs" configuration are active. These accelerators are defined to mimic the accelerators in Emacs (a popular text editor amongst developers). 
-<p>
-An accelerator set registers with an accelerator configuration by listing the configuration's id as the value of its "configurationId" attribute (see the Accelerator Sets extension point). Many accelerator sets can be registered to the same accelerator configuration. 
-<p>
-Note the accelerator configuration name presented to the user is the same as the value of the attribute "name" of the extension element of org.eclipse.ui.acceleratorConfigurations extension point.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (acceleratorConfiguration*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT acceleratorConfiguration EMPTY&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST acceleratorConfiguration</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;description&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>id</b> - a unique name that can be used to identify this accelerator configuration.</li><li><b>name</b> - a translatable name of the accelerator configuration to be presented to the user.</li><li><b>description</b> - a short description of the accelerator configuration.</li></ul>
-<b><i>Examples: </i></b>Following is an example of an accelerator configuration extension: 
-<p>
-<pre>
-   &lt;extension point=&quot;org.eclipse.ui.acceleratorConfigurations&quot;&gt; 
-      &lt;acceleratorConfiguration 
-        id=&quot;org.eclipse.ui.viAcceleratorConfiguration&quot; 
-        name=&quot;VI&quot; 
-        description=&quot;VI style accelerator configuration&quot;&gt; 
-      &lt;/acceleratorConfiguration&gt; 
-      &lt;acceleratorConfiguration 
-        id=&quot;org.eclipse.ui.jonDoeAcceleratorConfiguration&quot; 
-        name=&quot;Jon Doe&quot; 
-        description=&quot;Personal accelerator configuration for Jon Doe&quot;&gt; 
-      &lt;/acceleratorConfiguration&gt; 
-   &lt;/extension&gt;
-</pre>
-</p><p>
-<b><i>Supplied Implementation: </i></b>The workbench provides the Default and Emacs accelerator configurations.<p>
-<p>
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_acceleratorScopes.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_acceleratorScopes.html
deleted file mode 100644
index 4daa3b9..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_acceleratorScopes.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Accelerator Scopes</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.ui.acceleratorScopes<p>
-<b><i>Since: </i></b>Release 2.0<p>
-<b><i>Description: </i></b>This extension point is used to register accelerator scope extensions. Accelerator scopes are scopes for which accelerator sets may be applicable. For example, if an accelerator set is applicable for the scope entitled "Text Editor Scope", the accelerators of that accelerator set will only operate if the "Text Editor Scope" or one of its children is active (in other words, if the active part is a participating text editor). 
-<p>
-An accelerator set declares what scope it is applicable for by listing the scope's id as the value of its "scopeId" attribute (see the Accelerator Sets extension point). Many accelerator sets can be applicable for the same accelerator scope.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (acceleratorScope*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT acceleratorScope EMPTY&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST acceleratorScope</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;description&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parentScope&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>id</b> - a unique name that can be used to identify this accelerator scope.</li><li><b>name</b> - a translatable name of the accelerator scope.</li><li><b>description</b> - a short description of the accelerator scope.</li><li><b>parentScope</b> - an optional attribute which represents a scope which is active whenever this scope is active. For most scopes, org.eclipse.ui.globalScope will be the parent scope</li></ul>
-<b><i>Examples: </i></b>Following is an example of an accelerator scope extension: 
-<p>
-<pre>
-   &lt;extension point=&quot;org.eclipse.ui.acceleratorScopes&quot;&gt; 
-      &lt;acceleratorScope 
-        id=&quot;org.eclipse.ui.globalScope&quot; 
-        name=&quot;Global&quot; 
-        description=&quot;Action accelerator key applicable to all views and editors unless explicitly overridden.&quot;&gt; 
-      &lt;/acceleratorScope&gt; 
-      &lt;acceleratorScope 
-        id=&quot;org.eclipse.ui.javaEditorScope&quot; 
-        name=&quot;Java Editor&quot; 
-        description=&quot;Action accelerator key applicable only when java editor active.&quot; 
-        parentScope=&quot;org.eclipse.ui.globalScope&quot;&gt; 
-      &lt;/acceleratorScope&gt; 
-   &lt;/extension&gt; 
-</pre>
-</p><p>
-<b><i>API Information: </i></b>The method public IKeyBindingService getKeyBindingService() was added to IEditorSite.<p>
-<b><i>Supplied Implementation: </i></b>The workbench provides the Global accelerator scope and the Text Editor accelerator scope.<p>
-<p>
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_acceleratorSets.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_acceleratorSets.html
deleted file mode 100644
index 33de488..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_acceleratorSets.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Accelerator Sets</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.ui.acceleratorSets<p>
-<b><i>Since: </i></b>Release 2.0<p>
-<b><i>Description: </i></b>This extension point is used to register accelerator set extensions. Accelerator sets are just what the name implies, sets of accelerators. An accelerator is an association between one or more sequences of accelerator keys and a workbench action. An accelerator key sequence may be of length one or greater. 
-<p>
-An accelerator set is registered with an accelerator configuration (see the Accelerator Configuration extension point) and is applicable for an accelerator scope (see the Accelerator Scope extension point).<p><b><i>Configuration Markup:</i></b><p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (acceleratorSet*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT acceleratorSet (accelerator+)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST acceleratorSet</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;configurationId&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scopeId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>configurationId</b> - a unique name that identifies the accelerator configuration to which this accelerator set is registered.</li><li><b>scopeId</b> - a unique name that identifies the accelerator scope for which this accelerator set is applicable.</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT accelerator EMPTY&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST accelerator</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;locale&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;platform&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>id</b> - the unique identifier of the action definition of the action associated with this accelerator.</li><li><b>key</b> - an attribute representing the sequence(s) of accelerator keys used to perform the action associated with this accelerator. Sequences are separated by '||', and individual keys in a sequence are separated by a space. A key may be modified by the CTRL, ALT, or SHIFT keys. Depending on keyboard layout, some keys ('?' for example) may need the SHIFT to be accessed but the accelerator should be specified without the SHIFT so it will be independent of keyboard layout. E.g. if CTRL+? is specified as an accelerator, the user may have to press CTRL+SHIFT+? depending on the keyboard layout.</li><li><b>locale</b> - an optional attribute which specifies a locale for which the accelerator is applicable. If this attribute is not specified, the accelerator is applicable for all locales.</li><li><b>platform</b> - an optional attribute which specifies a platform on which the accelerator is applicable. If this attribute is not specified, the accelerator is applicable on all platforms.</li></ul>
-<b><i>Examples: </i></b>Following is an example of an accelerator set extension: 
-<p>
-<pre>
-   &lt;extension point=&quot;org.eclipse.ui.acceleratorSets&quot;&gt; 
-      &lt;acceleratorSet 
-        configurationId=&quot;org.eclipse.ui.exampleAcceleratorConfiguration&quot; 
-        scopeId=&quot;org.eclipse.ui.globalScope&quot;&gt; 
-          &lt;accelerator 
-              id=&quot;org.eclipse.ui.ExampleActionA&quot; 
-              key=&quot;CTRL+R CTRL+A&quot;&gt; 
-          &lt;/accelerator&gt; 
-          &lt;accelerator 
-              id=&quot;org.eclipse.ui.ExampleActionB&quot; 
-              key=&quot;CTRL+R CTRL+B&quot;&gt; 
-          &lt;/accelerator&gt; 
-          &lt;accelerator 
-              id=&quot;org.eclipse.ui.ExampleActionC&quot; 
-              key=&quot;CTRL+R CTRL+C || CTRL+SHIFT+DELETE&quot;&gt; 
-          &lt;/accelerator&gt; 
-      &lt;/acceleratorSet&gt; 
-   &lt;/extension&gt; 
-</pre>
-</p><p>
-<b><i>API Information: </i></b>More than one accelerator may be specified for the same action in the accelerator set but only one will be used. 
-<p>
-If the locale and/or the platform is specified, the accelerator that better matches the current locale and platform will be used. The current locale is determined by the API Locale.getDefault() and the platform by the API SWT.getPlatform(). If the platform and/or the locale is specified and it does not match the current locale and/or platform, the accelerator is discarded. If accelerator A defines only the locale and B defines only the platform, B is used. If accelerator A defines "ja" as its locale and B defines "ja_JP", B is used in case the current locale is "ja_JP". 
-<p>
-If two accelerators are defined in accelerators sets in different plugins, the chosen accelerator will depend on the plugins. If plugin A depends on B, the accelerators defined in B is used. If A and B don't depend on each other, they will be alphabetically sorted by the plugin id. 
-<p>
-If two accelerators are defined in different scopes, the accelerator defined in the current scope will be used. If an accelerator is not defined in the current scope or one of its parents it is discarded. If an accelerator is defined in a parent and child scope, the one in the child is used.<p>
-<b><i>Supplied Implementation: </i></b>The workbench provides accelerator sets for the Default and Emacs accelerator configurations.<p>
-<p>
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_actionDefinitions.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_actionDefinitions.html
deleted file mode 100644
index 55050e7..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_actionDefinitions.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Action Definitions</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.ui.actionDefinitions<p>
-<b><i>Since: </i></b>Release 2.0<p>
-<b><i>Description: </i></b>This extension point is used to register action definitions. Accelerators (see the Accelerator Sets extension point) use action definitions to reference actions. An action associates itself with a given accelerator by registering with that accelerator's associated action definition. An action registers itself with an action definition by calling the setActionDefinitionId(String id) method and supplying the action definition's id as an argument.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (actionDefinition*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT actionDefinition EMPTY&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST actionDefinition</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>id</b> - a unique name that can be used to identify this action.</li></ul>
-<b><i>Examples: </i></b>Following is an example of an action definition extension: 
-<p>
-<pre>
-   &lt;extension point=&quot;org.eclipse.ui.actionDefinitions&quot;&gt; 
-      &lt;actionDefinition 
-        id=&quot;org.eclipse.ui.file.save&quot;&gt; 
-      &lt;/actionDefinition&gt; 
-      &lt;actionDefinition 
-        id=&quot;org.eclipse.ui.file.saveAll&quot;&gt; 
-      &lt;/actionDefinition&gt; 
-      &lt;actionDefinition 
-        id=&quot;org.eclipse.ui.file.close&quot;&gt; 
-      &lt;/actionDefinition&gt; 
-      &lt;actionDefinition 
-        id=&quot;org.eclipse.ui.file.closeAll&quot;&gt; 
-      &lt;/actionDefinition&gt; 
-      &lt;actionDefinition 
-        id=&quot;org.eclipse.ui.file.print&quot;&gt; 
-      &lt;/actionDefinition&gt; 
-   &lt;/extension&gt; 
-</pre>
-</p><p>
-<b><i>API Information: </i></b>The methods public void setActionDefinitionId(String id) and public String getActionDefinitionId() have been added to IAction. 
-<p>
-<B><font color="#FF0000">NOTE</font> -</b> other attributes may be added in the future, as needed.<p>
-<b><i>Supplied Implementation: </i></b>The workbench provides many action definitions.<p>
-<p>
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_actionSetPartAssociations.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_actionSetPartAssociations.html
deleted file mode 100644
index b28be92..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_actionSetPartAssociations.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Action Set Part Associations</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.ui.actionSetPartAssociations<p>
-<b><i>Description: </i></b>This extension point is used to define an action set which should be added to a perspective when a part (view or editor) is opened in the perspective.
-In the case of an editor, the action set will remain visible while the editor is the current editor.
-In the case of a view, the action set will be visible when the view is the active part.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (actionSetPartAssociation*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT actionSetPartAssociation (part*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST actionSetPartAssociation</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;targetID&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>targetID</b> - the unique identifier of the action set (as specified in the
-registry) which is to be associated with particular workbench
-views and/or editors.</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT part EMPTY&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST part</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>id</b> - the unique identifier of the part (view or editor) to be associated with the action set.</li></ul>
-<b><i>Examples: </i></b>The following is an example of an action set part association (note the subelement and the way attributes are used):
-
-<p>
-<pre>
- &lt;extension point=&quot;org.eclipse.ui.actionSetPartAssociations&quot;&gt;
-  &lt;actionSetPartAssociation targetID=&quot;org.eclipse.jdt.ui.refactoring.actionSet&quot;&gt;
-   &lt;part id=&quot;org.eclipse.jdt.ui.PackageExplorer&quot;/&gt;
-   &lt;part id=&quot;org.eclipse.jdt.ui.CompilationUnitError&quot;/&gt;
-  &lt;/actionSetPartAssociation&gt;
- &lt;/extension&gt;
-</pre>
-</p>
-
-In the example above, a view or editor are associated with the refactoring action set.<p>
-<b><i>API Information: </i></b>The user may override these associations using the customize perspective dialog.  Regardless of these associations,
-action sets which the user turns off will never appear and action sets which the user turns on will always be visible.<p>
-<p>
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_actionSets.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_actionSets.html
deleted file mode 100644
index d441c18..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_actionSets.html
+++ /dev/null
@@ -1,361 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

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

-</HEAD>

-<HTML>

-<BODY>

-<H1><CENTER>Action Sets</CENTER></H1>

-<b><i>Identifier: </i></b>org.eclipse.ui.actionSets<p>

-<b><i>Description: </i></b>This extension point is used to add menus, menu items 
-and toolbar buttons to the common areas in the Workbench
-window. These contributions are collectively known 
-as an <i>action set</i> and appear within the 
-Workbench window by the user customizing a perspective.<p>

-<p>

-An action's enablement and/or visibility can be defined using the elements <samp>enablement</samp> and <samp>visibility</samp> respectively. These two elements contain a boolean expression that is evaluated to determine the enablement and/or visibility.
-<p>
-The syntax is the same for the <samp>enablement</samp> and <samp>visibility</samp> elements. Both contain only one boolean expression sub-element. In the simplest case, this will be an <samp>objectClass</samp>, <samp>objectState</samp>, <samp>pluginState</samp>, or <samp>systemProperty</samp> element. In the more complex case, the <samp>and</samp>, <samp>or</samp>, and <samp>not</samp> elements can be combined to form a boolean expression. Both the <samp>and</samp>, and <samp>or</samp> elements must contain 2 sub-elements. The <samp>not</samp> element must contain only 1 sub-element.
-</p><p><b><i>Configuration Markup:</i></b><p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (actionSet+)&gt;</samp>

-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT actionSet (menu* , action* , description?)&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to define a group of actions and/or menus.</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST actionSet</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;label&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;visible&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(true | false) "false"#IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;description&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>id</b> - a unique identifier for this action set.</li><li><b>label</b> - a translatable name used by the Workbench to represent this action set to the user.</li><li><b>visible</b> - an optional attribute indicating whether the action set is initially visible when a perspective is open. This option is only honoured when the user opens a perspective which has not been customized. The user can override this option from the "Customize Perspective Dialog". This attribute should be used with great care so as not to overwhelm the user with too many actions.</li><li><b>description</b> - a translatable description used by the Workbench to represent this action set to the user.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT action (selection* | enablement?)&gt;</samp>

-<p>&nbsp;&nbsp; This element defines an action that the user can invoke in the UI.</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST action</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;label&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;accelerator&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;definitionId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;menubarPath&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;toolbarPath&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;disabledIcon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hoverIcon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tooltip&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;helpContextId&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;style&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(push|radio|toggle|pulldown) "push"</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;state&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(true | false) "false"#IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pulldown&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(true | false) "false"#IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;retarget&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(true | false) "false"#IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allowLabelUpdate&nbsp;(true | false) "false"#IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enablesFor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>id</b> - a unique identifier used as a reference for this action.</li><li><b>label</b> - a translatable name used either as the menu item text or toolbar button label. The name can include mnenomic information.</li><li><b>accelerator</b> - <b><font color="#FF0000">Deprecated:</font></b> Use the <samp>definitionId</samp> attribute instead.</li><li><b>definitionId</b> - the action definition unique identifier that this action is semantically similar to. Allows the key binding service to assign an accelerator key to this action. See the extension points <a href="org_eclipse_ui_actionDefinitions.html">org.eclipse.ui.actionDefinitions</a> and <a href="org_eclipse_ui_acceleratorSets.html">org.eclipse.ui.acceleratorSets</a> for more information.</li><li><b>menubarPath</b> - a slash-delimited path ('/') used to specify the location of this action in the menu bar.
-Each token in the path, except the last one, must represent a valid identifier of an existing menu in the hierarchy. The last token represents the named group into which this action will be added. If the path is omitted, this action will not appear in the menu bar.</li><li><b>toolbarPath</b> - a slash-delimited path ('/') that is used to specify the location of this action in the toolbar. The first token represents the toolbar identifier (with "Normal" being the default toolbar), while the second token is the named group within the toolbar that this action will be added to. If the group does not exist in the toolbar, it will be created.
-If toolbarPath is omitted, the action will not appear in the toolbar.</li><li><b>icon</b> - a relative path of an icon used to visually represent the action in its context.
-If omitted and the action appears in the toolbar, the Workbench will use a placeholder icon. The path is relative to the location of the plugin.xml file of the contributing plug-in. The icon will appear in toolbars but not in menus. Enabled actions will be represented in menus by the hoverIcon.</li><li><b>disabledIcon</b> - a relative path of an icon used to visually represent the action in its context when the action is disabled. If omitted, the normal icon will simply appear greyed out. The path is relative to the location of the plugin.xml file of the contributing plug-in. The disabled icon will appear in toolbars but not in menus. Icons for disabled actions in menus will be supplied by the OS.</li><li><b>hoverIcon</b> - a relative path of an icon used to visually represent the action in its context when the mouse pointer is over the action. If omitted, the normal icon will be used. The path is relative to the location of the plugin.xml file of the contributing plug-in.</li><li><b>tooltip</b> - a translatable text representing the action's tool tip. Only used if the action appears in the toolbar.</li><li><b>helpContextId</b> - a unique identifier indicating the help context for this action. If the action appears as a menu item, then pressing F1 while the menu item is highlighted will display help.</li><li><b>style</b> - an attribute to define the user interface style type for the action. If omitted, then it is <samp>push</samp> by default. The attribute value will be one of the following:
-    <table border="0" width="80%">
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>push</b></td>
-        <td valign="top">- as a regular menu item or tool item.</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>radio</b></td>
-        <td valign="top">- as a radio style menu item or tool item. Actions with the radio style within the same menu or toolbar group behave as a radio set. The initial value is specified by the <samp>state</samp> attribute.</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>toggle</b></td>
-        <td valign="top">- as a checked style menu item or as a toggle tool item. The initial value is specified by the <samp>state</samp> attribute.</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>pulldown</b></td>
-        <td valign="top">- as a cascading style menu item or as a drop down menu beside the tool item.</td>
-      </tr>
-    </table></li><li><b>state</b> - an optional attribute indicating the initial state (either <samp>true</samp> or <samp>false</samp>). Used only when the <samp>style</samp> attribute has the value <samp>radio</samp> or <samp>toggle</samp>.</li><li><b>pulldown</b> - <b><font color="#FF0000">Deprecated:</font></b> Use the <samp>style</samp> attribute with the value <samp>pulldown</samp>.</li><li><b>class</b> - a fully qualified name of a class which implements <samp>org.eclipse.ui.IWorkbenchWindowActionDelegate</samp> or <samp>org.eclipse.ui.IWorkbenchWindowPulldownDelegate</samp>. The latter should be implemented in cases where the <samp>style</samp> attribute has the value <samp>pulldown</samp>. This class is the handler responsible for performing the action. If the <samp>retarget</samp> attribute is true, this attribute is ignored and should not be supplied.</li><li><b>retarget</b> - an optional attribute to retarget this action. When true, view and editor parts may supply a handler for this action using the standard mechanism for setting a global action handler on their site using this action's identifier. If this attribute is true, the <samp>class</samp> attribute should not be supplied.</li><li><b>allowLabelUpdate</b> - optional attribute indicating whether the retarget action allows the handler to override it's label and tooltip. Only applies if <samp>retarget</samp> attribute is true.</li><li><b>enablesFor</b> - a value indicating the selection count which must be met to enable the action. If specified and the condition is not met, the action is disabled. If omitted, the action enablement state is not affected. The following attribute formats are supported: 
-    <table border="0" width="80%">
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>!</b></td>
-        <td valign="top">- 0 items selected</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>?</b></td>
-        <td valign="top">- 0 or 1 items selected</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>+</b></td>
-        <td valign="top">- 1 or more items selected</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>multiple, 2+</b></td>
-        <td valign="top">- 2 or more items selected</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>n</b></td>
-        <td valign="top">- a precise number of items selected.a precise number of items selected.&nbsp;
-          For example: enablesFor=&quot; 4&quot; enables the action only when 4
-          items are selected</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>*</b></td>
-        <td valign="top">- any number of items selected</td>
-      </tr>
-    </table></li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT description (#CDATA)&gt;</samp>

-<p>&nbsp;&nbsp; This optional element contains, in it's body, translatable text providing a short description of the action set.</p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT menu (separator+ , groupMarker*)&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to defined a new menu.</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST menu</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;label&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;path&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>id</b> - a unique identifier that can be used to reference this menu.</li><li><b>label</b> - a translatable name used by the Workbench for this new menu. The name should include mnemonic information.</li><li><b>path</b> - the location of the new menu starting from the root of the menu. Each token in the path must refer to an existing menu, except the last token which should represent a named group in the last menu in the path. If omitted, the new menu will be added to the <samp>additions</samp> named group of the menu.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT separator EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to create a menu separator in the new menu.</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST separator</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>name</b> - the name of the menu separator. This name can later be referenced as the last token in a menu path. Therefore, a separator also serve as named group into which actions and menus can be added.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT groupMarker EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to create a named group in the new menu. It has no visual representation in the new menu, unlike the</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST groupMarker</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>name</b> - the name of the group marker. This name can later be referenced as the last token in the menu path. It serves as named group into which actions and menus can be added.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT selection EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to help determine the action enablement based on the current selection. Ignored if the</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST selection</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>class</b> - a fully qualified name of the class or interface that each object in the selection must implement in order to enable the action.</li><li><b>name</b> - an optional wild card filter for the name that can be applied to all objects in the selection. If specified and the match fails, the action will be disabled.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT enablement (and | or | not | objectClass | objectState | pluginState | systemProperty)&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to define the enablement for the action.</p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT visibility (and | or | not | objectClass | objectState | pluginState | systemProperty)&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to define the visibility for the action.</p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT and (and | or | not | objectClass | objectState | pluginState | systemProperty)&gt;</samp>

-<p>&nbsp;&nbsp; This element represent a boolean AND operation on the result of evaluating it's two sub-element expressions.</p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT or (and | or | not | objectClass | objectState | pluginState | systemProperty)&gt;</samp>

-<p>&nbsp;&nbsp; This element represent a boolean OR operation on the result of evaluating it's two sub-element expressions.</p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT not (and | or | not | objectClass | objectState | pluginState | systemProperty)&gt;</samp>

-<p>&nbsp;&nbsp; This element represent a boolean NOT operation on the result of evaluating it's sub-element expressions.</p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT objectClass EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to evaluate the class or interface of each object in the current selection. If each object in the selection implements the specified class or interface, the expression is evaluated as true.</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST objectClass</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>name</b> - a fully qualified name of a class or interface.  The expression is evaluated as true only if all objects within the selection implement this class or interface.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT objectState EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to evaluate the attribute state of each object in the current selection. If each object in the selection has the specified attribute state, the expression is evaluated as true. To evaluate this type of expression, each object in the selection must implement, or adapt to,</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST objectState</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>name</b> - the name of an object's attribute. Acceptable names reflect the object type, and should be publicly declared by the plug-in where the object type is declared.</li><li><b>value</b> - the required value of the object's attribute. The acceptable values for the object's attribute should be publicly declared.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT pluginState EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to evaluate the state of a plug-in. The state of the plug-in may be</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST pluginState</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;(installed|activated) "installed"</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>id</b> - the identifier of a plug-in which may or may not exist in the plug-in registry.</li><li><b>value</b> - the required state of the plug-in. The state of the plug-in may be <samp>installed</samp> or <samp>activated</samp>.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT systemProperty EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to evaluate the state of some system property.  The property value is retrieved from</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST systemProperty</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>name</b> - the name of the system property.</li><li><b>value</b> - the required value of the system property.</li></ul>

-<b><i>Examples: </i></b>The following is an example of an action set (note 
-the sub-elements and the way attributes are used): 
-
-<p>
-<pre>
-    &lt;extension point = &quot;org.eclipse.ui.actionSets&quot;&gt; 
-        &lt;actionSet
-            id=&quot;com.xyz.actionSet&quot; 
-            label=&quot;My Actions&quot;&gt; 
-            &lt;menu
-               id=&quot;com.xyz.xyzMenu&quot; 
-               label=&quot;XYZ Menu&quot;
-               path=&quot;additions&quot;&gt; 
-               &lt;separator name=&quot;group1&quot;/&gt;
-               &lt;separator name=&quot;option1&quot;/&gt;
-            &lt;/menu&gt;
-            
-            &lt;action
-               id=&quot;com.xyz.runXYZ&quot; 
-               label=&quot;&amp;amp;Run XYZ Tool&quot;
-               style=&quot;toggle&quot;
-               state=&quot;false&quot;
-               menubarPath=&quot;com.xyz.xyzMenu/group1&quot; 
-               icon=&quot;icons/runXYZ.gif&quot; 
-               tooltip=&quot;Run XYZ Tool&quot; 
-               helpContextId=&quot;com.xyz.run_action_context&quot; 
-               class=&quot;com.xyz.actions.RunXYZ&quot; 
-               enablesFor=&quot;1&quot;&gt; 
-               &lt;selection class=&quot;org.eclipse.core.resources.IFile&quot; name=&quot;*.java&quot;/&gt; 
-            &lt;/action&gt;
-            &lt;action 
-               id=&quot;com.xyz.runABC&quot;
-               label=&quot;&amp;amp;Run ABC Tool&quot;
-               style=&quot;push&quot;
-               menubarPath=&quot;com.xyz.xyzMenu/group1&quot;
-               toolbarPath=&quot;Normal/XYZ&quot;
-               icon=&quot;icons/runABC.gif&quot;
-               tooltip=&quot;Run ABC Tool&quot;
-               helpContextId=&quot;com.xyz.run_abc_action_context&quot;
-               retarget=&quot;true&quot;
-               allowLabelUpdate=&quot;true&quot;&gt;
-               &lt;enablement&gt;
-                  &lt;and&gt;
-                     &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-                     &lt;not&gt;
-                        &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-                     &lt;/not&gt;
-                  &lt;/and&gt;
-               &lt;/enablement&gt;
-            &lt;/action&gt;             
-
-            &lt;action 
-               id=&quot;com.xyz.runDEF&quot;
-               label=&quot;&amp;amp;Run DEF Tool&quot;
-               style=&quot;radio&quot;
-               state=&quot;true&quot;
-               menubarPath=&quot;com.xyz.xyzMenu/option1&quot;
-               icon=&quot;icons/runDEF.gif&quot;
-               tooltip=&quot;Run DEF Tool&quot;
-               class=&quot;com.xyz.actions.RunDEF&quot; 
-               helpContextId=&quot;com.xyz.run_def_action_context&quot;&gt;
-            &lt;/action&gt;             
-            &lt;action 
-               id=&quot;com.xyz.runGHI&quot;
-               label=&quot;&amp;amp;Run GHI Tool&quot;
-               style=&quot;radio&quot;
-               state=&quot;false&quot;
-               menubarPath=&quot;com.xyz.xyzMenu/option1&quot;
-               icon=&quot;icons/runGHI.gif&quot;
-               tooltip=&quot;Run GHI Tool&quot;
-               class=&quot;com.xyz.actions.RunGHI&quot; 
-               helpContextId=&quot;com.xyz.run_ghi_action_context&quot;&gt;
-            &lt;/action&gt;             
-            &lt;action 
-               id=&quot;com.xyz.runJKL&quot;
-               label=&quot;&amp;amp;Run JKL Tool&quot;
-               style=&quot;radio&quot;
-               state=&quot;false&quot;
-               menubarPath=&quot;com.xyz.xyzMenu/option1&quot;
-               icon=&quot;icons/runJKL.gif&quot;
-               tooltip=&quot;Run JKL Tool&quot;
-               class=&quot;com.xyz.actions.RunJKL&quot; 
-               helpContextId=&quot;com.xyz.run_jkl_action_context&quot;&gt;
-            &lt;/action&gt;             
-        &lt;/actionSet&gt; 
-    &lt;/extension&gt; 
-</pre>
-</p>
-<p>
-In the example above, the specified action set, named "My Actions", is not initially visible within each perspective because the <samp>visible</samp> attribute is not specified.
-</p>
-<p>
-The XYZ action will appear as a check box menu item, initially not checked. It is enabled only if the selection count is 1 and if the selection contains a Java file resource.
-</p>
-<p>
-The ABC action will appear both in the menu and on the toolbar. It is enabled only if the selection does not contain any Java file resources. Note also this is a label retarget action therefore it does not supply a <samp>class</samp> attribute.
-</p>
-<p>
-The actions DEF, GHI, and JKL appear as radio button menu items. They are enabled all the time, independent of the current selection state.
-</p><p>

-<b><i>API Information: </i></b>The value of the class attribute must be the fully qualified name of a class that implements <samp>org.eclipse.ui.IWorkbenchWindowActionDelegate</samp> or <samp>org.eclipse.ui.IWorkbenchWindowPulldownDelegate</samp>. The latter should be implemented in cases where the <samp>style</samp> attribute has the value <samp>pulldown</samp>. This class is the handler responsible for performing the action. If the <samp>retarget</samp> attribute is true, this attribute is ignored and should not be supplied. This class is loaded as late as possible to avoid loading the entire plug-in before it is really needed.
-<p>
-The enablement criteria for an action extension is initially defined by <samp>enablesFor</samp>, and also either <samp>selection</samp> or <samp>enablement</samp>. However, once the action delegate has been instantiated, it may control the action enable state directly within its <samp>selectionChanged</samp> method.
-<p>
-It is important to note that the workbench does not generate menus on a plug-in's behalf. Menu paths must reference menus that already exist.
-<p>
-Action and menu labels may contain special characters that encode mnemonics using the following rules:
-<ol>
-<li>
-Mnemonics are specified using the ampersand ('&amp;') character in front of a selected character in the translated text. Since ampersand is not allowed in XML strings, use <samp>&amp;amp;</samp> character entity.</li>
-</ol>
-If two or more actions are contributed to a menu or toolbar by a single extension the actions will appear in the reverse order of how they are listed in the plugin.xml file. This behavior is admittedly unintuitive.  However, it was discovered after the Eclipse Platform API was frozen. Changing the behavior now would break every plug-in which relies upon the existing behavior.
-<p>
-The <samp>selection</samp> and <samp>enablement</samp> elements are mutually exclusive. The <samp>enablement</samp> element can replace the <samp>selection</samp> element using the sub-elements <samp>objectClass</samp> and <samp>objectState</samp>. For example, the following:
-<pre>
- &lt;selection
-  class=&quot;org.eclipse.core.resources.IFile&quot;
-  name=&quot;*.java&quot;&gt;
- &lt;/selection&gt;
-</pre>
-can be expressed using:
-<pre>
- &lt;enablement&gt;
-  &lt;and&gt;
-   &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-   &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-  &lt;/and&gt;
- &lt;/enablement&gt;
-</pre><p>

-<b><i>Supplied Implementation: </i></b>Plug-ins may use this extension point to add new top level menus. Plug-ins can also define named groups which allow other plug-ins to contribute their actions into them. 
-<p>
-Top level menus are created by using the following values
-for the path attribute: 
-<ul>
-<li>additions - represents a group immediately to the left of the <samp>Window</samp> menu. 
-</ul>
-Omitting the path attribute will result in adding the new menu into the additions menu bar group. 
-</p>
-<p>
-The default groups in a workbench window are defined in the
-<samp>IWorkbenchActionConstants</samp> interface. These
-constants can be used in code for dynamic contribution.
-The values can also be copied into an XML file for fine
-grained integration with the existing workbench menus
-and toolbar. 
-</p>
-<p>
-Various menu and toolbar items within the workbench 
-window are defined algorithmically.  In these cases 
-a separate mechanism must be used to extend the 
-window. For example, adding a new workbench view 
-results in a new menu item appearing in the
-Perspective menu. Import, Export, and New Wizards 
-extensions are also added automatically to the window.
-</p><p>

-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>

-</BODY>

-</HTML>

diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_capabilities.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_capabilities.html
deleted file mode 100644
index 1017685..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_capabilities.html
+++ /dev/null
@@ -1,140 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Capabilities</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.ui.capabilities<p>
-<b><i>Since: </i></b>Release 2.0<p>
-<b><i>Description: </i></b>This extension point is used to register project capability extensions.  Capabilities are the UI equivalent of CORE's project natures, and have a one-to-one relationship with project natures.  The workbench allows the user to add and remove capabilities from a project at any time using the properties dialog or in the new project wizard.
-<p>
-Capabilities represent particular abilities of a project.  For example, a project may have a "Java" capability that allows the project's *.java files to be compiled using a Java compiler.
-If the role of the project changes over time, the project's capabilities can be modified to suit the new needs.
-For example, a project may start as a simple Java capability, but may later gain a new requirement to use JNI to some legacy library.
-The user may then add a "C++" capability (if one exists) to the project to meet this new requirement.
-<p>
-Some capabilities may wish to handle the user interface for other capabilities.
-This generally occurs when a capability requires a number of other capabilities (note that prerequisite information is derived from the org.eclipse.core.resources.natures extension point).
-For example, a "Web" capability needs the "Java" capability to compile servlets, but may want to present a much more simpler page to configure the "Java" capability
-or maybe not even present any pages about the "Java" capability and just add it with appropriate defaults.
-<p>
-The install wizard for a capability is responsible for collecting the necessary information from the user in order to add its nature and the natures of any capabilities it handles the UI for. The install wizard must handle the situation where some or all of the required capabilities are already installed and configured. 
-<p>
-The uninstall wizard for a capability is responsible for collecting the necessary information from the user in order to remove its nature. Also must remove any other natures from capabilities that the user wants removed and the capability handles the UI for. These other capabilities that the user wants removed will be provided in the init method. 
-<p>
-Capabilities can specify which perspectives a user can switch to when added to the project. This allows the user to discover new perspectives that can take advantage of the new capabilities. Capabilities that handle the user interface for other capabilities also control the list of perspectives for these capabilities. For example, the "Web" capability handles the user interface for the "Java" capability it requires. The "Web" capability can choose to include the various Java perspectives, or not. 
-<p>
-The categories defined by one plug-in can be referenced by other plug-ins using the category attribute. 
-<p>
-Note the capability name presented to the user comes from the attribute "name" in the extension element of the org.eclipse.core.resources.natures extension point.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (category* , capability*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT category EMPTY&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST category</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>id</b> - a unique name that can be used to identify this category.</li><li><b>name</b> - a translatable name of the category to be presented to the user.</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT capability (handleUI* , perspectiveChoice*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST capability</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;natureId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;category&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;installWizard&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;installDetails&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uninstallWizard&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uninstallDetails&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>id</b> - a unique name that can be used to identify this capability.</li><li><b>natureId</b> - a unique identifier of the nature associated with this capability. (see <samp>org.eclipse.core.resources.natures</samp> extension point).</li><li><b>category</b> - an optional attribute which references a previously defined category ID.  
-If omitted, this capability will be added to the "Other" category.</li><li><b>icon</b> - an optional attribute which defines a relative path of the icon that may be used to represent this capability.
-If omitted, no icon will be displayed.</li><li><b>installWizard</b> - a fully qualified name of the Java class implementing <samp>org.eclipse.ui.ICapabilityInstallWizard</samp> interface.
-The wizard is responsible for collecting any necessary information from the user,
-and adding this capability's nature along will all other natures from capabilities this capability handles the UI for.</li><li><b>installDetails</b> - an optional but highly recommended attribute which describes to the users what will be required of them by the install wizard for this capability.</li><li><b>uninstallWizard</b> - a fully qualified name of the Java class implementing <samp>org.eclipse.ui.ICapabilityUninstallWizard</samp> interface.
-The wizard is responsible for collecting any necessary information from the user,
-and removing this capability's nature along with any other natures from capabilities that the user wants removed and this capability handles the UI for.
-If omitted, the workbench will provide a wizard that will remove this capability's nature from the project along with any other natures from capabilities that the user wants removed and this capability handles the UI for.</li><li><b>uninstallDetails</b> - an optional but highly recommended attribute which describes to the user what will be required of them by the uninstall wizard for this capability.</li><li><b>description</b> - an optional but highly recommended attribute which consists of a short description of what functionality/ability this capability adds to a project.</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT handleUI EMPTY&gt;</samp>
-<p>&nbsp;&nbsp; an optional sub-element that contains a unique identifier of another capability whose UI willl be controlled by this capability.</p>
-<p></p>
-<samp>&nbsp;&nbsp; &lt;!ATTLIST handleUI</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>id</b> - the unique identifier of another capability for which its UI will be handled.</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT perspectiveChoice EMPTY&gt;</samp>
-<p>&nbsp;&nbsp; an optional sub-element that contains a unique identifier of a perspective that will be presented to the user to choose from.</p>
-<p></p>
-<samp>&nbsp;&nbsp; &lt;!ATTLIST perspectiveChoice</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>id</b> - the unique identifier of a perspective the user can switch to.</li></ul>
-<b><i>Examples: </i></b>Following is an example of capability configuration:
-
-<p>
-<pre>
-   &lt;extension
-         point=&quot;org.eclipse.ui.capabilities&quot;&gt;
-      &lt;category
-            name=&quot;Weather Elements&quot;
-            id=&quot;com.xyz.weather&quot;&gt;
-      &lt;/category&gt;
-      &lt;capability
-            installWizard=&quot;com.xyz.SnowCapabilityWizard&quot;
-            icon=&quot;./icons/snowCapability.gif&quot;
-            description=&quot;Turn your project into a winter wonderland!&quot;
-            category=&quot;com.xyz.weather&quot;
-            natureId=&quot;com.xyz.snowNature&quot;
-            installDetails=&quot;You will be asked to supply a locale id.&quot;
-            id=&quot;com.xyz.snowCapability&quot;&gt;
-         &lt;handleUI
-               id=&quot;com.xyz.waterCapability&quot;&gt;
-         &lt;/handleUI&gt;
-         &lt;perspectiveChoice
-               id=&quot;com.xyz.skiPerspective&quot;&gt;
-         &lt;/perspectiveChoice&gt;
-         &lt;perspectiveChoice
-               id=&quot;com.xyz.rainPerspective&quot;&gt;
-         &lt;/perspectiveChoice&gt;
-      &lt;/capability&gt;
-      &lt;capability
-            installWizard=&quot;com.xyz.WaterCapabilityWizard&quot;
-            icon=&quot;./icons/waterCapability.gif&quot;
-            description=&quot;Turn your project into a watery wonderland!&quot;
-            category=&quot;com.xyz.weather&quot;
-            natureId=&quot;com.xyz.waterNature&quot;
-            installDetails=&quot;You will be asked to supply a locale id.&quot;
-            id=&quot;com.xyz.waterCapability&quot;&gt;
-         &lt;perspectiveChoice
-               id=&quot;com.xyz.rainPerspective&quot;&gt;
-         &lt;/perspectiveChoice&gt;
-         &lt;perspectiveChoice
-               id=&quot;com.xyz.drinkPerspective&quot;&gt;
-         &lt;/perspectiveChoice&gt;
-      &lt;/capability&gt;
-   &lt;/extension&gt;
-</pre>
-</p><p>
-<b><i>API Information: </i></b>The value of the <samp>installWizard</samp> attribute must represent a class that implements <samp>org.eclipse.ui.ICapabilityInstallWizard</samp> interface.
-The IProject passed in the init method will exist and can be queried for the instance of other natures.
-The capability install wizard must not close nor delete the project passed in the init method.
-<p>
-The value of the <samp>uninstallWizard</samp> attribute must represent a class that implements <samp>org.eclipse.ui.ICapabilityUninstallWizard</samp> interface.
-The IProject passed in the init method will exist and can be queried for the existence of other natures.
-The capability uninstall wizard must not close nor delete the project passed in the init method.<p>
-<b><i>Supplied Implementation: </i></b>The workbench does not provide any capabilities.<p>
-<p>
-Copyright (c) 2002,2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_decorators.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_decorators.html
deleted file mode 100644
index 2644f05..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_decorators.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

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

-</HEAD>

-<HTML>

-<BODY>

-<H1><CENTER>Decorators</CENTER></H1>

-<b><i>Identifier: </i></b>org.eclipse.ui.decorators<p>

-<b><i>Since: </i></b>Release 2.0<p>

-<b><i>Description: </i></b>This extension point is used to add decorators to views that subscribe to a decorator manager. As of 2.1 there will be the concept of a lightweight decorator that will handle the image management for the decorator. It is also possible to declare a lightweight decorator that simply overlays an icon when enabled that requires no implementation from the plug-in.<p><b><i>Configuration Markup:</i></b><p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (decorator*)&gt;</samp>

-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT decorator (description? , enablement)&gt;</samp>

-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST decorator</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;label&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;objectClass&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;adaptable&nbsp;&nbsp;&nbsp;(true | false) "false"#IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;state&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(true | false) "false"#IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;quadrant&nbsp;&nbsp;&nbsp;&nbsp;(TOP_LEFT|TOP_RIGHT|BOTTOM_RIGHT|BOTTOM_LEFT) #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lightweight&nbsp;(true|false) #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location&nbsp;&nbsp;&nbsp;&nbsp;(TOP_LEFT|TOP_RIGHT|BOTTOM_LEFT|BOTTOM_RIGHT|UNDERLAY) #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>id</b> - a unique name that will be used to identify this decorator.</li><li><b>label</b> - a translatable name that will be used in the workbench window menu to represent this decorator.</li><li><b>class</b> - a fully qualified name of a class which implements <samp>org.eclipse.jface.viewers.ILabelDecorator</samp>
-if <b><i> lightweight</i></b> is false or  <samp>org.eclipse.jface.viewers.ILightweightLabelDecorator</samp> if lightweight is true. The default value is false. If there is no <b><i>class</i></b> element it is assumed to be true.</li><li><b>objectClass</b> - a fully qualified name of a class which this decorator will be applied to. Deprecated in 2.1. Make this value part of the enablement.</li><li><b>adaptable</b> - a flag that indicates if types that adapt to IResource should use this object contribution.
-This flag is used only if objectClass adapts to IResource.  Default value is false.</li><li><b>state</b> - a flag that indicates if the decorator is on by default.  Default value is false.</li><li><b>quadrant</b> - if the decorator is <b><i>lightweight</b></i> this is the quadrant to apply the decorator to. Defaults to BOTTOM_RIGHT. Replaced by location for M4.</li><li><b>lightweight</b> - The lightweight flag indicates that the decorator is either
-declarative or implements 
-<samp>org.eclipse.jface.viewers.ILightweightLabelDecorator</samp>.</li><li><b>icon</b> - if the decorator is <b><i>lightweight</i></b> and the <b><i>class</i></b> is not specified this is the path to the overlay image to apply</li><li><b>location</b> - if the decorator is <b><i>lightweight</i></b> this is the location to apply the decorator to. Defaults to BOTTOM_RIGHT.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT description (#CDATA)&gt;</samp>

-<p>&nbsp;&nbsp; an optional subelement whose body should contain text providing a short description of the decorator. This will be shown in the Decorators preference page so it is recommended that this is included. Default value is an empty String.</p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT enablement (and | or | not | objectClass | objectState | systemProperty | pluginState)&gt;</samp>

-<p>&nbsp;&nbsp; the actionExpression used to determine enabled state. See the actionExpressions documentation.</p>

-<b><i>Examples: </i></b>The following are example of decorators:
-<p>
-A full decorator. The plug-in developer must handle their own image support.
-<p>
-<pre>
- &lt;extension point=&quot;org.eclipse.ui.decorators&quot;&gt; 
-        &lt;decorator
-            id=&quot;com.xyz.decorator&quot; 
-            label=&quot;XYZ Decorator&quot; 
-            state=&quot;true&quot; 
-            class=&quot;com.xyz.DecoratorContributor&quot;&gt;
-            &lt;enablement&gt;
-                &lt;objectClass name=&quot;org.eclipse.core.resources.IResource&quot;/&gt; 
-            &lt;/enablement&gt;
-        &lt;/decorator&gt;
-    &lt;/extension&gt; 
-</pre>
-<p>
-A lightweight decorator. There is a concrete class but as it is an
-ILightweightLabelDecorator it only needs to supply text and an ImageDescriptor and therefore needs no resource handling.
-<p>
-<pre>
- &lt;extension point=&quot;org.eclipse.ui.decorators&quot;&gt; 
-        &lt;decorator
-            id=&quot;com.xyz.lightweight.decorator&quot; 
-            label=&quot;XYZ Lightweight Decorator&quot;                 
-            state=&quot;false&quot; 
-            class=&quot;com.xyz.LightweightDecoratorContributor&quot; 
-            lightweight=&quot;true&quot; &gt;
-            &lt;enablement&gt;
-                &lt;objectClass name=&quot;org.eclipse.core.resources.IResource&quot;/&gt; 
-            &lt;/enablement&gt;
-        &lt;/decorator&gt;
-    &lt;/extension&gt; 
-</pre>
-</p>
-<p>A declarative lightweight decorator. There is no concrete class so it
-supplies an icon and a quadrant to apply that icon.
-<p>
-<pre>
- &lt;extension point=&quot;org.eclipse.ui.decorators&quot;&gt; 
-        &lt;decorator
-            id=&quot;com.xyz.lightweight.declarative.decorator&quot; 
-            label=&quot;XYZ Lightweight Declarative Decorator&quot; 
-            state=&quot;false&quot; 
-            lightweight=&quot;true&quot; 
-            icon=&quot;icons/full/declarative.gif&quot; 
-            location=&quot;TOP_LEFT&quot;&gt; 
-            &lt;enablement&gt;
-                &lt;objectClass name=&quot;org.eclipse.core.resources.IResource&quot;/&gt; 
-            &lt;/enablement&gt;
-        &lt;/decorator&gt;
-    &lt;/extension&gt;
-</pre>
-</p><p>

-<b><i>API Information: </i></b>The value of the <samp>class</samp> attribute must be the fully qualified name of a class that implements  <samp>org.eclipse.jface.viewers.ILabelDecorator</samp> (if lightweight is false) or <samp>org.eclipse.jface.viewers.ILightweightLabelDecorator</samp>.  This class is loaded as late as possible to avoid loading the entire plug-in before it is really needed. Declarative decorators do not entail any plug-in activation and should be used whenever possible. Non-lightweight decorators will eventually be deprecated.<p>

-<b><i>Supplied Implementation: </i></b>Plug-ins may use this extension point to add new decorators to be applied to views that use the decorator manager as their label decorator.
-To use the decorator manager, use the result of IViewPart.getDecoratorManager() as the decorator for an instance of DecoratingLabelProvider.
-This is currently in use by the Resource Navigator.<p>

-Copyright (c) 2002,2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>

-</BODY>

-</HTML>

diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_dropActions.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_dropActions.html
deleted file mode 100644
index 640fa88..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_dropActions.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Drop Actions</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.ui.dropActions<p>
-<b><i>Description: </i></b>This extension point is used to add drop behaviour to 
-views defined by other plugins. 
-<p>
-Due to the UI layering imposed by the plugin 
-mechanism, views are often not aware of the content 
-and nature of other views. This can make drag and 
-drop operations between plugins difficult. 
-For example, one may wish to provide Java 
-refactoring support whereby the user drags a 
-method from the Java editor's content outliner 
-into another java file in the resource navigator. 
-Since the resource navigator doesn't know anything 
-about Java content, it doesn't know how to behave 
-when java methods are dropped onto it.  
-Similarly, an ISV may want to drop some of 
-their content into one of the Java viewers. 
-<p>
-The <samp>org.eclipse.ui.dropActions</samp> extension point is 
-provided by the Platform to address these situations. 
-This mechanism delegates the drop behaviour back to 
-the originator of the drag operation. 
-This behaviour is contained in an action that 
-must implement 
-<samp>org.eclipse.ui.part.IDropActionDelegate</samp>.  
-The viewer that is the source of the drag 
-operation must support 
-<samp>the org.eclipse.ui.part.PluginTransfer</samp>
-transfer type, and place a 
-<samp>PluginTransferData</samp> object in the drag event.
-See org.eclipse.jface.viewers.StructuredViewer#addDragSupport 
-to learn how to add drag support to a viewer.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (dropContribution*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT dropContribution (action*)&gt;</samp>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT action EMPTY&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST action</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>id</b> - a unique identifier that can be used to reference this action</li><li><b>class</b> - the name of the fully qualified class that implements 
-<samp>org.eclipse.ui.part.IDropActionDelegate</samp>.</li></ul>
-<b><i>Examples: </i></b>The following is an example of a drop action extension: 
-<p>
-<pre>
-    &lt;extension point=&quot;org.eclipse.ui.dropActions&quot;&gt; 
-        &lt;action 
-            id=&quot;my_drop_action&quot; 
-            class=&quot;com.xyz.eclipse.TestDropAction&quot;&gt; 
-        &lt;/action&gt; 
-    &lt;/extension&gt;  
-</pre>
-</p>
-Here is an example of a drag listener that makes use of the drop
-action defined above.
-<p>
-<pre> 
-class MyDragListener extends DragSourceAdapter { 
-    public void dragSetData(DragSourceEvent event) { 
-        if (PluginTransfer.getInstance().isSupportedType(event.dataType)) { 
-            byte[] dataToSend = ...//enter the data to be sent. 
-            event.data = new PluginTransferData( 
-                &quot;my_drop_action&quot;, dataToSend); 
-        } 
-    } 
-} 
-</pre>
-</p>
-For a more complete example, see the Platform 
-readme example.  In that example, a drop action is 
-defined in ReadmeDropActionDelegate, and it is used 
-by ReadmeContentOutlineDragListener.<p>
-<b><i>API Information: </i></b>The value of the class attribute must be a fully qualified name of a Java class that implements <samp>org.eclipse.ui.part.IDropActionDelegate</samp>. This class is loaded as late as possible to avoid loading the entire plug-in before it is really needed<p>
-<b><i>Supplied Implementation: </i></b>The workbench does not provide an implementation for this extension point. Plug-ins can contribute to this extension point to add drop behavior to views defined by other plugins.<p>
-<p>
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_editorActions.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_editorActions.html
deleted file mode 100644
index f0236a2..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_editorActions.html
+++ /dev/null
@@ -1,343 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

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

-</HEAD>

-<HTML>

-<BODY>

-<H1><CENTER>Editor Menus, Toolbars and Actions</CENTER></H1>

-<b><i>Identifier: </i></b>org.eclipse.ui.itorActions<p>

-<b><i>Description: </i></b>This extension point is used to add actions to the menu 
-and toolbar for editors registered by other plug-ins. 
-<p>
-The initial contribution set for an editor is defined 
-by another extension point (org.eclipse.ui.editors). 
-One set of actions is created and shared by all 
-instances of the same editor type.  When invoked, 
-these action act upon the active editor.  This 
-extension point follows the same pattern.  Each 
-action extension is created and shared by all 
-instances of the same editor type.  The action 
-class is required to implement 
-<samp>org.eclipse.ui.IEditorActionDelegate</samp>.  
-The active editor is passed to the delegate by invoking 
-<samp>IEditorActionDelegate.setActiveEditor</samp>.<p>

-<p>

-An action's enablement and/or visibility can be defined using the elements <samp>enablement</samp> and <samp>visibility</samp> respectively. These two elements contain a boolean expression that is evaluated to determine the enablement and/or visibility.
-<p>
-The syntax is the same for the <samp>enablement</samp> and <samp>visibility</samp> elements. Both contain only one boolean expression sub-element. In the simplest case, this will be an <samp>objectClass</samp>, <samp>objectState</samp>, <samp>pluginState</samp>, or <samp>systemProperty</samp> element. In the more complex case, the <samp>and</samp>, <samp>or</samp>, and <samp>not</samp> elements can be combined to form a boolean expression. Both the <samp>and</samp>, and <samp>or</samp> elements must contain 2 sub-elements. The <samp>not</samp> element must contain only 1 sub-element.
-</p><p><b><i>Configuration Markup:</i></b><p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (editorContribution+)&gt;</samp>

-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT editorContribution (menu* , action*)&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to define a group of editor actions and/or menus.</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST editorContribution</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;targetID&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>id</b> - a unique identifier used to reference this contribution.</li><li><b>targetID</b> - a unique identifier of a registered editor that is the target of this contribution.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT action (selection* | enablement?)&gt;</samp>

-<p>&nbsp;&nbsp; This element defines an action that the user can invoke in the UI.</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST action</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;label&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;accelerator&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;definitionId&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;menubarPath&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;toolbarPath&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;disabledIcon&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hoverIcon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tooltip&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;helpContextId&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;style&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(push|radio|toggle) "push"</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;state&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(true | false) "false"#IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enablesFor&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>id</b> - a unique identifier used as a reference for this action.</li><li><b>label</b> - a translatable name used either as the menu item text or toolbar button label. The name can include mnenomic information.</li><li><b>accelerator</b> - <b><font color="#FF0000">Deprecated:</font></b> Use the <samp>definitionId</samp> attribute instead.</li><li><b>definitionId</b> - the action definition unique identifier that this action is semantically similar to. Allows the key binding service to assign an accelerator key to this action. See the extension points <a href="org_eclipse_ui_actionDefinitions.html">org.eclipse.ui.actionDefinitions</a> and <a href="org_eclipse_ui_acceleratorSets.html">org.eclipse.ui.acceleratorSets</a> for more information.</li><li><b>menubarPath</b> - a slash-delimited path ('/') used to specify the location of this action in the menu bar.
-Each token in the path, except the last one, must represent a valid identifier of an existing menu in the hierarchy. The last token represents the named group into which this action will be added. If the path is omitted, this action will not appear in the menu bar.</li><li><b>toolbarPath</b> - a slash-delimited path ('/') that is used to specify the location of this action in the toolbar. The first token represents the toolbar identifier (with "Normal" being the default toolbar), while the second token is the named group within the toolbar that this action will be added to. If the group does not exist in the toolbar, it will be created.
-If toolbarPath is omitted, the action will not appear in the toolbar.</li><li><b>icon</b> - a relative path of an icon used to visually represent the action in its context.
-If omitted and the action appears in the toolbar, the Workbench will use a placeholder icon. The path is relative to the location of the plugin.xml file of the contributing plug-in. The icon will appear in toolbars but not in menus. Enabled actions will be represented in menus by the hoverIcon.</li><li><b>disabledIcon</b> - a relative path of an icon used to visually represent the action in its context when the action is disabled. If omitted, the normal icon will simply appear greyed out. The path is relative to the location of the plugin.xml file of the contributing plug-in. The disabled icon will appear in toolbars but not in menus. Icons for disabled actions in menus will be supplied by the OS.</li><li><b>hoverIcon</b> - a relative path of an icon used to visually represent the action in its context when the mouse pointer is over the action. If omitted, the normal icon will be used. The path is relative to the location of the plugin.xml file of the contributing plug-in.</li><li><b>tooltip</b> - a translatable text representing the action's tool tip. Only used if the action appears in the toolbar.</li><li><b>helpContextId</b> - a unique identifier indicating the help context for this action. If the action appears as a menu item, then pressing F1 while the menu item is highlighted will display help.</li><li><b>style</b> - an optional attribute to define the user interface style type for the action. If defined, the attribute value will be one of the following:
-    <table border="0" width="80%">
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>push</b></td>
-        <td valign="top">- as a regular menu item or tool item.</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>radio</b></td>
-        <td valign="top">- as a radio style menu item or tool item. Actions with the radio style within the same menu or toolbar group behave as a radio set. The initial value is specified by the <samp>state</samp> attribute.</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>toggle</b></td>
-        <td valign="top">- as a checked style menu item or as a toggle tool item. The initial value is specified by the <samp>state</samp> attribute.</td>
-      </tr>
-    </table></li><li><b>state</b> - an optional attribute indicating the initial state (either <samp>true</samp> or <samp>false</samp>), used when the <samp>style</samp> attribute has the value <samp>radio</samp> or <samp>toggle</samp>.</li><li><b>class</b> - the name of the fully qualified class that implements <samp>org.eclipse.ui.IEditorActionDelegate</samp></li><li><b>enablesFor</b> - a value indicating the selection count which must be met to enable the action.
-If this attribute is specified and the condition is met, the action is enabled.
-If the condition is not met, the action is disabled.
-If no attribute is specified, the action is enabled for any number of items selected.
-The following attribute formats are supported: 
-    <table border="0" width="80%">
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>!</b></td>
-        <td valign="top">- 0 items selected</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>?</b></td>
-        <td valign="top">- 0 or 1 items selected</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>+</b></td>
-        <td valign="top">- 1 or more items selected</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>multiple, 2+</b></td>
-        <td valign="top">- 2 or more items selected</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>n</b></td>
-        <td valign="top">- a precise number of items selected.a precise number of items selected.&nbsp;
-          For example: enablesFor=&quot; 4&quot; enables the action only when 4
-          items are selected</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>*</b></td>
-        <td valign="top">- any number of items selected</td>
-      </tr>
-    </table></li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT menu (separator+ , groupMarker*)&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to defined a new menu.</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST menu</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;label&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;path&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>id</b> - a unique identifier that can be used to reference this menu.</li><li><b>label</b> - a translatable name used by the Workbench for this new menu. The name should include mnemonic information.</li><li><b>path</b> - the location of the new menu starting from the root of the menu. Each token in the path must refer to an existing menu, except the last token which should represent a named group in the last menu in the path. If omitted, the new menu will be added to the <samp>additions</samp> named group of the menu.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT separator EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to create a menu separator in the new menu.</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST separator</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>name</b> - the name of the menu separator. This name can later be referenced as the last token in a menu path. Therefore, a separator also serve as named group into which actions and menus can be added.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT groupMarker EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to create a named group in the new menu. It has no visual representation in the new menu, unlike the</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST groupMarker</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>name</b> - the name of the group marker. This name can later be referenced as the last token in the menu path. It serves as named group into which actions and menus can be added.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT selection EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to help determine the action enablement based on the current selection. Ignored if the</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST selection</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>class</b> - a fully qualified name of the class or interface that each object in the selection must implement in order to enable the action.</li><li><b>name</b> - an optional wild card filter for the name that can be applied to all objects in the selection. If specified and the match fails, the action will be disabled.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT enablement (and | or | not | objectClass | objectState | pluginState | systemProperty)&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to define the enablement for the action.</p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT visibility (and | or | not | objectClass | objectState | pluginState | systemProperty)&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to define the visibility for the action.</p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT and (and | or | not | objectClass | objectState | pluginState | systemProperty)&gt;</samp>

-<p>&nbsp;&nbsp; This element represent a boolean AND operation on the result of evaluating it's two sub-element expressions.</p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT or (and | or | not | objectClass | objectState | pluginState | systemProperty)&gt;</samp>

-<p>&nbsp;&nbsp; This element represent a boolean OR operation on the result of evaluating it's two sub-element expressions.</p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT not (and | or | not | objectClass | objectState | pluginState | systemProperty)&gt;</samp>

-<p>&nbsp;&nbsp; This element represent a boolean NOT operation on the result of evaluating it's sub-element expressions.</p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT objectClass EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to evaluate the class or interface of each object in the current selection. If each object in the selection implements the specified class or interface, the expression is evaluated as true.</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST objectClass</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>name</b> - a fully qualified name of a class or interface.  The expression is evaluated as true only if all objects within the selection implement this class or interface.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT objectState EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to evaluate the attribute state of each object in the current selection. If each object in the selection has the specified attribute state, the expression is evaluated as true. To evaluate this type of expression, each object in the selection must implement, or adapt to, the</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST objectState</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>name</b> - the name of an object's attribute. Acceptable names reflect the object type, and should be publicly declared by the plug-in where the object type is declared.</li><li><b>value</b> - the required value of the object's attribute. The acceptable values for the object's attribute should be publicly declared.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT pluginState EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to evaluate the state of a plug-in. The state of the plug-in may be</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST pluginState</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;(installed|activated) "installed"</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>id</b> - the identifier of a plug-in which may or may not exist in the plug-in registry.</li><li><b>value</b> - the required state of the plug-in. The state of the plug-in may be <samp>installed</samp> or <samp>activated</samp>.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT systemProperty EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to evaluate the state of some system property.  The property value is retrieved from</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST systemProperty</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>name</b> - the name of the system property.</li><li><b>value</b> - the required value of the system property.</li></ul>

-<b><i>Examples: </i></b>The following is an example of an editor action extension: 
-<p>
-<pre>
-   &lt;extension point=&quot;org.eclipse.ui.editorActions&quot;&gt; 
-      &lt;editorContribution 
-         id=&quot;com.xyz.xyzContribution&quot; 
-         targetID=&quot;com.ibm.XMLEditor&quot;&gt; 
-         &lt;menu
-            id=&quot;XYZ&quot;
-            label=&quot;&amp;amp;XYZ Menu&quot;&gt; 
-            &lt;separator name=&quot;group1&quot;/&gt; 
-         &lt;/menu&gt; 
-         &lt;action 
-            id=&quot;com.xyz.runXYZ&quot; 
-            label=&quot;&amp;amp;Run XYZ Tool&quot; 
-            menubarPath=&quot;XYZ/group1&quot; 
-            toolbarPath=&quot;Normal/additions&quot;
-            style=&quot;toggle&quot;
-            state=&quot;true&quot; 
-            icon=&quot;icons/runXYZ.gif&quot; 
-            tooltip=&quot;Run XYZ Tool&quot; 
-            helpContextId=&quot;com.xyz.run_action_context&quot; 
-            class=&quot;com.xyz.actions.RunXYZ&quot;&gt; 
-            &lt;selection class=&quot;org.eclipse.core.resources.IFile&quot; name=&quot;*.java&quot;/&gt; 
-         &lt;/action&gt; 
-      &lt;/editorContribution&gt; 
-   &lt;/extension&gt; 
-</pre>
-</p>
-<p>
-In the example above, the specified action will appear as a check box item in the new top-level menu named "XYZ Menu", and as a toggle button in the toolbar. The action is enabled if the selection contains only Java file resources.
-<p>
-The following is an other example of an editor action extension: 
-<p>
-<pre>
-   &lt;extension point=&quot;org.eclipse.ui.editorActions&quot;&gt; 
-      &lt;editorContribution 
-         id=&quot;com.xyz.xyz2Contribution&quot; 
-         targetID=&quot;com.ibm.XMLEditor&quot;&gt; 
-         &lt;menu 
-            id=&quot;XYZ2&quot; 
-            label=&quot;&amp;amp;XYZ2 Menu&quot; 
-            path=&quot;edit/additions&quot;&gt; 
-            &lt;separator name=&quot;group1&quot;/&gt; 
-         &lt;/menu&gt; 
-         &lt;action 
-            id=&quot;com.xyz.runXYZ2&quot; 
-            label=&quot;&amp;amp;Run XYZ2 Tool&quot; 
-            menubarPath=&quot;edit/XYZ2/group1&quot;
-            style=&quot;push&quot;
-            icon=&quot;icons/runXYZ2.gif&quot; 
-            tooltip=&quot;Run XYZ2 Tool&quot; 
-            helpContextId=&quot;com.xyz.run_action_context2&quot; 
-            class=&quot;com.xyz.actions.RunXYZ2&quot;&gt; 
-            &lt;enablement&gt;
-               &lt;and&gt;
-                  &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-                  &lt;not&gt;
-                     &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-                  &lt;/not&gt;
-               &lt;/and&gt;
-            &lt;/enablement&gt;
-         &lt;/action&gt; 
-      &lt;/editorContribution&gt; 
-   &lt;/extension&gt; 
-</pre>
-</p>
-<p>
-In the example above, the specified action will appear as a menu item in the sub-menu named "XYZ2 Menu" in the top level "Edit" menu. The action is enabled if the selection contains no Java file resources.<p>

-<b><i>API Information: </i></b>The value of the class attribute must be a fully qualified
-name of a Java class that implements 
-<samp>org.eclipse.ui.IEditorActionDelegate</samp>. 
-This class is loaded as late as possible to 
-avoid loading the entire plug-in before it is really 
-needed. The method <samp>setActiveEditor</samp> will be 
-called each time an editor of the specified type is 
-activated. Only one set of actions and menus will be 
-created for all instances of the specified editor 
-type, regardless of the number of editor instances 
-currently opened in the Workbench. 
-<p>
-This extension point can be used to contribute actions 
-into menus previously created by the target editor. 
-In addition, menus and actions can be contributed to 
-the Workbench window.  The identifiers for actions and 
-major groups within the Workbench window are defined in 
-<samp>org.eclipse.ui.IWorkbenchActionConstants</samp>.  
-These should be used as a reference point for 
-the addition of new actions.  Top level menus are 
-created by using the following values for the 
-path attribute: 
-<ul>
-<li>
-additions - represents a named group immediately to the left of the <samp>Window</samp> menu. 
-</li>
-</ul>
-Omitting the path attribute will result in adding the new menu into the additions menu bar group.
-<p>
-Actions and menus added into these paths will only 
-be shown while the associated editor is active. When 
-the editor is closed, menus and actions will be removed.
-<p>
-The enablement criteria for an action extension is initially defined by <samp>enablesFor</samp>, and also either <samp>selection</samp> or <samp>enablement</samp>. However, once the action delegate has been instantiated, it may control the action enable state directly within its <samp>selectionChanged</samp> method.
-<p>
-Action and menu labels may contain special characters that encode mnemonics using the following rules:
-<ol>
-<li>
-Mnemonics are specified using the ampersand ('&amp;') character in front
-of a selected character in the translated text. Since ampersand is not
-allowed in XML strings, use <samp>&amp;amp;</samp> character entity.</li>
-</ol>
-If two or more actions are contributed to a menu or toolbar by a single
-extension the actions will appear in the reverse order of how they are
-listed in the plugin.xml file. This behavior is admittedly unintuitive. 
-However, it was discovered after the Eclipse Platform API was frozen. 
-Changing the behavior now would break every plug-in which relies upon the
-existing behavior.
-<p>
-The <samp>selection</samp> and <samp>enablement</samp> elements are mutually exclusive. The <samp>enablement</samp> element can replace the <samp>selection</samp> element using the sub-elements <samp>objectClass</samp> and <samp>objectState</samp>. For example, the following:
-<pre>
- &lt;selection
-  class=&quot;org.eclipse.core.resources.IFile&quot;
-  name=&quot;*.java&quot;&gt;
- &lt;/selection&gt;
-</pre>
-can be expressed using:
-<pre>
- &lt;enablement&gt;
-  &lt;and&gt;
-   &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-   &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-  &lt;/and&gt;
- &lt;/enablement&gt;
-</pre><p>

-<b><i>Supplied Implementation: </i></b>The Workbench provides a built-in "Default Text Editor". Plug-ins can contribute into this default editor or editors provided by other plug-ins.<p>

-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>

-</BODY>

-</HTML>

diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_editors.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_editors.html
deleted file mode 100644
index 66c5502..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_editors.html
+++ /dev/null
@@ -1,160 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Internal and External Editors</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.ui.editors<p>
-<b><i>Description: </i></b>This extension point is used to add new editors to the 
-workbench.  A editor is a visual component within a 
-workbench page. It is typically used to edit or browse 
-a document or input object.  To open an editor, the user 
-will typically invoke "Open" on an <samp>IFile</samp>.  
-When this action is performed the workbench registry 
-is consulted to determine an appropriate editor for 
-the file type and then a new instance of the editor 
-type is created.  The actual result depends on the 
-type of the editor.  The workbench provides support 
-for the creation of internal editors, which are tightly 
-integrated into the workbench, and external editors, 
-which are launched in a separate frame window.  
-There are also various level of integration between 
-these extremes. 
-<p>
-In the case of an internal editor tight integration can 
-be achieved between the workbench window and the editor 
-part.  The workbench menu and toolbar are pre-loaded 
-with a number of common actions, such as cut, copy, and 
-paste.  The active part, view or editor, is expected to 
-provide the implementation for these actions. An internal 
-editor may also define new actions which appear in the 
-workbench window.  These actions only appear when the 
-editor is active. 
-<p>
-The integration between the workbench and external
-editors is more tenuous.  In this case the workbench 
-may launch an editor but after has no way of determining
-the state of the external editor or collaborating 
-with it by any means except through the file system.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (editor*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT editor EMPTY&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST editor</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extensions&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;command&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contributorClass&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(true | false) "false""false"</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;filenames&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;launcher&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;symbolicFontName&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>id</b> - a unique name that will be used to identify this editor</li><li><b>name</b> - a translatable name that will be used in the UI for this editor</li><li><b>icon</b> - a relative name of the icon that will be used for all resources that match the specified extensions. 
-An icon is not required if you specify a command rather than a class. In that case, the workbench 
-will use the icon provided by the operating system.</li><li><b>extensions</b> - an optional field containing the list of file types understood by the editor.  This is a string containing comma separate file extensions.  For instance, an editor which understands hypertext documents may register for "htm, html".</li><li><b>class</b> - a name of the class that implements <samp>org.eclipse.ui.IEditorPart</samp>.
-  Attributes <samp>class</samp> and <samp>command</samp> are mutually exclusive.  If this attribute is defined then <samp>contributorClass</samp> should also be defined.</li><li><b>command</b> - a command to run in order to launch an external editor. The executable command must be located on the system path or in the plug-in's directory. Attributes
-<samp>class</samp> and <samp>command</samp> are mutually exclusive.</li><li><b>contributorClass</b> - a name of the class that implements 
-<samp>org.eclipse.ui.IEditorActionBarContributor</samp>. The <samp>contributorClass</samp> field should only be defined if the class field is defined.
-This class is used to add new actions to the workbench menu and tool bar which reflect the features of the editor type.</li><li><b>default</b> - if true, this editor will be used as the default editor for the
-type. This is only relevant in a case where more than one editor
-is registered for the same type. If an editor is not the default
-for the type, it can still be launched using "Open with..."
-submenu for the selected resource.</li><li><b>filenames</b> - an optional field containing the list of file names 
-understood by the editor.  This is a string 
-containing comma separate file names.  For instance, 
-an editor which understands specific hypertext 
-documents may register for "ejb.htm, ejb.html".</li><li><b>launcher</b> - the name of a class which implements 
-<samp>org.eclipse.ui.IEditorLauncher</samp>. 
-A launcher will open an external editor. 
-Attributes <samp>class</samp>, <samp>command</samp> and 
-<samp>launcher</samp> are mutually exclusive.</li><li><b>symbolicFontName</b> - the symbolic name of a font. The symbolic font name must be the id of a defined font (see org.eclipse.ui.fontDefinitions). If this attribute is missing or invalid then the font name is the value of "org.eclipse.jface.textfont" in the editor's preferences store. If there is no preference store or the key is not defined then the JFace text font will be used. The editor implementation decides if it uses this symbolic font name to set the font.</li></ul>
-<b><i>Examples: </i></b>The following is an example 
-of an internal editor extension definition: 
-<p>
-<pre>
-   &lt;extension point=&quot;org.eclipse.ui.editors&quot;&gt; 
-      &lt;editor 
-         id=&quot;com.xyz.XMLEditor&quot; 
-         name=&quot;Fancy XYZ XML editor&quot; 
-         icon=&quot;./icons/XMLEditor.gif&quot; 
-         extensions=&quot;xml&quot; 
-         class=&quot;com.xyz.XMLEditor&quot; 
-         contributorClass=&quot;com.xyz.XMLEditorContributor&quot; 
-         symbolicFontName=&quot;org.eclipse.jface.textfont&quot;
-         default=&quot;false&quot;&gt; 
-      &lt;/editor&gt; 
-   &lt;/extension&gt; 
-</pre>
-</p><p>
-<b><i>API Information: </i></b>If the command attribute is used, it will be treated 
-as an external program command line that will be executed
- in a platform-dependent manner. 
-<p>
-If the launcher attribute is used the editor will also 
-be treated as an external program.  In this case the 
-specified class must implement 
-<samp>org.eclipse.ui.IEditorLauncher</samp>. 
-The launcher will be instantiated and then 
-<samp>open(IFile file)</samp> will be invoked to 
-launch the editor. 
-<p>
-If the class attribute is used, the workbench will 
-assume that it is an internal editor and the specified 
-class must implement <samp>org.eclipse.ui.IEditorPart</samp>.
-It is common practice to 
-<samp>subclass org.eclipse.ui.EditorPart</samp> when 
-defining a new editor type.  It is also necessary to 
-define a <samp>contributorClass</samp> attribute.  
-The specified class must implement 
-<samp>org.eclipse.ui.IEditorActionBarContributor</samp>, 
-and is used to add new actions to the workbench 
-menu and tool bar which reflect the features of the 
-editor type. 
-<p>
-Within the workbench there may be more than one open 
-editor of a particular type.  For instance, there may 
-be one or more open Java Editors.  To avoid the creation
-of duplicate actions and action images the editor 
-concept has been split into two.  An 
-<samp>IEditorActionBarContributor</samp> is responsible
-for the creation of actions.  The editor is responsible 
-for action implementation.  Furthermore, the contributor 
-is shared by each open editor.  As a result of this 
-design there is only one set of actions for one or 
-more open editors. 
-<p>
-The contributor will add new actions to the workbench 
-menu and toolbar which reflect the editor type.  These 
-actions are shared and, when invoked, act upon the 
-active editor.  The active editor is passed to the 
-contributor by invoking 
-<samp>IEditorActionBarContributor.setActiveEditor</samp>.  
-The identifiers for actions and major groups within 
-the workbench window are defined in 
-<samp>org.eclipse.ui.IWorkbenchActionConstants</samp>.  
-These should be used as a reference point for the 
-addition of new actions.   Top level menus are created 
-by using the following values for the path attribute: 
-<ul>
-<li>
-additions - represents a group to the left of the Window menu. 
-</li>
-</ul>
-Actions and menus added into these paths will only be 
-shown while the associated editor is active. When the 
-editor is closed, menus and actions will be removed.<p>
-<b><i>Supplied Implementation: </i></b>The workbench provides a "Default Text Editor". The end user product may contain other editors as part of the shipping bundle. In that case, editors will be registered as extensions using the syntax described above.<p>
-Copyright (c) 2002,2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_elementFactories.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_elementFactories.html
deleted file mode 100644
index d62f6d7..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_elementFactories.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Element Factories</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.ui.elementFactories<p>
-<b><i>Description: </i></b>This extension point is used to add element factories 
-to the workbench.  An element factory is used to 
-recreate <samp>IAdaptable</samp> objects which are 
-persisted during workbench shutdown. 
-<p>
-As an example, the element factory is used to 
-persist editor input.  The input for an 
-editor must implement 
-<samp>org.eclipse.ui.EditorInput</samp>.  
-The life cycle of an <samp>IEditorInput</samp> within 
-an editor has a number of phases. 
-<ol>
-<li>
-The initial input for an editor is passed in during 
-editor creation. 
-</li>
-<li>
-On shutdown the workbench state is captured.  
-In this process the workbench will create a memento 
-for each open editor and its input.  The input is 
-saved as a two part memento containing a factory ID 
-and any primitive data required to recreate the 
-element on startup.  For more information see 
-the documentation on 
-<samp>org.eclipse.ui.IPersistableElement</samp>. 
-</li>
-<li>
-On startup the workbench state is read and the 
-editors from the previous session are recreated.  
-In this process the workbench will recreate the input 
-element for each open editor.  To do this it will 
-map the original factory ID for the input element 
-to a concrete factory class defined in the registry.  
-If a mapping exists, and the factory class is valid, 
-an instance of the factory class is created.  Then 
-the workbench asks the factory to recreate the original 
-element from the remaining primitive data within the 
-memento.  The resulting <samp>IAdaptable</samp> is cast
-to an <samp>IEditorInput</samp> and passed to the 
-new editor. 
-</li>
-</ol><p><b><i>Configuration Markup:</i></b><p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (factory*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT factory EMPTY&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST factory</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>id</b> - a unique name that will be used to identify this factory.</li><li><b>class</b> - a fully qualified name of a class that implements 
-<samp>org.eclipse.ui.IElementFactory</samp></li></ul>
-<b><i>Examples: </i></b>The following is an example of an element factory extension: 
-<p>
-<pre>
-   &lt;extension 
-        point = &quot;org.eclipse.ui.elementFactories&quot;&gt; 
-        &lt;factory 
-           id =&quot;com.xyz.ElementFactory&quot; 
-           class=&quot;com.xyz.ElementFactory&quot;&gt; 
-        &lt;/factory&gt; 
-    &lt;/extension&gt; 
-</pre>
-</p><p>
-<b><i>API Information: </i></b>The value of the <samp>class</samp> attribute must 
-be a fully qualified name of a class that implements 
-<samp>org.eclipse.ui.IElementFactory</samp>. An instance 
-of this class must create an <samp>IAdaptable</samp> 
-object from a workbench memento.<p>
-<b><i>Supplied Implementation: </i></b>The workbench provides an <samp>IResource</samp> factory.  
-Additional factories should be added to recreate other 
-<samp>IAdaptable</samp> types commonly found in other 
-object models, such as the Java Model.<p>
-<p>
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_exportWizards.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_exportWizards.html
deleted file mode 100644
index b410817..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_exportWizards.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Export Wizards</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.ui.exportWizards<p>
-<b><i>Description: </i></b>This extension point is used to register export wizard extensions. Export wizards appear as choices within the "Export Dialog", and are used to export resources from the workbench. 
-<p>
-Wizards may optionally specify a description subelement whose body should contain short text about the wizard.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (wizard*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT wizard (description? , selection*)&gt;</samp>
-<p>&nbsp;&nbsp; an element that will be used to create export wizard</p>
-<p></p>
-<samp>&nbsp;&nbsp; &lt;!ATTLIST wizard</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icon&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>id</b> - a unique name that will be used to identify this wizard</li><li><b>name</b> - a translatable name that will be used in the dialog box to represent this wizard</li><li><b>class</b> - a fully qualified name of the class that implements <tt>org.eclipse.ui.IExportWizard</tt>
-interface</li><li><b>icon</b> - a relative name of the icon that will be used 
-alongside the wizard name in the export engine listing.</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT description (#CDATA)&gt;</samp>
-<p>&nbsp;&nbsp; an optional subelement whose body should represent a short description
-of the export engine functionality.</p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT selection EMPTY&gt;</samp>
-<p>&nbsp;&nbsp; an optional element that restricts the types and names of objects that can be selected 
-when the wizard is invoked.</p>
-<p></p>
-<samp>&nbsp;&nbsp; &lt;!ATTLIST selection</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>name</b> - an optional name filter.  Each object in the workbench selection must match the name filter to be passed to the wizard.</li><li><b>class</b> - a fully qualified class name.  If each object in the workbench selection implements this interface the selection will be passed to the wizard.  Otherwise, an empty selection is passed.</li></ul>
-<b><i>Examples: </i></b>The following is an example of an export extension definition:
-<p>
-<pre>
-   &lt;extension 
-       point=&quot;org.eclipse.ui.exportWizards&quot;&gt; 
-      &lt;wizard 
-         id=&quot;com.xyz.ExportWizard1&quot; 
-         name=&quot;XYZ Web Exporter&quot; 
-         class=&quot;com.xyz.exports.ExportWizard1&quot; 
-         icon=&quot;./icons/import1.gif&quot;&gt; 
-         &lt;description&gt; 
-            A simple engine that exports Web project 
-         &lt;/description&gt; 
-         &lt;selection class=&quot;org.eclipse.core.resources.IProject&quot;/&gt; 
-      &lt;/wizard&gt; 
-   &lt;/extension&gt; 
-</pre>
-</p><p>
-<b><i>API Information: </i></b>The value of the <samp>class</samp> attribute 
-must be a name of the class that implements 
-<samp>org.eclipse.ui.IExportWizard</samp>.<p>
-<b><i>Supplied Implementation: </i></b>The workbench comes preloaded with basic export engines 
-for files and directories.<p>
-<p>
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_fontDefinitions.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_fontDefinitions.html
deleted file mode 100644
index ddb8743..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_fontDefinitions.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Font Definitions</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.ui.fontDefinitions<p>
-<b><i>Since: </i></b>Release 2.1<p>
-<b><i>Description: </i></b>This extension point is used to register fonts with the JFace FontRegistry and with the workbench preference store for use by the Fonts preference page.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (fontDefinition*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT fontDefinition (description?)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST fontDefinition</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;label&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;defaultsTo&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>id</b> - a unique name that can be used to identify this font definition.</li><li><b>label</b> - a translatable name of the font to be presented to the user.</li><li><b>defaultsTo</b> - the id of another  font definition that is the default setting for the receiver. When there is no preference for this font the font registry will have the value of defaultsTo set for it in the registry.</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT description (#CDATA)&gt;</samp>
-<p>&nbsp;&nbsp; a short description of the fonts usage</p>
-<b><i>Examples: </i></b>Following is an example of an a font definition extension:
-<p>
-<pre>
-   &lt;extension point=&quot;org.eclipse.ui.fontDefinition&quot;&gt; 
-      &lt;fontDefinition 
-         id=&quot;org.eclipse.examples.textFont&quot; 
-         label=&quot;Text&quot;&gt; 
-         &lt;description&gt;
-            The text font
-         &lt;/description&gt;
-      &lt;/fontDefinition&gt; 
-
-      &lt;fontDefinition 
-        id=&quot;org.eclipse.examples.userFont&quot; 
-        label=&quot;User&quot;
-        defaultsTo=&quot;org.eclipse.jface.textFont&quot;&gt; 
-        &lt;description&gt;
-           The user font
-        &lt;/description&gt;
-      &lt;/fontDefinition&gt; 
-   &lt;/extension&gt; 
-</pre>
-</p><p>
-<b><i>API Information: </i></b>The defaultsTo tag is used as a directive by
-the Workbench to set the value of the font definition to the value of defaultsTo
-whenever the defaultsTo fontDefinition is updated. This only occurs if the
-fontDefinition is at its default value - once it is set by the user this updates
-will not occur. The workbench provides 4 fonts: 
-<P><b>org.eclipse.jface.bannerfont</b>. The banner font is used in wizard banners.<br>
-<b>org.eclipse.jface.dialogfont</b>. The dialog font is the font for widgets in dialogs.<br>
-<b>org.eclipse.jface.headerfont</b>. The header font is used for section headers in composite text pages.<br>
-<b>org.eclipse.jface.textfont</b>. The text font is used by text editors.<p>
-<b><i>Supplied Implementation: </i></b>The workbench provides the font
-definitions for the text, dialog, banner and header fonts.<p>
-<p>
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_importWizards.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_importWizards.html
deleted file mode 100644
index 194748c..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_importWizards.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Import Wizards</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.ui.importWizards<p>
-<b><i>Description: </i></b>This extension point is used to register import wizard extensions. Import wizards appear as choices within the "Import Dialog" and are used to import resources into the workbench. 
-<P>
-Wizards may optionally specify a description subelement whose body should contain short text about the wizard.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (wizard*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT wizard (description? , selection*)&gt;</samp>
-<p>&nbsp;&nbsp; an element that will be used to create import wizard</p>
-<p></p>
-<samp>&nbsp;&nbsp; &lt;!ATTLIST wizard</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icon&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>id</b> - a unique name that will be used to identify this wizard</li><li><b>name</b> - a translatable name that will be used in the dialog box to represent this wizard</li><li><b>class</b> - a fully qualified name of the class that implements <samp>org.eclipse.ui.IImportWizard</samp> interface</li><li><b>icon</b> - a relative name of the icon that will be used alongside the wizard name in the import engine listing.</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT description (#CDATA)&gt;</samp>
-<p>&nbsp;&nbsp; an optional subelement whose body should represent a short description of the import engine functionality.</p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT selection EMPTY&gt;</samp>
-<p>&nbsp;&nbsp; an optional element that restricts the types and names of objects that can be selected when the wizard is invoked.</p>
-<p></p>
-<samp>&nbsp;&nbsp; &lt;!ATTLIST selection</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>name</b> - an optional name filter.  Each object in the workbench selection must match the name filter to be passed to the wizard.</li><li><b>class</b> - fully qualified class name.  If each object in the workbench selection implements this interface the selection will be passed to the wizard.  Otherwise, an empty selection is passed.</li></ul>
-<b><i>Examples: </i></b>The following is an example of an import extension definition: 
-<p>
-<pre>
-   &lt;extension 
-       point=&quot;org.eclipse.ui.importWizards&quot;&gt; 
-      &lt;wizard 
-         id=&quot;com.xyz.ImportWizard1&quot; 
-         name=&quot;XYZ Web Scraper&quot; 
-         class=&quot;com.xyz.imports.ImportWizard1&quot; 
-         icon=&quot;./icons/import1.gif&quot;&gt; 
-         &lt;description&gt; 
-            A simple engine that searches the Web and imports files 
-         &lt;/description&gt; 
-         &lt;selection class=&quot;org.eclipse.core.resources.IResource&quot;/&gt; 
-      &lt;/wizard&gt; 
-   &lt;/extension&gt; 
-</pre>
-</p><p>
-<b><i>API Information: </i></b>The value of the <samp>class</samp> attribute must represent a name of the class that implements 
- <samp>org.eclipse.ui.IImportWizard</samp>.<p>
-<b><i>Supplied Implementation: </i></b>The workbench comes preloaded with the basic import engines for files and directories.<p>
-Copyright (c) 2002,2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_markerHelp.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_markerHelp.html
deleted file mode 100644
index 7442247..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_markerHelp.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Marker Help</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.ui.markerHelp<p>
-<b><i>Since: </i></b>Release 2.0<p>
-<b><i>Description: </i></b>This extension point is used to associate a help context id with a specific "kind" of marker (a marker of a certain type or having certain attribute values).<p><b><i>Configuration Markup:</i></b><p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (markerHelp*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT markerHelp (attribute*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST markerHelp</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;markerType&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;helpContextId&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>markerType</b> - the unique type of the marker for which the help context applies.</li><li><b>helpContextId</b> - the unique id of the help context.</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT attribute EMPTY&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST attribute</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>name</b> - the name of the attribute whose value is being specified.</li><li><b>value</b> - the specified value of the attribute.</li></ul>
-<b><i>Examples: </i></b>The following is an example of a marker help extension (not the sub-element and the way attributes are used):
-
-<p>
-<pre>
- &lt;extension point=&quot;org.eclipse.ui.markerHelp&quot;&gt;
-  &lt;markerHelp
-   markerType=&quot;org.eclipse.ui.examples.readmetool.readmemarker&quot;
-   helpContextId=&quot;org.eclipse.ui.examples.readmetool.marker_example1_context&quot;&gt;
-   &lt;attribute name=&quot;org.eclipse.ui.examples.readmetool.id&quot; value=&quot;1234&quot;/&gt;
-  &lt;/markerHelp&gt;
- &lt;/extension&gt;
-</pre>
-</p>
-
-In the example above, a help context id is associated with markers of type org.eclipse.ui.examples.readmetool.readmemarker
-whose org.eclipse.ui.examples.readmetool.id attribute has a value of 1234.<p>
-<b><i>API Information: </i></b>It is up to the developer to ensure that only a single help context id is supplied for a given marker.
-If two or more help context ids are supplied for a given kind of marker, the workbench does not define which will be returned.
-However the workbench does define that the "most specific" context id will always be returned for a given marker.
-That is, a context id associated with three matching attribute values will be returned before a context id associated with only two.<p>
-<b><i>Supplied Implementation: </i></b>Copyright (c) 2002,2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>
-Copyright (c) 2002, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_markerImageProviders.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_markerImageProviders.html
deleted file mode 100644
index 50fed05..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_markerImageProviders.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0//en">

-<html>

-<head>

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

-   <title>Eclipse Workbench Extension Point: Marker Image Providers</title>

-</head>

-<body link="#0000FF" vlink="#800080">

-

-<center>

-<h1>

-Marker Image Providers</h1></center>

-<b><i>Identifier: </i></b>org.eclipse.ui.markerImageProviders<p><b><i>Description: </i></b>

-This is an internal extension point used to associate images with markers, 

-where the image for a marker is made accessible via <code>IWorkbenchAdapter</code>.

-<br>It is currently used internally to provide images for problem markers.

-<p>To obtain the image for a marker, use:<pre><code>

-    IMarker marker = ...;

-    IWorkbenchAdapter adapter = 

-        (IWorkbenchAdapter) marker.getAdapter(IWorkbenchAdapter.class);

-    if (adapter != null) {

-        ImageDescriptor image = 

-            adapter.getImageDescriptor(marker);

-        if (image != null) {

-            ...

-        }

-    }

-</code></pre>

-

-<p><b>This extension point is not API.  Other plug-ins should not use this extension point.</b>

-

-<p><a href="hglegal2002.htm"><img SRC="ngibmcpy2002.gif" ALT="Copyright IBM Corporation and others 2000, 2002." BORDER=0></a>

-

-</body>

-</html>

diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_markerResolution.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_markerResolution.html
deleted file mode 100644
index f22b9db..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_markerResolution.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Marker Resolutions</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.ui.markerResolution<p>
-<b><i>Since: </i></b>Release 2.0<p>
-<b><i>Description: </i></b>This extension point is used to associate a marker resolution generator with a specific "kind" of marker.
-(a marker of a certain type or having certain attribute values).<p><b><i>Configuration Markup:</i></b><p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (markerResolutionGenerator*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT markerResolutionGenerator (attribute*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST markerResolutionGenerator</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;markerType&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>class</b> - the name of the class implementing IMarkerResolutionGenerator</li><li><b>markerType</b> - the type of marker for which the help context applies.</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT attribute EMPTY&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST attribute</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>name</b> - the name of the attribute whose value is being specified.</li><li><b>value</b> - the specified value of the attribute.</li></ul>
-<b><i>Examples: </i></b>The following is an example of a marker resolution generator extension (note the sub-element and the way attributes are used):
-
-<p>
-<pre>
- &lt;extension point=&quot;org.eclipse.ui.markerResolution&quot;&gt;
-  &lt;markerResolutionGenerator
-   class=&quot;org.eclipse.ui.examples.readmetool.ReadmeMarkerResolutionGenerator&quot;
-   markerType=&quot;org.eclipse.ui.examples.readmetool.readmemarker&quot;&gt;
-   &lt;attribute name=&quot;org.eclipse.ui.examples.readmetool.id&quot; value=&quot;1234&quot;/&gt;
-  &lt;/markerResolutionGenerator&gt;
- &lt;/extension&gt;
-</pre>
-</p>
-
-In the example above, a marker resolution generator is associated with markers of type org.eclipse.ui.examples.readmetool.readmemarker
-whose org.eclipse.ui.examples.redmetool.id attribute has a value of 1234.<p>
-<b><i>API Information: </i></b>More than one marker help generator may be supplied for a given marker.<p>
-Copyright (c) 2002, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_newWizards.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_newWizards.html
deleted file mode 100644
index 3cab2bc..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_newWizards.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Creation Wizards</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.ui.newWizards<p>
-<b><i>Description: </i></b>This extension point is used to register resource creation wizard extensions. Creation wizards appear as choices within the "New Dialog", and are typically used to create folders and files. 
-<p>
-In the "New Dialog", wizards are organized into categories which usually reflect a particular problem domain.  For instance, a Java oriented plugin may define a category called "Java" which is appropriate for "Class" or "Package" creation wizards.  The categories defined by one plug-in can be referenced by other plug-ins using the category attribute. Uncategorized wizards, as well as wizards with invalid category paths, will end up in an "Other" category. 
-<p>
-Wizards may optionally specify a description subelement whose body should contain short text about the wizard.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (category | wizard)*&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT category EMPTY&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST category</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parentCategory&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>id</b> - a unique name that can be used to identify this category</li><li><b>name</b> - a translatable name of the category that will be used in the dialog box</li><li><b>parentCategory</b> - a path to another category if this category should be added as a child</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT wizard (description? , selection*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST wizard</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;category&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;finalPerspective&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;project&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(true | false) "false"#IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>id</b> - a unique name that can be used to identify this wizard</li><li><b>name</b> - a translatable name of the wizard that will be used in the dialog box</li><li><b>icon</b> - a relative path of an icon that will be used together with the name to represent the wizard 
-as one of the choices in the creation dialog box.</li><li><b>category</b> - a slash-delimited path ('/') of category IDs. Each token in the
-path must represent a valid category ID previously defined
-by this or some other plug-in. If omitted, the wizard will be
-added to the "Other" category.</li><li><b>class</b> - a fully qualified name of the Java class implementing <samp>org.eclipse.ui.INewWizard</samp>.</li><li><b>finalPerspective</b> - an optional attribute which identifies a perspective to activate when IProject resource creation is finished.</li><li><b>project</b> - an optional attribute indicating the wizard will create an IProject resource.
-Also cause the wizard to appear as a choice within the "New Project Dialog".</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT description (#CDATA)&gt;</samp>
-<p>&nbsp;&nbsp; an optional subelement whose body contains a short text describing what the wizard will do when started</p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT selection EMPTY&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST selection</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>class</b> - a fully qualified class name.  If each object in the workbench selection implements this interface the selection will be passed to the wizard.  Otherwise, an empty selection is passed</li><li><b>name</b> - an optional name filter.  Each object in the workbench selection must match the name filter to be passed to the wizard</li></ul>
-<b><i>Examples: </i></b>Following is an example of creation wizard configuration: 
-<p>
-<pre>
-   &lt;extension point=&quot;org.eclipse.ui.newWizards&quot;&gt; 
-      &lt;category 
-        id=&quot;com.xyz.XYZ&quot; 
-        name=&quot;XYZ Wizards&quot;&gt; 
-      &lt;/category&gt; 
-      &lt;category 
-        id=&quot;com.xyz.XYZ.Web&quot; 
-        name=&quot;Web Wizards&quot; 
-        parentCategory=&quot;com.xyz.XYZ&quot;&gt; 
-      &lt;/category&gt; 
-      &lt;wizard 
-          id=&quot;com.xyz.wizard1&quot; 
-          name=&quot;XYZ artifact&quot; 
-          category=&quot;com.xyz.XYZ/com.xyz.XYZ.Web&quot; 
-          icon=&quot;./icons/XYZwizard1.gif&quot; 
-          class=&quot;com.xyz.XYZWizard1&quot;&gt; 
-          &lt;description&gt; 
-              Create a simple XYZ artifact and set initial content 
-          &lt;/description&gt; 
-           &lt;selection class=&quot;org.eclipse.core.resources.IResource&quot;/&gt;          
-      &lt;/wizard&gt; 
-   &lt;/extension&gt; 
-</pre>
-</p><p>
-<b><i>API Information: </i></b>The value of the class attribute must represent a class 
-that implements <samp>org.eclipse.ui.INewWizard</samp>. 
-If the wizard is created from within the 
-New Wizard it will be inserted into the existing wizard.  
-If the wizard is launched as a shortcut 
-(from the File New menu or a toolbar button) it will 
-appear standalone as a separate dialog box.<p>
-<b><i>Supplied Implementation: </i></b>The workbench comes with wizards for creating empty 
-resources of the following types: 
-project, folder and file. These wizards are registered 
-using the same mechanism as described above. 
-Additional wizards may also appear, subject to 
-particular platform installation.<p>
-Copyright (c) 2002, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_perspectiveExtensions.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_perspectiveExtensions.html
deleted file mode 100644
index d006810..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_perspectiveExtensions.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

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

-</HEAD>

-<HTML>

-<BODY>

-<H1><CENTER>Perspective Extensions</CENTER></H1>

-<b><i>Identifier: </i></b>org.eclipse.ui.perspectiveExtensions<p>

-<b><i>Description: </i></b>This extension point is used to extend perspectives 
-registered by other plug-ins. A perspective defines 
-the initial contents of the window action bars 
-(menu and toolbar) and the initial set of views 
-and their layout within a workbench page.  
-Other plug-ins may contribute actions or views to 
-the perspective which appear when the perspective 
-is selected.  Optional additions by other plug-ins 
-are appended to the initial definition.<p><b><i>Configuration Markup:</i></b><p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (perspectiveExtension*)&gt;</samp>

-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT perspectiveExtension (actionSet | viewShortcut | perspectiveShortcut | newWizardShortcut | view)*&gt;</samp>

-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST perspectiveExtension</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;targetID&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>targetID</b> - the unique identifier of the perspective (as specified in the registry) into which the contribution is made.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT actionSet EMPTY&gt;</samp>

-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST actionSet</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>id</b> - the unique identifier of the action set which will be added to the perspective.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT viewShortcut EMPTY&gt;</samp>

-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST viewShortcut</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>id</b> - the unique identifier of the view which will be added to the perspective's "Show View" submenu of the "Window" menu.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT perspectiveShortcut EMPTY&gt;</samp>

-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST perspectiveShortcut</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>id</b> - the unique identifier of the perspective which will be added to the perspective's "Open Perspective" submenu of the "Window" menu.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT newWizardShortcut EMPTY&gt;</samp>

-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST newWizardShortcut</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>id</b> - the unique identifier of the new wizard which will be added to the perspective's "New" submenu of the "File" menu.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT showInPart EMPTY&gt;</samp>

-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST showInPart</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>id</b> - the unique identifier of the view which will be added to the perspective's "Show In..." prompter in the Navigate menu.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT view EMPTY&gt;</samp>

-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST view</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;relative&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;relationship&nbsp;(stack|left|right|top|bottom|fast) #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ratio&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;visible&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(true | false) "false"#IMPLIED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>id</b> - the unique identifier of the view which will be added to the perspective layout.</li><li><b>relative</b> - the unique identifier of a view which already exists in the perspective.  This will be used as a reference point for placement of the view.  The relationship between these two views is defined by <samp>relationship</samp>.</li><li><b>relationship</b> - specifies the relationship between <samp>id</samp> and
-<samp>relative</samp>. 
-The following values are supported:
-<ul>
-<b>fast</b> - the view extension will be created as a fast view.
-<br><b>stack</b> - the view extension will be stacked with the relative
-view in a folder.
-<br><b>left, right, top, bottom</b> - the view extension will be placed
-beside the relative view. In this case a <samp>ratio</samp> must also
-be defined.</ul></li><li><b>ratio</b> - the percentage of area within the relative view which will be donated to the view extension. If the view extension is a fast view, the ratio is the percentage of the workbench the fast view will cover when active. This must be defined as a floating point value and lie between 0.05 and 0.95.</li><li><b>visible</b> - whether the view is initially visible when the perspective is opened.  This attribute should have a value of "true" or "false" if used.
-If this attribute is not used, the view will be initially visible by default.</li></ul>

-<b><i>Examples: </i></b>The following is an example of a perspective extension (note the subelements and the way attributes are used):
-<p>
-<pre>
-    &lt;extension point="org.eclipse.ui.perspectiveExtensions"&gt; 
-        &lt;perspectiveExtension 
-            targetID="org.eclipse.ui.resourcePerspective"&gt; 
-            &lt;actionSet id="org.eclipse.jdt.ui.JavaActionSet"/&gt; 
-            &lt;viewShortcut id="org.eclipse.jdt.ui.PackageExplorer"/&gt; 
-            &lt;newWizardShortcut id="org.eclipse.jdt.ui.wizards.NewProjectCreationWizard"/&gt; 
-            &lt;perspectiveShortcut id="org.eclipse.jdt.ui.JavaPerspective"/&gt; 
-            &lt;view id="org.eclipse.jdt.ui.PackageExplorer" 
-                relative="org.eclipse.ui.views.ResourceNavigator" 
-                relationship="stack"/&gt; 
-            &lt;view id="org.eclipse.jdt.ui.TypeHierarchy" 
-                relative="org.eclipse.ui.views.ResourceNavigator" 
-                relationship="left" 
-                ratio="0.50"/&gt; 
-        &lt;/perspectiveExtension&gt; 
-    &lt;/extension&gt; 
-</pre>
-</p>
-<p>
-In the example above, an action set, view shortcut, 
-new wizard shortcut, and perspective shortcut are 
-contributed to the initial contents of the 
-Resource Perspective.  In addition, the 
-Package Explorer view is stacked on the 
-Resource Navigator and the Type Hierarchy View is 
-added beside the Resource Navigator. 
-</p><p>

-<b><i>API Information: </i></b>The items defined within the perspective extension are contributed to the initial contents of the target perspective.  Following this, the user may remove any contribution or add others to a perspective from within the workbench user interface.<p>

-<p>
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>

-</BODY>

-</HTML>

diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_perspectives.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_perspectives.html
deleted file mode 100644
index 6338136..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_perspectives.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Perspectives</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.ui.perspective<p>
-<b><i>Description: </i></b>This extension point is used to add perspective factories to the workbench.  A perspective factory is used to define the initial layout and visible action sets for a perspective.  The user can select a perspective by invoking the "Open Perspective" submenu of the "Window" menu.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (perspective*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT perspective (description?)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST perspective</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icon&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>id</b> - a unique name that will be used to identify this perspective.</li><li><b>name</b> - a translatable name that will be used in the workbench window menu bar to represent this perspective.</li><li><b>class</b> - a fully qualified name of the class that implements 
-<samp>org.eclipse.ui.IPerspectiveFactory</samp> interface.</li><li><b>icon</b> - a relative name of the icon that will be associated 
-with this perspective.</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT description (#CDATA)&gt;</samp>
-<p>&nbsp;&nbsp; an optional subelement whose body should contain text providing short description of the perspective.</p>
-<b><i>Examples: </i></b>The following is an example of a perspective extension: 
-<p>
-<pre>
-   &lt;extension 
-        point=&quot;org.eclipse.ui.perspectives&quot;&gt; 
-        &lt;perspective 
-            id=&quot;org.eclipse.ui.resourcePerspective&quot; 
-            name=&quot;Resource&quot; 
-            class=&quot;org.eclipse.ui.internal.ResourcePerspective&quot; 
-            icon=&quot;icons/MyIcon.gif&quot;&gt; 
-        &lt;/perspective&gt; 
-    &lt;/extension&gt; 
-</pre>
-</p><p>
-<b><i>API Information: </i></b>The value of the <samp>class</samp> attribute must be the 
-fully qualified name of a class that implements 
-<samp>org.eclipse.ui.IPerspectiveFactory</samp>. 
-The class must supply the initial layout for a 
-perspective when asked by the workbench.
-<p>
-The <samp>plugin_customization.ini</samp> file is used to define the default perspective.  The <i>default perspective</i> is the first perspective which appears when the product is launched after install.  It is also used when the user opens a page or window with no specified perspective.  The default perspective is defined as a property within the plugin_customization.ini, as shown below.  The user may also override this perspective from the workbench perspectives preference page. 
-<pre>
-    defaultPerspectiveId = org.eclipse.ui.resourcePerspective 
-</pre>
-The perspectives which appear in the "Open Perspective" menu are shortcuts for perspective selection.  This set is defined by the active perspective itself, and extensions made through the perspectiveExtensions extension point.<p>
-<b><i>Supplied Implementation: </i></b>The workbench provides a "Resource Perspective".  
-Additional perspectives may be added by plug-ins. 
-They are selected using the "Open Perspective" submenu of the "Window" menu.<p>
-Copyright (c) 2002, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_popupMenus.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_popupMenus.html
deleted file mode 100644
index cb39ebf..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_popupMenus.html
+++ /dev/null
@@ -1,407 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

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

-</HEAD>

-<HTML>

-<BODY>

-<H1><CENTER>Pop-up Menus</CENTER></H1>

-<b><i>Identifier: </i></b>org.eclipse.ui.popupMenus<p>

-<b><i>Description: </i></b>This extension point is used to add new actions to context menus owned by other plug-ins.  Action contribution may be made against a specific object type (<samp>objectContribution</samp>) or against a specific context menu of a view or editor part (<samp>viewerContribution</samp>). When using <samp>objectContribution</samp>, the contribution will appear in all view or editor part context menus where objects of the specified type are selected. In contrast, using <samp>viewerContribution</samp>, the contribution will only appear in the specified view or editor part context menu, regardless of the selection.
-<p>
-When selection is heterogeneous, contribution will be applied if registered against a common type of the selection, if possible. If a direct match is not possible, matching against superclasses and superinterfaces will be attempted. 
-<p>
-Selection can be further constrained through the use of a name filter. If used, all the objects in the selection must match the filter in order to apply the contribution. 
-<p>
-Individual actions in an object contribution can use attribute enablesFor to specify if it should only apply for a single, multiple, or any other selection type. 
-<p>
-If these filtering mechanisms are inadequate an action contribution may use the <samp>filter</samp> mechanism.  In this case the attributes of the target object are described in a series of name value pairs.  The attributes which apply to the selection are type specific and beyond the domain of the workbench itself, so the workbench will delegate filtering at this level to the actual selection.<p>

-<p>

-An action's enablement and/or visibility can be defined using the elements <samp>enablement</samp> and <samp>visibility</samp> respectively. These two elements contain a boolean expression that is evaluated to determine the enablement and/or visibility.
-<p>
-The syntax is the same for the <samp>enablement</samp> and <samp>visibility</samp> elements. Both contain only one boolean expression sub-element. In the simplest case, this will be an <samp>objectClass</samp>, <samp>objectState</samp>, <samp>pluginState</samp>, or <samp>systemProperty</samp> element. In the more complex case, the <samp>and</samp>, <samp>or</samp>, and <samp>not</samp> elements can be combined to form a boolean expression. Both the <samp>and</samp>, and <samp>or</samp> elements must contain 2 sub-elements. The <samp>not</samp> element must contain only 1 sub-element.
-</p><p><b><i>Configuration Markup:</i></b><p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (objectContribution+ , viewerContribution+)&gt;</samp>

-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT objectContribution (filter* , visibility? , menu* , action*)&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to define a group of actions and/or menus for any viewer context menus for which the objects of the specified type are selected.</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST objectContribution</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;objectClass&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nameFilter&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;adaptable&nbsp;&nbsp;&nbsp;(true | false) "false""false"</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>id</b> - a unique identifier used to reference this contribution</li><li><b>objectClass</b> - a fully qualified name of the class or interface that all objects in the 
-selection must subclass or implement.</li><li><b>nameFilter</b> - an optional wild card filter for the name that can be applied to all objects in the selection. No contribution will take place if there is no match.</li><li><b>adaptable</b> - a flag that indicates if types that adapt to IResource should use this object contribution. This flag is used only if objectClass adapts to IResource.  Default value is false.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT viewerContribution (visibility? , menu* , action*)&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to define a group of actions and/or menus for a specific view or editor part context menu.</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST viewerContribution</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;targetID&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>id</b> - a unique identifier used to reference this contribution</li><li><b>targetID</b> - the unique identifier of a context menu inside a view or editor part.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT action (selection* , enablement?)&gt;</samp>

-<p>&nbsp;&nbsp; This element defines an action that the user can invoke in the UI.</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST action</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;label&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;menubarPath&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;helpContextId&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;style&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(push|radio|toggle) #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;state&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(true | false) "false"#IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enablesFor&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>id</b> - a unique identifier used as a reference for this action.</li><li><b>label</b> - a translatable name used as the menu item text. The name can include mnenomic information.</li><li><b>menubarPath</b> - a slash-delimited path ('/') used to specify the location of this action in the context menu. Each token in the path, except the last one, must represent a valid identifier of an existing menu in the hierarchy. The last token represents the named group into which this action will be added. If the path is omitted, this action will be added to the standard additions group defined by <samp>IWorkbenchActionConstants.MB_ADDITIONS</samp>.</li><li><b>icon</b> - a relative path of an icon used to visually represent the action in its context.
-The path is relative to the location of the plugin.xml file of the contributing plug-in.</li><li><b>helpContextId</b> - a unique identifier indicating the help context for this action. If the action appears as a menu item, then pressing F1 while the menu item is highlighted will display help.</li><li><b>style</b> - an optional attribute to define the user interface style type for the action. If defined, the attribute value will be one of the following:
-    <table border="0" width="80%">
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>push</b></td>
-        <td valign="top">- as a regular menu item or tool item.</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>radio</b></td>
-        <td valign="top">- as a radio style menu item or tool item. Actions with the radio style within the same menu or toolbar group behave as a radio set. The initial value is specified by the <samp>state</samp> attribute.</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>toggle</b></td>
-        <td valign="top">- as a checked style menu item or as a toggle tool item. The initial value is specified by the <samp>state</samp> attribute.</td>
-      </tr>
-    </table></li><li><b>state</b> - an optional attribute indicating the initial state (either <samp>true</samp> or <samp>false</samp>), used when the <samp>style</samp> attribute has the value <samp>radio</samp> or <samp>toggle</samp>.</li><li><b>class</b> - a name of the fully qualified class that implements <samp>org.eclipse.ui.IObjectActionDelegate</samp> (for object contributions), <samp>org.eclipse.ui.IViewActionDelegate</samp> (for viewer contributions to a view part), or <samp>org.eclipse.ui.IEditorActionDelegate</samp> (for viewer contributions to an editor part).  For backwards compatibility, <samp>org.eclipse.ui.IActionDelegate</samp> may be implemented for object contributions.</li><li><b>enablesFor</b> - a value indicating the selection count which must be met to enable the action.
-If this attribute is specified and the condition is met, the action is enabled.
-If the condition is not met, the action is disabled.
-If no attribute is specified, the action is enabled for any number of items selected.
-The following attribute formats are supported: 
-    <table border="0" width="80%">
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>!</b></td>
-        <td valign="top">- 0 items selected</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>?</b></td>
-        <td valign="top">- 0 or 1 items selected</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>+</b></td>
-        <td valign="top">- 1 or more items selected</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>multiple, 2+</b></td>
-        <td valign="top">- 2 or more items selected</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>n</b></td>
-        <td valign="top">- a precise number of items selected.a precise number of items selected.&nbsp;
-          For example: enablesFor=&quot; 4&quot; enables the action only when 4
-          items are selected</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>*</b></td>
-        <td valign="top">- any number of items selected</td>
-      </tr>
-    </table>
-<p>
-The enablement criteria for an action extension are initially defined 
-by <samp>enablesFor</samp>, <samp>selection</samp> and <samp>enablement</samp>.  However, once the action
-delegate has been instantiated it may control the action enable state directly 
-within its <samp>selectionChanged</samp> method.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT filter EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to evaluate the attribute state of each object in the current selection. A match only if each object in the selection has the specified attribute state. Each object in the selection must implement, or adapt to,</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST filter</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>name</b> - the name of an object's attribute. Acceptable names reflect the object type, and should be publicly declared by the plug-in where the object type is declared.</li><li><b>value</b> - the required value of the object's attribute. The acceptable values for the object's attribute should be publicly declared.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT menu (separator+ , groupMarker*)&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to defined a new menu.</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST menu</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;label&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;path&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>id</b> - a unique identifier that can be used to reference this menu.</li><li><b>label</b> - a translatable name used by the Workbench for this new menu. The name should include mnemonic information.</li><li><b>path</b> - the location of the new menu starting from the root of the menu. Each token in the path must refer to an existing menu, except the last token which should represent a named group in the last menu in the path. If omitted, the new menu will be added to the <samp>additions</samp> named group of the menu.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT separator EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to create a menu separator in the new menu.</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST separator</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>name</b> - the name of the menu separator. This name can later be referenced as the last token in a menu path. Therefore, a separator also serve as named group into which actions and menus can be added.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT groupMarker EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to create a named group in the new menu. It has no visual representation in the new menu, unlike the</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST groupMarker</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>name</b> - the name of the group marker. This name can later be referenced as the last token in the menu path. It serves as named group into which actions and menus can be added.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT selection EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to help determine the action enablement based on the current selection. Ignored if the</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST selection</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>class</b> - a fully qualified name of the class or interface that each object in the selection must implement in order to enable the action.</li><li><b>name</b> - an optional wild card filter for the name that can be applied to all objects in the selection. If specified and the match fails, the action will be disabled.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT enablement (and | or | not | objectClass | objectState | pluginState | systemProperty)&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to define the enablement for the action.</p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT visibility (and | or | not | objectClass | objectState | pluginState | systemProperty)&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to define the visibility for the action.</p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT and (and | or | not | objectClass | objectState | pluginState | systemProperty)&gt;</samp>

-<p>&nbsp;&nbsp; This element represent a boolean AND operation on the result of evaluating it's two sub-element expressions.</p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT or (and | or | not | objectClass | objectState | pluginState | systemProperty)&gt;</samp>

-<p>&nbsp;&nbsp; This element represent a boolean OR operation on the result of evaluating it's two sub-element expressions.</p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT not (and | or | not | objectClass | objectState | pluginState | systemProperty)&gt;</samp>

-<p>&nbsp;&nbsp; This element represent a boolean NOT operation on the result of evaluating it's sub-element expressions.</p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT objectClass EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to evaluate the class or interface of each object in the current selection. If each object in the selection implements the specified class or interface, the expression is evaluated as true.</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST objectClass</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>name</b> - a fully qualified name of a class or interface.  The expression is evaluated as true only if all objects within the selection implement this class or interface.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT objectState EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to evaluate the attribute state of each object in the current selection. If each object in the selection has the specified attribute state, the expression is evaluated as true. To evaluate this type of expression, each object in the selection must implement, or adapt to,</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST objectState</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>name</b> - the name of an object's attribute. Acceptable names reflect the object type, and should be publicly declared by the plug-in where the object type is declared.</li><li><b>value</b> - the required value of the object's attribute. The acceptable values for the object's attribute should be publicly declared.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT pluginState EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to evaluate the state of a plug-in. The state of the plug-in may be</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST pluginState</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;(installed|activated) "installed"</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>id</b> - the identifier of a plug-in which may or may not exist in the plug-in registry.</li><li><b>value</b> - the required state of the plug-in. The state of the plug-in may be <samp>installed</samp> or <samp>activated</samp>.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT systemProperty EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to evaluate the state of some system property.  The property value is retrieved from</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST systemProperty</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>name</b> - the name of the system property.</li><li><b>value</b> - the required value of the system property.</li></ul>

-<b><i>Examples: </i></b>The following is an example of a pop-up menu extension point: 
-<p>
-<pre>
-   &lt;extension point=&quot;org.eclipse.ui.popupMenus&quot;&gt; 
-      &lt;objectContribution 
-         id=&quot;com.xyz.C1&quot; 
-         objectClass=&quot;org.eclipse.core.resources.IFile&quot; 
-         nameFilter=*.java&quot;&gt; 
-         &lt;menu
-            id=&quot;com.xyz.xyzMenu&quot; 
-            path=&quot;additions&quot; 
-            label=&quot;&amp;amp;XYZ Java Tools&quot;&gt; 
-            &lt;separator name=&quot;group1&quot;/&gt; 
-         &lt;/menu&gt; 
-         &lt;action
-            id=&quot;com.xyz.runXYZ&quot; 
-            label=&quot;&amp;amp;Run XYZ Tool&quot;
-            style=&quot;push&quot;
-            menubarPath=&quot;com.xyz.xyzMenu/group1&quot; 
-            icon=&quot;icons/runXYZ.gif&quot; 
-            helpContextId=&quot;com.xyz.run_action_context&quot; 
-            class=&quot;com.xyz.actions.XYZToolActionDelegate&quot; 
-            enablesFor=&quot;1&quot;&gt; 
-         &lt;/action&gt; 
-      &lt;/objectContribution&gt; 
-      &lt;viewerContribution 
-         id=&quot;com.xyz.C2&quot; 
-         targetID=&quot;org.eclipse.ui.views.TaskList&quot;&gt; 
-         &lt;action
-            id=&quot;com.xyz.showXYZ&quot; 
-            label=&quot;&amp;amp;Show XYZ&quot;
-            style=&quot;toggle&quot;
-            state=&quot;true&quot;
-            menubarPath=&quot;additions&quot; 
-            icon=&quot;icons/showXYZ.gif&quot; 
-            helpContextId=&quot;com.xyz.show_action_context&quot; 
-            class=&quot;com.xyz.actions.XYZShowActionDelegate&quot;&gt; 
-         &lt;/action&gt; 
-      &lt;/viewerContribution&gt; 
-   &lt;/extension&gt; 
-</pre>
-</p>
-In the example above, the specified object contribution action will only enable for a single selection (<samp>enablesFor</samp> attribute). In addition, each object in the selection must implement the specified interface (<samp>IFile</samp>) and must be a Java file. This action will be added into a submenu previously created. This contribution 
-will be effective in any view that has the required selection. 
-<p>
-In contrast, the viewer contribution above will only appear in the Tasks view context menu, and will not be affected by the selection in the view. 
-<p>
-The following is an example of the filter mechanism. In this case the action will only appear for IMarkers which are completed and have high priority. 
-<p>
-<pre>
-   &lt;extension point=&quot;org.eclipse.ui.popupMenus&quot;&gt; 
-      &lt;objectContribution 
-         id=&quot;com.xyz.C3&quot; 
-         objectClass=&quot;org.eclipse.core.resources.IMarker&quot;&gt; 
-         &lt;filter name=&quot;done&quot; value=&quot;true&quot;/&gt; 
-         &lt;filter name=&quot;priority&quot; value=&quot;2&quot;/&gt; 
-         &lt;action
-            id=&quot;com.xyz.runXYZ&quot; 
-            label=&quot;High Priority Completed Action Tool&quot; 
-            icon=&quot;icons/runXYZ.gif&quot; 
-            class=&quot;com.xyz.actions.MarkerActionDelegate&quot;&gt; 
-         &lt;/action&gt; 
-      &lt;/objectContribution&gt; 
-   &lt;/extension&gt; 
-</pre>
-</p>
-The following is an other example of using the visibility element: 
-<p>
-<pre>
-   &lt;extension point=&quot;org.eclipse.ui.popupMenus&quot;&gt; 
-      &lt;viewerContribution 
-         id=&quot;com.xyz.C4&quot; 
-         targetID=&quot;org.eclipse.ui.views.TaskList&quot;&gt;
-         &lt;visibility&gt;
-            &lt;and&gt;
-               &lt;pluginState id=&quot;com.xyz&quot; value=&quot;activated&quot;/&gt;
-               &lt;systemProperty name=&quot;ADVANCED_MODE&quot; value=&quot;true&quot;/&gt;
-            &lt;/and&gt;
-         &lt;/visibility&gt;
-         &lt;action
-            id=&quot;com.xyz.showXYZ&quot; 
-            label=&quot;&amp;amp;Show XYZ&quot;
-            style=&quot;push&quot;
-            menubarPath=&quot;additions&quot; 
-            icon=&quot;icons/showXYZ.gif&quot; 
-            helpContextId=&quot;com.xyz.show_action_context&quot; 
-            class=&quot;com.xyz.actions.XYZShowActionDelegate&quot;&gt; 
-         &lt;/action&gt; 
-      &lt;/viewerContribution&gt; 
-   &lt;/extension&gt; 
-</pre>
-</p>
-<p>
-In the example above, the specified action will appear as a menu item in the Task view context menu, but only if the "com.xyz" plug-in is active and the specified system property is set to true.<p>

-<b><i>API Information: </i></b>The value of the action attribute <samp>class</samp>
-must be a fully qualified class name of a Java class 
-that implements <samp>org.eclipse.ui.IObjectActionDelegate</samp>
-in the case of object contributions, 
-<samp>org.eclipse.ui.IViewActionDelegate</samp>
-for contributions to context menus that belong to views, 
-or <samp>org.eclipse.ui.IEditorActionDelegate</samp>
-for contributions to context menus that belong to editors.  
-In all cases, the implementing class is loaded as late 
-as possible to avoid loading the entire plug-in before 
-it is really needed. 
-<p>
-Note: For backwards compatibility, 
-<samp>org.eclipse.ui.IActionDelegate</samp> may be 
-implemented for object contributions. 
-<p>
-Conext menu extension within a part is only possible 
-when the target part publishes a menu for extension.  
-This is strongly encouraged, as it improves the 
-extensibility of the product. To accomplish this 
-each part should publish any context menus which are 
-defined by calling 
-<samp>IWorkbenchPartSite.registerContextMenu</samp>.  
-Once this has been done the workbench will 
-automatically insert any action extensions which exist. 
-<p>
-A menu id must be provided for each registered menu.  
-For consistency across parts the following strategy 
-should be adopted by all part implementors. 
-<p>
-<ul>
-<li>
-If the target part has only one context menu it 
-should be registered with id == part id.  This can be 
-done easily by calling 
-<samp>registerContextMenu(MenuManager, ISelectionProvider)</samp>.  
-Extenders may use the part id itself as the targetID for 
-the action extension. </li>
-<li>
-If the target part has more than one context menu a 
-unique id should be defined for each.  Prefix each id 
-with the part id and publish these id's within 
-the javadoc for the target part.  Register each 
-menu at runtime by calling 
-<samp>registerContextMenu(String, MenuManager, ISelectionProvider)</samp>. 
-Extenders will use the unique menu id as the targetID 
-for the action extension. </li></ul>
-<p>
-Any context menu which is registered with the workbench 
-also should contain a standard insertion point with id 
-<samp>IWorkbenchActionConstants.MB_ADDITIONS</samp>.  
-Other plug-ins will use this value as a reference 
-point for insertion.  The insertion point may be 
-defined by adding a GroupMarker to the menu at an 
-appropriate location for insertion. 
-<p>
-An object in the workbench which is the selection 
-in a context menu may define an 
-<samp>org.eclipse.ui.IActionFilter</samp>.  This is a 
-filtering strategy which can perform type specific 
-filtering.  The workbench will retrieve the filter 
-for the selection by testing to see if it implements 
-<samp>IActionFilter</samp>.  If that fails, the 
-workbench will ask for a filter through the 
-<samp>IAdaptable</samp> mechanism.
-<p>
-Action and menu labels may contain special characters that encode mnemonics which are specified using the ampersand ('&amp;') character in front of a selected character in the translated text. Since ampersand is not allowed in XML strings, use <samp>&amp;amp;</samp> character entity. 
-<p>
-If two or more actions are contributed to a menu by a single extension the actions will appear in the reverse order of how they are listed in the plugin.xml file. This behavior is admittedly unintuitive.  However, it was discovered after the  Eclipse Platform API was frozen.  Changing the behavior now would break every plug-in which relies upon the existing behavior.
-<p>
-The <samp>selection</samp> and <samp>enablement</samp> elements are mutually exclusive. The <samp>enablement</samp> element can replace the <samp>selection</samp> element using the sub-elements <samp>objectClass</samp> and <samp>objectState</samp>. For example, the following:
-<pre>
- &lt;selection
-  class=&quot;org.eclipse.core.resources.IFile&quot;
-  name=&quot;*.java&quot;&gt;
- &lt;/selection&gt;
-</pre>
-can be expressed using:
-<pre>
- &lt;enablement&gt;
-  &lt;and&gt;
-   &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-   &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-  &lt;/and&gt;
- &lt;/enablement&gt;
-</pre><p>

-<b><i>Supplied Implementation: </i></b>The workbench views have built-in context menus 
-that already come loaded with a number of actions. 
-Plug-ins can contribute to these menus. If a viewer 
-has reserved slots for these contributions and they 
-are made public, slot names can be used as paths. 
-Otherwise, actions and submenus will be added at 
-the end of the pop-up menu.<p>

-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>

-</BODY>

-</HTML>

diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_preferencePages.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_preferencePages.html
deleted file mode 100644
index 93a240d..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_preferencePages.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Preference Pages</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.ui.preferencePages<p>
-<b><i>Description: </i></b>The workbench provides one common dialog box for preferences.
-The purpose of this extension point is to allow plug-ins to add
-pages to the preference dialog box. When preference dialog box
-is opened (initiated from the menu bar), pages contributed in
-this way will be added to the dialog box. 
-
-<p>
-The preference dialog
-box provides for hierarchical grouping of the pages. For this
-reason, a page can optionally specify a <samp>category</samp> attribute.
-This
-attribute represents a path composed of parent page IDs separated
-by '/'. If this attribute is omitted or if any of the parent
-nodes in the path cannot be found, the page will be added at
-the root level.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (page*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT page EMPTY&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST page</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;category&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>id</b> - a unique name that will be used to identify this page.</li><li><b>name</b> - a translatable name that will be used in the UI for this page.</li><li><b>class</b> - a name of the fully qualified class that implements 
-<samp>org.eclipse.ui.IWorkbenchPreferencePage</samp>.</li><li><b>category</b> - a path indicating the location of the page in the preference tree. The path may either be a parent node ID or a sequence
-     of IDs separated by '/', representing the full path from the root node.</li></ul>
-<b><i>Examples: </i></b>The following is an example for the preference extension point: 
-<p>
-<pre>
-   &lt;extension 
-       point=&quot;org.eclipse.ui.preferencePages&quot;&gt; 
-      &lt;page 
-         id=&quot;com.xyz.prefpage1&quot; 
-         name=&quot;XYZ&quot; 
-         class=&quot;com.xyz.prefpages.PrefPage1&quot;&gt; 
-      &lt;/page&gt; 
-      &lt;page 
-         id=&quot;com.xyz.prefpage2&quot; 
-         name=&quot;Keyboard Settings&quot; 
-         class=&quot;com.xyz.prefpages.PrefPage2&quot; 
-         category=&quot;com.xyz.prefpage1&quot;&gt; 
-      &lt;/page&gt; 
-   &lt;/extension&gt; 
-</pre><p>
-<b><i>API Information: </i></b>The value of the attribute class must represent a fully qualified name of the class that implements
-<samp>org.eclipse.ui.IWorkbenchPreferencePage</samp>.<p>
-<b><i>Supplied Implementation: </i></b>The workbench adds several pages for setting the preferences of the platform. Pages registered
-through this extension will be added after them according to their category information.<p>
-<p>
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_projectNatureImages.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_projectNatureImages.html
deleted file mode 100644
index d902daa..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_projectNatureImages.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Project Nature Images</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.ui.projectNatureImages<p>
-<b><i>Description: </i></b>This extension point is used to associate an image with a project nature.
-The supplied image is used to form a composite image consisting of the standard project image combined with the image of its nature.
-The supplied image is drawn over the top right corner of the base image.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (image*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT image (description?)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST image</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;natureId&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>id</b> - a unique name that will be used to identify this nature image.</li><li><b>natureId</b> - the unique name of the nature for which the image is being supplied.</li><li><b>icon</b> - a relative name of the image that will be associated with this perspective.</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT description (#CDATA)&gt;</samp>
-<p>&nbsp;&nbsp; a short description of what this image represents.</p>
-<b><i>Examples: </i></b>The following is an example of a nature image extension:
-
-<p>
-<pre>
- &lt;extension point=&quot;org.eclipse.ui.projectNatureImages&quot;&gt;
-  &lt;image 
-    id=&quot;org.eclipse.ui.javaNatureImage&quot;
-    natureId=&quot;Resource&quot;
-    icon=&quot;icons/javaNature.gif&quot;&gt;
-  &lt;/image&gt;
- &lt;/extension&gt;
-</pre>
-</p><p>
-<b><i>API Information: </i></b>The value of the <samp>natureId</samp> attribute is the nature id as defined by the plugin creating the project.<p>
-Copyright (c) 2002, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_propertyPages.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_propertyPages.html
deleted file mode 100644
index 0b065f2..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_propertyPages.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Property Pages</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.ui.propertyPages<p>
-<b><i>Description: </i></b>This extension point is used to add additional property page for objects of a given type.  Once defined, these property pages will appear in the Properties Dialog for objects of that type. 
-<p>
-A property page is a user friendly way to interact with the properties of an object.  Unlike the Properties view, which restricts the space available for editing an object property, a property page may benefit from the freedom to define larger, more complex controls with labels, icons, etc.  Properties which logically go together may also be clustered in a page, rather than scattered in the property sheet. However, in most applications it will be appropriate to expose some properties of an object via the property sheet and some via the property pages. 
-<p>
-Property pages are shown in a dialog box that is normally visible when the "Properties" menu item is selected on a pop-up menu for an object. In addition to the object class, the name filter can optionally be supplied to register property pages only for specific object types. 
-<p>
-If these filtering mechanisms are inadequate a property page may use the filter mechanism.  In this case the attributes of the target object are described in a series of key value pairs.  The attributes which apply to the selection are type specific and beyond the domain of the workbench itself, so the workbench will delegate filtering at this level to the actual selection.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (page*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT page (filter*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST page</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;objectClass&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nameFilter&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;adaptable&nbsp;&nbsp;&nbsp;(true | false) "false"#IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>id</b> - a unique name that will be used to identify this page</li><li><b>name</b> - a translatable name that will be used in the UI for this page</li><li><b>icon</b> - a relative path to an icon that will be used in the UI in addition to the page name</li><li><b>objectClass</b> - a fully qualified name of the class for which the page is registered.</li><li><b>class</b> - a fully qualified name of the class that implements <tt>org.eclipse.ui.IWorkbenchPropertyPage</tt>.</li><li><b>nameFilter</b> - an optional attribute that allows registration conditional on
-wild card match applied to the target object name.</li><li><b>adaptable</b> - a flag that indicates if types that adapt to IResource should use this property page.
-This flag is used if objectClass adapts to IResource.  Default value is false.</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT filter EMPTY&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST filter</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>name</b> - the name of an object attribute.</li><li><b>value</b> - the value of an object attribute.  In combination with
-the name attribute, the name value pair is used to 
-define the target object for a property page.</li></ul>
-<b><i>Examples: </i></b>The following is an example of the property page definition: 
-<p>
-<pre>
-   &lt;extension point=&quot;org.eclipse.ui.propertyPages&quot;&gt; 
-        &lt;page 
-            id=&quot;com.xyz.projectPage&quot; 
-            name=&quot;XYZ Java Properties&quot; 
-            objectClass=&quot;org.eclipse.core.resources.IFile&quot; 
-            class=&quot;com.xyz.ppages.JavaPropertyPage&quot; 
-            nameFilter=&quot;*.java&quot;&gt; 
-            &lt;filter name=&quot;readOnly&quot; value=&quot;true&quot;/&gt; 
-        &lt;/page&gt; 
-    &lt;/extension&gt; 
-</pre>
-</p><p>
-<b><i>API Information: </i></b>The attribute <samp>class</samp> must specify a fully qualified name 
-of the class that implements 
-<samp>org.eclipse.ui.IWorkbenchPropertyPage</samp>.<p>
-<b><i>Supplied Implementation: </i></b>Some objects provided by the workbench may have 
-property pages registered. Plug-ins are allowed 
-to add more property pages for these objects. 
-Property pages are not limited to workbench 
-resources: all objects showing up in the workbench 
-(even domain specific objects created by the plug-ins) 
-may have property pages and other plug-ins are 
-allowed to register property pages for them.<p>
-<p>
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_resourceFilters.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_resourceFilters.html
deleted file mode 100644
index 41007d1..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_resourceFilters.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Resource Filters</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.ui.resourceFilters<p>
-<b><i>Description: </i></b>This extension point is used to add predefined filters to views which show resources, such as the Navigator view.
-These filters can be selected to hide resources whose names match the filter's pattern.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (filter*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT filter (description?)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST filter</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pattern&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selected&nbsp;(true | false) "false""false"</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>pattern</b> - the pattern to match.  May contain * and ? wildcards.</li><li><b>selected</b> - "true" if the pattern should be selected by default, "false" or undefined if not.</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT description (#CDATA)&gt;</samp>
-<p>&nbsp;&nbsp; the description of the purpose of this filter.</p>
-<b><i>Examples: </i></b>The following is an example of a resource filter extension, which filters out class files, and is selected by default:
-
-<p>
-<pre>
- &lt;extension point=&quot;org.eclipse.ui.resourceFilters&quot;&gt;
-  &lt;filter pattern=&quot;*.class&quot; selected=&quot;true&quot;/&gt;
- &lt;/extension&gt;
-</pre>
-</p><p>
-Copyright (c) 2002, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_startup.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_startup.html
deleted file mode 100644
index ea7ce6c..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_startup.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Startup</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.ui.startup<p>
-<b><i>Since: </i></b>Release 2.0<p>
-<b><i>Description: </i></b>This extension point is used to register plugins that want to be activated on startup. The plugin class must implement the interface <samp>org.eclipse.ui.IStartup</samp>. Once the workbench is started, the method earlyStartup() will be called from a separated thread. 
-
-These plugins are listed in the workbench preferences and the user may disable any plugin from early starting up.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (startup*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT startup (#CDATA)&gt;</samp>
-<b><i>Examples: </i></b>Following is an example of a startup extension: 
-<pre>
-&lt;p&gt;
-   &lt;extension point=&quot;org.eclipse.ui.startup&quot;/&gt; 
-&lt;/p&gt;
-</pre><p>
-<b><i>API Information: </i></b>See interface <samp>org.eclipse.ui.IStartup</samp>.<p>
-<p>
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_viewActions.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_viewActions.html
deleted file mode 100644
index 7d6db1c..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_viewActions.html
+++ /dev/null
@@ -1,301 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

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

-</HEAD>

-<HTML>

-<BODY>

-<H1><CENTER>View Menus,Toolbars and Actions</CENTER></H1>

-<b><i>Identifier: </i></b>org.eclipse.ui.viewActions<p>

-<b><i>Description: </i></b>This extension point is used to add actions to the pulldown menu and toolbar for views registered by other plug-ins. Each view has a local pulldown menu normally activated 
-by clicking on the top right triangle button. Other plug-ins can contribute submenus and actions to this menu. Plug-ins may also contribute actions to a view toolbar. View owners are first given a chance to populate these areas. Optional additions by other plug-ins are appended.<p>

-<p>

-An action's enablement and/or visibility can be defined using the elements <samp>enablement</samp> and <samp>visibility</samp> respectively. These two elements contain a boolean expression that is evaluated to determine the enablement and/or visibility.
-<p>
-The syntax is the same for the <samp>enablement</samp> and <samp>visibility</samp> elements. Both contain only one boolean expression sub-element. In the simplest case, this will be an <samp>objectClass</samp>, <samp>objectState</samp>, <samp>pluginState</samp>, or <samp>systemProperty</samp> element. In the more complex case, the <samp>and</samp>, <samp>or</samp>, and <samp>not</samp> elements can be combined to form a boolean expression. Both the <samp>and</samp>, and <samp>or</samp> elements must contain 2 sub-elements. The <samp>not</samp> element must contain only 1 sub-element.
-</p><p><b><i>Configuration Markup:</i></b><p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (viewContribution+)&gt;</samp>

-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT viewContribution (menu* , action*)&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to define a group of view actions and/or menus.</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST viewContribution</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;targetID&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>id</b> - a unique identifier used to reference this contribution.</li><li><b>targetID</b> - a unique identifier of a registered view that is the target of this contribution.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT action (selection* | enablement?)&gt;</samp>

-<p>&nbsp;&nbsp; This element defines an action that the user can invoke in the UI.</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST action</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;label&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;menubarPath&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;toolbarPath&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;disabledIcon&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hoverIcon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tooltip&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;helpContextId&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;style&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(push|radio|toggle) "push"</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;state&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(true | false) "false"#IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enablesFor&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>id</b> - a unique identifier used as a reference for this action.</li><li><b>label</b> - a translatable name used either as the menu item text or toolbar button label. The name can include mnenomic information.</li><li><b>menubarPath</b> - a slash-delimited path ('/') used to specify the location of this action in the pulldown menu. Each token in the path, except the last one, must represent a valid identifier of an existing menu in the hierarchy. The last token represents the named group into which this action will be added. If the path is omitted, this action will not appear in the pulldown menu.</li><li><b>toolbarPath</b> - a named group within the local toolbar of the target view. If the group does not exist, it will be created. If omitted, the action will not appear in the local toolbar.</li><li><b>icon</b> - a relative path of an icon used to visually represent the action in its context.
-If omitted and the action appears in the toolbar, the Workbench will use a placeholder icon. The path is relative to the location of the plugin.xml file of the contributing plug-in. The icon will appear in the toolbar but not in the pulldown menu.</li><li><b>disabledIcon</b> - a relative path of an icon used to visually represent the action in its context when the action is disabled. If omitted, the normal icon will simply appear greyed out. The path is relative to the location of the plugin.xml file of the contributing plug-in. The disabled icon will appear in the toolbar but not in the pulldown menu.</li><li><b>hoverIcon</b> - a relative path of an icon used to visually represent the action in its context when the mouse pointer is over the action. If omitted, the normal icon will be used. The path is relative to the location of the plugin.xml file of the contributing plug-in.</li><li><b>tooltip</b> - a translatable text representing the action's tool tip. Only used if the action appears in the toolbar.</li><li><b>helpContextId</b> - a unique identifier indicating the help context for this action. If the action appears as a menu item, then pressing F1 while the menu item is highlighted will display help.</li><li><b>style</b> - an optional attribute to define the user interface style type for the action. If defined, the attribute value will be one of the following:
-    <table border="0" width="80%">
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>push</b></td>
-        <td valign="top">- as a regular menu item or tool item.</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>radio</b></td>
-        <td valign="top">- as a radio style menu item or tool item. Actions with the radio style within the same menu or toolbar group behave as a radio set. The initial value is specified by the <samp>state</samp> attribute.</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>toggle</b></td>
-        <td valign="top">- as a checked style menu item or as a toggle tool item. The initial value is specified by the <samp>state</samp> attribute.</td>
-      </tr>
-    </table></li><li><b>state</b> - an optional attribute indicating the initial state (either <samp>true</samp> or <samp>false</samp>), used when the <samp>style</samp> attribute has the value <samp>radio</samp> or <samp>toggle</samp>.</li><li><b>class</b> - name of the fully qualified class that implements <samp>org.eclipse.ui.IViewActionDelegate</samp>.</li><li><b>enablesFor</b> - a value indicating the selection count which must be met to enable the action.
-If this attribute is specified and the condition is met, the action is enabled.
-If the condition is not met, the action is disabled.
-If no attribute is specified, the action is enabled for any number of items selected.
-The following attribute formats are supported: 
-    <table border="0" width="80%">
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>!</b></td>
-        <td valign="top">- 0 items selected</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>?</b></td>
-        <td valign="top">- 0 or 1 items selected</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>+</b></td>
-        <td valign="top">- 1 or more items selected</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>multiple, 2+</b></td>
-        <td valign="top">- 2 or more items selected</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>n</b></td>
-        <td valign="top">- a precise number of items selected.a precise number of items selected.&nbsp;
-          For example: enablesFor=&quot; 4&quot; enables the action only when 4
-          items are selected</td>
-      </tr>
-      <tr>
- <td valign="top" width="25"></td>
-        <td valign="top" nowrap><b>*</b></td>
-        <td valign="top">- any number of items selected</td>
-      </tr>
-    </table></li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT menu (separator+ , groupMarker*)&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to defined a new menu.</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST menu</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;label&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;path&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>id</b> - a unique identifier that can be used to reference this menu.</li><li><b>label</b> - a translatable name used by the Workbench for this new menu. The name should include mnemonic information.</li><li><b>path</b> - the location of the new menu starting from the root of the menu. Each token in the path must refer to an existing menu, except the last token which should represent a named group in the last menu in the path. If omitted, the new menu will be added to the <samp>additions</samp> named group of the menu.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT separator EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to create a menu separator in the new menu.</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST separator</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>name</b> - the name of the menu separator. This name can later be referenced as the last token in a menu path. Therefore, a separator also serve as named group into which actions and menus can be added.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT groupMarker EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to create a named group in the new menu. It has no visual representation in the new menu, unlike the</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST groupMarker</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>name</b> - the name of the group marker. This name can later be referenced as the last token in the menu path. It serves as named group into which actions and menus can be added.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT selection EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to help determine the action enablement based on the current selection. Ignored if the</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST selection</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>class</b> - a fully qualified name of the class or interface that each object in the selection must implement in order to enable the action.</li><li><b>name</b> - an optional wild card filter for the name that can be applied to all objects in the selection. If specified and the match fails, the action will be disabled.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT enablement (and | or | not | objectClass | objectState | pluginState | systemProperty)&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to define the enablement for the action.</p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT visibility (and | or | not | objectClass | objectState | pluginState | systemProperty)&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to define the visibility for the action.</p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT and (and | or | not | objectClass | objectState | pluginState | systemProperty)&gt;</samp>

-<p>&nbsp;&nbsp; This element represent a boolean AND operation on the result of evaluating it's two sub-element expressions.</p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT or (and | or | not | objectClass | objectState | pluginState | systemProperty)&gt;</samp>

-<p>&nbsp;&nbsp; This element represent a boolean OR operation on the result of evaluating it's two sub-element expressions.</p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT not (and | or | not | objectClass | objectState | pluginState | systemProperty)&gt;</samp>

-<p>&nbsp;&nbsp; This element represent a boolean NOT operation on the result of evaluating it's sub-element expressions.</p>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT objectClass EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to evaluate the class or interface of each object in the current selection. If each object in the selection implements the specified class or interface, the expression is evaluated as true.</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST objectClass</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>name</b> - a fully qualified name of a class or interface.  The expression is evaluated as true only if all objects within the selection implement this class or interface.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT objectState EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to evaluate the attribute state of each object in the current selection. If each object in the selection has the specified attribute state, the expression is evaluated as true. To evaluate this type of expression, each object in the selection must implement, or adapt to, the</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST objectState</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>name</b> - the name of an object's attribute. Acceptable names reflect the object type, and should be publicly declared by the plug-in where the object type is declared.</li><li><b>value</b> - the required value of the object's attribute. The acceptable values for the object's attribute should be publicly declared.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT pluginState EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to evaluate the state of a plug-in. The state of the plug-in may be</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST pluginState</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;(installed|activated) "installed"</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>id</b> - the identifier of a plug-in which may or may not exist in the plug-in registry.</li><li><b>value</b> - the required state of the plug-in. The state of the plug-in may be <samp>installed</samp> or <samp>activated</samp>.</li></ul>

-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT systemProperty EMPTY&gt;</samp>

-<p>&nbsp;&nbsp; This element is used to evaluate the state of some system property.  The property value is retrieved from</p>

-<p></p>

-<samp>&nbsp;&nbsp; &lt;!ATTLIST systemProperty</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</samp>

-<ul>

-<li><b>name</b> - the name of the system property.</li><li><b>value</b> - the required value of the system property.</li></ul>

-<b><i>Examples: </i></b>The following is an example of a view action extension:
-<p>
-<pre>
-   &lt;extension point=&quot;org.eclipse.ui.viewActions&quot;&gt; 
-      &lt;viewContribution 
-         id=&quot;com.xyz.xyzViewC1&quot; 
-         targetID=&quot;org.eclipse.ui.views.navigator.ResourceNavigator&quot;&gt; 
-         &lt;menu
-            id=&quot;com.xyz.xyzMenu&quot; 
-            label=&quot;XYZ Menu&quot; 
-            path=&quot;additions&quot;&gt; 
-            &lt;separator name=&quot;group1&quot;/&gt; 
-         &lt;/menu&gt; 
-         &lt;action
-            id=&quot;com.xyz.runXYZ&quot; 
-            label=&quot;&amp;amp;Run XYZ Tool&quot; 
-            menubarPath=&quot;com.xyz.xyzMenu/group1&quot; 
-            toolbarPath=&quot;Normal/additions&quot;
-            style=&quot;toggle&quot;
-            state=&quot;true&quot; 
-            icon=&quot;icons/runXYZ.gif&quot; 
-            tooltip=&quot;Run XYZ Tool&quot; 
-            helpContextId=&quot;com.xyz.run_action_context&quot; 
-            class=&quot;com.xyz.actions.RunXYZ&quot;&gt; 
-            &lt;selection class=&quot;org.eclipse.core.resources.IFile&quot; name=&quot;*.java&quot;/&gt; 
-         &lt;/action&gt; 
-     &lt;/viewContribution&gt; 
-   &lt;/extension&gt; 
-</pre>
-</p>
-<p>
-In the example above, the specified action will only enable for a single selection (<samp>enablesFor</samp> attribute). In addition, the object in the selection must be a Java file resource.
-</p>
-<p>
-The following is an other example of a view action extension: 
-</p>
-<p>
-<pre>
-   &lt;extension point=&quot;org.eclipse.ui.viewActions&quot;&gt; 
-      &lt;viewContribution 
-         id=&quot;com.xyz.xyzViewC1&quot; 
-         targetID=&quot;org.eclipse.ui.views.navigator.ResourceNavigator&quot;&gt; 
-         &lt;menu
-            id=&quot;com.xyz.xyzMenu&quot; 
-            label=&quot;XYZ Menu&quot; 
-            path=&quot;additions&quot;&gt; 
-            &lt;separator name=&quot;group1&quot;/&gt; 
-         &lt;/menu&gt; 
-         &lt;action 
-            id=&quot;com.xyz.runXYZ2&quot; 
-            label=&quot;&amp;amp;Run XYZ2 Tool&quot; 
-            menubarPath=&quot;com.xyz.xyzMenu/group1&quot;
-            style=&quot;push&quot;
-            icon=&quot;icons/runXYZ2.gif&quot; 
-            tooltip=&quot;Run XYZ2 Tool&quot; 
-            helpContextId=&quot;com.xyz.run_action_context2&quot; 
-            class=&quot;com.xyz.actions.RunXYZ2&quot;&gt; 
-            &lt;enablement&gt;
-               &lt;and&gt;
-                  &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-                  &lt;not&gt;
-                     &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-                  &lt;/not&gt;
-               &lt;/and&gt;
-            &lt;/enablement&gt;
-         &lt;/action&gt; 
-      &lt;/editorContribution&gt; 
-   &lt;/extension&gt; 
-</pre>
-</p>
-<p>
-In the example above, the specified action will appear as a menu item. The action is enabled if the selection contains no Java file resources.<p>

-<b><i>API Information: </i></b>The value of the <samp>class</samp> attribute must be a fully qualified name of a Java class that implements <samp>org.eclipse.ui.IViewActionDelegate</samp>. This class is loaded as late as possible to avoid loading the entire plug-in before it is really needed.
-<p>
-The interface <samp>org.eclipse.ui.IViewActionDelegate</samp> extends <samp>org.eclipse.ui.IActionDelegate</samp> and adds an additional method that allows the 
-delegate to initialize with the view instance it is contributing into.
-</p>
-<p>
-This extension point can be used to contribute actions into menus previously created by the target view. Omitting the menu path attribute will result in adding the new menu or action at the end of the pulldown menu.
-</p>
-<p>
-The enablement criteria for an action extension is initially defined by <samp>enablesFor</samp>, and also either <samp>selection</samp> or <samp>enablement</samp>. However, once the action delegate has been instantiated, it may control the action enable state directly within its <samp>selectionChanged</samp> method.
-</p>
-<p>
-Action and menu labels may contain special characters that encode mnemonics using the following rules:
-<ol>
-<li>
-Mnemonics are specified using the ampersand ('&amp;') character in front
-of a selected character in the translated text. Since ampersand is not
-allowed in XML strings, use <samp>&amp;amp;</samp> character entity.</li>
-</ol>
-If two or more actions are contributed to a menu or toolbar by a single extension the actions will appear in the reverse order of how they are listed in the plugin.xml file. This behavior is admittedly unintuitive.  However, it was discovered after the  Eclipse Platform API was frozen.  Changing the behavior now would break every plug-in which relies upon the existing behavior.
-<p>
-The <samp>selection</samp> and <samp>enablement</samp> elements are mutually exclusive. The <samp>enablement</samp> element can replace the <samp>selection</samp> element using the sub-elements <samp>objectClass</samp> and <samp>objectState</samp>. For example, the following:
-<pre>
- &lt;selection
-  class=&quot;org.eclipse.core.resources.IFile&quot;
-  name=&quot;*.java&quot;&gt;
- &lt;/selection&gt;
-</pre>
-can be expressed using:
-<pre>
- &lt;enablement&gt;
-  &lt;and&gt;
-   &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-   &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-  &lt;/and&gt;
- &lt;/enablement&gt;
-</pre><p>

-<b><i>Supplied Implementation: </i></b>Each view normally comes with a number of standard items on the pulldown menu and local toolbar. Additions from other plug-ins will be appended to the standard complement.<p>

-Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>

-</BODY>

-</HTML>

diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_views.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_views.html
deleted file mode 100644
index 5ecebba..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_views.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Views</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.ui.views<p>
-<b><i>Description: </i></b>This extension point is used to define additional views 
-for the workbench.  A view is a visual component 
-within a workbench page.  It is typically used to 
-navigate a hierarchy of information (like the workspace), 
-open an editor,  or display properties for 
-the active editor.  The user can make a view 
-visible from the View menu or close it from the 
-view local title bar. 
-<p>
-In order to reduce the visual clutter in the Show View Dialog, views should be grouped using categories.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (category | view)*&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT category EMPTY&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST category</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parentCategory&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>id</b> - a unique name that will be used to identify this category</li><li><b>name</b> - a translatable name that will be used in the UI for this category</li><li><b>parentCategory</b> - an optional path composed of category IDs separated by '/'. This
-attribute provides for creating category hierarchy.</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT view EMPTY&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST view</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;category&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fastViewWidthRatio&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>id</b> - a unique name that will be used to identify this view</li><li><b>name</b> - a translatable name that will be used in the UI for this view</li><li><b>category</b> - an optional attribute that is composed of the category IDs separated
-by '/'. Each referenced category must exist prior to being referenced
-in this attribute.</li><li><b>class</b> - a fully qualified name of the class the implements 
-<samp>org.eclipse.ui.IViewPart</samp>. A common practice 
-is to subclass <samp>org.eclipse.ui.part.ViewPart</samp> 
-in order to inherit the default functionality.</li><li><b>icon</b> - a relative name of the icon that will 
-be associated with the view.</li><li><b>fastViewWidthRatio</b> - the percentage of the width of the workbench that the view will take up as an active fast view.
-This must be defined as a floating point value and lie between 0.05 and 0.95.
-If no value is supplied, a default ratio will be used.</li></ul>
-<b><i>Examples: </i></b>The following is an example of the extension point: 
-<p>
-<pre>
-   &lt;extension point=&quot;org.eclipse.ui.views&quot;&gt; 
-      &lt;category 
-         id=&quot;com.xyz.views.XYZviews&quot; 
-         name=&quot;XYZ&quot;&gt; 
-      &lt;/category&gt; 
-      &lt;view 
-         id=&quot;com.xyz.views.XYZView&quot; 
-         name=&quot;XYZ View&quot; 
-         category=&quot;com.xyz.views.XYZviews&quot; 
-         class=&quot;com.xyz.views.XYZView&quot; 
-         icon=&quot;icons/XYZ.gif&quot;&gt; 
-      &lt;/view&gt; 
-   &lt;/extension&gt; 
-</pre>
-</p><p>
-<b><i>API Information: </i></b>The value of the <samp>class</samp> attribute must be a 
-fully qualified name of the class that implements 
-<samp>org.eclipse.ui.IViewPart</samp>.  It is common 
-practice to subclass <samp>org.eclipse.ui.part.ViewPart</samp>
- when developing a new view.<p>
-<b><i>Supplied Implementation: </i></b>The workbench provides a number of standard views including Navigator, Properties, Outline and Tasks. From the user point of view, these views are no different from any other view provided by the plug-ins. All the views can be shown from the "Show View" submenu of the "Window" menu. The position of a view is persistent: it is saved when the view is closed and restored when the view is reopened in a single session.  The position is also persisted between workbench sessions.<p>
-<p>
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.ui/doc/org_eclipse_ui_workingSets.html b/bundles/org.eclipse.ui/doc/org_eclipse_ui_workingSets.html
deleted file mode 100644
index 2adf937..0000000
--- a/bundles/org.eclipse.ui/doc/org_eclipse_ui_workingSets.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Working Sets</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.ui.workingSets<p>
-<b><i>Since: </i></b>Release 2.0<p>
-<b><i>Description: </i></b>This extension point is used to define a working set wizard page. Working sets contain a number of elements of type IAdaptable and can be used to group elements for presentation to the user or for operations on a set of elements. A working set wizard page is used to create and edit working sets that contain elements of a specific type.
-<p>
-To select a working set the user is presented with a list of working sets that exist in the workbench. From that list a working set can be selected and edited using one of the wizard pages defined using this extension point. An existing working set is always edited with the wizard page that was used to create it or with the default resource based working set page if the original page is not available.
-<p>
-A new working set can be defined by the user from the same working set selection dialog. When a new working set is defined, the plugin provided wizard page is preceded by a page listing all available working set types. This list is made up of the name attribute values of each working set extension. 
-<p>
-Views provide a user interface to open the working set selection dialog and must store the selected working set.
-<p>
-The resource navigator uses a working set to filter elements from the navigator view. Only parents and children of working set elements are shown in the view, in addition to the working set elements themselves.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT extension (workingSet*)&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li><li><b>id</b> - an optional identifier of the extension instance</li><li><b>name</b> - an optional name of the extension instance</li></ul>
-<p><samp>&nbsp;&nbsp; &lt;!ELEMENT workingSet EMPTY&gt;</samp>
-<br><br><samp>&nbsp;&nbsp; &lt;!ATTLIST workingSet</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pageClass&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</samp>
-<ul>
-<li><b>id</b> - a unique name that can be used to identify this working set dialog.</li><li><b>name</b> - the name of the element type that will be displayed and edited by the working set page. This should be a descriptive name like "Resource" or "Java Element".</li><li><b>icon</b> - the relative path of an image that will be displayed in the working set type list on the first page of the working set creation wizard as well as in the working set selection dialog.</li><li><b>pageClass</b> - the fully qualified name of a Java class implementing <samp>org.eclipse.ui.dialogs.IWorkingSetPage</samp>.</li></ul>
-<b><i>Examples: </i></b>Following is an example of how the resource working set dialog extension is defined to display and edit generic IResource elements: 
-<p>
-<pre>
-    &lt;extension point=&quot;org.eclipse.ui.workingSets&quot;&gt;
-        &lt;workingSet
-            id=&quot;org.eclipse.ui.resourceWorkingSetPage&quot;
-            name=&quot;Resource&quot;
-            icon=&quot;icons/resworkset.gif&quot;
-            pageClass=&quot;org.eclipse.ui.internal.dialogs.ResourceWorkingSetPage&quot;&gt;
-        &lt;/workingSet&gt;
-    &lt;/extension&gt;
-</pre>
-</p><p>
-<b><i>API Information: </i></b>The value of the pageClass attribute must represent a class that implements the <samp>org.eclipse.ui.dialogs.IWorkingSetPage</samp> interface.<p>
-<b><i>Supplied Implementation: </i></b>The workbench provides a working set wizard page for creating and editing resource based working sets.<p>
-<p>
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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<p>
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/addbkmrk_tsk.gif b/bundles/org.eclipse.ui/icons/full/clcl16/addbkmrk_tsk.gif
deleted file mode 100644
index dad7260..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/addbkmrk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/addtsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/clcl16/addtsk_tsk.gif
deleted file mode 100644
index dad7260..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/addtsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/alpha_mode.gif b/bundles/org.eclipse.ui/icons/full/clcl16/alpha_mode.gif
deleted file mode 100644
index 6d77244..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/alpha_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/apply_ps.gif b/bundles/org.eclipse.ui/icons/full/clcl16/apply_ps.gif
deleted file mode 100644
index 136235e..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/apply_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/backward_nav.gif b/bundles/org.eclipse.ui/icons/full/clcl16/backward_nav.gif
deleted file mode 100644
index 740419b..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/backward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/close_view.gif b/bundles/org.eclipse.ui/icons/full/clcl16/close_view.gif
deleted file mode 100644
index 1aca259..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/close_view.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/defaults_ps.gif b/bundles/org.eclipse.ui/icons/full/clcl16/defaults_ps.gif
deleted file mode 100644
index 5e1e78a..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/defaults_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/edittsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/clcl16/edittsk_tsk.gif
deleted file mode 100644
index a1ca3e7..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/edittsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/filter_ps.gif b/bundles/org.eclipse.ui/icons/full/clcl16/filter_ps.gif
deleted file mode 100644
index 1492b4e..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/filter_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/filter_tsk.gif b/bundles/org.eclipse.ui/icons/full/clcl16/filter_tsk.gif
deleted file mode 100644
index 1492b4e..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/filter_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/forward_nav.gif b/bundles/org.eclipse.ui/icons/full/clcl16/forward_nav.gif
deleted file mode 100644
index 7a1511d..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/forward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/gotoobj_tsk.gif b/bundles/org.eclipse.ui/icons/full/clcl16/gotoobj_tsk.gif
deleted file mode 100644
index 082e49f..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/gotoobj_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/graph_mode.gif b/bundles/org.eclipse.ui/icons/full/clcl16/graph_mode.gif
deleted file mode 100644
index d889d88..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/graph_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/home_nav.gif b/bundles/org.eclipse.ui/icons/full/clcl16/home_nav.gif
deleted file mode 100644
index 949c2db..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/home_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/list_mode.gif b/bundles/org.eclipse.ui/icons/full/clcl16/list_mode.gif
deleted file mode 100644
index 3d1c062..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/list_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/min_view.gif b/bundles/org.eclipse.ui/icons/full/clcl16/min_view.gif
deleted file mode 100644
index 7402dc9..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/min_view.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/pin_view.gif b/bundles/org.eclipse.ui/icons/full/clcl16/pin_view.gif
deleted file mode 100644
index 1b80441..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/pin_view.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/popup_menu.gif b/bundles/org.eclipse.ui/icons/full/clcl16/popup_menu.gif
deleted file mode 100644
index 61ede73..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/popup_menu.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/refresh_nav.gif b/bundles/org.eclipse.ui/icons/full/clcl16/refresh_nav.gif
deleted file mode 100644
index a063c23..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/refresh_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/rembkmrk_tsk.gif b/bundles/org.eclipse.ui/icons/full/clcl16/rembkmrk_tsk.gif
deleted file mode 100644
index 6f64766..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/rembkmrk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/remtsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/clcl16/remtsk_tsk.gif
deleted file mode 100644
index 6f64766..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/remtsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/scroll_lft.gif b/bundles/org.eclipse.ui/icons/full/clcl16/scroll_lft.gif
deleted file mode 100644
index 912e077..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/scroll_lft.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/scroll_rt.gif b/bundles/org.eclipse.ui/icons/full/clcl16/scroll_rt.gif
deleted file mode 100644
index f34eb71..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/scroll_rt.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/scrollend.gif b/bundles/org.eclipse.ui/icons/full/clcl16/scrollend.gif
deleted file mode 100644
index 6de69bf..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/scrollend.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/scrollhome.gif b/bundles/org.eclipse.ui/icons/full/clcl16/scrollhome.gif
deleted file mode 100644
index 06d95bb..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/scrollhome.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/selected_mode.gif b/bundles/org.eclipse.ui/icons/full/clcl16/selected_mode.gif
deleted file mode 100644
index 72e07fa..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/selected_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/showbasic_ps.gif b/bundles/org.eclipse.ui/icons/full/clcl16/showbasic_ps.gif
deleted file mode 100644
index f302d8c..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/showbasic_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/showcategory_ps.gif b/bundles/org.eclipse.ui/icons/full/clcl16/showcategory_ps.gif
deleted file mode 100644
index 1b3a991..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/showcategory_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/showchild_mode.gif b/bundles/org.eclipse.ui/icons/full/clcl16/showchild_mode.gif
deleted file mode 100644
index dfab3c6..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/showchild_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/showcomplete_tsk.gif b/bundles/org.eclipse.ui/icons/full/clcl16/showcomplete_tsk.gif
deleted file mode 100644
index 00da14e..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/showcomplete_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/showerr_tsk.gif b/bundles/org.eclipse.ui/icons/full/clcl16/showerr_tsk.gif
deleted file mode 100644
index c2bfdd6..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/showerr_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/showexpert_ps.gif b/bundles/org.eclipse.ui/icons/full/clcl16/showexpert_ps.gif
deleted file mode 100644
index f6c14eb..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/showexpert_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/showparents_mode.gif b/bundles/org.eclipse.ui/icons/full/clcl16/showparents_mode.gif
deleted file mode 100644
index 6c23051..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/showparents_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/showsync_rn.gif b/bundles/org.eclipse.ui/icons/full/clcl16/showsync_rn.gif
deleted file mode 100644
index 8411bc2..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/showsync_rn.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/showtsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/clcl16/showtsk_tsk.gif
deleted file mode 100644
index 6ccbb60..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/showtsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/showwarn_tsk.gif b/bundles/org.eclipse.ui/icons/full/clcl16/showwarn_tsk.gif
deleted file mode 100644
index cf4fdf9..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/showwarn_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/step_current.gif b/bundles/org.eclipse.ui/icons/full/clcl16/step_current.gif
deleted file mode 100644
index 7a1511d..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/step_current.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/step_done.gif b/bundles/org.eclipse.ui/icons/full/clcl16/step_done.gif
deleted file mode 100644
index 00da14e..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/step_done.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/stop_nav.gif b/bundles/org.eclipse.ui/icons/full/clcl16/stop_nav.gif
deleted file mode 100644
index 4eb53ec..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/stop_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/synced.gif b/bundles/org.eclipse.ui/icons/full/clcl16/synced.gif
deleted file mode 100644
index b96cd5a..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/synced.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/tree_mode.gif b/bundles/org.eclipse.ui/icons/full/clcl16/tree_mode.gif
deleted file mode 100644
index 852dc81..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/tree_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/up_nav.gif b/bundles/org.eclipse.ui/icons/full/clcl16/up_nav.gif
deleted file mode 100644
index 6877784..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/up_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/clcl16/view_menu.gif b/bundles/org.eclipse.ui/icons/full/clcl16/view_menu.gif
deleted file mode 100644
index a492838..0000000
--- a/bundles/org.eclipse.ui/icons/full/clcl16/view_menu.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/commands/change.gif b/bundles/org.eclipse.ui/icons/full/commands/change.gif
deleted file mode 100644
index 2cf2acd..0000000
--- a/bundles/org.eclipse.ui/icons/full/commands/change.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/commands/exclamation.gif b/bundles/org.eclipse.ui/icons/full/commands/exclamation.gif
deleted file mode 100644
index 586ed8e9..0000000
--- a/bundles/org.eclipse.ui/icons/full/commands/exclamation.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/commands/minus.gif b/bundles/org.eclipse.ui/icons/full/commands/minus.gif
deleted file mode 100644
index ce6105d..0000000
--- a/bundles/org.eclipse.ui/icons/full/commands/minus.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/commands/plus.gif b/bundles/org.eclipse.ui/icons/full/commands/plus.gif
deleted file mode 100644
index 0a561b9..0000000
--- a/bundles/org.eclipse.ui/icons/full/commands/plus.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/build_exec.gif b/bundles/org.eclipse.ui/icons/full/ctool16/build_exec.gif
deleted file mode 100644
index 20e7bae..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/build_exec.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/copy_edit.gif b/bundles/org.eclipse.ui/icons/full/ctool16/copy_edit.gif
deleted file mode 100644
index 4274b07..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/copy_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/cut_edit.gif b/bundles/org.eclipse.ui/icons/full/ctool16/cut_edit.gif
deleted file mode 100644
index eb948b9..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/cut_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/debug_exec.gif b/bundles/org.eclipse.ui/icons/full/ctool16/debug_exec.gif
deleted file mode 100644
index 8b4f234..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/debug_exec.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/delete_edit.gif b/bundles/org.eclipse.ui/icons/full/ctool16/delete_edit.gif
deleted file mode 100644
index 6f64766..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/delete_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/export_wiz.gif b/bundles/org.eclipse.ui/icons/full/ctool16/export_wiz.gif
deleted file mode 100644
index 5a01b75..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/export_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/exportdir_wiz.gif b/bundles/org.eclipse.ui/icons/full/ctool16/exportdir_wiz.gif
deleted file mode 100644
index 168c6ee..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/exportdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/exportzip_wiz.gif b/bundles/org.eclipse.ui/icons/full/ctool16/exportzip_wiz.gif
deleted file mode 100644
index 51e6b11..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/exportzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/import_wiz.gif b/bundles/org.eclipse.ui/icons/full/ctool16/import_wiz.gif
deleted file mode 100644
index 6152fd7..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/import_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/importdir_wiz.gif b/bundles/org.eclipse.ui/icons/full/ctool16/importdir_wiz.gif
deleted file mode 100644
index 188c920..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/importdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/importzip_wiz.gif b/bundles/org.eclipse.ui/icons/full/ctool16/importzip_wiz.gif
deleted file mode 100644
index c41c5c8..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/importzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/move_edit.gif b/bundles/org.eclipse.ui/icons/full/ctool16/move_edit.gif
deleted file mode 100644
index ec72889..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/move_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/new_page.gif b/bundles/org.eclipse.ui/icons/full/ctool16/new_page.gif
deleted file mode 100644
index 41c3958..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/new_page.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/new_wiz.gif b/bundles/org.eclipse.ui/icons/full/ctool16/new_wiz.gif
deleted file mode 100644
index bf683ca..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/new_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/newfile_wiz.gif b/bundles/org.eclipse.ui/icons/full/ctool16/newfile_wiz.gif
deleted file mode 100644
index 6baa037..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/newfile_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/newfolder_wiz.gif b/bundles/org.eclipse.ui/icons/full/ctool16/newfolder_wiz.gif
deleted file mode 100644
index a0b98ff..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/newfolder_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/newprj_wiz.gif b/bundles/org.eclipse.ui/icons/full/ctool16/newprj_wiz.gif
deleted file mode 100644
index ca7ef1b..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/newprj_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/next_nav.gif b/bundles/org.eclipse.ui/icons/full/ctool16/next_nav.gif
deleted file mode 100644
index 8392f33..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/next_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/paste_edit.gif b/bundles/org.eclipse.ui/icons/full/ctool16/paste_edit.gif
deleted file mode 100644
index 75e0ab2..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/paste_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/pin_editor.gif b/bundles/org.eclipse.ui/icons/full/ctool16/pin_editor.gif
deleted file mode 100644
index 9997124..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/pin_editor.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/prefs_misc.gif b/bundles/org.eclipse.ui/icons/full/ctool16/prefs_misc.gif
deleted file mode 100644
index 5d74b2b..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/prefs_misc.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/prev_nav.gif b/bundles/org.eclipse.ui/icons/full/ctool16/prev_nav.gif
deleted file mode 100644
index 9b278e6..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/prev_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/print_edit.gif b/bundles/org.eclipse.ui/icons/full/ctool16/print_edit.gif
deleted file mode 100644
index 4dfa8cd..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/print_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/redo_edit.gif b/bundles/org.eclipse.ui/icons/full/ctool16/redo_edit.gif
deleted file mode 100644
index 01ce578..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/redo_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/rename_edit.gif b/bundles/org.eclipse.ui/icons/full/ctool16/rename_edit.gif
deleted file mode 100644
index 25b1325..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/rename_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/run_exec.gif b/bundles/org.eclipse.ui/icons/full/ctool16/run_exec.gif
deleted file mode 100644
index 9a4db0d..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/run_exec.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/save_edit.gif b/bundles/org.eclipse.ui/icons/full/ctool16/save_edit.gif
deleted file mode 100644
index 698d9a2..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/save_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/saveall_edit.gif b/bundles/org.eclipse.ui/icons/full/ctool16/saveall_edit.gif
deleted file mode 100644
index b77773a..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/saveall_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/saveas_edit.gif b/bundles/org.eclipse.ui/icons/full/ctool16/saveas_edit.gif
deleted file mode 100644
index 76549a1..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/saveas_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/search_src.gif b/bundles/org.eclipse.ui/icons/full/ctool16/search_src.gif
deleted file mode 100644
index 6dc3ebe..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/search_src.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ctool16/undo_edit.gif b/bundles/org.eclipse.ui/icons/full/ctool16/undo_edit.gif
deleted file mode 100644
index 570c61c..0000000
--- a/bundles/org.eclipse.ui/icons/full/ctool16/undo_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/cview16/bkmrk_nav.gif b/bundles/org.eclipse.ui/icons/full/cview16/bkmrk_nav.gif
deleted file mode 100644
index 27abe3a..0000000
--- a/bundles/org.eclipse.ui/icons/full/cview16/bkmrk_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/cview16/default_persp.gif b/bundles/org.eclipse.ui/icons/full/cview16/default_persp.gif
deleted file mode 100644
index e159862..0000000
--- a/bundles/org.eclipse.ui/icons/full/cview16/default_persp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/cview16/defaultview_misc.gif b/bundles/org.eclipse.ui/icons/full/cview16/defaultview_misc.gif
deleted file mode 100644
index e159862..0000000
--- a/bundles/org.eclipse.ui/icons/full/cview16/defaultview_misc.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/cview16/editor_view.gif b/bundles/org.eclipse.ui/icons/full/cview16/editor_view.gif
deleted file mode 100644
index e3c4895..0000000
--- a/bundles/org.eclipse.ui/icons/full/cview16/editor_view.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/cview16/filenav_nav.gif b/bundles/org.eclipse.ui/icons/full/cview16/filenav_nav.gif
deleted file mode 100644
index 91b9d5a..0000000
--- a/bundles/org.eclipse.ui/icons/full/cview16/filenav_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/cview16/new_persp.gif b/bundles/org.eclipse.ui/icons/full/cview16/new_persp.gif
deleted file mode 100644
index ccc29c5..0000000
--- a/bundles/org.eclipse.ui/icons/full/cview16/new_persp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/cview16/opensame_persp.gif b/bundles/org.eclipse.ui/icons/full/cview16/opensame_persp.gif
deleted file mode 100644
index d32f767..0000000
--- a/bundles/org.eclipse.ui/icons/full/cview16/opensame_persp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/cview16/outline_co.gif b/bundles/org.eclipse.ui/icons/full/cview16/outline_co.gif
deleted file mode 100644
index 16a065d..0000000
--- a/bundles/org.eclipse.ui/icons/full/cview16/outline_co.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/cview16/prop_ps.gif b/bundles/org.eclipse.ui/icons/full/cview16/prop_ps.gif
deleted file mode 100644
index ec0cba1..0000000
--- a/bundles/org.eclipse.ui/icons/full/cview16/prop_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/cview16/replace_persp.gif b/bundles/org.eclipse.ui/icons/full/cview16/replace_persp.gif
deleted file mode 100644
index e8910d6..0000000
--- a/bundles/org.eclipse.ui/icons/full/cview16/replace_persp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/cview16/resource_persp.gif b/bundles/org.eclipse.ui/icons/full/cview16/resource_persp.gif
deleted file mode 100644
index 04c31bd..0000000
--- a/bundles/org.eclipse.ui/icons/full/cview16/resource_persp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/cview16/tasks_tsk.gif b/bundles/org.eclipse.ui/icons/full/cview16/tasks_tsk.gif
deleted file mode 100644
index bc0639e..0000000
--- a/bundles/org.eclipse.ui/icons/full/cview16/tasks_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/addbkmrk_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/addbkmrk_tsk.gif
deleted file mode 100644
index 813cb2f..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/addbkmrk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/addtsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/addtsk_tsk.gif
deleted file mode 100644
index 813cb2f..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/addtsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/alpha_mode.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/alpha_mode.gif
deleted file mode 100644
index 73c6265..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/alpha_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/apply_ps.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/apply_ps.gif
deleted file mode 100644
index 43274be..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/apply_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/backward_nav.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/backward_nav.gif
deleted file mode 100644
index e2179ad..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/backward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/close_view.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/close_view.gif
deleted file mode 100644
index 44d5488..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/close_view.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/defaults_ps.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/defaults_ps.gif
deleted file mode 100644
index 0c0c2fb..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/defaults_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/edittsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/edittsk_tsk.gif
deleted file mode 100644
index ed10eef..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/edittsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/filter_ps.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/filter_ps.gif
deleted file mode 100644
index 2b6285b..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/filter_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/filter_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/filter_tsk.gif
deleted file mode 100644
index 2b6285b..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/filter_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/forward_nav.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/forward_nav.gif
deleted file mode 100644
index 0c5af08..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/forward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/gotoobj_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/gotoobj_tsk.gif
deleted file mode 100644
index efcfc90..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/gotoobj_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/graph_mode.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/graph_mode.gif
deleted file mode 100644
index 7e64a83..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/graph_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/home_nav.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/home_nav.gif
deleted file mode 100644
index 3c80080..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/home_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/list_mode.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/list_mode.gif
deleted file mode 100644
index 6d09167..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/list_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/min_view.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/min_view.gif
deleted file mode 100644
index eb3e66b..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/min_view.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/pin_view.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/pin_view.gif
deleted file mode 100644
index 98a8100..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/pin_view.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/popup_menu.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/popup_menu.gif
deleted file mode 100644
index 17ed1a2..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/popup_menu.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/refresh_nav.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/refresh_nav.gif
deleted file mode 100644
index b2281b4..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/refresh_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/rembkmrk_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/rembkmrk_tsk.gif
deleted file mode 100644
index a6bfcfd..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/rembkmrk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/remtsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/remtsk_tsk.gif
deleted file mode 100644
index a6bfcfd..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/remtsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/scroll_lft.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/scroll_lft.gif
deleted file mode 100644
index 7b46bdb..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/scroll_lft.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/scroll_rt.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/scroll_rt.gif
deleted file mode 100644
index 84efd55..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/scroll_rt.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/scrollend.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/scrollend.gif
deleted file mode 100644
index 3731819..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/scrollend.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/scrollhome.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/scrollhome.gif
deleted file mode 100644
index 62e0e4e..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/scrollhome.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/selected_mode.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/selected_mode.gif
deleted file mode 100644
index 109378c..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/selected_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/showbasic_ps.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/showbasic_ps.gif
deleted file mode 100644
index a0f8006..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/showbasic_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/showcategory_ps.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/showcategory_ps.gif
deleted file mode 100644
index 9ec1d31..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/showcategory_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/showchild_mode.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/showchild_mode.gif
deleted file mode 100644
index 2f9e6d2..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/showchild_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/showcomplete_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/showcomplete_tsk.gif
deleted file mode 100644
index 872b853..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/showcomplete_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/showerr_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/showerr_tsk.gif
deleted file mode 100644
index 28350b7..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/showerr_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/showexpert_ps.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/showexpert_ps.gif
deleted file mode 100644
index 5771022..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/showexpert_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/showparents_mode.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/showparents_mode.gif
deleted file mode 100644
index e928437..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/showparents_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/showsync_rn.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/showsync_rn.gif
deleted file mode 100644
index 3dcccb3..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/showsync_rn.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/showtsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/showtsk_tsk.gif
deleted file mode 100644
index d6d15ff..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/showtsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/showwarn_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/showwarn_tsk.gif
deleted file mode 100644
index 666f9a6..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/showwarn_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/stop_nav.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/stop_nav.gif
deleted file mode 100644
index 7f0f9b9..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/stop_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/tree_mode.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/tree_mode.gif
deleted file mode 100644
index 27f71ea..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/tree_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/up_nav.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/up_nav.gif
deleted file mode 100644
index 71654ee..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/up_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/view_menu.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/view_menu.gif
deleted file mode 100644
index 267ee21..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/view_menu.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dnd/bottom_mask.bmp b/bundles/org.eclipse.ui/icons/full/dnd/bottom_mask.bmp
deleted file mode 100644
index 22eb40d..0000000
--- a/bundles/org.eclipse.ui/icons/full/dnd/bottom_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dnd/bottom_source.bmp b/bundles/org.eclipse.ui/icons/full/dnd/bottom_source.bmp
deleted file mode 100644
index 4d243c6..0000000
--- a/bundles/org.eclipse.ui/icons/full/dnd/bottom_source.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dnd/invalid_mask.bmp b/bundles/org.eclipse.ui/icons/full/dnd/invalid_mask.bmp
deleted file mode 100644
index 22eb40d..0000000
--- a/bundles/org.eclipse.ui/icons/full/dnd/invalid_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dnd/invalid_source.bmp b/bundles/org.eclipse.ui/icons/full/dnd/invalid_source.bmp
deleted file mode 100644
index b53df6f..0000000
--- a/bundles/org.eclipse.ui/icons/full/dnd/invalid_source.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dnd/left_mask.bmp b/bundles/org.eclipse.ui/icons/full/dnd/left_mask.bmp
deleted file mode 100644
index 22eb40d..0000000
--- a/bundles/org.eclipse.ui/icons/full/dnd/left_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dnd/left_source.bmp b/bundles/org.eclipse.ui/icons/full/dnd/left_source.bmp
deleted file mode 100644
index 48d3098..0000000
--- a/bundles/org.eclipse.ui/icons/full/dnd/left_source.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dnd/offscreen_mask.bmp b/bundles/org.eclipse.ui/icons/full/dnd/offscreen_mask.bmp
deleted file mode 100644
index 8fa7b96..0000000
--- a/bundles/org.eclipse.ui/icons/full/dnd/offscreen_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dnd/offscreen_source.bmp b/bundles/org.eclipse.ui/icons/full/dnd/offscreen_source.bmp
deleted file mode 100644
index 85de577..0000000
--- a/bundles/org.eclipse.ui/icons/full/dnd/offscreen_source.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dnd/right_mask.bmp b/bundles/org.eclipse.ui/icons/full/dnd/right_mask.bmp
deleted file mode 100644
index 22eb40d..0000000
--- a/bundles/org.eclipse.ui/icons/full/dnd/right_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dnd/right_source.bmp b/bundles/org.eclipse.ui/icons/full/dnd/right_source.bmp
deleted file mode 100644
index 8bc50f4..0000000
--- a/bundles/org.eclipse.ui/icons/full/dnd/right_source.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dnd/stack_mask.bmp b/bundles/org.eclipse.ui/icons/full/dnd/stack_mask.bmp
deleted file mode 100644
index 5bad51c..0000000
--- a/bundles/org.eclipse.ui/icons/full/dnd/stack_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dnd/stack_source.bmp b/bundles/org.eclipse.ui/icons/full/dnd/stack_source.bmp
deleted file mode 100644
index 7a8fc84..0000000
--- a/bundles/org.eclipse.ui/icons/full/dnd/stack_source.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dnd/tofastview_mask.bmp b/bundles/org.eclipse.ui/icons/full/dnd/tofastview_mask.bmp
deleted file mode 100644
index 44768d6..0000000
--- a/bundles/org.eclipse.ui/icons/full/dnd/tofastview_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dnd/tofastview_source.bmp b/bundles/org.eclipse.ui/icons/full/dnd/tofastview_source.bmp
deleted file mode 100644
index e1afb4e..0000000
--- a/bundles/org.eclipse.ui/icons/full/dnd/tofastview_source.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dnd/top_mask.bmp b/bundles/org.eclipse.ui/icons/full/dnd/top_mask.bmp
deleted file mode 100644
index 22eb40d..0000000
--- a/bundles/org.eclipse.ui/icons/full/dnd/top_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dnd/top_source.bmp b/bundles/org.eclipse.ui/icons/full/dnd/top_source.bmp
deleted file mode 100644
index 5255241..0000000
--- a/bundles/org.eclipse.ui/icons/full/dnd/top_source.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/build_exec.gif b/bundles/org.eclipse.ui/icons/full/dtool16/build_exec.gif
deleted file mode 100644
index d2ac89c..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/build_exec.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/copy_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/copy_edit.gif
deleted file mode 100644
index c7a98e8..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/copy_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/cut_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/cut_edit.gif
deleted file mode 100644
index 9cec774..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/cut_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/debug_exec.gif b/bundles/org.eclipse.ui/icons/full/dtool16/debug_exec.gif
deleted file mode 100644
index 23dfce0..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/debug_exec.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/delete_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/delete_edit.gif
deleted file mode 100644
index a6bfcfd..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/delete_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/export_wiz.gif b/bundles/org.eclipse.ui/icons/full/dtool16/export_wiz.gif
deleted file mode 100644
index 13959f3..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/export_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/exportdir_wiz.gif b/bundles/org.eclipse.ui/icons/full/dtool16/exportdir_wiz.gif
deleted file mode 100644
index 706e3a2..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/exportdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/exportzip_wiz.gif b/bundles/org.eclipse.ui/icons/full/dtool16/exportzip_wiz.gif
deleted file mode 100644
index b712331..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/exportzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/import_wiz.gif b/bundles/org.eclipse.ui/icons/full/dtool16/import_wiz.gif
deleted file mode 100644
index a3934cb..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/import_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/importdir_wiz.gif b/bundles/org.eclipse.ui/icons/full/dtool16/importdir_wiz.gif
deleted file mode 100644
index 70ec116..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/importdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/importzip_wiz.gif b/bundles/org.eclipse.ui/icons/full/dtool16/importzip_wiz.gif
deleted file mode 100644
index 9ca597b..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/importzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/move_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/move_edit.gif
deleted file mode 100644
index a381599..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/move_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/new_wiz.gif b/bundles/org.eclipse.ui/icons/full/dtool16/new_wiz.gif
deleted file mode 100644
index 578fa07..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/new_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/newfile_wiz.gif b/bundles/org.eclipse.ui/icons/full/dtool16/newfile_wiz.gif
deleted file mode 100644
index c931715..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/newfile_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/newfolder_wiz.gif b/bundles/org.eclipse.ui/icons/full/dtool16/newfolder_wiz.gif
deleted file mode 100644
index 3279891..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/newfolder_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/newprj_wiz.gif b/bundles/org.eclipse.ui/icons/full/dtool16/newprj_wiz.gif
deleted file mode 100644
index bd5772a..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/newprj_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/paste_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/paste_edit.gif
deleted file mode 100644
index 0dd5d21..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/paste_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/pin_editor.gif b/bundles/org.eclipse.ui/icons/full/dtool16/pin_editor.gif
deleted file mode 100644
index e2e1b46..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/pin_editor.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/prefs_misc.gif b/bundles/org.eclipse.ui/icons/full/dtool16/prefs_misc.gif
deleted file mode 100644
index d9d9b24..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/prefs_misc.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/print_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/print_edit.gif
deleted file mode 100644
index 56e688a..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/print_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/quick_wiz.gif b/bundles/org.eclipse.ui/icons/full/dtool16/quick_wiz.gif
deleted file mode 100644
index 24233df..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/quick_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/redo_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/redo_edit.gif
deleted file mode 100644
index 429f638..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/redo_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/rename_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/rename_edit.gif
deleted file mode 100644
index 99f3092..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/rename_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/run_exec.gif b/bundles/org.eclipse.ui/icons/full/dtool16/run_exec.gif
deleted file mode 100644
index 087dd57..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/run_exec.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/save_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/save_edit.gif
deleted file mode 100644
index fd3f62e..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/save_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/saveall_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/saveall_edit.gif
deleted file mode 100644
index 3946f78..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/saveall_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/saveas_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/saveas_edit.gif
deleted file mode 100644
index 29bf5da..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/saveas_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/search_src.gif b/bundles/org.eclipse.ui/icons/full/dtool16/search_src.gif
deleted file mode 100644
index 5fe80f3..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/search_src.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/undo_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/undo_edit.gif
deleted file mode 100644
index 65a414a..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/undo_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/addbkmrk_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/addbkmrk_tsk.gif
deleted file mode 100644
index 234594a..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/addbkmrk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/addtsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/addtsk_tsk.gif
deleted file mode 100644
index 234594a..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/addtsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/alpha_mode.gif b/bundles/org.eclipse.ui/icons/full/elcl16/alpha_mode.gif
deleted file mode 100644
index 9d38f6d..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/alpha_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/apply_ps.gif b/bundles/org.eclipse.ui/icons/full/elcl16/apply_ps.gif
deleted file mode 100644
index 14f2706..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/apply_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/backward_nav.gif b/bundles/org.eclipse.ui/icons/full/elcl16/backward_nav.gif
deleted file mode 100644
index 85188b7..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/backward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/close_view.gif b/bundles/org.eclipse.ui/icons/full/elcl16/close_view.gif
deleted file mode 100644
index 5e5ad91..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/close_view.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/collapseall.gif b/bundles/org.eclipse.ui/icons/full/elcl16/collapseall.gif
deleted file mode 100644
index 72c7ca2..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/collapseall.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/defaults_ps.gif b/bundles/org.eclipse.ui/icons/full/elcl16/defaults_ps.gif
deleted file mode 100644
index d1c213a..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/defaults_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/edittsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/edittsk_tsk.gif
deleted file mode 100644
index 1945e08..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/edittsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/filter_ps.gif b/bundles/org.eclipse.ui/icons/full/elcl16/filter_ps.gif
deleted file mode 100644
index 5372656..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/filter_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/filter_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/filter_tsk.gif
deleted file mode 100644
index 5372656..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/filter_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/forward_nav.gif b/bundles/org.eclipse.ui/icons/full/elcl16/forward_nav.gif
deleted file mode 100644
index dc28ee1..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/forward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/gotoobj_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/gotoobj_tsk.gif
deleted file mode 100644
index b562f52..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/gotoobj_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/graph_mode.gif b/bundles/org.eclipse.ui/icons/full/elcl16/graph_mode.gif
deleted file mode 100644
index 5189dd9..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/graph_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/home_nav.gif b/bundles/org.eclipse.ui/icons/full/elcl16/home_nav.gif
deleted file mode 100644
index bf2ba86..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/home_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/list_mode.gif b/bundles/org.eclipse.ui/icons/full/elcl16/list_mode.gif
deleted file mode 100644
index eda01fa..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/list_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/min_view.gif b/bundles/org.eclipse.ui/icons/full/elcl16/min_view.gif
deleted file mode 100644
index b72a507..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/min_view.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/pin_view.gif b/bundles/org.eclipse.ui/icons/full/elcl16/pin_view.gif
deleted file mode 100644
index 1ad12b4..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/pin_view.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/popup_menu.gif b/bundles/org.eclipse.ui/icons/full/elcl16/popup_menu.gif
deleted file mode 100644
index 91aeb63..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/popup_menu.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/refresh_nav.gif b/bundles/org.eclipse.ui/icons/full/elcl16/refresh_nav.gif
deleted file mode 100644
index 919423d..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/refresh_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/rembkmrk_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/rembkmrk_tsk.gif
deleted file mode 100644
index 34643b8..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/rembkmrk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/remtsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/remtsk_tsk.gif
deleted file mode 100644
index 34643b8..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/remtsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/scroll_lft.gif b/bundles/org.eclipse.ui/icons/full/elcl16/scroll_lft.gif
deleted file mode 100644
index 912e077..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/scroll_lft.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/scroll_rt.gif b/bundles/org.eclipse.ui/icons/full/elcl16/scroll_rt.gif
deleted file mode 100644
index f34eb71..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/scroll_rt.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/scrollend.gif b/bundles/org.eclipse.ui/icons/full/elcl16/scrollend.gif
deleted file mode 100644
index 6de69bf..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/scrollend.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/scrollhome.gif b/bundles/org.eclipse.ui/icons/full/elcl16/scrollhome.gif
deleted file mode 100644
index 06d95bb..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/scrollhome.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/selected_mode.gif b/bundles/org.eclipse.ui/icons/full/elcl16/selected_mode.gif
deleted file mode 100644
index 5eca2d1..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/selected_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/showbasic_ps.gif b/bundles/org.eclipse.ui/icons/full/elcl16/showbasic_ps.gif
deleted file mode 100644
index 2fddc3ea..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/showbasic_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/showcategory_ps.gif b/bundles/org.eclipse.ui/icons/full/elcl16/showcategory_ps.gif
deleted file mode 100644
index eb94d5a..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/showcategory_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/showchild_mode.gif b/bundles/org.eclipse.ui/icons/full/elcl16/showchild_mode.gif
deleted file mode 100644
index 8eb4d58..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/showchild_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/showcomplete_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/showcomplete_tsk.gif
deleted file mode 100644
index 651d634..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/showcomplete_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/showerr_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/showerr_tsk.gif
deleted file mode 100644
index 9883a7e..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/showerr_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/showexpert_ps.gif b/bundles/org.eclipse.ui/icons/full/elcl16/showexpert_ps.gif
deleted file mode 100644
index 1710f18..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/showexpert_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/showparents_mode.gif b/bundles/org.eclipse.ui/icons/full/elcl16/showparents_mode.gif
deleted file mode 100644
index 7cd61d0..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/showparents_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/showsync_rn.gif b/bundles/org.eclipse.ui/icons/full/elcl16/showsync_rn.gif
deleted file mode 100644
index 4410b22..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/showsync_rn.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/showtsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/showtsk_tsk.gif
deleted file mode 100644
index f183137..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/showtsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/showwarn_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/showwarn_tsk.gif
deleted file mode 100644
index c328627..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/showwarn_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/stop_nav.gif b/bundles/org.eclipse.ui/icons/full/elcl16/stop_nav.gif
deleted file mode 100644
index a519f44..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/stop_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/tree_mode.gif b/bundles/org.eclipse.ui/icons/full/elcl16/tree_mode.gif
deleted file mode 100644
index 582010f..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/tree_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/up_nav.gif b/bundles/org.eclipse.ui/icons/full/elcl16/up_nav.gif
deleted file mode 100644
index 4c10912..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/up_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/view_menu.gif b/bundles/org.eclipse.ui/icons/full/elcl16/view_menu.gif
deleted file mode 100644
index dea5419..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/view_menu.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/build_exec.gif b/bundles/org.eclipse.ui/icons/full/etool16/build_exec.gif
deleted file mode 100644
index 9c910c8..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/build_exec.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/copy_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/copy_edit.gif
deleted file mode 100644
index 41bf445..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/copy_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/cut_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/cut_edit.gif
deleted file mode 100644
index 0d961dd..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/cut_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/debug_exec.gif b/bundles/org.eclipse.ui/icons/full/etool16/debug_exec.gif
deleted file mode 100644
index 6ce0532..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/debug_exec.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/delete_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/delete_edit.gif
deleted file mode 100644
index 34643b8..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/delete_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/export_wiz.gif b/bundles/org.eclipse.ui/icons/full/etool16/export_wiz.gif
deleted file mode 100644
index dc6292d..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/export_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/exportdir_wiz.gif b/bundles/org.eclipse.ui/icons/full/etool16/exportdir_wiz.gif
deleted file mode 100644
index 6dec1ce..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/exportdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/exportzip_wiz.gif b/bundles/org.eclipse.ui/icons/full/etool16/exportzip_wiz.gif
deleted file mode 100644
index 1bb3a1d..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/exportzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/import_wiz.gif b/bundles/org.eclipse.ui/icons/full/etool16/import_wiz.gif
deleted file mode 100644
index 74dc174..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/import_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/importdir_wiz.gif b/bundles/org.eclipse.ui/icons/full/etool16/importdir_wiz.gif
deleted file mode 100644
index 86b35e4..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/importdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/importzip_wiz.gif b/bundles/org.eclipse.ui/icons/full/etool16/importzip_wiz.gif
deleted file mode 100644
index e9c6649..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/importzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/move_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/move_edit.gif
deleted file mode 100644
index f9e622f..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/move_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/new_wiz.gif b/bundles/org.eclipse.ui/icons/full/etool16/new_wiz.gif
deleted file mode 100644
index 0342288..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/new_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/newfile_wiz.gif b/bundles/org.eclipse.ui/icons/full/etool16/newfile_wiz.gif
deleted file mode 100644
index f2fe6e1..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/newfile_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/newfolder_wiz.gif b/bundles/org.eclipse.ui/icons/full/etool16/newfolder_wiz.gif
deleted file mode 100644
index 2b49c1b..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/newfolder_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/newprj_wiz.gif b/bundles/org.eclipse.ui/icons/full/etool16/newprj_wiz.gif
deleted file mode 100644
index 617b5a6..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/newprj_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/paste_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/paste_edit.gif
deleted file mode 100644
index 6e76152..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/paste_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/pin_editor.gif b/bundles/org.eclipse.ui/icons/full/etool16/pin_editor.gif
deleted file mode 100644
index 9d24775..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/pin_editor.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/prefs_misc.gif b/bundles/org.eclipse.ui/icons/full/etool16/prefs_misc.gif
deleted file mode 100644
index 346a10d..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/prefs_misc.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/print_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/print_edit.gif
deleted file mode 100644
index e869b2e..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/print_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/quick_wiz.gif b/bundles/org.eclipse.ui/icons/full/etool16/quick_wiz.gif
deleted file mode 100644
index 24233df..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/quick_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/redo_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/redo_edit.gif
deleted file mode 100644
index 38aef82..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/redo_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/rename_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/rename_edit.gif
deleted file mode 100644
index 8337ba9..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/rename_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/run_exec.gif b/bundles/org.eclipse.ui/icons/full/etool16/run_exec.gif
deleted file mode 100644
index 95f87ea..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/run_exec.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/save_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/save_edit.gif
deleted file mode 100644
index c1752cc..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/save_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/saveall_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/saveall_edit.gif
deleted file mode 100644
index 63b32d0..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/saveall_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/saveas_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/saveas_edit.gif
deleted file mode 100644
index 69f4b6f..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/saveas_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/search_src.gif b/bundles/org.eclipse.ui/icons/full/etool16/search_src.gif
deleted file mode 100644
index 57ed3b4..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/search_src.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/undo_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/undo_edit.gif
deleted file mode 100644
index 322a24d..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/undo_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/eview16/bkmrk_nav.gif b/bundles/org.eclipse.ui/icons/full/eview16/bkmrk_nav.gif
deleted file mode 100644
index 69877bc..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/bkmrk_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/eview16/default_persp.gif b/bundles/org.eclipse.ui/icons/full/eview16/default_persp.gif
deleted file mode 100644
index 4cbddd0..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/default_persp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/eview16/defaultview_misc.gif b/bundles/org.eclipse.ui/icons/full/eview16/defaultview_misc.gif
deleted file mode 100644
index 4cbddd0..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/defaultview_misc.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/eview16/filenav_nav.gif b/bundles/org.eclipse.ui/icons/full/eview16/filenav_nav.gif
deleted file mode 100644
index 386ee1f..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/filenav_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/eview16/new_persp.gif b/bundles/org.eclipse.ui/icons/full/eview16/new_persp.gif
deleted file mode 100644
index 712b48f..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/new_persp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/eview16/opensame_persp.gif b/bundles/org.eclipse.ui/icons/full/eview16/opensame_persp.gif
deleted file mode 100644
index b2a3d2c..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/opensame_persp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/eview16/outline_co.gif b/bundles/org.eclipse.ui/icons/full/eview16/outline_co.gif
deleted file mode 100644
index 562fc2d..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/outline_co.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/eview16/prop_ps.gif b/bundles/org.eclipse.ui/icons/full/eview16/prop_ps.gif
deleted file mode 100644
index eb165ff..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/prop_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/eview16/replace_persp.gif b/bundles/org.eclipse.ui/icons/full/eview16/replace_persp.gif
deleted file mode 100644
index bf2d0a5..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/replace_persp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/eview16/resource_persp.gif b/bundles/org.eclipse.ui/icons/full/eview16/resource_persp.gif
deleted file mode 100644
index 304e55c..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/resource_persp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/eview16/tasks_tsk.gif b/bundles/org.eclipse.ui/icons/full/eview16/tasks_tsk.gif
deleted file mode 100644
index 51ae2bc..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/tasks_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/keybindings/change.gif b/bundles/org.eclipse.ui/icons/full/keybindings/change.gif
deleted file mode 100644
index 2cf2acd..0000000
--- a/bundles/org.eclipse.ui/icons/full/keybindings/change.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/keybindings/exclamation.gif b/bundles/org.eclipse.ui/icons/full/keybindings/exclamation.gif
deleted file mode 100644
index 586ed8e9..0000000
--- a/bundles/org.eclipse.ui/icons/full/keybindings/exclamation.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/keybindings/minus.gif b/bundles/org.eclipse.ui/icons/full/keybindings/minus.gif
deleted file mode 100644
index ce6105d..0000000
--- a/bundles/org.eclipse.ui/icons/full/keybindings/minus.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/keybindings/plus.gif b/bundles/org.eclipse.ui/icons/full/keybindings/plus.gif
deleted file mode 100644
index 0a561b9..0000000
--- a/bundles/org.eclipse.ui/icons/full/keybindings/plus.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/bkmrk_tsk.gif b/bundles/org.eclipse.ui/icons/full/obj16/bkmrk_tsk.gif
deleted file mode 100644
index 4f1a3ac..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/bkmrk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/cfldr_obj.gif b/bundles/org.eclipse.ui/icons/full/obj16/cfldr_obj.gif
deleted file mode 100644
index beb6ed1..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/cfldr_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/complete_tsk.gif b/bundles/org.eclipse.ui/icons/full/obj16/complete_tsk.gif
deleted file mode 100644
index 00da14e..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/complete_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/cprj_obj.gif b/bundles/org.eclipse.ui/icons/full/obj16/cprj_obj.gif
deleted file mode 100644
index 04e530e..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/cprj_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/dots_button.gif b/bundles/org.eclipse.ui/icons/full/obj16/dots_button.gif
deleted file mode 100644
index dea5098..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/dots_button.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/element_obj.gif b/bundles/org.eclipse.ui/icons/full/obj16/element_obj.gif
deleted file mode 100644
index d945dde..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/element_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/elements_obj.gif b/bundles/org.eclipse.ui/icons/full/obj16/elements_obj.gif
deleted file mode 100644
index 76b351e..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/elements_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/error_tsk.gif b/bundles/org.eclipse.ui/icons/full/obj16/error_tsk.gif
deleted file mode 100644
index 20afc6c..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/error_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/file_obj.gif b/bundles/org.eclipse.ui/icons/full/obj16/file_obj.gif
deleted file mode 100644
index 6b86d07..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/file_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/fldr_obj.gif b/bundles/org.eclipse.ui/icons/full/obj16/fldr_obj.gif
deleted file mode 100644
index a9c7773..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/fldr_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/hprio_tsk.gif b/bundles/org.eclipse.ui/icons/full/obj16/hprio_tsk.gif
deleted file mode 100644
index 586ed8e9..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/hprio_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/incomplete_tsk.gif b/bundles/org.eclipse.ui/icons/full/obj16/incomplete_tsk.gif
deleted file mode 100644
index 7aa131a..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/incomplete_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/info_tsk.gif b/bundles/org.eclipse.ui/icons/full/obj16/info_tsk.gif
deleted file mode 100644
index 0c5f208..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/info_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/lprio_tsk.gif b/bundles/org.eclipse.ui/icons/full/obj16/lprio_tsk.gif
deleted file mode 100644
index 19df9ae..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/lprio_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/prj_obj.gif b/bundles/org.eclipse.ui/icons/full/obj16/prj_obj.gif
deleted file mode 100644
index 7b2b633..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/prj_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/probmrk_tsk.gif b/bundles/org.eclipse.ui/icons/full/obj16/probmrk_tsk.gif
deleted file mode 100644
index 9592bc1..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/probmrk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/question.gif b/bundles/org.eclipse.ui/icons/full/obj16/question.gif
deleted file mode 100644
index 70bc611..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/question.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/system_summary_editor.gif b/bundles/org.eclipse.ui/icons/full/obj16/system_summary_editor.gif
deleted file mode 100644
index 6b86d07..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/system_summary_editor.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/taskmrk_tsk.gif b/bundles/org.eclipse.ui/icons/full/obj16/taskmrk_tsk.gif
deleted file mode 100644
index 2eb001b..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/taskmrk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/warn_tsk.gif b/bundles/org.eclipse.ui/icons/full/obj16/warn_tsk.gif
deleted file mode 100644
index 70f7ad7..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/warn_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/welcome_banner.gif b/bundles/org.eclipse.ui/icons/full/obj16/welcome_banner.gif
deleted file mode 100644
index 8ea6294..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/welcome_banner.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/welcome_editor.gif b/bundles/org.eclipse.ui/icons/full/obj16/welcome_editor.gif
deleted file mode 100644
index 6b86d07..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/welcome_editor.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/welcome_item.gif b/bundles/org.eclipse.ui/icons/full/obj16/welcome_item.gif
deleted file mode 100644
index 311f57f..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/welcome_item.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/workset.gif b/bundles/org.eclipse.ui/icons/full/obj16/workset.gif
deleted file mode 100644
index 04c31bd..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/workset.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj8/complete.gif b/bundles/org.eclipse.ui/icons/full/obj8/complete.gif
deleted file mode 100644
index 9afd708..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj8/complete.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj8/priority.gif b/bundles/org.eclipse.ui/icons/full/obj8/priority.gif
deleted file mode 100644
index 085afc6..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj8/priority.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ovr16/link_ovr.gif b/bundles/org.eclipse.ui/icons/full/ovr16/link_ovr.gif
deleted file mode 100644
index 589f137..0000000
--- a/bundles/org.eclipse.ui/icons/full/ovr16/link_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/wizban/export_wiz.gif b/bundles/org.eclipse.ui/icons/full/wizban/export_wiz.gif
deleted file mode 100644
index da6f70f..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/export_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/wizban/exportdir_wiz.gif b/bundles/org.eclipse.ui/icons/full/wizban/exportdir_wiz.gif
deleted file mode 100644
index bfc0b70..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/exportdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/wizban/exportzip_wiz.gif b/bundles/org.eclipse.ui/icons/full/wizban/exportzip_wiz.gif
deleted file mode 100644
index 3d363dd..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/exportzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/wizban/import_wiz.gif b/bundles/org.eclipse.ui/icons/full/wizban/import_wiz.gif
deleted file mode 100644
index ce86a3e..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/import_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/wizban/importdir_wiz.gif b/bundles/org.eclipse.ui/icons/full/wizban/importdir_wiz.gif
deleted file mode 100644
index 47bcb45..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/importdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/wizban/importzip_wiz.gif b/bundles/org.eclipse.ui/icons/full/wizban/importzip_wiz.gif
deleted file mode 100644
index 8765892..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/importzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/wizban/new_wiz.gif b/bundles/org.eclipse.ui/icons/full/wizban/new_wiz.gif
deleted file mode 100644
index c18cb45..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/new_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/wizban/newfile_wiz.gif b/bundles/org.eclipse.ui/icons/full/wizban/newfile_wiz.gif
deleted file mode 100644
index 67e1456..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/newfile_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/wizban/newfolder_wiz.gif b/bundles/org.eclipse.ui/icons/full/wizban/newfolder_wiz.gif
deleted file mode 100644
index 93b86bd..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/newfolder_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/wizban/newprj_wiz.gif b/bundles/org.eclipse.ui/icons/full/wizban/newprj_wiz.gif
deleted file mode 100644
index fdb64a8..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/newprj_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/wizban/saveas_dlg.gif b/bundles/org.eclipse.ui/icons/full/wizban/saveas_dlg.gif
deleted file mode 100644
index ebd5650..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/saveas_dlg.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/wizban/workset_wiz.gif b/bundles/org.eclipse.ui/icons/full/wizban/workset_wiz.gif
deleted file mode 100644
index 3d005f8..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/workset_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/plugin.properties b/bundles/org.eclipse.ui/plugin.properties
deleted file mode 100644
index 5f1239f..0000000
--- a/bundles/org.eclipse.ui/plugin.properties
+++ /dev/null
@@ -1,328 +0,0 @@
-Plugin.name = Eclipse UI

-Plugin.providerName = Eclipse.org

-Win32Fragment.fragmentName = Workbench for Windows

-

-# Workbench extension point names

-ExtPoint.acceleratorSets = Accelerator Sets

-ExtPoint.acceleratorConfigurations = Accelerator Configurations

-ExtPoint.acceleratorScopes = Accelerator Scopes

-ExtPoint.actionDefinitions = Action Definitions

-ExtPoint.actionSets = Action Sets

-ExtPoint.capabilities = Capabilities

-ExtPoint.decorators = Decorators

-ExtPoint.dropActions = Drop Actions

-ExtPoint.editors = Editors

-ExtPoint.editorActions = Editor Menus and Actions

-ExtPoint.exportWizards = Export Wizards

-ExtPoint.importWizards = Import Wizards

-ExtPoint.markerHelp = Marker Help

-ExtPoint.markerImageProviders = Marker Image Providers

-ExtPoint.markerResolution = Marker Resolution

-ExtPoint.newWizards = Resource Creation Wizards

-ExtPoint.perspectiveExtensions = Perspective Extensions

-ExtPoint.perspectives = Perspectives

-ExtPoint.popupMenus = Popup Menus

-ExtPoint.projectNatureImages = Project Nature Images

-ExtPoint.resourceFilters = Resource Filters

-ExtPoint.preferencePages = Preference Pages

-ExtPoint.propertyPages = Property Pages

-ExtPoint.startup = Startup

-ExtPoint.views = Views

-ExtPoint.viewActions = View Menus and Actions

-

-# Text extension point names

-ExtPoint.documentProviders = Document providers

-ExtPoint.markerUpdaters = Marker updaters

-

-Perspective.resourcePerspective = Resource

-ImportWizards.FileSystem = File system

-ImportWizards.ZipFile = Zip file

-ImportWizards.ExternalProject = Existing Project into Workspace

-ImportWizards.FileSystemDescription=Import resources from the local file system

-ImportWizards.ZipFileDescription=Import resources from a Zip or Jar file on the local file system

-ImportWizards.ExternalProjectDescription=Create a new Project from an Eclipse project in the file system. This does not copy the project to the workspace.

-ExportWizards.FileSystem = File system

-ExportWizards.ZipFile = Zip file

-ExportWizards.FileSystemDescription = Export resources to the local file system

-ExportWizards.ZipFileDescription = Export resources to a Zip file on the local file system

-Views.Category.Basic = Basic

-Views.ResourceNavigator = Navigator

-Views.BookmarkNavigator = Bookmarks

-Views.PropertySheet = Properties

-Views.ContentOutline = Outline

-Views.TaskList = Tasks

-Views.KeyBindings = Key Bindings

-Views.EditorView = Editors

-NewWizards.Category.Examples = Examples

-NewWizards.Category.Basic = Simple

-NewWizards.project = Project

-NewWizards.project.description = Create a new project resource

-NewWizards.folder = Folder

-NewWizards.folder.description = Create a new folder resource

-NewWizards.file = File

-NewWizards.file.description = Create a new file resource

-PreferencePages.Workbench = Workbench

-PreferencePages.WorkbenchWorkInProgress = Work In Progress

-PreferencePages.Editors = Editors

-PreferencePages.PathVariables = Path Variables

-PreferencePages.FileEditors = File Associations

-PreferencePages.FileStates = Local History

-PreferencePages.Perspectives = Perspectives

-PreferencePages.Views = Appearance

-PreferencePages.BuildOrder = Build Order

-PreferencePages.Fonts = Fonts

-PreferencePages.Decorators = Label Decorations

-PreferencePages.Startup = Startup

-PreferencePages.Commands = Commands

-PreferencePages.Gestures = Gestures

-PreferencePages.Keys = Keys

-PropertyPages.project.reference = Project References

-PropertyPages.project.capability = Capabilities

-PropertyPages.info.file = Info

-Editors.DefaultTextEditor = Text Editor

-Editors.WelcomeEditor = Welcome

-DefaultAcceleratorConfiguration.name = Default

-DefaultAcceleratorConfiguration.description = Eclipse's default accelerator configuration

-EmacsAcceleratorConfiguration.name = Emacs

-EmacsAcceleratorConfiguration.description = Emacs editor style accelerator configuration

-GlobalAcceleratorScope.name = Global

-GlobalAcceleratorScope.description = Action accelerator key applicable to all views and editors unless explicitly overridden.

-TextEditorAcceleratorScope.name = Text Editor

-TextEditorAcceleratorScope.description = Action accelerator key applicable only when text editor active.

-ExtPoint.workingSets = Working set dialogs

-WorkingSets.resource = Resource

-AddBookmark.label=Add Boo&kmark...

-AddBookmark.tooltip=Add Bookmark...

-AddTask.label=Add &Task...

-AddTask.tooltip=Add Task...

-Support=Support

-SystemSummary=System Summary

-NavigateActionSet.label = Resource Navigation

-NavigateActionSet.description = Action set containing resource navigation actions

-GoToResourceAction.label = &Resource...

-DecoratorLinkedResource.label = Linked Resources

-DecoratorLinkedResource.description = Adds an icon decoration to linked resources.

-OpenWorkspaceFileAction.label = Open Reso&urce...

-

-ActionDefinition.newWizard.name = Open New Wizard

-ActionDefinition.newWizard.description = Action to open the New Wizard

-ActionDefinition.close.name = Close

-ActionDefinition.close.description = Action to close a resource

-ActionDefinition.closeAll.name = Close All

-ActionDefinition.closeAll.description = Action to close all open resources

-ActionDefinition.save.name = Save

-ActionDefinition.save.description = Action to save a resource

-ActionDefinition.saveAll.name = Save All

-ActionDefinition.saveAll.description = Action to save all resources

-ActionDefinition.print.name = Print

-ActionDefinition.print.description = Action to print a resource

-ActionDefinition.revert.name = Revert

-ActionDefinition.revert.description = Action to revert a resource

-ActionDefinition.refresh.name = Refresh

-ActionDefinition.refresh.description = Action to refresh a resource from the file system

-ActionDefinition.properties.name = Properties

-ActionDefinition.properties.description = Action to display the properties of a resource

-ActionDefinition.undo.name = Undo

-ActionDefinition.undo.description = Undo last action

-ActionDefinition.redo.name = Redo

-ActionDefinition.redo.description = Redo last action

-ActionDefinition.cut.name = Cut

-ActionDefinition.cut.description = Action to cut

-ActionDefinition.copy.name = Copy

-ActionDefinition.copy.description = Action to copy

-ActionDefinition.paste.name = Paste

-ActionDefinition.paste.description = Action to paste

-ActionDefinition.delete.name = Delete

-ActionDefinition.delete.description = Action to delete

-ActionDefinition.deleteLine.name = Delete Line

-ActionDefinition.deleteLine.description = Action to delete a line of text

-ActionDefinition.deleteLineBeginning.name = Delete to Beginning of Line

-ActionDefinition.deleteLineBeginning.description = Action to delete to the beginning of a line of text

-ActionDefinition.deleteLineEnd.name = Delete to End of Line

-ActionDefinition.deleteLineEnd.description = Action to delete to the end of a line of text

-ActionDefinition.move.name = Move

-ActionDefinition.move.description = Action to move a resource

-ActionDefinition.rename.name = Rename

-ActionDefinition.rename.description = Action to rename a resource

-ActionDefinition.selectAll.name = Select All

-ActionDefinition.selectAll.description = Action to select all

-ActionDefinition.setMark.name = Set Mark

-ActionDefinition.setMark.description = Action to set the mark 

-ActionDefinition.clearMark.name = Clear Mark

-ActionDefinition.clearMark.description = Action to clear the mark

-ActionDefinition.swapMark.name = Swap Mark

-ActionDefinition.swapMark.description = Action to swap the mark with the cursor position

-ActionDefinition.findReplace.name = Find and Replace

-ActionDefinition.findReplace.description = Action to find and replace text

-ActionDefinition.addBookmark.name = Add Bookmark

-ActionDefinition.addBookmark.description = Action to add a bookmark

-ActionDefinition.goInto.name = Go Into

-ActionDefinition.goInto.description = Action to navigate into an item

-ActionDefinition.back.name = Back

-ActionDefinition.back.description = Action to navigate back

-ActionDefinition.forward.name = Forward

-ActionDefinition.forward.description = Action to navigate forward

-ActionDefinition.up.name = Up

-ActionDefinition.up.description = Action to navigate up

-ActionDefinition.next.name = Next

-ActionDefinition.next.description = Action to navigate to next item

-ActionDefinition.backwardHistory.name = Backward History

-ActionDefinition.backwardHistory.description = Action to move backward in the history

-ActionDefinition.forwardHistory.name = Forward History

-ActionDefinition.forwardHistory.description = Action to move forward in history

-ActionDefinition.previous.name = Previous

-ActionDefinition.previous.description = Action to navigate to previous item

-ActionDefinition.showIn.name = Show In

-ActionDefinition.showIn.description = Action to show the selection in a different view

-ActionDefinition.openProject.name = Open Project

-ActionDefinition.openProject.description = Action to open a project

-ActionDefinition.closeProject.name = Close Project

-ActionDefinition.closeProject.description = Action to close a project

-ActionDefinition.buildProject.name = Build Project

-ActionDefinition.buildProject.description = Action to build a project

-ActionDefinition.rebuildProject.name = Rebuild Project

-ActionDefinition.rebuildProject.description = Action to rebuild a project

-ActionDefinition.buildAll.name = Build All

-ActionDefinition.buildAll.description = Action to build all projects

-ActionDefinition.rebuildAll.name = Rebuild All

-ActionDefinition.rebuildAll.description = Action to rebuild all projects

-ActionDefinition.switchToEditor.name = Switch To Editor

-ActionDefinition.switchToEditor.description = Action to switch to an editor

-ActionDefinition.showSystemMenu.name = Show System Menu

-ActionDefinition.showSystemMenu.description = Action to show the system menu

-ActionDefinition.showViewMenu.name = Show View Menu

-ActionDefinition.showViewMenu.description = Action to show the view menu

-ActionDefinition.activateEditor.name = Activate Editor

-ActionDefinition.activateEditor.description = Action to activate an editor

-ActionDefinition.nextEditor.name = Next Editor

-ActionDefinition.nextEditor.description = Action to show the next editor

-ActionDefinition.previousEditor.name = Previous Editor

-ActionDefinition.previousEditor.description = Action to show the previous editor

-ActionDefinition.nextView.name = Next View

-ActionDefinition.nextView.description = Action to show the next view

-ActionDefinition.previousView.name = Previous View

-ActionDefinition.previousView.description = Action to show the previous view

-ActionDefinition.nextPerspective.name = Next Perspective

-ActionDefinition.nextPerspective.description = Action to show the next perspective

-ActionDefinition.previousPerspective.name = Previous Perspective

-ActionDefinition.previousPerspective.description = Action to show the previous perspective

-ActionDefinition.findNext.name = Find Next

-ActionDefinition.findNext.description = Action to find next item

-ActionDefinition.findPrevious.name = Find Previous

-ActionDefinition.findPrevious.description = Action to find previous item

-ActionDefinition.findIncremental.name = Incremental Find

-ActionDefinition.findIncremental.description = Action to incremental find

-ActionDefinition.findIncrementalReverse.name = Incremental Find Reverse

-ActionDefinition.findIncrementalReverse.description = Action to incremental find reverse

-ActionDefinition.revertToSaved.name = Revert To Saved

-ActionDefinition.revertToSaved.description = Action to revert to the state after the most recent save operation

-ActionDefinition.addTask.name = Add Task

-ActionDefinition.addTask.description = Action to add a new task

-ActionDefinition.lineUp.name = Line Up

-ActionDefinition.lineUp.description = Action to go up a line of text

-ActionDefinition.lineDown.name = Line Down

-ActionDefinition.lineDown.description = Action to go down a line of text

-ActionDefinition.lineStart.name = Line Start

-ActionDefinition.lineStart.description = Action to go to the start of the line of text

-ActionDefinition.lineEnd.name = Line End

-ActionDefinition.lineEnd.description = Action to go to the end of the line of text

-ActionDefinition.goToLine.name = Go To Line

-ActionDefinition.goToLine.description = Action to go to a certain line of text

-ActionDefinition.previousColumn.name = Previous Column

-ActionDefinition.previousColumn.description = Action to go to the previous column

-ActionDefinition.nextColumn.name = Next Column

-ActionDefinition.nextColumn.description = Action to go to the next column

-ActionDefinition.pageUp.name = Page Up

-ActionDefinition.pageUp.description = Action to go up a page

-ActionDefinition.pageDown.name = Page Down

-ActionDefinition.pageDown.description = Action to go down a page

-ActionDefinition.previousWord.name = Previous Word

-ActionDefinition.previousWord.description = Action to go to the previous word

-ActionDefinition.nextWord.name = Next Word

-ActionDefinition.nextWord.description = Action to go to the next word

-ActionDefinition.textStart.name = Text Start

-ActionDefinition.textStart.description = Action to go to the start of the text

-ActionDefinition.textEnd.name = Text End

-ActionDefinition.textEnd.description = Action to go to the end of the text

-ActionDefinition.windowStart.name = Window Start

-ActionDefinition.windowStart.description = Action to go to the start of the window

-ActionDefinition.windowEnd.name = Window End

-ActionDefinition.windowEnd.description = Action to go to the end of the window

-ActionDefinition.scrollLineUp.name = Scroll Line Up

-ActionDefinition.scrollLineUp.description = Action to scroll up a line of text

-ActionDefinition.scrollLineDown.name = Scroll Line Down

-ActionDefinition.scrollLineDown.description = Action to scroll down a line of text

-ActionDefinition.selectLineUp.name = Select Line Up

-ActionDefinition.selectLineUp.description = Action to select the above line of text

-ActionDefinition.selectLineDown.name = Select Line Down

-ActionDefinition.selectLineDown.description = Action to select the below line of text

-ActionDefinition.selectLineStart.name = Select Line Start

-ActionDefinition.selectLineStart.description = Action to select to the start of the line of text

-ActionDefinition.selectLineEnd.name = Select Line End

-ActionDefinition.selectLineEnd.description = Action to select to the end of the line of text

-ActionDefinition.selectPreviousColumn.name = Select Previous Column

-ActionDefinition.selectPreviousColumn.description = Action to select the previous column

-ActionDefinition.selectNextColumn.name = Select Next Column

-ActionDefinition.selectNextColumn.description = Action to select the next column

-ActionDefinition.selectPageUp.name = Select Page Up

-ActionDefinition.selectPageUp.description = Action to select to the top of the page

-ActionDefinition.selectPageDown.name = Select Page Down

-ActionDefinition.selectPageDown.description = Action to select to the bottom of the page

-ActionDefinition.selectWordPrevious.name = Select Previous Word

-ActionDefinition.selectWordPrevious.description = Action to select the previous word

-ActionDefinition.selectWordNext.name = Select Next Word

-ActionDefinition.selectWordNext.description = Action to select the next word

-ActionDefinition.selectTextStart.name = Select Text Start

-ActionDefinition.selectTextStart.description = Action to select to the start of the text

-ActionDefinition.selectTextEnd.name = Select Text End

-ActionDefinition.selectTextEnd.description = Action to select to the end of the text

-ActionDefinition.selectWindowStart.name = Select Window Start

-ActionDefinition.selectWindowStart.description = Action to select to the start of the window

-ActionDefinition.selectWindowEnd.name = Select Window End

-ActionDefinition.selectWindowEnd.description = Action to select to the end of the window

-ActionDefinition.deletePrevious.name = Delete Previous

-ActionDefinition.deletePrevious.description = Action to delete previous character

-ActionDefinition.deleteNext.name = Delete Next

-ActionDefinition.deleteNext.description = Action to delete next character

-ActionDefinition.shiftRight.name = Shift Right

-ActionDefinition.shiftRight.description = Action to shift a block of text to the right

-ActionDefinition.shiftLeft.name = Shift Left

-ActionDefinition.shiftLeft.description = Action to shift a block of text to the left

-ActionDefinition.toggleOverwrite.name = Toggle Overwrite

-ActionDefinition.toggleOverwrite.description = Action to toggle input mode

-ActionDefinition.showRulerContextMenu.name = Show Ruler Context Menu

-ActionDefinition.showRulerContextMenu.description = Action to show the context menu for the ruler

-ActionDefinition.us_ascii.name = US ACSII Encoding

-ActionDefinition.us_ascii.description = Action to change the encoding into US ASCII

-ActionDefinition.iso_8859_1.name = ISO-8859-1 Encoding

-ActionDefinition.iso_8859_1.description = Action to change the encoding into ISO-8859-1

-ActionDefinition.utf_8.name = UTF-8 Encoding

-ActionDefinition.utf_8.description = Action to change the encoding into UTF-8

-ActionDefinition.utf_16be.name = UTF-16BE Encoding

-ActionDefinition.utf_16be.description = Action to change the encoding into UTF-16BE

-ActionDefinition.utf_16le.name = UTF-16LE Encoding

-ActionDefinition.utf_16le.description = Action to change the encoding into UTF-16LE

-ActionDefinition.utf_16.name = UTF-16 Encoding

-ActionDefinition.utf_16.description = Action to change the encoding into UTF-16

-ActionDefinition.system.name = System Encoding

-ActionDefinition.system.description = Action to change the encoding into the system encoding

-ActionDefinition.custom.name = Custom Encoding

-ActionDefinition.custom.description = Action to change the encoding into a custom encoding

-ActionDefinition.openResource.name = Open Resource

-ActionDefinition.openResource.description = Action to open a workspace resource

-ActionDefinition.goToResource.name = Go To Resource

-ActionDefinition.goToResource.description = Action to reveal a workspace resource in the active view

-ActionDefinition.contentAssistProposals.name= Content Assist

-ActionDefinition.contentAssistProposals.description= Content Assist

-ActionDefinition.contentAssistContextInformation.name= Context Information

-ActionDefinition.contentAssistContextInformation.description= Show Context Information

-

-#Font definition entries

-FontsPreference.BannerFontLabel = Banner Font

-FontsPreference.DialogFontLabel = Dialog Font

-FontsPreference.HeaderFontLabel = Header Font

-FontsPreference.TextFontLabel = Text Font

-FontsPreference.BannerFontDescription = The banner font is used in wizard banners.

-FontsPreference.DialogFontDescription  = The dialog font is the font for widgets in dialogs.

-FontsPreference.HeaderFontDescription  = The header font is used for section headers in composite text pages.

-FontsPreference.TextFontDescription  = The text font is used by text editors.

diff --git a/bundles/org.eclipse.ui/plugin.xml b/bundles/org.eclipse.ui/plugin.xml
deleted file mode 100644
index d6ee8fc..0000000
--- a/bundles/org.eclipse.ui/plugin.xml
+++ /dev/null
@@ -1,1963 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<plugin

-   id="org.eclipse.ui"

-   name="%Plugin.name"

-   version="2.1.0"

-   provider-name="%Plugin.providerName"

-   class="org.eclipse.ui.internal.UIPlugin">

-

-   <runtime>

-      <library name="ui.jar">

-         <export name="*"/>

-         <packages prefixes="org.eclipse.ui"/>

-      </library>

-   </runtime>

-   <requires>

-      <import plugin="org.apache.xerces"/>

-      <import plugin="org.eclipse.core.resources"/>

-      <import plugin="org.eclipse.update.core"/>

-      <import plugin="org.eclipse.help"/>

-      <import plugin="org.eclipse.swt" export="true"/>

-      <import plugin="org.eclipse.text" export="true"/>

-      <import plugin="org.eclipse.jface" export="true"/>

-      <import plugin="org.eclipse.jface.text" export="true"/>

-      <import plugin="org.eclipse.ui.views" export="true"/>

-      <import plugin="org.eclipse.ui.workbench" export="true"/>

-      <import plugin="org.eclipse.ui.workbench.texteditor" export="true"/>

-      <import plugin="org.eclipse.ui.editors" export="true"/>

-   </requires>

-

-

-<!-- Workbench extension points -->

-   <extension-point id="acceleratorSets" name="%ExtPoint.acceleratorSets" schema="schema/acceleratorSets.exsd"/>

-   <extension-point id="acceleratorConfigurations" name="%ExtPoint.acceleratorConfigurations" schema="schema/acceleratorConfigurations.exsd"/>

-   <extension-point id="acceleratorScopes" name="%ExtPoint.acceleratorScopes" schema="schema/acceleratorScopes.exsd"/>

-   <extension-point id="actionDefinitions" name="%ExtPoint.actionDefinitions" schema="schema/actionDefinitions.exsd"/>

-   <extension-point id="actionSetPartAssociations" name="%ExtPoint.actionSetPartAssociations" schema="schema/actionSetPartAssociations.exsd"/>

-   <extension-point id="actionSets" name="%ExtPoint.actionSets" schema="schema/actionSets.exsd"/>

-   <extension-point id="capabilities" name="%ExtPoint.capabilities" schema="schema/capabilities.exsd"/>

-   <extension-point id="decorators" name="%ExtPoint.decorators" schema="schema/decorators.exsd"/>

-   <extension-point id="dropActions" name="%ExtPoint.dropActions" schema="schema/dropActions.exsd"/>

-   <extension-point id="editorActions" name="%ExtPoint.editorActions" schema="schema/editorActions.exsd"/>

-   <extension-point id="editors" name="%ExtPoint.editors" schema="schema/editors.exsd"/>

-   <extension-point id="elementFactories" name="%ExtPoint.elementFactories" schema="schema/elementFactories.exsd"/>

-   <extension-point id="exportWizards" name="%ExtPoint.exportWizards" schema="schema/exportWizards.exsd"/>

-   <extension-point id="fontDefinitions" name="%ExtPoint.fontDefinitions" schema="schema/fontDefinitions.exsd"/>

-   <extension-point id="importWizards" name="%ExtPoint.importWizards" schema="schema/importWizards.exsd"/>

-   <extension-point id="markerHelp" name="%ExtPoint.markerHelp" schema="schema/markerHelp.exsd"/>

-   <extension-point id="markerImageProviders" name="%ExtPoint.markerImageProviders"/>

-   <extension-point id="markerResolution" name="%ExtPoint.markerResolution" schema="schema/markerResolution.exsd"/>

-   <extension-point id="newWizards" name="%ExtPoint.newWizards" schema="schema/newWizards.exsd"/>

-   <extension-point id="perspectiveExtensions" name="%ExtPoint.perspectiveExtensions" schema="schema/perspectiveExtensions.exsd"/>

-   <extension-point id="perspectives" name="%ExtPoint.perspectives" schema="schema/perspectives.exsd"/>

-   <extension-point id="popupMenus" name="%ExtPoint.popupMenus " schema="schema/popupMenus.exsd"/>

-   <extension-point id="preferencePages" name="%ExtPoint.preferencePages" schema="schema/preferencePages.exsd"/>

-   <extension-point id="projectNatureImages" name="%ExtPoint.projectNatureImages" schema="schema/projectNatureImages.exsd"/>

-   <extension-point id="propertyPages" name="%ExtPoint.propertyPages" schema="schema/propertyPages.exsd"/>

-   <extension-point id="resourceFilters" name="%ExtPoint.resourceFilters" schema="schema/resourceFilters.exsd"/>

-   <extension-point id="startup" name="%ExtPoint.startup" schema="schema/startup.exsd"/>

-   <extension-point id="viewActions" name="%ExtPoint.viewActions" schema="schema/viewActions.exsd"/>

-   <extension-point id="views" name="%ExtPoint.views" schema="schema/views.exsd"/>

-   <extension-point id="workingSets" name="%ExtPoint.workingSets" schema="schema/workingSets.exsd"/>

-<!-- Text extension points -->

-   <extension-point id="documentProviders" name="%ExtPoint.documentProviders" schema="schema/documentProviders.exsd"/>

-   <extension-point id="markerUpdaters" name="%ExtPoint.markerUpdaters" schema="schema/markerUpdaters.exsd"/>

-

-   <extension

-         id="workbench"

-         point="org.eclipse.core.runtime.applications">

-      <application>

-         <run

-               class="org.eclipse.ui.internal.Workbench">

-            <parameter

-                  name="productInfo"

-                  value="product.ini">

-            </parameter>

-         </run>

-      </application>

-   </extension>

-   <extension

-         point="org.eclipse.ui.actionDefinitions">

-      <actionDefinition

-            name="%ActionDefinition.newWizard.name"

-            description="%ActionDefinition.newWizard.description"

-            id="org.eclipse.ui.newWizard">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.close.name"

-            description="%ActionDefinition.close.description"

-            id="org.eclipse.ui.file.close">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.closeAll.name"

-            description="%ActionDefinition.closeAll.description"

-            id="org.eclipse.ui.file.closeAll">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.save.name"

-            icon="icons/full/ctool16/save_edit.gif"

-            description="%ActionDefinition.save.description"

-            id="org.eclipse.ui.file.save">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.saveAll.name"

-            icon="icons/full/ctool16/saveall_edit.gif"

-            description="%ActionDefinition.saveAll.description"

-            id="org.eclipse.ui.file.saveAll">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.print.name"

-            icon="icons/full/ctool16/print_edit.gif"

-            description="%ActionDefinition.print.description"

-            id="org.eclipse.ui.file.print">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.revert.name"

-            description="%ActionDefinition.revert.description"

-            id="org.eclipse.ui.file.revert">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.refresh.name"

-            icon="icons/full/clcl16/refresh_nav.gif"

-            description="%ActionDefinition.refresh.description"

-            id="org.eclipse.ui.file.refresh">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.properties.name"

-            description="%ActionDefinition.properties.description"

-            id="org.eclipse.ui.file.properties">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.undo.name"

-            icon="icons/full/ctool16/undo_edit.gif"

-            description="%ActionDefinition.undo.description"

-            id="org.eclipse.ui.edit.undo">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.redo.name"

-            icon="icons/full/ctool16/redo_edit.gif"

-            description="%ActionDefinition.redo.description"

-            id="org.eclipse.ui.edit.redo">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.cut.name"

-            icon="icons/full/ctool16/cut_edit.gif"

-            description="%ActionDefinition.cut.description"

-            id="org.eclipse.ui.edit.cut">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.copy.name"

-            icon="icons/full/ctool16/copy_edit.gif"

-            description="%ActionDefinition.copy.description"

-            id="org.eclipse.ui.edit.copy">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.paste.name"

-            icon="icons/full/ctool16/paste_edit.gif"

-            description="%ActionDefinition.paste.description"

-            id="org.eclipse.ui.edit.paste">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.delete.name"

-            icon="icons/full/ctool16/delete_edit.gif"

-            description="%ActionDefinition.delete.description"

-            id="org.eclipse.ui.edit.delete">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.deleteLine.name"

-            description="%ActionDefinition.deleteLine.description"

-            id="org.eclipse.ui.edit.text.delete.line">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.deleteLineBeginning.name"

-            description="%ActionDefinition.deleteLineBeginning.description"

-            id="org.eclipse.ui.edit.text.delete.line.to.beginning">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.deleteLineEnd.name"

-            description="%ActionDefinition.deleteLineEnd.description"

-            id="org.eclipse.ui.edit.text.delete.line.to.end">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.move.name"

-            icon="icons/full/ctool16/move_edit.gif"

-            description="%ActionDefinition.move.description"

-            id="org.eclipse.ui.edit.move">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.rename.name"

-            icon="icons/full/ctool16/rename_edit.gif"

-            description="%ActionDefinition.rename.description"

-            id="org.eclipse.ui.edit.rename">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.selectAll.name"

-            description="%ActionDefinition.selectAll.description"

-            id="org.eclipse.ui.edit.selectAll">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.setMark.name"

-            description="%ActionDefinition.setMark.description"

-            id="org.eclipse.ui.edit.text.set.mark">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.clearMark.name"

-            description="%ActionDefinition.clearMark.description"

-            id="org.eclipse.ui.edit.text.clear.mark">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.swapMark.name"

-            description="%ActionDefinition.swapMark.description"

-            id="org.eclipse.ui.edit.text.swap.mark">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.findReplace.name"

-            description="%ActionDefinition.findReplace.description"

-            id="org.eclipse.ui.edit.findReplace">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.addBookmark.name"

-            icon="icons/full/obj16/bkmrk_tsk.gif"

-            description="%ActionDefinition.addBookmark.description"

-            id="org.eclipse.ui.edit.addBookmark">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.goInto.name"

-            description="%ActionDefinition.goInto.description"

-            id="org.eclipse.ui.navigate.goInto">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.back.name"

-            icon="icons/full/clcl16/backward_nav.gif"

-            description="%ActionDefinition.back.description"

-            id="org.eclipse.ui.navigate.back">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.forward.name"

-            icon="icons/full/clcl16/forward_nav.gif"

-            description="%ActionDefinition.forward.description"

-            id="org.eclipse.ui.navigate.forward">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.up.name"

-            icon="icons/full/clcl16/up_nav.gif"

-            description="%ActionDefinition.up.description"

-            id="org.eclipse.ui.navigate.up">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.goToResource.name"

-            description="%ActionDefinition.goToResource.description"

-            id="org.eclipse.ui.navigate.goToResource">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.showIn.name"

-            description="%ActionDefinition.showIn.description"

-            id="org.eclipse.ui.navigate.showIn">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.openResource.name"

-            description="%ActionDefinition.openResource.description"

-            id="org.eclipse.ui.navigate.openResource">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.next.name"

-            icon="icons/full/ctool16/next_nav.gif"

-            description="%ActionDefinition.next.description"

-            id="org.eclipse.ui.navigate.next">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.backwardHistory.name"

-            icon="icons/full/clcl16/backward_nav.gif"

-            description="%ActionDefinition.backwardHistory.description"

-            id="org.eclipse.ui.navigate.backwardHistory">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.forwardHistory.name"

-            icon="icons/full/clcl16/forward_nav.gif"

-            description="%ActionDefinition.forwardHistory.description"

-            id="org.eclipse.ui.navigate.forwardHistory">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.previous.name"

-            icon="icons/full/ctool16/prev_nav.gif"

-            description="%ActionDefinition.previous.description"

-            id="org.eclipse.ui.navigate.previous">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.openProject.name"

-            icon="icons/full/obj16/prj_obj.gif"

-            description="%ActionDefinition.openProject.description"

-            id="org.eclipse.ui.project.openProject">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.closeProject.name"

-            icon="icons/full/obj16/cprj_obj.gif"

-            description="%ActionDefinition.closeProject.description"

-            id="org.eclipse.ui.project.closeProject">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.buildProject.name"

-            icon="icons/full/ctool16/build_exec.gif"

-            description="%ActionDefinition.buildProject.description"

-            id="org.eclipse.ui.project.buildProject">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.rebuildProject.name"

-            icon="icons/full/ctool16/build_exec.gif"

-            description="%ActionDefinition.rebuildProject.description"

-            id="org.eclipse.ui.project.rebuildProject">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.buildAll.name"

-            icon="icons/full/ctool16/build_exec.gif"

-            description="%ActionDefinition.buildAll.description"

-            id="org.eclipse.ui.project.buildAll">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.rebuildAll.name"

-            icon="icons/full/ctool16/build_exec.gif"

-            description="%ActionDefinition.rebuildAll.description"

-            id="org.eclipse.ui.project.rebuildAll">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.switchToEditor.name"

-            description="%ActionDefinition.switchToEditor.description"

-            id="org.eclipse.ui.window.switchToEditor">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.showSystemMenu.name"

-            description="%ActionDefinition.showSystemMenu.description"

-            id="org.eclipse.ui.window.showSystemMenu">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.showViewMenu.name"

-            description="%ActionDefinition.showViewMenu.description"

-            id="org.eclipse.ui.window.showViewMenu">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.activateEditor.name"

-            description="%ActionDefinition.activateEditor.description"

-            id="org.eclipse.ui.window.activateEditor">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.nextEditor.name"

-            description="%ActionDefinition.nextEditor.description"

-            id="org.eclipse.ui.window.nextEditor">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.previousEditor.name"

-            description="%ActionDefinition.previousEditor.description"

-            id="org.eclipse.ui.window.previousEditor">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.nextView.name"

-            description="%ActionDefinition.nextView.description"

-            id="org.eclipse.ui.window.nextView">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.previousView.name"

-            description="%ActionDefinition.previousView.description"

-            id="org.eclipse.ui.window.previousView">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.nextPerspective.name"

-            description="%ActionDefinition.nextPerspective.description"

-            id="org.eclipse.ui.window.nextPerspective">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.previousPerspective.name"

-            description="%ActionDefinition.previousPerspective.description"

-            id="org.eclipse.ui.window.previousPerspective">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.findNext.name"

-            description="%ActionDefinition.findNext.description"

-            id="org.eclipse.ui.edit.findNext">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.findPrevious.name"

-            description="%ActionDefinition.findPrevious.description"

-            id="org.eclipse.ui.edit.findPrevious">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.findIncremental.name"

-            description="%ActionDefinition.findIncremental.description"

-            id="org.eclipse.ui.edit.findIncremental">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.findIncrementalReverse.name"

-            description="%ActionDefinition.findIncrementalReverse.description"

-            id="org.eclipse.ui.edit.findIncrementalReverse">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.revertToSaved.name"

-            description="%ActionDefinition.revertToSaved.description"

-            id="org.eclipse.ui.edit.revertToSaved">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.addTask.name"

-            icon="icons/full/clcl16/addtsk_tsk.gif"

-            description="%ActionDefinition.addTask.description"

-            id="org.eclipse.ui.edit.addTask">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.lineUp.name"

-            description="%ActionDefinition.lineUp.description"

-            id="org.eclipse.ui.edit.text.goto.lineUp">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.lineDown.name"

-            description="%ActionDefinition.lineDown.description"

-            id="org.eclipse.ui.edit.text.goto.lineDown">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.lineStart.name"

-            description="%ActionDefinition.lineStart.description"

-            id="org.eclipse.ui.edit.text.goto.lineStart">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.lineEnd.name"

-            description="%ActionDefinition.lineEnd.description"

-            id="org.eclipse.ui.edit.text.goto.lineEnd">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.goToLine.name"

-            description="%ActionDefinition.goToLine.description"

-            id="org.eclipse.ui.edit.text.goto.line">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.previousColumn.name"

-            description="%ActionDefinition.previousColumn.description"

-            id="org.eclipse.ui.edit.text.goto.columnPrevious">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.nextColumn.name"

-            description="%ActionDefinition.nextColumn.description"

-            id="org.eclipse.ui.edit.text.goto.columnNext">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.pageUp.name"

-            description="%ActionDefinition.pageUp.description"

-            id="org.eclipse.ui.edit.text.goto.pageUp">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.pageDown.name"

-            description="%ActionDefinition.pageDown.description"

-            id="org.eclipse.ui.edit.text.goto.pageDown">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.previousWord.name"

-            description="%ActionDefinition.previousWord.description"

-            id="org.eclipse.ui.edit.text.goto.wordPrevious">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.nextWord.name"

-            description="%ActionDefinition.nextWord.description"

-            id="org.eclipse.ui.edit.text.goto.wordNext">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.textStart.name"

-            description="%ActionDefinition.textStart.description"

-            id="org.eclipse.ui.edit.text.goto.textStart">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.textEnd.name"

-            description="%ActionDefinition.textEnd.description"

-            id="org.eclipse.ui.edit.text.goto.textEnd">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.windowStart.name"

-            description="%ActionDefinition.windowStart.description"

-            id="org.eclipse.ui.edit.text.goto.windowStart">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.windowEnd.name"

-            description="%ActionDefinition.windowEnd.description"

-            id="org.eclipse.ui.edit.text.goto.windowEnd">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.scrollLineUp.name"

-            description="%ActionDefinition.scrollLineUp.description"

-            id="org.eclipse.ui.edit.text.scroll.lineUp">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.scrollLineDown.name"

-            description="%ActionDefinition.scrollLineDown.description"

-            id="org.eclipse.ui.edit.text.scroll.lineDown">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.selectLineUp.name"

-            description="%ActionDefinition.selectLineUp.description"

-            id="org.eclipse.ui.edit.text.select.lineUp">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.selectLineDown.name"

-            description="%ActionDefinition.selectLineDown.description"

-            id="org.eclipse.ui.edit.text.select.lineDown">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.selectLineStart.name"

-            description="%ActionDefinition.selectLineStart.description"

-            id="org.eclipse.ui.edit.text.select.lineStart">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.selectLineEnd.name"

-            description="%ActionDefinition.selectLineEnd.description"

-            id="org.eclipse.ui.edit.text.select.lineEnd">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.selectPreviousColumn.name"

-            description="%ActionDefinition.selectPreviousColumn.description"

-            id="org.eclipse.ui.edit.text.select.columnPrevious">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.selectNextColumn.name"

-            description="%ActionDefinition.selectNextColumn.description"

-            id="org.eclipse.ui.edit.text.select.columnNext">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.selectPageUp.name"

-            description="%ActionDefinition.selectPageUp.description"

-            id="org.eclipse.ui.edit.text.select.pageUp">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.selectPageDown.name"

-            description="%ActionDefinition.selectPageDown.description"

-            id="org.eclipse.ui.edit.text.select.pageDown">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.selectWordPrevious.name"

-            description="%ActionDefinition.selectWordPrevious.description"

-            id="org.eclipse.ui.edit.text.select.wordPrevious">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.selectWordNext.name"

-            description="%ActionDefinition.selectWordNext.description"

-            id="org.eclipse.ui.edit.text.select.wordNext">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.selectTextStart.name"

-            description="%ActionDefinition.selectTextStart.description"

-            id="org.eclipse.ui.edit.text.select.textStart">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.selectTextEnd.name"

-            description="%ActionDefinition.selectTextEnd.description"

-            id="org.eclipse.ui.edit.text.select.textEnd">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.selectWindowStart.name"

-            description="%ActionDefinition.selectWindowStart.description"

-            id="org.eclipse.ui.edit.text.select.windowStart">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.selectWindowEnd.name"

-            description="%ActionDefinition.selectWindowEnd.description"

-            id="org.eclipse.ui.edit.text.select.windowEnd">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.deletePrevious.name"

-            description="%ActionDefinition.deletePrevious.description"

-            id="org.eclipse.ui.edit.text.deletePrevious">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.deleteNext.name"

-            description="%ActionDefinition.deleteNext.description"

-            id="org.eclipse.ui.edit.text.deleteNext">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.shiftRight.name"

-            description="%ActionDefinition.shiftRight.description"

-            id="org.eclipse.ui.edit.text.shiftRight">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.shiftLeft.name"

-            description="%ActionDefinition.shiftLeft.description"

-            id="org.eclipse.ui.edit.text.shiftLeft">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.toggleOverwrite.name"

-            description="%ActionDefinition.toggleOverwrite.description"

-            id="org.eclipse.ui.edit.text.toggleOverwrite">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.showRulerContextMenu.name"

-            description="%ActionDefinition.showRulerContextMenu.description"

-            id="org.eclipse.ui.edit.text.showRulerContextMenu">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.us_ascii.name"

-            description="%ActionDefinition.us_ascii.description"

-            id="org.eclipse.ui.edit.text.encoding.us-ascii">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.iso_8859_1.name"

-            description="%ActionDefinition.iso_8859_1.description"

-            id="org.eclipse.ui.edit.text.encoding.iso-8859-1">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.utf_8.name"

-            description="%ActionDefinition.utf_8.description"

-            id="org.eclipse.ui.edit.text.encoding.utf-8">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.utf_16be.name"

-            description="%ActionDefinition.utf_16be.description"

-            id="org.eclipse.ui.edit.text.encoding.utf-16be">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.utf_16le.name"

-            description="%ActionDefinition.utf_16le.description"

-            id="org.eclipse.ui.edit.text.encoding.utf-16le">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.utf_16.name"

-            description="%ActionDefinition.utf_16.description"

-            id="org.eclipse.ui.edit.text.encoding.utf-16">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.system.name"

-            description="%ActionDefinition.system.description"

-            id="org.eclipse.ui.edit.text.encoding.system">

-      </actionDefinition>

-      <actionDefinition

-            name="%ActionDefinition.custom.name"

-            description="%ActionDefinition.custom.description"

-            id="org.eclipse.ui.edit.text.encoding.custom">

-      </actionDefinition>

-      <actionDefinition

-			name= "%ActionDefinition.contentAssistProposals.name"

-			description="%ActionDefinition.contentAssistProposals.description"

-			id="org.eclipse.ui.edit.text.contentAssist.proposals">

-      </actionDefinition>

-      <actionDefinition

-			name= "%ActionDefinition.contentAssistContextInformation.name"

-			description="%ActionDefinition.contentAssistContextInformation.description"

-			id="org.eclipse.ui.edit.text.contentAssist.contextInformation">

-	  </actionDefinition>

-   </extension>

-   <extension

-         point="org.eclipse.ui.acceleratorConfigurations">

-      <acceleratorConfiguration

-            name="%DefaultAcceleratorConfiguration.name"

-            description="%DefaultAcceleratorConfiguration.description"

-            id="org.eclipse.ui.defaultAcceleratorConfiguration">

-      </acceleratorConfiguration>

-      <acceleratorConfiguration

-            name="%EmacsAcceleratorConfiguration.name"

-            parent="org.eclipse.ui.defaultAcceleratorConfiguration"

-            parentConfiguration="org.eclipse.ui.defaultAcceleratorConfiguration"

-            description="%EmacsAcceleratorConfiguration.description"

-            id="org.eclipse.ui.emacsAcceleratorConfiguration">

-      </acceleratorConfiguration>

-   </extension>

-   <extension

-         point="org.eclipse.ui.acceleratorScopes">

-      <acceleratorScope

-            name="%GlobalAcceleratorScope.name"

-            description="%GlobalAcceleratorScope.description"

-            id="org.eclipse.ui.globalScope">

-      </acceleratorScope>

-      <acceleratorScope

-            name="%TextEditorAcceleratorScope.name"

-            parent="org.eclipse.ui.globalScope"

-            parentScope="org.eclipse.ui.globalScope"

-            description="%TextEditorAcceleratorScope.description"

-            id="org.eclipse.ui.textEditorScope">

-      </acceleratorScope>

-   </extension>

-   <extension

-         point="org.eclipse.ui.acceleratorSets">

-      <acceleratorSet

-            scopeId="org.eclipse.ui.globalScope"

-            configurationId="org.eclipse.ui.defaultAcceleratorConfiguration">

-         <accelerator

-               key="Ctrl+N"

-               id="org.eclipse.ui.newWizard">

-         </accelerator>

-         <accelerator

-               key="Ctrl+F4"

-               id="org.eclipse.ui.file.close">

-         </accelerator>

-         <accelerator

-               key="Ctrl+Shift+F4"

-               id="org.eclipse.ui.file.closeAll">

-         </accelerator>

-         <accelerator

-               key="Ctrl+S"

-               id="org.eclipse.ui.file.save">

-         </accelerator>

-         <accelerator

-               key="Ctrl+Shift+S"

-               id="org.eclipse.ui.file.saveAll">

-         </accelerator>

-         <accelerator

-               key="Ctrl+P"

-               id="org.eclipse.ui.file.print">

-         </accelerator>

-         <accelerator

-               key="Alt+ENTER"

-               id="org.eclipse.ui.file.properties">

-         </accelerator>

-         <accelerator

-               key="Ctrl+Z"

-               id="org.eclipse.ui.edit.undo">

-         </accelerator>

-         <accelerator

-               key="Ctrl+Y"

-               id="org.eclipse.ui.edit.redo">

-         </accelerator>

-         <accelerator

-               key="Ctrl+X"

-               id="org.eclipse.ui.edit.cut">

-         </accelerator>

-         <accelerator

-               key="Ctrl+C"

-               id="org.eclipse.ui.edit.copy">

-         </accelerator>

-         <accelerator

-               key="Ctrl+V"

-               id="org.eclipse.ui.edit.paste">

-         </accelerator>

-         <accelerator

-               key="Ctrl+E"

-               id="org.eclipse.ui.edit.text.delete.line">

-         </accelerator>

-         <accelerator

-               key="Ctrl+Shift+E"

-               id="org.eclipse.ui.edit.text.delete.line.to.end">

-         </accelerator>

-         <accelerator

-               key="Ctrl+A"

-               id="org.eclipse.ui.edit.selectAll">

-         </accelerator>

-         <accelerator

-               key="Ctrl+F"

-               id="org.eclipse.ui.edit.findReplace">

-         </accelerator>

-         <accelerator

-               key="Ctrl+Shift+R"

-               id="org.eclipse.ui.navigate.openResource">

-         </accelerator>

-         <accelerator

-               key="Ctrl+."

-               id="org.eclipse.ui.navigate.next">

-         </accelerator>

-         <accelerator

-               key="Ctrl+,"

-               id="org.eclipse.ui.navigate.previous">

-         </accelerator>

-         <accelerator

-               key="Alt+ARROW_LEFT"

-               id="org.eclipse.ui.navigate.backwardHistory">

-         </accelerator>

-         <accelerator

-               key="Alt+ARROW_RIGHT"

-               id="org.eclipse.ui.navigate.forwardHistory">

-         </accelerator>

-         <accelerator

-               key="Alt+Shift+S"

-               id="org.eclipse.ui.navigate.showIn">

-         </accelerator>

-         <accelerator

-               key="Ctrl+B"

-               id="org.eclipse.ui.project.buildAll">

-         </accelerator>

-         <accelerator

-               key="Ctrl+Shift+W"

-               id="org.eclipse.ui.window.switchToEditor">

-         </accelerator>

-         <accelerator

-               key="Alt+-"

-               id="org.eclipse.ui.window.showSystemMenu">

-         </accelerator>

-         <accelerator

-               key="Ctrl+F10"

-               id="org.eclipse.ui.window.showViewMenu">

-         </accelerator>

-         <accelerator

-               key="F12"

-               id="org.eclipse.ui.window.activateEditor">

-         </accelerator>

-         <accelerator

-               key="Ctrl+F6"

-               id="org.eclipse.ui.window.nextEditor">

-         </accelerator>

-         <accelerator

-               key="Ctrl+Shift+F6"

-               id="org.eclipse.ui.window.previousEditor">

-         </accelerator>

-         <accelerator

-               key="Ctrl+F7"

-               id="org.eclipse.ui.window.nextView">

-         </accelerator>

-         <accelerator

-               key="Ctrl+Shift+F7"

-               id="org.eclipse.ui.window.previousView">

-         </accelerator>

-         <accelerator

-               key="Ctrl+F8"

-               id="org.eclipse.ui.window.nextPerspective">

-         </accelerator>

-         <accelerator

-               key="Ctrl+Shift+F8"

-               id="org.eclipse.ui.window.previousPerspective">

-         </accelerator>

-         <accelerator

-               key="Ctrl+K"

-               id="org.eclipse.ui.edit.findNext">

-         </accelerator>

-         <accelerator

-               key="Ctrl+Shift+K"

-               id="org.eclipse.ui.edit.findPrevious">

-         </accelerator>

-         <accelerator

-               key="Ctrl+J"

-               id="org.eclipse.ui.edit.findIncremental">

-         </accelerator>

-         <accelerator

-               key="Ctrl+Shift+J"

-               id="org.eclipse.ui.edit.findIncrementalReverse">

-         </accelerator>

-         <accelerator

-               key="Ctrl+L"

-               id="org.eclipse.ui.edit.text.goto.line">

-         </accelerator>

-         <accelerator

-               key="Ctrl+ARROW_UP"

-               id="org.eclipse.ui.edit.text.scroll.lineUp">

-         </accelerator>

-         <accelerator

-               key="Ctrl+ARROW_DOWN"

-               id="org.eclipse.ui.edit.text.scroll.lineDown">

-         </accelerator>

-         <accelerator

-               key="INSERT"

-               id="org.eclipse.ui.edit.text.toggleOverwrite">

-         </accelerator>

-         <accelerator

-               key="Ctrl+W"

-               id="org.eclipse.ui.edit.text.showRulerContextMenu">

-         </accelerator>

-         <accelerator

-               key="Ctrl+Space"

-               id="org.eclipse.ui.edit.text.contentAssist.proposals">

-         </accelerator>

-         <accelerator

-               key="Ctrl+Shift+Space"

-               id="org.eclipse.ui.edit.text.contentAssist.contextInformation">

-         </accelerator>

-		<!-- override accelerators for Chinese -->

-         <accelerator

-               key="Alt+/"

-               id="org.eclipse.ui.edit.text.contentAssist.proposals"

-               locale="zh_CN">

-         </accelerator>

-         <accelerator

-               key="Alt+?"

-               id="org.eclipse.ui.edit.text.contentAssist.contextInformation"

-               locale="zh_CN">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+F4"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+Shift+F4"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+S"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+Shift+S"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+P"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Alt+ENTER"

-               id="org.eclipse.ui.file.properties">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+Z"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+Y"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+X"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+C"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+V"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+E"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+Shift+E"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+A"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+F"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+Shift+R"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+."

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+,"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Alt+ARROW_LEFT"

-               id="org.eclipse.ui.navigate.backwardHistory">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Alt+ARROW_RIGHT"

-               id="org.eclipse.ui.navigate.forwardHistory">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+B"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+Shift+W"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Alt+-"

-               id="org.eclipse.ui.window.showSystemMenu">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+F10"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="F12"

-               id="org.eclipse.ui.window.activateEditor">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+F6"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+Shift+F6"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+F7"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+Shift+F7"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+F8"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+Shift+F8"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+K"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+Shift+K"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+J"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+Shift+J"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+L"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+ARROW_UP"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+ARROW_DOWN"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="INSERT"

-               id="org.eclipse.ui.edit.text.toggleOverwrite">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+W"

-               id="">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+W"

-               id="org.eclipse.ui.file.close">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+Shift+W"

-               id="org.eclipse.ui.file.closeAll">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+S"

-               id="org.eclipse.ui.file.save">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+Shift+S"

-               id="org.eclipse.ui.file.saveAll">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+P"

-               id="org.eclipse.ui.file.print">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+Z"

-               id="org.eclipse.ui.edit.undo">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+Y"

-               id="org.eclipse.ui.edit.redo">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+X"

-               id="org.eclipse.ui.edit.cut">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+C"

-               id="org.eclipse.ui.edit.copy">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+V"

-               id="org.eclipse.ui.edit.paste">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+E"

-               id="org.eclipse.ui.edit.text.delete.line">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+Shift+E"

-               id="org.eclipse.ui.edit.text.delete.line.to.end">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+A"

-               id="org.eclipse.ui.edit.selectAll">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+F"

-               id="org.eclipse.ui.edit.findReplace">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+Shift+R"

-               id="org.eclipse.ui.navigate.openResource">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+."

-               id="org.eclipse.ui.navigate.next">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+,"

-               id="org.eclipse.ui.navigate.previous">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+B"

-               id="org.eclipse.ui.project.buildAll">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+Shift+W"

-               id="org.eclipse.ui.window.switchToEditor">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+F10"

-               id="org.eclipse.ui.window.showViewMenu">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+F6"

-               id="org.eclipse.ui.window.nextEditor">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+Shift+F6"

-               id="org.eclipse.ui.window.previousEditor">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+F7"

-               id="org.eclipse.ui.window.nextView">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+Shift+F7"

-               id="org.eclipse.ui.window.previousView">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+F8"

-               id="org.eclipse.ui.window.nextPerspective">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+Shift+F8"

-               id="org.eclipse.ui.window.previousPerspective">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+K"

-               id="org.eclipse.ui.edit.findNext">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+Shift+K"

-               id="org.eclipse.ui.edit.findPrevious">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+J"

-               id="org.eclipse.ui.edit.findIncremental">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+Shift+J"

-               id="org.eclipse.ui.edit.findIncrementalReverse">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+L"

-               id="org.eclipse.ui.edit.text.goto.line">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+ARROW_UP"

-               id="org.eclipse.ui.edit.text.scroll.lineUp">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+ARROW_DOWN"

-               id="org.eclipse.ui.edit.text.scroll.lineDown">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Ctrl+W"

-               id="org.eclipse.ui.edit.text.showRulerContextMenu">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+Space"

-               id="org.eclipse.ui.edit.text.contentAssist.proposals">

-         </accelerator>

-         <accelerator

-               platform="carbon"

-               key="Command+Shift+Space"

-               id="org.eclipse.ui.edit.text.contentAssist.contextInformation">

-         </accelerator>

-         <accelerator

-               platform="gtk"

-               key="Shift+Delete"

-               id="org.eclipse.ui.edit.cut">

-         </accelerator>

-         <accelerator

-               platform="gtk"

-               key="Ctrl+Insert"

-               id="org.eclipse.ui.edit.copy">

-         </accelerator>

-         <accelerator

-               platform="gtk"

-               key="Shift+Insert"

-               id="org.eclipse.ui.edit.paste">

-         </accelerator>         

-         <accelerator

-               platform="motif"

-               key="Shift+Delete"

-               id="org.eclipse.ui.edit.cut">

-         </accelerator>

-         <accelerator

-               platform="motif"

-               key="Ctrl+Insert"

-               id="org.eclipse.ui.edit.copy">

-         </accelerator>

-         <accelerator

-               platform="motif"

-               key="Shift+Insert"

-               id="org.eclipse.ui.edit.paste">

-         </accelerator>                    

-      </acceleratorSet>

-      <acceleratorSet

-            scopeId="org.eclipse.ui.globalScope"

-            configurationId="org.eclipse.ui.emacsAcceleratorConfiguration">

-         <accelerator

-               key="Ctrl+X Ctrl+K"

-               id="org.eclipse.ui.file.close">

-         </accelerator>

-         <accelerator

-               key="Ctrl+X Ctrl+C"

-               id="org.eclipse.ui.file.closeAll">

-         </accelerator>

-         <accelerator

-               key="Ctrl+X Ctrl+S"

-               id="org.eclipse.ui.file.save">

-         </accelerator>

-         <accelerator

-               key="Ctrl+X S"

-               id="org.eclipse.ui.file.saveAll">

-         </accelerator>

-         <accelerator

-               key="Alt+F9 || Esc F9"

-               id="org.eclipse.ui.file.print">

-         </accelerator>

-         <accelerator

-               key="F9||Ctrl+X U||Ctrl+Shift+-"

-               id="org.eclipse.ui.edit.undo">

-         </accelerator>

-         <accelerator

-               key="F10"

-               id="org.eclipse.ui.edit.redo">

-         </accelerator>

-         <accelerator

-               key="Ctrl+W||Shift+DELETE"

-               id="org.eclipse.ui.edit.cut">

-         </accelerator>

-         <accelerator

-               key="Alt+W||Esc W||Ctrl+INSERT"

-               id="org.eclipse.ui.edit.copy">

-         </accelerator>

-         <accelerator

-               key="Ctrl+Y||Shift+INSERT"

-               id="org.eclipse.ui.edit.paste">

-         </accelerator>

-         <accelerator

-               key="Alt+0 Ctrl+K||Esc 0 Ctrl+K"

-               id="org.eclipse.ui.edit.text.delete.line.to.beginning">

-         </accelerator>

-         <accelerator

-               key="Ctrl+K"

-               id="org.eclipse.ui.edit.text.delete.line.to.end">

-         </accelerator>

-         <accelerator

-               key="Ctrl+X H"

-               id="org.eclipse.ui.edit.selectAll">

-         </accelerator>

-         <accelerator

-               key="Ctrl+Space || Ctrl+2"

-               id="org.eclipse.ui.edit.text.set.mark">

-         </accelerator>

-         <accelerator

-               key="Ctrl+G"

-               id="org.eclipse.ui.edit.text.clear.mark">

-         </accelerator>

-         <accelerator

-               key="Ctrl+X Ctrl+X"

-               id="org.eclipse.ui.edit.text.swap.mark">

-         </accelerator>

-         <accelerator

-               key="Alt+R || Esc R"

-               id="org.eclipse.ui.edit.findReplace">

-         </accelerator>

-         <accelerator

-               key="Ctrl+X Ctrl+B"

-               id="org.eclipse.ui.window.switchToEditor">

-         </accelerator>

-         <accelerator

-               key="Alt+-"

-               id="org.eclipse.ui.window.showSystemMenu">

-         </accelerator>

-         <accelerator

-               key="Ctrl+F10"

-               id="org.eclipse.ui.window.showViewMenu">

-         </accelerator>

-         <accelerator

-               key="F12"

-               id="org.eclipse.ui.window.activateEditor">

-         </accelerator>

-         <accelerator

-               key="Ctrl+S"

-               id="org.eclipse.ui.edit.findIncremental">

-         </accelerator>

-         <accelerator

-               key="Ctrl+R"

-               id="org.eclipse.ui.edit.findIncrementalReverse">

-         </accelerator>

-         <accelerator

-               key="Ctrl+P"

-               id="org.eclipse.ui.edit.text.goto.lineUp">

-         </accelerator>

-         <accelerator

-               key="Ctrl+N"

-               id="org.eclipse.ui.edit.text.goto.lineDown">

-         </accelerator>

-         <accelerator

-               key="Ctrl+A"

-               id="org.eclipse.ui.edit.text.goto.lineStart">

-         </accelerator>

-         <accelerator

-               key="Ctrl+E"

-               id="org.eclipse.ui.edit.text.goto.lineEnd">

-         </accelerator>

-         <accelerator

-               key="Ctrl+X G"

-               id="org.eclipse.ui.edit.text.goto.line">

-         </accelerator>

-         <accelerator

-               key="Ctrl+B"

-               id="org.eclipse.ui.edit.text.goto.columnPrevious">

-         </accelerator>

-         <accelerator

-               key="Ctrl+F"

-               id="org.eclipse.ui.edit.text.goto.columnNext">

-         </accelerator>

-         <accelerator

-               key="Alt+V || Esc V"

-               id="org.eclipse.ui.edit.text.goto.pageUp">

-         </accelerator>

-         <accelerator

-               key="Ctrl+V"

-               id="org.eclipse.ui.edit.text.goto.pageDown">

-         </accelerator>

-         <accelerator

-               key="Alt+B || Esc B"

-               id="org.eclipse.ui.edit.text.goto.wordPrevious">

-         </accelerator>

-         <accelerator

-               key="Alt+F||Esc F"

-               id="org.eclipse.ui.edit.text.goto.wordNext">

-         </accelerator>

-         <accelerator

-               key="Alt+&lt; || Alt+, || Esc , || Esc &lt; || Ctrl+X ["

-               id="org.eclipse.ui.edit.text.goto.textStart">

-         </accelerator>

-         <accelerator

-               key="Alt+&gt; || Alt+. || Esc . || Esc &gt; || Ctrl+X ]"

-               id="org.eclipse.ui.edit.text.goto.textEnd">

-         </accelerator>

-         <accelerator

-               key="Alt+Z || Esc Z"

-               id="org.eclipse.ui.edit.text.scroll.lineUp">

-         </accelerator>

-         <accelerator

-               key="Ctrl+Z"

-               id="org.eclipse.ui.edit.text.scroll.lineDown">

-         </accelerator>

-         <accelerator

-               key="Ctrl+D"

-               id="org.eclipse.ui.edit.text.deleteNext">

-         </accelerator>

-         <accelerator

-               key="INSERT"

-               id="org.eclipse.ui.edit.text.toggleOverwrite">

-         </accelerator>

-         <accelerator

-               key="Alt+/"

-               id="org.eclipse.ui.edit.text.contentAssist.proposals">

-         </accelerator>

-         <accelerator

-               key="Alt+?"

-               id="org.eclipse.ui.edit.text.contentAssist.contextInformation">

-         </accelerator>

-		 <!-- override accelerators for Chinese China -->

-        <accelerator

-               key="Alt+/"

-               id="org.eclipse.ui.edit.text.contentAssist.proposals"

-               locale="zh_CN">

-         </accelerator>

-         <accelerator

-               key="Alt+?"

-               id="org.eclipse.ui.edit.text.contentAssist.contextInformation"

-               locale="zh_CN">

-         </accelerator>

-		<!-- override accelerators for Chinese Taiwan -->

-        <accelerator

-               key="Alt+/"

-               id="org.eclipse.ui.edit.text.contentAssist.proposals"

-               locale="zh_TW">

-         </accelerator>

-         <accelerator

-               key="Alt+?"

-               id="org.eclipse.ui.edit.text.contentAssist.contextInformation"

-               locale="zh_TW">

-         </accelerator>

-      </acceleratorSet>

-   </extension>

-   <extension

-         point="org.eclipse.ui.perspectives">

-      <perspective

-            name="%Perspective.resourcePerspective"

-            icon="icons/full/cview16/resource_persp.gif"

-            class="org.eclipse.ui.internal.ResourcePerspective"

-            id="org.eclipse.ui.resourcePerspective">

-      </perspective>

-   </extension>

-   <extension

-         point="org.eclipse.ui.importWizards">

-      <wizard

-            name="%ImportWizards.FileSystem"

-            icon="icons/full/ctool16/importdir_wiz.gif"

-            class="org.eclipse.ui.wizards.datatransfer.FileSystemImportWizard"

-            id="org.eclipse.ui.wizards.import.FileSystem">

-         <description>

-            %ImportWizards.FileSystemDescription

-         </description>

-         <selection

-               class="org.eclipse.core.resources.IResource">

-         </selection>

-      </wizard>

-      <wizard

-            name="%ImportWizards.ExternalProject"

-            icon="icons/full/ctool16/newprj_wiz.gif"

-            class="org.eclipse.ui.wizards.datatransfer.ExternalProjectImportWizard"

-            id="org.eclipse.ui.wizards.import.ExternalProject">

-         <description>

-            %ImportWizards.ExternalProjectDescription

-         </description>

-      </wizard>

-      <wizard

-            name="%ImportWizards.ZipFile"

-            icon="icons/full/ctool16/importzip_wiz.gif"

-            class="org.eclipse.ui.wizards.datatransfer.ZipFileImportWizard"

-            id="org.eclipse.ui.wizards.import.ZipFile">

-         <description>

-            %ImportWizards.ZipFileDescription

-         </description>

-         <selection

-               class="org.eclipse.core.resources.IResource">

-         </selection>

-      </wizard>

-   </extension>

-   <extension

-         point="org.eclipse.ui.exportWizards">

-      <wizard

-            name="%ExportWizards.FileSystem"

-            icon="icons/full/ctool16/exportdir_wiz.gif"

-            class="org.eclipse.ui.wizards.datatransfer.FileSystemExportWizard"

-            id="org.eclipse.ui.wizards.export.FileSystem">

-         <description>

-            %ExportWizards.FileSystemDescription

-         </description>

-         <selection

-               class="org.eclipse.core.resources.IResource">

-         </selection>

-      </wizard>

-      <wizard

-            name="%ExportWizards.ZipFile"

-            icon="icons/full/ctool16/exportzip_wiz.gif"

-            class="org.eclipse.ui.wizards.datatransfer.ZipFileExportWizard"

-            id="org.eclipse.ui.wizards.export.ZipFile">

-         <description>

-            %ExportWizards.ZipFileDescription

-         </description>

-         <selection

-               class="org.eclipse.core.resources.IResource">

-         </selection>

-      </wizard>

-   </extension>

-   <extension

-         point="org.eclipse.ui.views">

-      <category

-            name="%Views.Category.Basic"

-            id="org.eclipse.ui">

-      </category>

-      <view

-            name="%Views.ResourceNavigator"

-            icon="icons/full/cview16/filenav_nav.gif"

-            category="org.eclipse.ui"

-            class="org.eclipse.ui.views.navigator.ResourceNavigator"

-            id="org.eclipse.ui.views.ResourceNavigator">

-      </view>

-      <view

-            name="%Views.BookmarkNavigator"

-            icon="icons/full/cview16/bkmrk_nav.gif"

-            category="org.eclipse.ui"

-            class="org.eclipse.ui.views.bookmarkexplorer.BookmarkNavigator"

-            id="org.eclipse.ui.views.BookmarkNavigator">

-      </view>

-      <view

-            name="%Views.PropertySheet"

-            icon="icons/full/cview16/prop_ps.gif"

-            category="org.eclipse.ui"

-            class="org.eclipse.ui.views.properties.PropertySheet"

-            id="org.eclipse.ui.views.PropertySheet">

-      </view>

-      <view

-            name="%Views.ContentOutline"

-            icon="icons/full/cview16/outline_co.gif"

-            category="org.eclipse.ui"

-            class="org.eclipse.ui.views.contentoutline.ContentOutline"

-            id="org.eclipse.ui.views.ContentOutline">

-      </view>

-      <view

-            name="%Views.TaskList"

-            icon="icons/full/cview16/tasks_tsk.gif"

-            category="org.eclipse.ui"

-            class="org.eclipse.ui.views.tasklist.TaskList"

-            id="org.eclipse.ui.views.TaskList">

-      </view>

-      <view

-            name="%Views.EditorView"

-            icon="icons/full/cview16/editor_view.gif"

-            category="org.eclipse.ui"

-            class="org.eclipse.ui.internal.EditorView"

-            id="org.eclipse.ui.internal.EditorView">

-      </view>

-   </extension>

-   <extension

-         point="org.eclipse.ui.markerImageProviders">

-      <imageprovider

-            markertype="org.eclipse.core.resources.taskmarker"

-            icon="icons/full/cview16/tasks_tsk.gif"

-            id="org.eclipse.ui.taskMarkerProvider">

-      </imageprovider>

-      <imageprovider

-            markertype="org.eclipse.core.resources.problemmarker"

-            class="org.eclipse.ui.internal.ProblemImageProvider"

-            id="org.eclipse.ui.problemMarkerProvider">

-      </imageprovider>

-   </extension>

-   <extension

-         point="org.eclipse.ui.newWizards">

-      <category

-            name="%NewWizards.Category.Examples"

-            id="org.eclipse.ui.Examples">

-      </category>

-      <category

-            name="%NewWizards.Category.Basic"

-            id="org.eclipse.ui.Basic">

-      </category>

-      <wizard

-            name="%NewWizards.project"

-            icon="icons/full/ctool16/newprj_wiz.gif"

-            category="org.eclipse.ui.Basic"

-            class="org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard"

-            project="true"

-            finalPerspective="org.eclipse.ui.resourcePerspective"

-            id="org.eclipse.ui.wizards.new.project">

-         <description>

-            %NewWizards.project.description

-         </description>

-      </wizard>

-      <wizard

-            name="%NewWizards.folder"

-            icon="icons/full/ctool16/newfolder_wiz.gif"

-            category="org.eclipse.ui.Basic"

-            class="org.eclipse.ui.wizards.newresource.BasicNewFolderResourceWizard"

-            id="org.eclipse.ui.wizards.new.folder">

-         <description>

-            %NewWizards.folder.description

-         </description>

-         <selection

-               class="org.eclipse.core.resources.IResource">

-         </selection>

-      </wizard>

-      <wizard

-            name="%NewWizards.file"

-            icon="icons/full/ctool16/newfile_wiz.gif"

-            category="org.eclipse.ui.Basic"

-            class="org.eclipse.ui.wizards.newresource.BasicNewFileResourceWizard"

-            id="org.eclipse.ui.wizards.new.file">

-         <description>

-            %NewWizards.file.description

-         </description>

-         <selection

-               class="org.eclipse.core.resources.IResource">

-         </selection>

-      </wizard>

-   </extension>

-   <extension

-         point="org.eclipse.ui.preferencePages">

-      <page

-            name="%PreferencePages.Workbench"

-            class="org.eclipse.ui.internal.dialogs.WorkbenchPreferencePage"

-            id="org.eclipse.ui.preferencePages.Workbench">

-      </page>

-      <page

-            name="%PreferencePages.FileEditors"

-            category="org.eclipse.ui.preferencePages.Workbench"

-            class="org.eclipse.ui.internal.dialogs.FileEditorsPreferencePage"

-            id="org.eclipse.ui.preferencePages.FileEditors">

-      </page>

-      <page

-            name="%PreferencePages.PathVariables"

-            category="org.eclipse.ui.preferencePages.Workbench"

-            class="org.eclipse.ui.internal.dialogs.PathVariablesPreferencePage"

-            id="org.eclipse.ui.preferencePages.PathVariables">

-      </page>

-      <page

-            name="%PreferencePages.FileStates"

-            category="org.eclipse.ui.preferencePages.Workbench"

-            class="org.eclipse.ui.internal.dialogs.FileStatesPage"

-            id="org.eclipse.ui.preferencePages.FileStates">

-      </page>

-      <page

-            name="%PreferencePages.Perspectives"

-            category="org.eclipse.ui.preferencePages.Workbench"

-            class="org.eclipse.ui.internal.dialogs.PerspectivesPreferencePage"

-            id="org.eclipse.ui.preferencePages.Perspectives">

-      </page>

-      <page

-            name="%PreferencePages.Views"

-            category="org.eclipse.ui.preferencePages.Workbench"

-            class="org.eclipse.ui.internal.dialogs.ViewsPreferencePage"

-            id="org.eclipse.ui.preferencePages.Views">

-      </page>

-      <page

-            name="%PreferencePages.Fonts"

-            category="org.eclipse.ui.preferencePages.Workbench"

-            class="org.eclipse.ui.internal.dialogs.FontPreferencePage"

-            id="org.eclipse.ui.preferencePages.Fonts">

-      </page>

-      <page

-            name="%PreferencePages.Decorators"

-            category="org.eclipse.ui.preferencePages.Workbench"

-            class="org.eclipse.ui.internal.dialogs.DecoratorsPreferencePage"

-            id="org.eclipse.ui.preferencePages.Decorators">

-      </page>

-      <page

-            name="%PreferencePages.Startup"

-            category="org.eclipse.ui.preferencePages.Workbench"

-            class="org.eclipse.ui.internal.dialogs.StartupPreferencePage"

-            id="org.eclipse.ui.preferencePages.Startup">

-      </page>

-      <page

-            name="%PreferencePages.Editors"

-            category="org.eclipse.ui.preferencePages.Workbench"

-            class="org.eclipse.ui.internal.dialogs.EditorsPreferencePage"

-            id="org.eclipse.ui.preferencePages.Editors">

-      </page>          

-      <page

-            name="%PreferencePages.Keys"

-            category="org.eclipse.ui.preferencePages.Workbench"

-            class="org.eclipse.ui.internal.commands.keys.PreferencePage"

-            id="org.eclipse.ui.preferencePages.Keys">

-      </page>      

-   </extension>

-   <extension

-         point="org.eclipse.ui.preferencePages">

-      <page

-            name="%PreferencePages.BuildOrder"

-            class="org.eclipse.ui.internal.dialogs.BuildOrderPreferencePage"

-            id="org.eclipse.ui.preferencePages.BuildOrder">

-      </page>

-   </extension>

-   <extension

-         point="org.eclipse.ui.propertyPages">

-      <page

-            objectClass="org.eclipse.core.resources.IProject"

-            adaptable="true"

-            name="%PropertyPages.project.reference"

-            class="org.eclipse.ui.internal.dialogs.ProjectReferencePage"

-            id="org.eclipse.ui.propertypages.project.reference">

-      </page>

-      <page

-            objectClass="org.eclipse.core.resources.IResource"

-            adaptable="true"

-            name="%PropertyPages.info.file"

-            class="org.eclipse.ui.internal.dialogs.ResourceInfoPage"

-            id="org.eclipse.ui.propertypages.info.file">

-      </page>

-   </extension>

-   <extension

-         point="org.eclipse.ui.editors">

-      <editor

-            name="%Editors.DefaultTextEditor"

-            icon="icons/full/obj16/file_obj.gif"

-            extensions="txt"

-            contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"

-            class="org.eclipse.ui.editors.text.TextEditor"

-            id="org.eclipse.ui.DefaultTextEditor">

-      </editor>

-      <editor

-            name="%Editors.WelcomeEditor"

-            icon="icons/full/obj16/welcome_editor.gif"

-            contributorClass="org.eclipse.ui.internal.dialogs.WelcomeEditorActionContributor"

-            class="org.eclipse.ui.internal.dialogs.WelcomeEditor"

-            id="org.eclipse.ui.internal.dialogs.WelcomeEditor">

-      </editor>

-   </extension>

-   <extension

-         point="org.eclipse.ui.elementFactories">

-      <factory

-            class="org.eclipse.ui.internal.model.ResourceFactory"

-            id="org.eclipse.ui.internal.model.ResourceFactory">

-      </factory>

-      <factory

-            class="org.eclipse.ui.internal.model.WorkspaceFactory"

-            id="org.eclipse.ui.internal.model.WorkspaceFactory">

-      </factory>

-      <factory

-            class="org.eclipse.ui.part.FileEditorInputFactory"

-            id="org.eclipse.ui.part.FileEditorInputFactory">

-      </factory>

-      <factory

-            class="org.eclipse.ui.internal.dialogs.WelcomeEditorInputFactory"

-            id="org.eclipse.ui.internal.dialogs.WelcomeEditorInputFactory">

-      </factory>

-      <factory

-            class="org.eclipse.ui.internal.WorkingSetFactory"

-            id="org.eclipse.ui.internal.WorkingSetFactory">

-      </factory>

-   </extension>

-   <extension

-         point="org.eclipse.ui.markerUpdaters">

-      <updater

-            class="org.eclipse.ui.texteditor.BasicMarkerUpdater"

-            id="org.eclipse.ui.texteditor.BasicMarkerUpdater">

-      </updater>

-   </extension>

-   <extension

-         point="org.eclipse.ui.documentProviders">

-      <provider

-            class="org.eclipse.ui.editors.text.FileDocumentProvider"

-            inputTypes="org.eclipse.ui.IStorageEditorInput"

-            id="org.eclipse.ui.editors.text.FileDocumentProvider">

-      </provider>

-   </extension>

-   <extension

-         point="org.eclipse.ui.resourceFilters">

-      <filter

-            selected="false"

-            pattern=".*">

-      </filter>

-   </extension>

-   <extension

-         point="org.eclipse.ui.popupMenus">

-      <viewerContribution

-            targetID="#TextRulerContext"

-            id="org.eclipse.ui.texteditor.ruler.context.actions">

-         <action

-               label="%AddTask.label"

-               helpContextId="org.eclipse.ui.AddTask_action_context"

-               tooltip="%AddTask.tooltip"

-               class="org.eclipse.ui.texteditor.TaskRulerAction"

-               menubarPath="additions"

-               id="org.eclipse.ui.texteditor.TaskRulerAction">

-         </action>

-         <action

-               label="%AddBookmark.label"

-               helpContextId="org.eclipse.ui.bookmark_action_context"

-               tooltip="%AddBookmark.tooltip"

-               class="org.eclipse.ui.texteditor.BookmarkRulerAction"

-               menubarPath="additions"

-               id="org.eclipse.ui.texteditor.BookmarkRulerAction">

-         </action>

-      </viewerContribution>

-   </extension>

-   <extension

-         point="org.eclipse.ui.editorActions">

-      <editorContribution

-            targetID="org.eclipse.ui.DefaultTextEditor"

-            id="org.eclipse.ui.texteditor.ruler.actions">

-         <action

-               label="%Dummy.label"

-               helpContextId="org.eclipse.ui.bookmark_action_context"

-               class="org.eclipse.ui.texteditor.BookmarkRulerAction"

-               actionID="RulerDoubleClick"

-               id="org.eclipse.ui.texteditor.BookmarkRulerAction">

-         </action>

-         <action

-               label="%Dummy.label"

-               class="org.eclipse.ui.texteditor.SelectRulerAction"

-               actionID="RulerClick"

-               id="org.eclipse.ui.texteditor.SelectRulerAction">

-         </action>

-      </editorContribution>

-   </extension>

-   <extension

-         point="org.eclipse.ui.workingSets">

-      <workingSet

-            name="%WorkingSets.resource"

-            pageClass="org.eclipse.ui.internal.dialogs.ResourceWorkingSetPage"

-            icon="icons/full/obj16/workset.gif"

-            id="org.eclipse.ui.resourceWorkingSetPage">

-      </workingSet>

-   </extension>

-   <extension

-         point="org.eclipse.ui.editors">

-      <editor

-            name="%SystemSummary"

-            icon="icons/full/obj16/system_summary_editor.gif"

-            contributorClass="org.eclipse.ui.texteditor.BasicTextEditorActionContributor"

-            class="org.eclipse.ui.internal.SystemSummaryEditor"

-            id="org.eclipse.ui.SystemSummaryEditor">

-      </editor>

-   </extension>

-   <extension

-         point="org.eclipse.ui.elementFactories">

-      <factory

-            class="org.eclipse.ui.internal.SystemSummaryEditorInputFactory"

-            id="org.eclipse.ui.SystemSummaryEditorInputFactory">

-      </factory>

-   </extension>

-   <extension

-         point="org.eclipse.ui.actionSets">

-      <actionSet

-            label="%NavigateActionSet.label"

-            description="%NavigateActionSet.description"

-            visible="false"

-            id="org.eclipse.ui.NavigateActionSet">

-         <action

-               definitionId="org.eclipse.ui.navigate.goToResource"

-               label="%GoToResourceAction.label"

-               retarget="true"

-               menubarPath="navigate/goTo/"

-               icon="icons/full/elcl16/gotoobj_tsk.gif"

-               disabledIcon="icons/full/dlcl16/gotoobj_tsk.gif"

-               hoverIcon="icons/full/clcl16/gotoobj_tsk.gif"

-               id="goToResource">

-         </action>

-         <action

-               definitionId="org.eclipse.ui.navigate.openResource"

-               label="%OpenWorkspaceFileAction.label"

-               class="org.eclipse.ui.internal.actions.OpenWorkspaceFileAction"

-               menubarPath="navigate/open.ext2"

-               id="org.eclipse.ui.OpenWorkspaceFile">

-         </action>

-      </actionSet>

-   </extension>

-   <extension

-         point="org.eclipse.ui.actionSetPartAssociations">

-      <actionSetPartAssociation

-            targetID="org.eclipse.ui.NavigateActionSet">

-         <part

-               id="org.eclipse.ui.views.ResourceNavigator">

-         </part>

-      </actionSetPartAssociation>

-   </extension>

-   <extension

-         point="org.eclipse.ui.decorators">

-      <decorator

-            lightweight="true"

-            quadrant="BOTTOM_RIGHT"

-            adaptable="true"

-            state="true"

-            label="%DecoratorLinkedResource.label"

-            class="org.eclipse.ui.internal.LinkedResourceDecorator"

-            id="org.eclipse.ui.LinkedResourceDecorator">

-         <description>

-            %DecoratorLinkedResource.description

-         </description>

-         <enablement>

-            <objectClass

-                  name="org.eclipse.core.resources.IResource">

-            </objectClass>

-         </enablement>

-      </decorator>

-   </extension>

-   <extension

-         point="org.eclipse.ui.fontDefinitions">

-      <fontDefinition

-            label="%FontsPreference.BannerFontLabel"

-            id="org.eclipse.jface.bannerfont">

-         <description>

-            %FontsPreference.BannerFontDescription

-         </description>

-      </fontDefinition>

-      <fontDefinition

-            label="%FontsPreference.DialogFontLabel"

-            id="org.eclipse.jface.dialogfont">

-         <description>

-            %FontsPreference.DialogFontDescription

-         </description>

-      </fontDefinition>

-      <fontDefinition

-            label="%FontsPreference.HeaderFontLabel"

-            registryKey="org.eclipse.jface.headerfont"

-            id="org.eclipse.jface.headerfont">

-         <description>

-            %FontsPreference.HeaderFontDescription

-         </description>

-      </fontDefinition>

-      <fontDefinition

-            label="%FontsPreference.TextFontLabel"

-            id="org.eclipse.jface.textfont">

-         <description>

-            %FontsPreference.TextFontDescription

-         </description>

-      </fontDefinition>

-   </extension>

-

-</plugin>

diff --git a/bundles/org.eclipse.ui/schema/acceleratorConfigurations.exsd b/bundles/org.eclipse.ui/schema/acceleratorConfigurations.exsd
deleted file mode 100644
index dce3025..0000000
--- a/bundles/org.eclipse.ui/schema/acceleratorConfigurations.exsd
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.ui" id="acceleratorConfigurations" name="Accelerator Configurations"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to register accelerator configuration extensions. Accelerator configurations are configurations to which accelerator sets may be registered. The workbench allows the user to select an accelerator configuration from the Workbench preference page. Only one accelerator configuration may be active at a time. 
-&lt;p&gt;
-An accelerator configuration represents a general style or theme of accelerators for Workbench actions. For example, the Workbench provides the &quot;Emacs&quot; accelerator configuration. When the &quot;Emacs&quot; accelerator configuration is active, accelerators belonging to accelerator sets registered to the &quot;Emacs&quot; configuration are active. These accelerators are defined to mimic the accelerators in Emacs (a popular text editor amongst developers). 
-&lt;p&gt;
-An accelerator set registers with an accelerator configuration by listing the configuration&apos;s id as the value of its &quot;configurationId&quot; attribute (see the Accelerator Sets extension point). Many accelerator sets can be registered to the same accelerator configuration. 
-&lt;p&gt;
-Note the accelerator configuration name presented to the user is the same as the value of the attribute &quot;name&quot; of the extension element of org.eclipse.ui.acceleratorConfigurations extension point.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="acceleratorConfiguration" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="acceleratorConfiguration">

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique name that can be used to identify this accelerator configuration.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name of the accelerator configuration to be presented to the user.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="description" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a short description of the accelerator configuration.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         Release 2.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         Following is an example of an accelerator configuration extension: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.acceleratorConfigurations&quot;&gt; 
-      &lt;acceleratorConfiguration 
-        id=&quot;org.eclipse.ui.viAcceleratorConfiguration&quot; 
-        name=&quot;VI&quot; 
-        description=&quot;VI style accelerator configuration&quot;&gt; 
-      &lt;/acceleratorConfiguration&gt; 
-      &lt;acceleratorConfiguration 
-        id=&quot;org.eclipse.ui.jonDoeAcceleratorConfiguration&quot; 
-        name=&quot;Jon Doe&quot; 
-        description=&quot;Personal accelerator configuration for Jon Doe&quot;&gt; 
-      &lt;/acceleratorConfiguration&gt; 
-   &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         The workbench provides the Default and Emacs accelerator configurations.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         &lt;p&gt;
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/acceleratorScopes.exsd b/bundles/org.eclipse.ui/schema/acceleratorScopes.exsd
deleted file mode 100644
index a2b00bc..0000000
--- a/bundles/org.eclipse.ui/schema/acceleratorScopes.exsd
+++ /dev/null
@@ -1,141 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="acceleratorScopes" name="Accelerator Scopes"/>

-   </appInfo>

-   <documentation>

-      This extension point is used to register accelerator scope extensions. Accelerator scopes are scopes for which accelerator sets may be applicable. For example, if an accelerator set is applicable for the scope entitled "Text Editor Scope", the accelerators of that accelerator set will only operate if the "Text Editor Scope" or one of its children is active (in other words, if the active part is a participating text editor). 
-&lt;p&gt;
-An accelerator set declares what scope it is applicable for by listing the scope's id as the value of its "scopeId" attribute (see the Accelerator Sets extension point). Many accelerator sets can be applicable for the same accelerator scope.

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="acceleratorScope" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="acceleratorScope">

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique name that can be used to identify this accelerator scope.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name of the accelerator scope.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="description" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a short description of the accelerator scope.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="parentScope" type="string">

-            <annotation>

-               <documentation>

-                  an optional attribute which represents a scope which is active whenever this scope is active. For most scopes, org.eclipse.ui.globalScope will be the parent scope

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         Release 2.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         Following is an example of an accelerator scope extension: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point="org.eclipse.ui.acceleratorScopes"&gt; 
-      &lt;acceleratorScope 
-        id="org.eclipse.ui.globalScope" 
-        name="Global" 
-        description="Action accelerator key applicable to all views and editors unless explicitly overridden."&gt; 
-      &lt;/acceleratorScope&gt; 
-      &lt;acceleratorScope 
-        id="org.eclipse.ui.javaEditorScope" 
-        name="Java Editor" 
-        description="Action accelerator key applicable only when java editor active." 
-        parentScope="org.eclipse.ui.globalScope"&gt; 
-      &lt;/acceleratorScope&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The method public IKeyBindingService getKeyBindingService() was added to IEditorSite.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         The workbench provides the Global accelerator scope and the Text Editor accelerator scope.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         &lt;p&gt;
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/acceleratorSets.exsd b/bundles/org.eclipse.ui/schema/acceleratorSets.exsd
deleted file mode 100644
index 6399ee8..0000000
--- a/bundles/org.eclipse.ui/schema/acceleratorSets.exsd
+++ /dev/null
@@ -1,174 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="acceleratorSets" name="Accelerator Sets"/>

-   </appInfo>

-   <documentation>

-      This extension point is used to register accelerator set extensions. Accelerator sets are just what the name implies, sets of accelerators. An accelerator is an association between one or more sequences of accelerator keys and a workbench action. An accelerator key sequence may be of length one or greater. 
-&lt;p&gt;
-An accelerator set is registered with an accelerator configuration (see the Accelerator Configuration extension point) and is applicable for an accelerator scope (see the Accelerator Scope extension point).

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="acceleratorSet" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="acceleratorSet">

-      <complexType>

-         <sequence>

-            <element ref="accelerator" minOccurs="1" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="configurationId" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique name that identifies the accelerator configuration to which this accelerator set is registered.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="scopeId" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique name that identifies the accelerator scope for which this accelerator set is applicable.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="accelerator">

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the unique identifier of the action definition of the action associated with this accelerator.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="key" type="string" use="required">

-            <annotation>

-               <documentation>

-                  an attribute representing the sequence(s) of accelerator keys used to perform the action associated with this accelerator. Sequences are separated by '||', and individual keys in a sequence are separated by a space. A key may be modified by the CTRL, ALT, or SHIFT keys. Depending on keyboard layout, some keys ('?' for example) may need the SHIFT to be accessed but the accelerator should be specified without the SHIFT so it will be independent of keyboard layout. E.g. if CTRL+? is specified as an accelerator, the user may have to press CTRL+SHIFT+? depending on the keyboard layout.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="locale" type="string">

-            <annotation>

-               <documentation>

-                  an optional attribute which specifies a locale for which the accelerator is applicable. If this attribute is not specified, the accelerator is applicable for all locales.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="platform" type="string">

-            <annotation>

-               <documentation>

-                  an optional attribute which specifies a platform on which the accelerator is applicable. If this attribute is not specified, the accelerator is applicable on all platforms.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         Release 2.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         Following is an example of an accelerator set extension: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point="org.eclipse.ui.acceleratorSets"&gt; 
-      &lt;acceleratorSet 
-        configurationId="org.eclipse.ui.exampleAcceleratorConfiguration" 
-        scopeId="org.eclipse.ui.globalScope"&gt; 
-          &lt;accelerator 
-              id="org.eclipse.ui.ExampleActionA" 
-              key="CTRL+R CTRL+A"&gt; 
-          &lt;/accelerator&gt; 
-          &lt;accelerator 
-              id="org.eclipse.ui.ExampleActionB" 
-              key="CTRL+R CTRL+B"&gt; 
-          &lt;/accelerator&gt; 
-          &lt;accelerator 
-              id="org.eclipse.ui.ExampleActionC" 
-              key="CTRL+R CTRL+C || CTRL+SHIFT+DELETE"&gt; 
-          &lt;/accelerator&gt; 
-      &lt;/acceleratorSet&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         More than one accelerator may be specified for the same action in the accelerator set but only one will be used. 
-&lt;p&gt;
-If the locale and/or the platform is specified, the accelerator that better matches the current locale and platform will be used. The current locale is determined by the API Locale.getDefault() and the platform by the API SWT.getPlatform(). If the platform and/or the locale is specified and it does not match the current locale and/or platform, the accelerator is discarded. If accelerator A defines only the locale and B defines only the platform, B is used. If accelerator A defines "ja" as its locale and B defines "ja_JP", B is used in case the current locale is "ja_JP". 
-&lt;p&gt;
-If two accelerators are defined in accelerators sets in different plugins, the chosen accelerator will depend on the plugins. If plugin A depends on B, the accelerators defined in B is used. If A and B don't depend on each other, they will be alphabetically sorted by the plugin id. 
-&lt;p&gt;
-If two accelerators are defined in different scopes, the accelerator defined in the current scope will be used. If an accelerator is not defined in the current scope or one of its parents it is discarded. If an accelerator is defined in a parent and child scope, the one in the child is used.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         The workbench provides accelerator sets for the Default and Emacs accelerator configurations.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         &lt;p&gt;
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/actionDefinitions.exsd b/bundles/org.eclipse.ui/schema/actionDefinitions.exsd
deleted file mode 100644
index 02c07d2..0000000
--- a/bundles/org.eclipse.ui/schema/actionDefinitions.exsd
+++ /dev/null
@@ -1,124 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="actionDefinitions" name="Action Definitions"/>

-   </appInfo>

-   <documentation>

-      This extension point is used to register action definitions. Accelerators (see the Accelerator Sets extension point) use action definitions to reference actions. An action associates itself with a given accelerator by registering with that accelerator's associated action definition. An action registers itself with an action definition by calling the setActionDefinitionId(String id) method and supplying the action definition's id as an argument.

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="actionDefinition" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="actionDefinition">

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique name that can be used to identify this action.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         Release 2.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         Following is an example of an action definition extension: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point="org.eclipse.ui.actionDefinitions"&gt; 
-      &lt;actionDefinition 
-        id="org.eclipse.ui.file.save"&gt; 
-      &lt;/actionDefinition&gt; 
-      &lt;actionDefinition 
-        id="org.eclipse.ui.file.saveAll"&gt; 
-      &lt;/actionDefinition&gt; 
-      &lt;actionDefinition 
-        id="org.eclipse.ui.file.close"&gt; 
-      &lt;/actionDefinition&gt; 
-      &lt;actionDefinition 
-        id="org.eclipse.ui.file.closeAll"&gt; 
-      &lt;/actionDefinition&gt; 
-      &lt;actionDefinition 
-        id="org.eclipse.ui.file.print"&gt; 
-      &lt;/actionDefinition&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The methods public void setActionDefinitionId(String id) and public String getActionDefinitionId() have been added to IAction. 
-&lt;p&gt;
-&lt;B&gt;&lt;font color="#FF0000"&gt;NOTE&lt;/font&gt; -&lt;/b&gt; other attributes may be added in the future, as needed.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         The workbench provides many action definitions.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         &lt;p&gt;
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/actionSetPartAssociations.exsd b/bundles/org.eclipse.ui/schema/actionSetPartAssociations.exsd
deleted file mode 100644
index f6f4b76..0000000
--- a/bundles/org.eclipse.ui/schema/actionSetPartAssociations.exsd
+++ /dev/null
@@ -1,125 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="actionSetPartAssociations" name="Action Set Part Associations"/>

-   </appInfo>

-   <documentation>

-      This extension point is used to define an action set which should be added to a perspective when a part (view or editor) is opened in the perspective.
-In the case of an editor, the action set will remain visible while the editor is the current editor.
-In the case of a view, the action set will be visible when the view is the active part.

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="actionSetPartAssociation" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="actionSetPartAssociation">

-      <complexType>

-         <sequence>

-            <element ref="part" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="targetID" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the unique identifier of the action set (as specified in the
-registry) which is to be associated with particular workbench
-views and/or editors.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="part">

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the unique identifier of the part (view or editor) to be associated with the action set.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is an example of an action set part association (note the subelement and the way attributes are used):
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point="org.eclipse.ui.actionSetPartAssociations"&gt;
-  &lt;actionSetPartAssociation targetID="org.eclipse.jdt.ui.refactoring.actionSet"&gt;
-   &lt;part id="org.eclipse.jdt.ui.PackageExplorer"/&gt;
-   &lt;part id="org.eclipse.jdt.ui.CompilationUnitError"/&gt;
-  &lt;/actionSetPartAssociation&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, a view or editor are associated with the refactoring action set.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The user may override these associations using the customize perspective dialog.  Regardless of these associations,
-action sets which the user turns off will never appear and action sets which the user turns on will always be visible.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         &lt;p&gt;

-Copyright (c) 2002 IBM Corporation and others.

-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/actionSets.exsd b/bundles/org.eclipse.ui/schema/actionSets.exsd
deleted file mode 100644
index 0b1b5f0..0000000
--- a/bundles/org.eclipse.ui/schema/actionSets.exsd
+++ /dev/null
@@ -1,519 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.ui" id="actionSets" name="Action Sets"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to add menus, menu items 
-and toolbar buttons to the common areas in the Workbench
-window. These contributions are collectively known 
-as an &lt;i&gt;action set&lt;/i&gt; and appear within the 
-Workbench window by the user customizing a perspective.

-      </documentation>

-   </annotation>

-

-   <include schemaLocation="commonAction.mxsd"/>

-

-   <include schemaLocation="commonExpression.mxsd"/>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="actionSet" minOccurs="1" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="actionSet">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="label"/>

-         </appInfo>

-         <documentation>

-            This element is used to define a group of actions and/or menus.

-         </documentation>

-      </annotation>

-      <complexType>

-         <sequence>

-            <element ref="menu" minOccurs="0" maxOccurs="unbounded"/>

-            <element ref="action" minOccurs="0" maxOccurs="unbounded"/>

-            <element ref="description" minOccurs="0" maxOccurs="1"/>

-         </sequence>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique identifier for this action set.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="label" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name used by the Workbench to represent this action set to the user.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="visible" type="boolean">

-            <annotation>

-               <documentation>

-                  an optional attribute indicating whether the action set is initially visible when a perspective is open. This option is only honoured when the user opens a perspective which has not been customized. The user can override this option from the &quot;Customize Perspective Dialog&quot;. This attribute should be used with great care so as not to overwhelm the user with too many actions.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="description" type="string">

-            <annotation>

-               <documentation>

-                  a translatable description used by the Workbench to represent this action set to the user.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="action">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="label" icon="icon"/>

-         </appInfo>

-         <documentation>

-            This element defines an action that the user can invoke in the UI.

-         </documentation>

-      </annotation>

-      <complexType>

-         <choice>

-            <element ref="selection" minOccurs="0" maxOccurs="unbounded"/>

-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>

-         </choice>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique identifier used as a reference for this action.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="label" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name used either as the menu item text or toolbar button label. The name can include mnenomic information.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="accelerator" type="string">

-            <annotation>

-               <documentation>

-                  &lt;b&gt;&lt;font color=&quot;#FF0000&quot;&gt;Deprecated:&lt;/font&gt;&lt;/b&gt; Use the &lt;samp&gt;definitionId&lt;/samp&gt; attribute instead.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="definitionId" type="string">

-            <annotation>

-               <documentation>

-                  the action definition unique identifier that this action is semantically similar to. Allows the key binding service to assign an accelerator key to this action. See the extension points &lt;a href=&quot;org_eclipse_ui_actionDefinitions.html&quot;&gt;org.eclipse.ui.actionDefinitions&lt;/a&gt; and &lt;a href=&quot;org_eclipse_ui_acceleratorSets.html&quot;&gt;org.eclipse.ui.acceleratorSets&lt;/a&gt; for more information.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="menubarPath" type="string">

-            <annotation>

-               <documentation>

-                  a slash-delimited path (&apos;/&apos;) used to specify the location of this action in the menu bar.
-Each token in the path, except the last one, must represent a valid identifier of an existing menu in the hierarchy. The last token represents the named group into which this action will be added. If the path is omitted, this action will not appear in the menu bar.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="toolbarPath" type="string">

-            <annotation>

-               <documentation>

-                  a slash-delimited path (&apos;/&apos;) that is used to specify the location of this action in the toolbar. The first token represents the toolbar identifier (with &quot;Normal&quot; being the default toolbar), while the second token is the named group within the toolbar that this action will be added to. If the group does not exist in the toolbar, it will be created.
-If toolbarPath is omitted, the action will not appear in the toolbar.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="icon" type="string">

-            <annotation>

-               <documentation>

-                  a relative path of an icon used to visually represent the action in its context.
-If omitted and the action appears in the toolbar, the Workbench will use a placeholder icon. The path is relative to the location of the plugin.xml file of the contributing plug-in. The icon will appear in toolbars but not in menus. Enabled actions will be represented in menus by the hoverIcon.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="resource"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="disabledIcon" type="string">

-            <annotation>

-               <documentation>

-                  a relative path of an icon used to visually represent the action in its context when the action is disabled. If omitted, the normal icon will simply appear greyed out. The path is relative to the location of the plugin.xml file of the contributing plug-in. The disabled icon will appear in toolbars but not in menus. Icons for disabled actions in menus will be supplied by the OS.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="resource"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="hoverIcon" type="string">

-            <annotation>

-               <documentation>

-                  a relative path of an icon used to visually represent the action in its context when the mouse pointer is over the action. If omitted, the normal icon will be used. The path is relative to the location of the plugin.xml file of the contributing plug-in.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="resource"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="tooltip" type="string">

-            <annotation>

-               <documentation>

-                  a translatable text representing the action&apos;s tool tip. Only used if the action appears in the toolbar.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="helpContextId" type="string">

-            <annotation>

-               <documentation>

-                  a unique identifier indicating the help context for this action. If the action appears as a menu item, then pressing F1 while the menu item is highlighted will display help.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="style" use="default" value="push">

-            <annotation>

-               <documentation>

-                  an attribute to define the user interface style type for the action. If omitted, then it is &lt;samp&gt;push&lt;/samp&gt; by default. The attribute value will be one of the following:
-    &lt;table border=&quot;0&quot; width=&quot;80%&quot;&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;push&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a regular menu item or tool item.&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;radio&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a radio style menu item or tool item. Actions with the radio style within the same menu or toolbar group behave as a radio set. The initial value is specified by the &lt;samp&gt;state&lt;/samp&gt; attribute.&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;toggle&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a checked style menu item or as a toggle tool item. The initial value is specified by the &lt;samp&gt;state&lt;/samp&gt; attribute.&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;pulldown&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a cascading style menu item or as a drop down menu beside the tool item.&lt;/td&gt;
-      &lt;/tr&gt;
-    &lt;/table&gt;

-               </documentation>

-            </annotation>

-            <simpleType>

-               <restriction base="string">

-                  <enumeration value="push">

-                  </enumeration>

-                  <enumeration value="radio">

-                  </enumeration>

-                  <enumeration value="toggle">

-                  </enumeration>

-                  <enumeration value="pulldown">

-                  </enumeration>

-               </restriction>

-            </simpleType>

-         </attribute>

-         <attribute name="state" type="boolean">

-            <annotation>

-               <documentation>

-                  an optional attribute indicating the initial state (either &lt;samp&gt;true&lt;/samp&gt; or &lt;samp&gt;false&lt;/samp&gt;). Used only when the &lt;samp&gt;style&lt;/samp&gt; attribute has the value &lt;samp&gt;radio&lt;/samp&gt; or &lt;samp&gt;toggle&lt;/samp&gt;.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="pulldown" type="boolean">

-            <annotation>

-               <documentation>

-                  &lt;b&gt;&lt;font color=&quot;#FF0000&quot;&gt;Deprecated:&lt;/font&gt;&lt;/b&gt; Use the &lt;samp&gt;style&lt;/samp&gt; attribute with the value &lt;samp&gt;pulldown&lt;/samp&gt;.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string">

-            <annotation>

-               <documentation>

-                  a fully qualified name of a class which implements &lt;samp&gt;org.eclipse.ui.IWorkbenchWindowActionDelegate&lt;/samp&gt; or &lt;samp&gt;org.eclipse.ui.IWorkbenchWindowPulldownDelegate&lt;/samp&gt;. The latter should be implemented in cases where the &lt;samp&gt;style&lt;/samp&gt; attribute has the value &lt;samp&gt;pulldown&lt;/samp&gt;. This class is the handler responsible for performing the action. If the &lt;samp&gt;retarget&lt;/samp&gt; attribute is true, this attribute is ignored and should not be supplied.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.IWorkbenchWindowActionDelegate"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="retarget" type="boolean">

-            <annotation>

-               <documentation>

-                  an optional attribute to retarget this action. When true, view and editor parts may supply a handler for this action using the standard mechanism for setting a global action handler on their site using this action&apos;s identifier. If this attribute is true, the &lt;samp&gt;class&lt;/samp&gt; attribute should not be supplied.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="allowLabelUpdate" type="boolean">

-            <annotation>

-               <documentation>

-                  optional attribute indicating whether the retarget action allows the handler to override it&apos;s label and tooltip. Only applies if &lt;samp&gt;retarget&lt;/samp&gt; attribute is true.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="enablesFor" type="string">

-            <annotation>

-               <documentation>

-                  a value indicating the selection count which must be met to enable the action. If specified and the condition is not met, the action is disabled. If omitted, the action enablement state is not affected. The following attribute formats are supported: 
-    &lt;table border=&quot;0&quot; width=&quot;80%&quot;&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;!&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 0 items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;?&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 0 or 1 items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;+&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 1 or more items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;multiple, 2+&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 2 or more items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;n&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- a precise number of items selected.a precise number of items selected.&amp;nbsp;
-          For example: enablesFor=&amp;quot; 4&amp;quot; enables the action only when 4
-          items are selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;*&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- any number of items selected&lt;/td&gt;
-      &lt;/tr&gt;
-    &lt;/table&gt;

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="description" type="string">

-      <annotation>

-         <documentation>

-            This optional element contains, in it's body, translatable text providing a short description of the action set.

-         </documentation>

-      </annotation>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is an example of an action set (note 
-the sub-elements and the way attributes are used): 
-
-&lt;p&gt;
-&lt;pre&gt;
-    &lt;extension point = &quot;org.eclipse.ui.actionSets&quot;&gt; 
-        &lt;actionSet
-            id=&quot;com.xyz.actionSet&quot; 
-            label=&quot;My Actions&quot;&gt; 
-            &lt;menu
-               id=&quot;com.xyz.xyzMenu&quot; 
-               label=&quot;XYZ Menu&quot;
-               path=&quot;additions&quot;&gt; 
-               &lt;separator name=&quot;group1&quot;/&gt;
-               &lt;separator name=&quot;option1&quot;/&gt;
-            &lt;/menu&gt;
-            
-            &lt;action
-               id=&quot;com.xyz.runXYZ&quot; 
-               label=&quot;&amp;amp;Run XYZ Tool&quot;
-               style=&quot;toggle&quot;
-               state=&quot;false&quot;
-               menubarPath=&quot;com.xyz.xyzMenu/group1&quot; 
-               icon=&quot;icons/runXYZ.gif&quot; 
-               tooltip=&quot;Run XYZ Tool&quot; 
-               helpContextId=&quot;com.xyz.run_action_context&quot; 
-               class=&quot;com.xyz.actions.RunXYZ&quot; 
-               enablesFor=&quot;1&quot;&gt; 
-               &lt;selection class=&quot;org.eclipse.core.resources.IFile&quot; name=&quot;*.java&quot;/&gt; 
-            &lt;/action&gt;
-            &lt;action 
-               id=&quot;com.xyz.runABC&quot;
-               label=&quot;&amp;amp;Run ABC Tool&quot;
-               style=&quot;push&quot;
-               menubarPath=&quot;com.xyz.xyzMenu/group1&quot;
-               toolbarPath=&quot;Normal/XYZ&quot;
-               icon=&quot;icons/runABC.gif&quot;
-               tooltip=&quot;Run ABC Tool&quot;
-               helpContextId=&quot;com.xyz.run_abc_action_context&quot;
-               retarget=&quot;true&quot;
-               allowLabelUpdate=&quot;true&quot;&gt;
-               &lt;enablement&gt;
-                  &lt;and&gt;
-                     &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-                     &lt;not&gt;
-                        &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-                     &lt;/not&gt;
-                  &lt;/and&gt;
-               &lt;/enablement&gt;
-            &lt;/action&gt;             
-
-            &lt;action 
-               id=&quot;com.xyz.runDEF&quot;
-               label=&quot;&amp;amp;Run DEF Tool&quot;
-               style=&quot;radio&quot;
-               state=&quot;true&quot;
-               menubarPath=&quot;com.xyz.xyzMenu/option1&quot;
-               icon=&quot;icons/runDEF.gif&quot;
-               tooltip=&quot;Run DEF Tool&quot;
-               class=&quot;com.xyz.actions.RunDEF&quot; 
-               helpContextId=&quot;com.xyz.run_def_action_context&quot;&gt;
-            &lt;/action&gt;             
-            &lt;action 
-               id=&quot;com.xyz.runGHI&quot;
-               label=&quot;&amp;amp;Run GHI Tool&quot;
-               style=&quot;radio&quot;
-               state=&quot;false&quot;
-               menubarPath=&quot;com.xyz.xyzMenu/option1&quot;
-               icon=&quot;icons/runGHI.gif&quot;
-               tooltip=&quot;Run GHI Tool&quot;
-               class=&quot;com.xyz.actions.RunGHI&quot; 
-               helpContextId=&quot;com.xyz.run_ghi_action_context&quot;&gt;
-            &lt;/action&gt;             
-            &lt;action 
-               id=&quot;com.xyz.runJKL&quot;
-               label=&quot;&amp;amp;Run JKL Tool&quot;
-               style=&quot;radio&quot;
-               state=&quot;false&quot;
-               menubarPath=&quot;com.xyz.xyzMenu/option1&quot;
-               icon=&quot;icons/runJKL.gif&quot;
-               tooltip=&quot;Run JKL Tool&quot;
-               class=&quot;com.xyz.actions.RunJKL&quot; 
-               helpContextId=&quot;com.xyz.run_jkl_action_context&quot;&gt;
-            &lt;/action&gt;             
-        &lt;/actionSet&gt; 
-    &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-&lt;p&gt;
-In the example above, the specified action set, named &quot;My Actions&quot;, is not initially visible within each perspective because the &lt;samp&gt;visible&lt;/samp&gt; attribute is not specified.
-&lt;/p&gt;
-&lt;p&gt;
-The XYZ action will appear as a check box menu item, initially not checked. It is enabled only if the selection count is 1 and if the selection contains a Java file resource.
-&lt;/p&gt;
-&lt;p&gt;
-The ABC action will appear both in the menu and on the toolbar. It is enabled only if the selection does not contain any Java file resources. Note also this is a label retarget action therefore it does not supply a &lt;samp&gt;class&lt;/samp&gt; attribute.
-&lt;/p&gt;
-&lt;p&gt;
-The actions DEF, GHI, and JKL appear as radio button menu items. They are enabled all the time, independent of the current selection state.
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The value of the class attribute must be the fully qualified name of a class that implements &lt;samp&gt;org.eclipse.ui.IWorkbenchWindowActionDelegate&lt;/samp&gt; or &lt;samp&gt;org.eclipse.ui.IWorkbenchWindowPulldownDelegate&lt;/samp&gt;. The latter should be implemented in cases where the &lt;samp&gt;style&lt;/samp&gt; attribute has the value &lt;samp&gt;pulldown&lt;/samp&gt;. This class is the handler responsible for performing the action. If the &lt;samp&gt;retarget&lt;/samp&gt; attribute is true, this attribute is ignored and should not be supplied. This class is loaded as late as possible to avoid loading the entire plug-in before it is really needed.
-&lt;p&gt;
-The enablement criteria for an action extension is initially defined by &lt;samp&gt;enablesFor&lt;/samp&gt;, and also either &lt;samp&gt;selection&lt;/samp&gt; or &lt;samp&gt;enablement&lt;/samp&gt;. However, once the action delegate has been instantiated, it may control the action enable state directly within its &lt;samp&gt;selectionChanged&lt;/samp&gt; method.
-&lt;p&gt;
-It is important to note that the workbench does not generate menus on a plug-in&apos;s behalf. Menu paths must reference menus that already exist.
-&lt;p&gt;
-Action and menu labels may contain special characters that encode mnemonics using the following rules:
-&lt;ol&gt;
-&lt;li&gt;
-Mnemonics are specified using the ampersand (&apos;&amp;amp;&apos;) character in front of a selected character in the translated text. Since ampersand is not allowed in XML strings, use &lt;samp&gt;&amp;amp;amp;&lt;/samp&gt; character entity.&lt;/li&gt;
-&lt;/ol&gt;
-If two or more actions are contributed to a menu or toolbar by a single extension the actions will appear in the reverse order of how they are listed in the plugin.xml file. This behavior is admittedly unintuitive.  However, it was discovered after the Eclipse Platform API was frozen. Changing the behavior now would break every plug-in which relies upon the existing behavior.
-&lt;p&gt;
-The &lt;samp&gt;selection&lt;/samp&gt; and &lt;samp&gt;enablement&lt;/samp&gt; elements are mutually exclusive. The &lt;samp&gt;enablement&lt;/samp&gt; element can replace the &lt;samp&gt;selection&lt;/samp&gt; element using the sub-elements &lt;samp&gt;objectClass&lt;/samp&gt; and &lt;samp&gt;objectState&lt;/samp&gt;. For example, the following:
-&lt;pre&gt;
- &lt;selection
-  class=&quot;org.eclipse.core.resources.IFile&quot;
-  name=&quot;*.java&quot;&gt;
- &lt;/selection&gt;
-&lt;/pre&gt;
-can be expressed using:
-&lt;pre&gt;
- &lt;enablement&gt;
-  &lt;and&gt;
-   &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-   &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-  &lt;/and&gt;
- &lt;/enablement&gt;
-&lt;/pre&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         Plug-ins may use this extension point to add new top level menus. Plug-ins can also define named groups which allow other plug-ins to contribute their actions into them. 
-&lt;p&gt;
-Top level menus are created by using the following values
-for the path attribute: 
-&lt;ul&gt;
-&lt;li&gt;additions - represents a group immediately to the left of the &lt;samp&gt;Window&lt;/samp&gt; menu. 
-&lt;/ul&gt;
-Omitting the path attribute will result in adding the new menu into the additions menu bar group. 
-&lt;/p&gt;
-&lt;p&gt;
-The default groups in a workbench window are defined in the
-&lt;samp&gt;IWorkbenchActionConstants&lt;/samp&gt; interface. These
-constants can be used in code for dynamic contribution.
-The values can also be copied into an XML file for fine
-grained integration with the existing workbench menus
-and toolbar. 
-&lt;/p&gt;
-&lt;p&gt;
-Various menu and toolbar items within the workbench 
-window are defined algorithmically.  In these cases 
-a separate mechanism must be used to extend the 
-window. For example, adding a new workbench view 
-results in a new menu item appearing in the
-Perspective menu. Import, Export, and New Wizards 
-extensions are also added automatically to the window.
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/capabilities.exsd b/bundles/org.eclipse.ui/schema/capabilities.exsd
deleted file mode 100644
index 2c0d70f..0000000
--- a/bundles/org.eclipse.ui/schema/capabilities.exsd
+++ /dev/null
@@ -1,307 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="capabilities" name="Capabilities"/>

-   </appInfo>

-   <documentation>

-      This extension point is used to register project capability extensions.  Capabilities are the UI equivalent of CORE's project natures, and have a one-to-one relationship with project natures.  The workbench allows the user to add and remove capabilities from a project at any time using the properties dialog or in the new project wizard.
-&lt;p&gt;
-Capabilities represent particular abilities of a project.  For example, a project may have a "Java" capability that allows the project's *.java files to be compiled using a Java compiler.
-If the role of the project changes over time, the project's capabilities can be modified to suit the new needs.
-For example, a project may start as a simple Java capability, but may later gain a new requirement to use JNI to some legacy library.
-The user may then add a "C++" capability (if one exists) to the project to meet this new requirement.
-&lt;p&gt;
-Some capabilities may wish to handle the user interface for other capabilities.
-This generally occurs when a capability requires a number of other capabilities (note that prerequisite information is derived from the org.eclipse.core.resources.natures extension point).
-For example, a "Web" capability needs the "Java" capability to compile servlets, but may want to present a much more simpler page to configure the "Java" capability
-or maybe not even present any pages about the "Java" capability and just add it with appropriate defaults.
-&lt;p&gt;
-The install wizard for a capability is responsible for collecting the necessary information from the user in order to add its nature and the natures of any capabilities it handles the UI for. The install wizard must handle the situation where some or all of the required capabilities are already installed and configured. 
-&lt;p&gt;
-The uninstall wizard for a capability is responsible for collecting the necessary information from the user in order to remove its nature. Also must remove any other natures from capabilities that the user wants removed and the capability handles the UI for. These other capabilities that the user wants removed will be provided in the init method. 
-&lt;p&gt;
-Capabilities can specify which perspectives a user can switch to when added to the project. This allows the user to discover new perspectives that can take advantage of the new capabilities. Capabilities that handle the user interface for other capabilities also control the list of perspectives for these capabilities. For example, the "Web" capability handles the user interface for the "Java" capability it requires. The "Web" capability can choose to include the various Java perspectives, or not. 
-&lt;p&gt;
-The categories defined by one plug-in can be referenced by other plug-ins using the category attribute. 
-&lt;p&gt;
-Note the capability name presented to the user comes from the attribute "name" in the extension element of the org.eclipse.core.resources.natures extension point.

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="category" minOccurs="0" maxOccurs="unbounded"/>

-            <element ref="capability" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="category">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="name"/>

-         </appInfo>

-      </annotation>

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique name that can be used to identify this category.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name of the category to be presented to the user.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="capability">

-      <complexType>

-         <sequence>

-            <element ref="handleUI" minOccurs="0" maxOccurs="unbounded"/>

-            <element ref="perspectiveChoice" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique name that can be used to identify this capability.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="natureId" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique identifier of the nature associated with this capability. (see &lt;samp&gt;org.eclipse.core.resources.natures&lt;/samp&gt; extension point).

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="category" type="string">

-            <annotation>

-               <documentation>

-                  an optional attribute which references a previously defined category ID.  
-If omitted, this capability will be added to the "Other" category.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="icon" type="string">

-            <annotation>

-               <documentation>

-                  an optional attribute which defines a relative path of the icon that may be used to represent this capability.
-If omitted, no icon will be displayed.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="resource"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="installWizard" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified name of the Java class implementing &lt;samp&gt;org.eclipse.ui.ICapabilityInstallWizard&lt;/samp&gt; interface.
-The wizard is responsible for collecting any necessary information from the user,
-and adding this capability's nature along will all other natures from capabilities this capability handles the UI for.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.jface.wizard.Wizard:org.eclipse.ui.ICapabilityInstallWizard"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="installDetails" type="string">

-            <annotation>

-               <documentation>

-                  an optional but highly recommended attribute which describes to the users what will be required of them by the install wizard for this capability.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="uninstallWizard" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified name of the Java class implementing &lt;samp&gt;org.eclipse.ui.ICapabilityUninstallWizard&lt;/samp&gt; interface.
-The wizard is responsible for collecting any necessary information from the user,
-and removing this capability's nature along with any other natures from capabilities that the user wants removed and this capability handles the UI for.
-If omitted, the workbench will provide a wizard that will remove this capability's nature from the project along with any other natures from capabilities that the user wants removed and this capability handles the UI for.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.jface.wizard.Wizard:org.eclipse.ui.ICapabilityUninstallWizard"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="uninstallDetails" type="string">

-            <annotation>

-               <documentation>

-                  an optional but highly recommended attribute which describes to the user what will be required of them by the uninstall wizard for this capability.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="description" type="string">

-            <annotation>

-               <documentation>

-                  an optional but highly recommended attribute which consists of a short description of what functionality/ability this capability adds to a project.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="handleUI">

-      <annotation>

-         <documentation>

-            an optional sub-element that contains a unique identifier of another capability whose UI willl be controlled by this capability.

-         </documentation>

-      </annotation>

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the unique identifier of another capability for which its UI will be handled.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="perspectiveChoice">

-      <annotation>

-         <documentation>

-            an optional sub-element that contains a unique identifier of a perspective that will be presented to the user to choose from.

-         </documentation>

-      </annotation>

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the unique identifier of a perspective the user can switch to.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         Release 2.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         Following is an example of capability configuration:
-
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension
-         point="org.eclipse.ui.capabilities"&gt;
-      &lt;category
-            name="Weather Elements"
-            id="com.xyz.weather"&gt;
-      &lt;/category&gt;
-      &lt;capability
-            installWizard="com.xyz.SnowCapabilityWizard"
-            icon="./icons/snowCapability.gif"
-            description="Turn your project into a winter wonderland!"
-            category="com.xyz.weather"
-            natureId="com.xyz.snowNature"
-            installDetails="You will be asked to supply a locale id."
-            id="com.xyz.snowCapability"&gt;
-         &lt;handleUI
-               id="com.xyz.waterCapability"&gt;
-         &lt;/handleUI&gt;
-         &lt;perspectiveChoice
-               id="com.xyz.skiPerspective"&gt;
-         &lt;/perspectiveChoice&gt;
-         &lt;perspectiveChoice
-               id="com.xyz.rainPerspective"&gt;
-         &lt;/perspectiveChoice&gt;
-      &lt;/capability&gt;
-      &lt;capability
-            installWizard="com.xyz.WaterCapabilityWizard"
-            icon="./icons/waterCapability.gif"
-            description="Turn your project into a watery wonderland!"
-            category="com.xyz.weather"
-            natureId="com.xyz.waterNature"
-            installDetails="You will be asked to supply a locale id."
-            id="com.xyz.waterCapability"&gt;
-         &lt;perspectiveChoice
-               id="com.xyz.rainPerspective"&gt;
-         &lt;/perspectiveChoice&gt;
-         &lt;perspectiveChoice
-               id="com.xyz.drinkPerspective"&gt;
-         &lt;/perspectiveChoice&gt;
-      &lt;/capability&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The value of the &lt;samp&gt;installWizard&lt;/samp&gt; attribute must represent a class that implements &lt;samp&gt;org.eclipse.ui.ICapabilityInstallWizard&lt;/samp&gt; interface.
-The IProject passed in the init method will exist and can be queried for the instance of other natures.
-The capability install wizard must not close nor delete the project passed in the init method.
-&lt;p&gt;
-The value of the &lt;samp&gt;uninstallWizard&lt;/samp&gt; attribute must represent a class that implements &lt;samp&gt;org.eclipse.ui.ICapabilityUninstallWizard&lt;/samp&gt; interface.
-The IProject passed in the init method will exist and can be queried for the existence of other natures.
-The capability uninstall wizard must not close nor delete the project passed in the init method.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         The workbench does not provide any capabilities.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         &lt;p&gt;
-Copyright (c) 2002,2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/commonAction.mxsd b/bundles/org.eclipse.ui/schema/commonAction.mxsd
deleted file mode 100644
index 33ee4cf..0000000
--- a/bundles/org.eclipse.ui/schema/commonAction.mxsd
+++ /dev/null
@@ -1,167 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.ui" id="commonAction" name="Common Action"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <element name="menu">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="label"/>

-         </appInfo>

-         <documentation>

-            This element is used to defined a new menu.

-         </documentation>

-      </annotation>

-      <complexType>

-         <sequence>

-            <element ref="separator" minOccurs="1" maxOccurs="unbounded"/>

-            <element ref="groupMarker" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique identifier that can be used to reference this menu.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="label" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name used by the Workbench for this new menu. The name should include mnemonic information.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="path" type="string">

-            <annotation>

-               <documentation>

-                  the location of the new menu starting from the root of the menu. Each token in the path must refer to an existing menu, except the last token which should represent a named group in the last menu in the path. If omitted, the new menu will be added to the &lt;samp&gt;additions&lt;/samp&gt; named group of the menu.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="separator">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="name"/>

-         </appInfo>

-         <documentation>

-            This element is used to create a menu separator in the new menu.

-         </documentation>

-      </annotation>

-      <complexType>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the name of the menu separator. This name can later be referenced as the last token in a menu path. Therefore, a separator also serve as named group into which actions and menus can be added.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="groupMarker">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="name"/>

-         </appInfo>

-         <documentation>

-            This element is used to create a named group in the new menu. It has no visual representation in the new menu, unlike the <samp>separator</samp> element.

-         </documentation>

-      </annotation>

-      <complexType>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the name of the group marker. This name can later be referenced as the last token in the menu path. It serves as named group into which actions and menus can be added.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="selection">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="class"/>

-         </appInfo>

-         <documentation>

-            This element is used to help determine the action enablement based on the current selection. Ignored if the <samp>enablement</samp> element is specified for the action. When more than one of this element is specified, it means 'one-of'.

-         </documentation>

-      </annotation>

-      <complexType>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified name of the class or interface that each object in the selection must implement in order to enable the action.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="java.lang.Object"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional wild card filter for the name that can be applied to all objects in the selection. If specified and the match fails, the action will be disabled.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2000, 2003 IBM Corporation and others.

-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/commonExpression.mxsd b/bundles/org.eclipse.ui/schema/commonExpression.mxsd
deleted file mode 100644
index 90050d7..0000000
--- a/bundles/org.eclipse.ui/schema/commonExpression.mxsd
+++ /dev/null
@@ -1,269 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.ui" id="commonExpression" name="Common Expressions"/>

-      </appInfo>

-      <documentation>

-         An action&apos;s enablement and/or visibility can be defined using the elements &lt;samp&gt;enablement&lt;/samp&gt; and &lt;samp&gt;visibility&lt;/samp&gt; respectively. These two elements contain a boolean expression that is evaluated to determine the enablement and/or visibility.
-&lt;p&gt;
-The syntax is the same for the &lt;samp&gt;enablement&lt;/samp&gt; and &lt;samp&gt;visibility&lt;/samp&gt; elements. Both contain only one boolean expression sub-element. In the simplest case, this will be an &lt;samp&gt;objectClass&lt;/samp&gt;, &lt;samp&gt;objectState&lt;/samp&gt;, &lt;samp&gt;pluginState&lt;/samp&gt;, or &lt;samp&gt;systemProperty&lt;/samp&gt; element. In the more complex case, the &lt;samp&gt;and&lt;/samp&gt;, &lt;samp&gt;or&lt;/samp&gt;, and &lt;samp&gt;not&lt;/samp&gt; elements can be combined to form a boolean expression. Both the &lt;samp&gt;and&lt;/samp&gt;, and &lt;samp&gt;or&lt;/samp&gt; elements must contain 2 sub-elements. The &lt;samp&gt;not&lt;/samp&gt; element must contain only 1 sub-element.
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <element name="enablement">

-      <annotation>

-         <documentation>

-            This element is used to define the enablement for the action.

-         </documentation>

-      </annotation>

-      <complexType>

-         <choice>

-            <element ref="and" minOccurs="2" maxOccurs="2"/>

-            <element ref="or" minOccurs="2" maxOccurs="2"/>

-            <element ref="not"/>

-            <element ref="objectClass"/>

-            <element ref="objectState"/>

-            <element ref="pluginState"/>

-            <element ref="systemProperty"/>

-         </choice>

-      </complexType>

-   </element>

-

-   <element name="visibility">

-      <annotation>

-         <documentation>

-            This element is used to define the visibility for the action.

-         </documentation>

-      </annotation>

-      <complexType>

-         <choice>

-            <element ref="and" minOccurs="2" maxOccurs="2"/>

-            <element ref="or" minOccurs="2" maxOccurs="2"/>

-            <element ref="not"/>

-            <element ref="objectClass"/>

-            <element ref="objectState"/>

-            <element ref="pluginState"/>

-            <element ref="systemProperty"/>

-         </choice>

-      </complexType>

-   </element>

-

-   <element name="and">

-      <annotation>

-         <documentation>

-            This element represent a boolean AND operation on the result of evaluating it's two sub-element expressions.

-         </documentation>

-      </annotation>

-      <complexType>

-         <choice minOccurs="2" maxOccurs="2">

-            <element ref="and" minOccurs="2" maxOccurs="2"/>

-            <element ref="or" minOccurs="2" maxOccurs="2"/>

-            <element ref="not"/>

-            <element ref="objectClass"/>

-            <element ref="objectState"/>

-            <element ref="pluginState"/>

-            <element ref="systemProperty"/>

-         </choice>

-      </complexType>

-   </element>

-

-   <element name="or">

-      <annotation>

-         <documentation>

-            This element represent a boolean OR operation on the result of evaluating it's two sub-element expressions.

-         </documentation>

-      </annotation>

-      <complexType>

-         <choice minOccurs="2" maxOccurs="2">

-            <element ref="and" minOccurs="2" maxOccurs="2"/>

-            <element ref="or" minOccurs="2" maxOccurs="2"/>

-            <element ref="not"/>

-            <element ref="objectClass"/>

-            <element ref="objectState"/>

-            <element ref="pluginState"/>

-            <element ref="systemProperty"/>

-         </choice>

-      </complexType>

-   </element>

-

-   <element name="not">

-      <annotation>

-         <documentation>

-            This element represent a boolean NOT operation on the result of evaluating it's sub-element expressions.

-         </documentation>

-      </annotation>

-      <complexType>

-         <choice>

-            <element ref="and" minOccurs="2" maxOccurs="2"/>

-            <element ref="or" minOccurs="2" maxOccurs="2"/>

-            <element ref="not"/>

-            <element ref="objectClass"/>

-            <element ref="objectState"/>

-            <element ref="pluginState"/>

-            <element ref="systemProperty"/>

-         </choice>

-      </complexType>

-   </element>

-

-   <element name="objectClass">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="name"/>

-         </appInfo>

-         <documentation>

-            This element is used to evaluate the class or interface of each object in the current selection. If each object in the selection implements the specified class or interface, the expression is evaluated as true.

-         </documentation>

-      </annotation>

-      <complexType>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified name of a class or interface.  The expression is evaluated as true only if all objects within the selection implement this class or interface.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="java.lang.Object"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="objectState">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="name"/>

-         </appInfo>

-         <documentation>

-            This element is used to evaluate the attribute state of each object in the current selection. If each object in the selection has the specified attribute state, the expression is evaluated as true. To evaluate this type of expression, each object in the selection must implement, or adapt to, <samp>org.eclipse.ui.IActionFilter</samp>.

-         </documentation>

-      </annotation>

-      <complexType>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the name of an object&apos;s attribute. Acceptable names reflect the object type, and should be publicly declared by the plug-in where the object type is declared.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="value" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the required value of the object&apos;s attribute. The acceptable values for the object&apos;s attribute should be publicly declared.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="pluginState">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="id"/>

-         </appInfo>

-         <documentation>

-            This element is used to evaluate the state of a plug-in. The state of the plug-in may be

-         </documentation>

-      </annotation>

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the identifier of a plug-in which may or may not exist in the plug-in registry.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="value" use="default" value="installed">

-            <annotation>

-               <documentation>

-                  the required state of the plug-in. The state of the plug-in may be &lt;samp&gt;installed&lt;/samp&gt; or &lt;samp&gt;activated&lt;/samp&gt;.

-               </documentation>

-            </annotation>

-            <simpleType>

-               <restriction base="string">

-                  <enumeration value="installed">

-                  </enumeration>

-                  <enumeration value="activated">

-                  </enumeration>

-               </restriction>

-            </simpleType>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="systemProperty">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="name"/>

-         </appInfo>

-         <documentation>

-            This element is used to evaluate the state of some system property.  The property value is retrieved from

-         </documentation>

-      </annotation>

-      <complexType>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the name of the system property.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="value" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the required value of the system property.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         Release 2.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2002, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/decorators.exsd b/bundles/org.eclipse.ui/schema/decorators.exsd
deleted file mode 100644
index 95230cd..0000000
--- a/bundles/org.eclipse.ui/schema/decorators.exsd
+++ /dev/null
@@ -1,296 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.ui" id="decorators" name="Decorators"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to add decorators to views that subscribe to a decorator manager. As of 2.1 there will be the concept of a lightweight decorator that will handle the image management for the decorator. It is also possible to declare a lightweight decorator that simply overlays an icon when enabled that requires no implementation from the plug-in.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="decorator" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="decorator">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="label"/>

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

-            <element ref="description" minOccurs="0" maxOccurs="1"/>

-            <element ref="enablement"/>

-         </sequence>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique name that will be used to identify this decorator.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="label" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name that will be used in the workbench window menu to represent this decorator.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified name of a class which implements &lt;samp&gt;org.eclipse.jface.viewers.ILabelDecorator&lt;/samp&gt;
-if &lt;b&gt;&lt;i&gt; lightweight&lt;/i&gt;&lt;/b&gt; is false or  &lt;samp&gt;org.eclipse.jface.viewers.ILightweightLabelDecorator&lt;/samp&gt; if lightweight is true. The default value is false. If there is no &lt;b&gt;&lt;i&gt;class&lt;/i&gt;&lt;/b&gt; element it is assumed to be true.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.jface.viewers.ILabelDecorator"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="objectClass" type="string">

-            <annotation>

-               <documentation>

-                  a fully qualified name of a class which this decorator will be applied to. Deprecated in 2.1. Make this value part of the enablement.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="adaptable" type="boolean">

-            <annotation>

-               <documentation>

-                  a flag that indicates if types that adapt to IResource should use this object contribution.
-This flag is used only if objectClass adapts to IResource.  Default value is false.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="state" type="boolean">

-            <annotation>

-               <documentation>

-                  a flag that indicates if the decorator is on by default.  Default value is false.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="quadrant">

-            <annotation>

-               <documentation>

-                  if the decorator is &lt;b&gt;&lt;i&gt;lightweight&lt;/b&gt;&lt;/i&gt; this is the quadrant to apply the decorator to. Defaults to BOTTOM_RIGHT. Replaced by location for M4.

-               </documentation>

-            </annotation>

-            <simpleType>

-               <restriction base="string">

-                  <enumeration value="TOP_LEFT">

-                  </enumeration>

-                  <enumeration value="TOP_RIGHT">

-                  </enumeration>

-                  <enumeration value="BOTTOM_RIGHT">

-                  </enumeration>

-                  <enumeration value="BOTTOM_LEFT">

-                  </enumeration>

-               </restriction>

-            </simpleType>

-         </attribute>

-         <attribute name="lightweight">

-            <annotation>

-               <documentation>

-                  The lightweight flag indicates that the decorator is either
-declarative or implements 
-&lt;samp&gt;org.eclipse.jface.viewers.ILightweightLabelDecorator&lt;/samp&gt;.

-               </documentation>

-            </annotation>

-            <simpleType>

-               <restriction base="string">

-                  <enumeration value="true">

-                  </enumeration>

-                  <enumeration value="false">

-                  </enumeration>

-               </restriction>

-            </simpleType>

-         </attribute>

-         <attribute name="icon" type="string">

-            <annotation>

-               <documentation>

-                  if the decorator is &lt;b&gt;&lt;i&gt;lightweight&lt;/i&gt;&lt;/b&gt; and the &lt;b&gt;&lt;i&gt;class&lt;/i&gt;&lt;/b&gt; is not specified this is the path to the overlay image to apply

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="location">

-            <annotation>

-               <documentation>

-                  if the decorator is &lt;b&gt;&lt;i&gt;lightweight&lt;/i&gt;&lt;/b&gt; this is the location to apply the decorator to. Defaults to BOTTOM_RIGHT.

-               </documentation>

-            </annotation>

-            <simpleType>

-               <restriction base="string">

-                  <enumeration value="TOP_LEFT">

-                  </enumeration>

-                  <enumeration value="TOP_RIGHT">

-                  </enumeration>

-                  <enumeration value="BOTTOM_LEFT">

-                  </enumeration>

-                  <enumeration value="BOTTOM_RIGHT">

-                  </enumeration>

-                  <enumeration value="UNDERLAY">

-                  </enumeration>

-               </restriction>

-            </simpleType>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="description" type="string">

-      <annotation>

-         <documentation>

-            an optional subelement whose body should contain text providing a short description of the decorator. This will be shown in the Decorators preference page so it is recommended that this is included. Default value is an empty String.

-         </documentation>

-      </annotation>

-   </element>

-

-   <element name="enablement">

-      <annotation>

-         <documentation>

-            the actionExpression used to determine enabled state. See the actionExpressions documentation.

-         </documentation>

-      </annotation>

-      <complexType>

-         <choice>

-            <element ref="and"/>

-            <element ref="or"/>

-            <element ref="not"/>

-            <element ref="objectClass"/>

-            <element ref="objectState"/>

-            <element ref="systemProperty"/>

-            <element ref="pluginState"/>

-         </choice>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         Release 2.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following are example of decorators:
-&lt;p&gt;
-A full decorator. The plug-in developer must handle their own image support.
-&lt;p&gt;
-&lt;pre&gt;
-	&lt;extension point=&quot;org.eclipse.ui.decorators&quot;&gt; 
-        &lt;decorator
-            id=&quot;com.xyz.decorator&quot; 
-            label=&quot;XYZ Decorator&quot; 
-            state=&quot;true&quot; 
-            class=&quot;com.xyz.DecoratorContributor&quot;&gt;
-            &lt;enablement&gt;
-                &lt;objectClass name=&quot;org.eclipse.core.resources.IResource&quot;/&gt; 
-            &lt;/enablement&gt;
-        &lt;/decorator&gt;
-    &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;p&gt;
-A lightweight decorator. There is a concrete class but as it is an
-ILightweightLabelDecorator it only needs to supply text and an ImageDescriptor and therefore needs no resource handling.
-&lt;p&gt;
-&lt;pre&gt;
-	&lt;extension point=&quot;org.eclipse.ui.decorators&quot;&gt; 
-        &lt;decorator
-            id=&quot;com.xyz.lightweight.decorator&quot; 
-            label=&quot;XYZ Lightweight Decorator&quot;              			
-            state=&quot;false&quot; 
-            class=&quot;com.xyz.LightweightDecoratorContributor&quot; 
-            lightweight=&quot;true&quot; &gt;
-            &lt;enablement&gt;
-                &lt;objectClass name=&quot;org.eclipse.core.resources.IResource&quot;/&gt; 
-            &lt;/enablement&gt;
-        &lt;/decorator&gt;
-    &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-&lt;p&gt;A declarative lightweight decorator. There is no concrete class so it
-supplies an icon and a quadrant to apply that icon.
-&lt;p&gt;
-&lt;pre&gt;
-	&lt;extension point=&quot;org.eclipse.ui.decorators&quot;&gt; 
-        &lt;decorator
-            id=&quot;com.xyz.lightweight.declarative.decorator&quot; 
-            label=&quot;XYZ Lightweight Declarative Decorator&quot; 
-            state=&quot;false&quot; 
-            lightweight=&quot;true&quot; 
-            icon=&quot;icons/full/declarative.gif&quot; 
-            location=&quot;TOP_LEFT&quot;&gt; 
-            &lt;enablement&gt;
-                &lt;objectClass name=&quot;org.eclipse.core.resources.IResource&quot;/&gt; 
-            &lt;/enablement&gt;
-        &lt;/decorator&gt;
-    &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The value of the &lt;samp&gt;class&lt;/samp&gt; attribute must be the fully qualified name of a class that implements  &lt;samp&gt;org.eclipse.jface.viewers.ILabelDecorator&lt;/samp&gt; (if lightweight is false) or &lt;samp&gt;org.eclipse.jface.viewers.ILightweightLabelDecorator&lt;/samp&gt;.  This class is loaded as late as possible to avoid loading the entire plug-in before it is really needed. Declarative decorators do not entail any plug-in activation and should be used whenever possible. Non-lightweight decorators will eventually be deprecated.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         Plug-ins may use this extension point to add new decorators to be applied to views that use the decorator manager as their label decorator.
-To use the decorator manager, use the result of IViewPart.getDecoratorManager() as the decorator for an instance of DecoratingLabelProvider.
-This is currently in use by the Resource Navigator.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2002,2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/documentProviders.exsd b/bundles/org.eclipse.ui/schema/documentProviders.exsd
deleted file mode 100644
index 676ad18..0000000
--- a/bundles/org.eclipse.ui/schema/documentProviders.exsd
+++ /dev/null
@@ -1,150 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="documentProviders" name="Document Providers"/>

-   </appInfo>

-   <documentation>

-      This extension point is used to define mappings between file types and document providers or between types of editor inputs and document providers that can be used by editors. Document providers must implement the interface &lt;samp&gt;org.eclipse.ui.texteditor.IDocumentProvider&lt;/samp&gt;. Editor inputs must be instance of &lt;samp&gt;org.eclipse.ui.IEditorInput&lt;/samp&gt;.

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="provider" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="provider">

-      <complexType>

-         <attribute name="extensions" type="string">

-            <annotation>

-               <documentation>

-                  a comma separated  list of file extensions

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="inputTypes" type="string">

-            <annotation>

-               <documentation>

-                  a comma separated list of qualified editor input class names

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the qualified name of the document provider class

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the unique id of this provider

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         Release 1.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         &lt;pre&gt;
-&lt;extension point="org.eclipse.ui.documentProviders"&gt; 
-    &lt;provider 
-        extensions=".jav" 
-        class="org.eclipse.ui.examples.javaeditor.JavaDocumentProvider" 
-        id="org.eclipse.ui.examples.javaeditor.JavaDocumentProvider"&gt; 
-    &lt;/provider&gt; 
-&lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;p&gt;
-This example registers &lt;samp&gt;org.eclipse.ui.examples.javaeditor.JavaDocumentProvider&lt;/samp&gt; as the default provider for files with the extension ".jav". 
-&lt;p&gt;
-&lt;pre&gt;
-&lt;extension point="org.eclipse.ui.documentProviders"&gt; 
-    &lt;provider 
-        inputTypes="org.eclipse.ui.IStorageEditorInput" 
-        class="org.eclipse.ui.editors.text.FileDocumentProvider" 
-        id="org.eclipse.ui.editors.text.FileDocumentProvider"&gt; 
-    &lt;/provider&gt; 
-&lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-This example registers &lt;samp&gt;org.eclipse.ui.editors.text.FileDocumentProvider&lt;/samp&gt; as the default provider for all editor inputs that are &lt;samp&gt;instance of org.eclipse.ui.IStorageEditorInput&lt;/samp&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         Document providers registered for a file extension have precedence over those registered for input types. Document providers must implement the interface &lt;samp&gt;org.eclipse.ui.texteditor.IDocumentProvider&lt;/samp&gt;. Editor inputs must be instance of &lt;samp&gt;org.eclipse.ui.IEditorInput&lt;/samp&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         &lt;p&gt;

-&lt;a href="hglegal.htm"&gt;

- &lt;img SRC="ngibmcpy.gif"

-   ALT="Copyright IBM Corp. 2000, 2003. All Rights Reserved."

-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;

-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/dropActions.exsd b/bundles/org.eclipse.ui/schema/dropActions.exsd
deleted file mode 100644
index b9248cd..0000000
--- a/bundles/org.eclipse.ui/schema/dropActions.exsd
+++ /dev/null
@@ -1,170 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="dropActions" name="Drop Actions"/>

-   </appInfo>

-   <documentation>

-      This extension point is used to add drop behaviour to 
-views defined by other plugins. 
-&lt;p&gt;
-Due to the UI layering imposed by the plugin 
-mechanism, views are often not aware of the content 
-and nature of other views. This can make drag and 
-drop operations between plugins difficult. 
-For example, one may wish to provide Java 
-refactoring support whereby the user drags a 
-method from the Java editor's content outliner 
-into another java file in the resource navigator. 
-Since the resource navigator doesn't know anything 
-about Java content, it doesn't know how to behave 
-when java methods are dropped onto it.  
-Similarly, an ISV may want to drop some of 
-their content into one of the Java viewers. 
-&lt;p&gt;
-The &lt;samp&gt;org.eclipse.ui.dropActions&lt;/samp&gt; extension point is 
-provided by the Platform to address these situations. 
-This mechanism delegates the drop behaviour back to 
-the originator of the drag operation. 
-This behaviour is contained in an action that 
-must implement 
-&lt;samp&gt;org.eclipse.ui.part.IDropActionDelegate&lt;/samp&gt;.  
-The viewer that is the source of the drag 
-operation must support 
-&lt;samp&gt;the org.eclipse.ui.part.PluginTransfer&lt;/samp&gt;
-transfer type, and place a 
-&lt;samp&gt;PluginTransferData&lt;/samp&gt; object in the drag event.
-See org.eclipse.jface.viewers.StructuredViewer#addDragSupport 
-to learn how to add drag support to a viewer.

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="dropContribution" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="dropContribution">

-      <complexType>

-         <sequence>

-            <element ref="action" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-      </complexType>

-   </element>

-

-   <element name="action">

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique identifier that can be used to reference this action

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the name of the fully qualified class that implements 
-&lt;samp&gt;org.eclipse.ui.part.IDropActionDelegate&lt;/samp&gt;.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.part.IDropActionDelegate"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is an example of a drop action extension: 
-&lt;p&gt;
-&lt;pre&gt;
-    &lt;extension point="org.eclipse.ui.dropActions"&gt; 
-        &lt;action 
-            id="my_drop_action" 
-            class="com.xyz.eclipse.TestDropAction"&gt; 
-        &lt;/action&gt; 
-    &lt;/extension&gt;  
-&lt;/pre&gt;
-&lt;/p&gt;
-Here is an example of a drag listener that makes use of the drop
-action defined above.
-&lt;p&gt;
-&lt;pre&gt; 
-class MyDragListener extends DragSourceAdapter { 
-    public void dragSetData(DragSourceEvent event) { 
-        if (PluginTransfer.getInstance().isSupportedType(event.dataType)) { 
-            byte[] dataToSend = ...//enter the data to be sent. 
-            event.data = new PluginTransferData( 
-                "my_drop_action", dataToSend); 
-        } 
-    } 
-} 
-&lt;/pre&gt;
-&lt;/p&gt;
-For a more complete example, see the Platform 
-readme example.  In that example, a drop action is 
-defined in ReadmeDropActionDelegate, and it is used 
-by ReadmeContentOutlineDragListener.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The value of the class attribute must be a fully qualified name of a Java class that implements &lt;samp&gt;org.eclipse.ui.part.IDropActionDelegate&lt;/samp&gt;. This class is loaded as late as possible to avoid loading the entire plug-in before it is really needed

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         The workbench does not provide an implementation for this extension point. Plug-ins can contribute to this extension point to add drop behavior to views defined by other plugins.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         &lt;p&gt;
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/editorActions.exsd b/bundles/org.eclipse.ui/schema/editorActions.exsd
deleted file mode 100644
index 4951428..0000000
--- a/bundles/org.eclipse.ui/schema/editorActions.exsd
+++ /dev/null
@@ -1,459 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.ui" id="itorActions" name="Editor Menus, Toolbars and Actions"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to add actions to the menu 
-and toolbar for editors registered by other plug-ins. 
-&lt;p&gt;
-The initial contribution set for an editor is defined 
-by another extension point (org.eclipse.ui.editors). 
-One set of actions is created and shared by all 
-instances of the same editor type.  When invoked, 
-these action act upon the active editor.  This 
-extension point follows the same pattern.  Each 
-action extension is created and shared by all 
-instances of the same editor type.  The action 
-class is required to implement 
-&lt;samp&gt;org.eclipse.ui.IEditorActionDelegate&lt;/samp&gt;.  
-The active editor is passed to the delegate by invoking 
-&lt;samp&gt;IEditorActionDelegate.setActiveEditor&lt;/samp&gt;.

-      </documentation>

-   </annotation>

-

-   <include schemaLocation="commonAction.mxsd"/>

-

-   <include schemaLocation="commonExpression.mxsd"/>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="editorContribution" minOccurs="1" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="editorContribution">

-      <annotation>

-         <documentation>

-            This element is used to define a group of editor actions and/or menus.

-         </documentation>

-      </annotation>

-      <complexType>

-         <sequence>

-            <element ref="menu" minOccurs="0" maxOccurs="unbounded"/>

-            <element ref="action" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique identifier used to reference this contribution.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="targetID" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique identifier of a registered editor that is the target of this contribution.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="action">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="label" icon="icon"/>

-         </appInfo>

-         <documentation>

-            This element defines an action that the user can invoke in the UI.

-         </documentation>

-      </annotation>

-      <complexType>

-         <choice>

-            <element ref="selection" minOccurs="0" maxOccurs="unbounded"/>

-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>

-         </choice>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique identifier used as a reference for this action.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="label" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name used either as the menu item text or toolbar button label. The name can include mnenomic information.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="accelerator" type="string">

-            <annotation>

-               <documentation>

-                  &lt;b&gt;&lt;font color=&quot;#FF0000&quot;&gt;Deprecated:&lt;/font&gt;&lt;/b&gt; Use the &lt;samp&gt;definitionId&lt;/samp&gt; attribute instead.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="definitionId" type="string">

-            <annotation>

-               <documentation>

-                  the action definition unique identifier that this action is semantically similar to. Allows the key binding service to assign an accelerator key to this action. See the extension points &lt;a href=&quot;org_eclipse_ui_actionDefinitions.html&quot;&gt;org.eclipse.ui.actionDefinitions&lt;/a&gt; and &lt;a href=&quot;org_eclipse_ui_acceleratorSets.html&quot;&gt;org.eclipse.ui.acceleratorSets&lt;/a&gt; for more information.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="menubarPath" type="string">

-            <annotation>

-               <documentation>

-                  a slash-delimited path (&apos;/&apos;) used to specify the location of this action in the menu bar.
-Each token in the path, except the last one, must represent a valid identifier of an existing menu in the hierarchy. The last token represents the named group into which this action will be added. If the path is omitted, this action will not appear in the menu bar.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="toolbarPath" type="string">

-            <annotation>

-               <documentation>

-                  a slash-delimited path (&apos;/&apos;) that is used to specify the location of this action in the toolbar. The first token represents the toolbar identifier (with &quot;Normal&quot; being the default toolbar), while the second token is the named group within the toolbar that this action will be added to. If the group does not exist in the toolbar, it will be created.
-If toolbarPath is omitted, the action will not appear in the toolbar.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="icon" type="string">

-            <annotation>

-               <documentation>

-                  a relative path of an icon used to visually represent the action in its context.
-If omitted and the action appears in the toolbar, the Workbench will use a placeholder icon. The path is relative to the location of the plugin.xml file of the contributing plug-in. The icon will appear in toolbars but not in menus. Enabled actions will be represented in menus by the hoverIcon.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="resource"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="disabledIcon" type="string">

-            <annotation>

-               <documentation>

-                  a relative path of an icon used to visually represent the action in its context when the action is disabled. If omitted, the normal icon will simply appear greyed out. The path is relative to the location of the plugin.xml file of the contributing plug-in. The disabled icon will appear in toolbars but not in menus. Icons for disabled actions in menus will be supplied by the OS.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="resource"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="hoverIcon" type="string">

-            <annotation>

-               <documentation>

-                  a relative path of an icon used to visually represent the action in its context when the mouse pointer is over the action. If omitted, the normal icon will be used. The path is relative to the location of the plugin.xml file of the contributing plug-in.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="resource"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="tooltip" type="string">

-            <annotation>

-               <documentation>

-                  a translatable text representing the action&apos;s tool tip. Only used if the action appears in the toolbar.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="helpContextId" type="string">

-            <annotation>

-               <documentation>

-                  a unique identifier indicating the help context for this action. If the action appears as a menu item, then pressing F1 while the menu item is highlighted will display help.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="style" use="default" value="push">

-            <annotation>

-               <documentation>

-                  an optional attribute to define the user interface style type for the action. If defined, the attribute value will be one of the following:
-    &lt;table border=&quot;0&quot; width=&quot;80%&quot;&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;push&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a regular menu item or tool item.&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;radio&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a radio style menu item or tool item. Actions with the radio style within the same menu or toolbar group behave as a radio set. The initial value is specified by the &lt;samp&gt;state&lt;/samp&gt; attribute.&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;toggle&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a checked style menu item or as a toggle tool item. The initial value is specified by the &lt;samp&gt;state&lt;/samp&gt; attribute.&lt;/td&gt;
-      &lt;/tr&gt;
-    &lt;/table&gt;

-               </documentation>

-            </annotation>

-            <simpleType>

-               <restriction base="string">

-                  <enumeration value="push">

-                  </enumeration>

-                  <enumeration value="radio">

-                  </enumeration>

-                  <enumeration value="toggle">

-                  </enumeration>

-               </restriction>

-            </simpleType>

-         </attribute>

-         <attribute name="state" type="boolean">

-            <annotation>

-               <documentation>

-                  an optional attribute indicating the initial state (either &lt;samp&gt;true&lt;/samp&gt; or &lt;samp&gt;false&lt;/samp&gt;), used when the &lt;samp&gt;style&lt;/samp&gt; attribute has the value &lt;samp&gt;radio&lt;/samp&gt; or &lt;samp&gt;toggle&lt;/samp&gt;.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the name of the fully qualified class that implements &lt;samp&gt;org.eclipse.ui.IEditorActionDelegate&lt;/samp&gt;

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.IEditorActionDelegate"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="enablesFor" type="string">

-            <annotation>

-               <documentation>

-                  a value indicating the selection count which must be met to enable the action.
-If this attribute is specified and the condition is met, the action is enabled.
-If the condition is not met, the action is disabled.
-If no attribute is specified, the action is enabled for any number of items selected.
-The following attribute formats are supported: 
-    &lt;table border=&quot;0&quot; width=&quot;80%&quot;&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;!&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 0 items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;?&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 0 or 1 items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;+&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 1 or more items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;multiple, 2+&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 2 or more items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;n&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- a precise number of items selected.a precise number of items selected.&amp;nbsp;
-          For example: enablesFor=&amp;quot; 4&amp;quot; enables the action only when 4
-          items are selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;*&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- any number of items selected&lt;/td&gt;
-      &lt;/tr&gt;
-    &lt;/table&gt;

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is an example of an editor action extension: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.editorActions&quot;&gt; 
-      &lt;editorContribution 
-         id=&quot;com.xyz.xyzContribution&quot; 
-         targetID=&quot;com.ibm.XMLEditor&quot;&gt; 
-         &lt;menu
-            id=&quot;XYZ&quot;
-            label=&quot;&amp;amp;XYZ Menu&quot;&gt; 
-            &lt;separator name=&quot;group1&quot;/&gt; 
-         &lt;/menu&gt; 
-         &lt;action 
-            id=&quot;com.xyz.runXYZ&quot; 
-            label=&quot;&amp;amp;Run XYZ Tool&quot; 
-            menubarPath=&quot;XYZ/group1&quot; 
-            toolbarPath=&quot;Normal/additions&quot;
-            style=&quot;toggle&quot;
-            state=&quot;true&quot; 
-            icon=&quot;icons/runXYZ.gif&quot; 
-            tooltip=&quot;Run XYZ Tool&quot; 
-            helpContextId=&quot;com.xyz.run_action_context&quot; 
-            class=&quot;com.xyz.actions.RunXYZ&quot;&gt; 
-            &lt;selection class=&quot;org.eclipse.core.resources.IFile&quot; name=&quot;*.java&quot;/&gt; 
-         &lt;/action&gt; 
-      &lt;/editorContribution&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-&lt;p&gt;
-In the example above, the specified action will appear as a check box item in the new top-level menu named &quot;XYZ Menu&quot;, and as a toggle button in the toolbar. The action is enabled if the selection contains only Java file resources.
-&lt;p&gt;
-The following is an other example of an editor action extension: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.editorActions&quot;&gt; 
-      &lt;editorContribution 
-         id=&quot;com.xyz.xyz2Contribution&quot; 
-         targetID=&quot;com.ibm.XMLEditor&quot;&gt; 
-         &lt;menu 
-            id=&quot;XYZ2&quot; 
-            label=&quot;&amp;amp;XYZ2 Menu&quot; 
-            path=&quot;edit/additions&quot;&gt; 
-            &lt;separator name=&quot;group1&quot;/&gt; 
-         &lt;/menu&gt; 
-         &lt;action 
-            id=&quot;com.xyz.runXYZ2&quot; 
-            label=&quot;&amp;amp;Run XYZ2 Tool&quot; 
-            menubarPath=&quot;edit/XYZ2/group1&quot;
-            style=&quot;push&quot;
-            icon=&quot;icons/runXYZ2.gif&quot; 
-            tooltip=&quot;Run XYZ2 Tool&quot; 
-            helpContextId=&quot;com.xyz.run_action_context2&quot; 
-            class=&quot;com.xyz.actions.RunXYZ2&quot;&gt; 
-            &lt;enablement&gt;
-               &lt;and&gt;
-                  &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-                  &lt;not&gt;
-                     &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-                  &lt;/not&gt;
-               &lt;/and&gt;
-            &lt;/enablement&gt;
-         &lt;/action&gt; 
-      &lt;/editorContribution&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-&lt;p&gt;
-In the example above, the specified action will appear as a menu item in the sub-menu named &quot;XYZ2 Menu&quot; in the top level &quot;Edit&quot; menu. The action is enabled if the selection contains no Java file resources.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The value of the class attribute must be a fully qualified
-name of a Java class that implements 
-&lt;samp&gt;org.eclipse.ui.IEditorActionDelegate&lt;/samp&gt;. 
-This class is loaded as late as possible to 
-avoid loading the entire plug-in before it is really 
-needed. The method &lt;samp&gt;setActiveEditor&lt;/samp&gt; will be 
-called each time an editor of the specified type is 
-activated. Only one set of actions and menus will be 
-created for all instances of the specified editor 
-type, regardless of the number of editor instances 
-currently opened in the Workbench. 
-&lt;p&gt;
-This extension point can be used to contribute actions 
-into menus previously created by the target editor. 
-In addition, menus and actions can be contributed to 
-the Workbench window.  The identifiers for actions and 
-major groups within the Workbench window are defined in 
-&lt;samp&gt;org.eclipse.ui.IWorkbenchActionConstants&lt;/samp&gt;.  
-These should be used as a reference point for 
-the addition of new actions.  Top level menus are 
-created by using the following values for the 
-path attribute: 
-&lt;ul&gt;
-&lt;li&gt;
-additions - represents a named group immediately to the left of the &lt;samp&gt;Window&lt;/samp&gt; menu. 
-&lt;/li&gt;
-&lt;/ul&gt;
-Omitting the path attribute will result in adding the new menu into the additions menu bar group.
-&lt;p&gt;
-Actions and menus added into these paths will only 
-be shown while the associated editor is active. When 
-the editor is closed, menus and actions will be removed.
-&lt;p&gt;
-The enablement criteria for an action extension is initially defined by &lt;samp&gt;enablesFor&lt;/samp&gt;, and also either &lt;samp&gt;selection&lt;/samp&gt; or &lt;samp&gt;enablement&lt;/samp&gt;. However, once the action delegate has been instantiated, it may control the action enable state directly within its &lt;samp&gt;selectionChanged&lt;/samp&gt; method.
-&lt;p&gt;
-Action and menu labels may contain special characters that encode mnemonics using the following rules:
-&lt;ol&gt;
-&lt;li&gt;
-Mnemonics are specified using the ampersand (&apos;&amp;amp;&apos;) character in front
-of a selected character in the translated text. Since ampersand is not
-allowed in XML strings, use &lt;samp&gt;&amp;amp;amp;&lt;/samp&gt; character entity.&lt;/li&gt;
-&lt;/ol&gt;
-If two or more actions are contributed to a menu or toolbar by a single
-extension the actions will appear in the reverse order of how they are
-listed in the plugin.xml file. This behavior is admittedly unintuitive. 
-However, it was discovered after the Eclipse Platform API was frozen. 
-Changing the behavior now would break every plug-in which relies upon the
-existing behavior.
-&lt;p&gt;
-The &lt;samp&gt;selection&lt;/samp&gt; and &lt;samp&gt;enablement&lt;/samp&gt; elements are mutually exclusive. The &lt;samp&gt;enablement&lt;/samp&gt; element can replace the &lt;samp&gt;selection&lt;/samp&gt; element using the sub-elements &lt;samp&gt;objectClass&lt;/samp&gt; and &lt;samp&gt;objectState&lt;/samp&gt;. For example, the following:
-&lt;pre&gt;
- &lt;selection
-  class=&quot;org.eclipse.core.resources.IFile&quot;
-  name=&quot;*.java&quot;&gt;
- &lt;/selection&gt;
-&lt;/pre&gt;
-can be expressed using:
-&lt;pre&gt;
- &lt;enablement&gt;
-  &lt;and&gt;
-   &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-   &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-  &lt;/and&gt;
- &lt;/enablement&gt;
-&lt;/pre&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         The Workbench provides a built-in &quot;Default Text Editor&quot;. Plug-ins can contribute into this default editor or editors provided by other plug-ins.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/editors.exsd b/bundles/org.eclipse.ui/schema/editors.exsd
deleted file mode 100644
index 7b70ad5..0000000
--- a/bundles/org.eclipse.ui/schema/editors.exsd
+++ /dev/null
@@ -1,299 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="editors" name="Internal and External Editors"/>

-   </appInfo>

-   <documentation>

-      This extension point is used to add new editors to the 
-workbench.  A editor is a visual component within a 
-workbench page. It is typically used to edit or browse 
-a document or input object.  To open an editor, the user 
-will typically invoke "Open" on an &lt;samp&gt;IFile&lt;/samp&gt;.  
-When this action is performed the workbench registry 
-is consulted to determine an appropriate editor for 
-the file type and then a new instance of the editor 
-type is created.  The actual result depends on the 
-type of the editor.  The workbench provides support 
-for the creation of internal editors, which are tightly 
-integrated into the workbench, and external editors, 
-which are launched in a separate frame window.  
-There are also various level of integration between 
-these extremes. 
-&lt;p&gt;
-In the case of an internal editor tight integration can 
-be achieved between the workbench window and the editor 
-part.  The workbench menu and toolbar are pre-loaded 
-with a number of common actions, such as cut, copy, and 
-paste.  The active part, view or editor, is expected to 
-provide the implementation for these actions. An internal 
-editor may also define new actions which appear in the 
-workbench window.  These actions only appear when the 
-editor is active. 
-&lt;p&gt;
-The integration between the workbench and external
-editors is more tenuous.  In this case the workbench 
-may launch an editor but after has no way of determining
-the state of the external editor or collaborating 
-with it by any means except through the file system.

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="editor" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="editor">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="name" icon="icon"/>

-         </appInfo>

-      </annotation>

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique name that will be used to identify this editor

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name that will be used in the UI for this editor

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="icon" type="string">

-            <annotation>

-               <documentation>

-                  a relative name of the icon that will be used for all resources that match the specified extensions. 
-An icon is not required if you specify a command rather than a class. In that case, the workbench 
-will use the icon provided by the operating system.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="resource"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="extensions" type="string">

-            <annotation>

-               <documentation>

-                  an optional field containing the list of file types understood by the editor.  This is a string containing comma separate file extensions.  For instance, an editor which understands hypertext documents may register for "htm, html".

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string">

-            <annotation>

-               <documentation>

-                  a name of the class that implements &lt;samp&gt;org.eclipse.ui.IEditorPart&lt;/samp&gt;.
-  Attributes &lt;samp&gt;class&lt;/samp&gt; and &lt;samp&gt;command&lt;/samp&gt; are mutually exclusive.  If this attribute is defined then &lt;samp&gt;contributorClass&lt;/samp&gt; should also be defined.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.part.EditorPart"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="command" type="string">

-            <annotation>

-               <documentation>

-                  a command to run in order to launch an external editor. The executable command must be located on the system path or in the plug-in's directory. Attributes
-&lt;samp&gt;class&lt;/samp&gt; and &lt;samp&gt;command&lt;/samp&gt; are mutually exclusive.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="contributorClass" type="string">

-            <annotation>

-               <documentation>

-                  a name of the class that implements 
-&lt;samp&gt;org.eclipse.ui.IEditorActionBarContributor&lt;/samp&gt;. The &lt;samp&gt;contributorClass&lt;/samp&gt; field should only be defined if the class field is defined.
-This class is used to add new actions to the workbench menu and tool bar which reflect the features of the editor type.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.part.EditorActionBarContributor"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="default" type="boolean" use="default" value="false">

-            <annotation>

-               <documentation>

-                  if true, this editor will be used as the default editor for the
-type. This is only relevant in a case where more than one editor
-is registered for the same type. If an editor is not the default
-for the type, it can still be launched using "Open with..."
-submenu for the selected resource.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="filenames" type="string">

-            <annotation>

-               <documentation>

-                  an optional field containing the list of file names 
-understood by the editor.  This is a string 
-containing comma separate file names.  For instance, 
-an editor which understands specific hypertext 
-documents may register for "ejb.htm, ejb.html".

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="launcher" type="string">

-            <annotation>

-               <documentation>

-                  the name of a class which implements 
-&lt;samp&gt;org.eclipse.ui.IEditorLauncher&lt;/samp&gt;. 
-A launcher will open an external editor. 
-Attributes &lt;samp&gt;class&lt;/samp&gt;, &lt;samp&gt;command&lt;/samp&gt; and 
-&lt;samp&gt;launcher&lt;/samp&gt; are mutually exclusive.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.IEditorLauncher"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="symbolicFontName" type="string">

-            <annotation>

-               <documentation>

-                  the symbolic name of a font. The symbolic font name must be the id of a defined font (see org.eclipse.ui.fontDefinitions). If this attribute is missing or invalid then the font name is the value of "org.eclipse.jface.textfont" in the editor's preferences store. If there is no preference store or the key is not defined then the JFace text font will be used. The editor implementation decides if it uses this symbolic font name to set the font.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is an example 
-of an internal editor extension definition: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point="org.eclipse.ui.editors"&gt; 
-      &lt;editor 
-         id="com.xyz.XMLEditor" 
-         name="Fancy XYZ XML editor" 
-         icon="./icons/XMLEditor.gif" 
-         extensions="xml" 
-         class="com.xyz.XMLEditor" 
-         contributorClass="com.xyz.XMLEditorContributor" 
-         symbolicFontName="org.eclipse.jface.textfont"
-         default="false"&gt; 
-      &lt;/editor&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         If the command attribute is used, it will be treated 
-as an external program command line that will be executed
- in a platform-dependent manner. 
-&lt;p&gt;
-If the launcher attribute is used the editor will also 
-be treated as an external program.  In this case the 
-specified class must implement 
-&lt;samp&gt;org.eclipse.ui.IEditorLauncher&lt;/samp&gt;. 
-The launcher will be instantiated and then 
-&lt;samp&gt;open(IFile file)&lt;/samp&gt; will be invoked to 
-launch the editor. 
-&lt;p&gt;
-If the class attribute is used, the workbench will 
-assume that it is an internal editor and the specified 
-class must implement &lt;samp&gt;org.eclipse.ui.IEditorPart&lt;/samp&gt;.
-It is common practice to 
-&lt;samp&gt;subclass org.eclipse.ui.EditorPart&lt;/samp&gt; when 
-defining a new editor type.  It is also necessary to 
-define a &lt;samp&gt;contributorClass&lt;/samp&gt; attribute.  
-The specified class must implement 
-&lt;samp&gt;org.eclipse.ui.IEditorActionBarContributor&lt;/samp&gt;, 
-and is used to add new actions to the workbench 
-menu and tool bar which reflect the features of the 
-editor type. 
-&lt;p&gt;
-Within the workbench there may be more than one open 
-editor of a particular type.  For instance, there may 
-be one or more open Java Editors.  To avoid the creation
-of duplicate actions and action images the editor 
-concept has been split into two.  An 
-&lt;samp&gt;IEditorActionBarContributor&lt;/samp&gt; is responsible
-for the creation of actions.  The editor is responsible 
-for action implementation.  Furthermore, the contributor 
-is shared by each open editor.  As a result of this 
-design there is only one set of actions for one or 
-more open editors. 
-&lt;p&gt;
-The contributor will add new actions to the workbench 
-menu and toolbar which reflect the editor type.  These 
-actions are shared and, when invoked, act upon the 
-active editor.  The active editor is passed to the 
-contributor by invoking 
-&lt;samp&gt;IEditorActionBarContributor.setActiveEditor&lt;/samp&gt;.  
-The identifiers for actions and major groups within 
-the workbench window are defined in 
-&lt;samp&gt;org.eclipse.ui.IWorkbenchActionConstants&lt;/samp&gt;.  
-These should be used as a reference point for the 
-addition of new actions.   Top level menus are created 
-by using the following values for the path attribute: 
-&lt;ul&gt;
-&lt;li&gt;
-additions - represents a group to the left of the Window menu. 
-&lt;/li&gt;
-&lt;/ul&gt;
-Actions and menus added into these paths will only be 
-shown while the associated editor is active. When the 
-editor is closed, menus and actions will be removed.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         The workbench provides a "Default Text Editor". The end user product may contain other editors as part of the shipping bundle. In that case, editors will be registered as extensions using the syntax described above.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2002,2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/elementFactories.exsd b/bundles/org.eclipse.ui/schema/elementFactories.exsd
deleted file mode 100644
index 2f769e5..0000000
--- a/bundles/org.eclipse.ui/schema/elementFactories.exsd
+++ /dev/null
@@ -1,162 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="elementFactories" name="Element Factories"/>

-   </appInfo>

-   <documentation>

-      This extension point is used to add element factories 
-to the workbench.  An element factory is used to 
-recreate &lt;samp&gt;IAdaptable&lt;/samp&gt; objects which are 
-persisted during workbench shutdown. 
-&lt;p&gt;
-As an example, the element factory is used to 
-persist editor input.  The input for an 
-editor must implement 
-&lt;samp&gt;org.eclipse.ui.EditorInput&lt;/samp&gt;.  
-The life cycle of an &lt;samp&gt;IEditorInput&lt;/samp&gt; within 
-an editor has a number of phases. 
-&lt;ol&gt;
-&lt;li&gt;
-The initial input for an editor is passed in during 
-editor creation. 
-&lt;/li&gt;
-&lt;li&gt;
-On shutdown the workbench state is captured.  
-In this process the workbench will create a memento 
-for each open editor and its input.  The input is 
-saved as a two part memento containing a factory ID 
-and any primitive data required to recreate the 
-element on startup.  For more information see 
-the documentation on 
-&lt;samp&gt;org.eclipse.ui.IPersistableElement&lt;/samp&gt;. 
-&lt;/li&gt;
-&lt;li&gt;
-On startup the workbench state is read and the 
-editors from the previous session are recreated.  
-In this process the workbench will recreate the input 
-element for each open editor.  To do this it will 
-map the original factory ID for the input element 
-to a concrete factory class defined in the registry.  
-If a mapping exists, and the factory class is valid, 
-an instance of the factory class is created.  Then 
-the workbench asks the factory to recreate the original 
-element from the remaining primitive data within the 
-memento.  The resulting &lt;samp&gt;IAdaptable&lt;/samp&gt; is cast
-to an &lt;samp&gt;IEditorInput&lt;/samp&gt; and passed to the 
-new editor. 
-&lt;/li&gt;
-&lt;/ol&gt;

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="factory" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="factory">

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique name that will be used to identify this factory.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified name of a class that implements 
-&lt;samp&gt;org.eclipse.ui.IElementFactory&lt;/samp&gt;

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.IElementFactory "/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is an example of an element factory extension: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension 
-        point = "org.eclipse.ui.elementFactories"&gt; 
-        &lt;factory 
-           id ="com.xyz.ElementFactory" 
-           class="com.xyz.ElementFactory"&gt; 
-        &lt;/factory&gt; 
-    &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The value of the &lt;samp&gt;class&lt;/samp&gt; attribute must 
-be a fully qualified name of a class that implements 
-&lt;samp&gt;org.eclipse.ui.IElementFactory&lt;/samp&gt;. An instance 
-of this class must create an &lt;samp&gt;IAdaptable&lt;/samp&gt; 
-object from a workbench memento.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         The workbench provides an &lt;samp&gt;IResource&lt;/samp&gt; factory.  
-Additional factories should be added to recreate other 
-&lt;samp&gt;IAdaptable&lt;/samp&gt; types commonly found in other 
-object models, such as the Java Model.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         &lt;p&gt;
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/exportWizards.exsd b/bundles/org.eclipse.ui/schema/exportWizards.exsd
deleted file mode 100644
index 1a0ad8f..0000000
--- a/bundles/org.eclipse.ui/schema/exportWizards.exsd
+++ /dev/null
@@ -1,189 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="exportWizards" name="Export Wizards"/>

-   </appInfo>

-   <documentation>

-      This extension point is used to register export wizard extensions. Export wizards appear as choices within the "Export Dialog", and are used to export resources from the workbench. 
-&lt;p&gt;
-Wizards may optionally specify a description subelement whose body should contain short text about the wizard.

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="wizard" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="wizard">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="name" icon="icon"/>

-         </appInfo>

-         <documentation>

-            an element that will be used to create export wizard

-         </documentation>

-      </annotation>

-      <complexType>

-         <sequence>

-            <element ref="description" minOccurs="0" maxOccurs="1"/>

-            <element ref="selection" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique name that will be used to identify this wizard

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name that will be used in the dialog box to represent this wizard

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified name of the class that implements &lt;tt&gt;org.eclipse.ui.IExportWizard&lt;/tt&gt;
-interface

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.jface.wizard.Wizard:org.eclipse.ui.IExportWizard"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="icon" type="string">

-            <annotation>

-               <documentation>

-                  a relative name of the icon that will be used 
-alongside the wizard name in the export engine listing.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="description" type="string">

-      <annotation>

-         <documentation>

-            an optional subelement whose body should represent a short description
-of the export engine functionality.

-         </documentation>

-      </annotation>

-   </element>

-

-   <element name="selection">

-      <annotation>

-         <documentation>

-            an optional element that restricts the types and names of objects that can be selected 
-when the wizard is invoked.

-         </documentation>

-      </annotation>

-      <complexType>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name filter.  Each object in the workbench selection must match the name filter to be passed to the wizard.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified class name.  If each object in the workbench selection implements this interface the selection will be passed to the wizard.  Otherwise, an empty selection is passed.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is an example of an export extension definition:
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension 
-       point="org.eclipse.ui.exportWizards"&gt; 
-      &lt;wizard 
-         id="com.xyz.ExportWizard1" 
-         name="XYZ Web Exporter" 
-         class="com.xyz.exports.ExportWizard1" 
-         icon="./icons/import1.gif"&gt; 
-         &lt;description&gt; 
-            A simple engine that exports Web project 
-         &lt;/description&gt; 
-         &lt;selection class="org.eclipse.core.resources.IProject"/&gt; 
-      &lt;/wizard&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The value of the &lt;samp&gt;class&lt;/samp&gt; attribute 
-must be a name of the class that implements 
-&lt;samp&gt;org.eclipse.ui.IExportWizard&lt;/samp&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         The workbench comes preloaded with basic export engines 
-for files and directories.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         &lt;p&gt;
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/fontDefinitions.exsd b/bundles/org.eclipse.ui/schema/fontDefinitions.exsd
deleted file mode 100644
index 1f0deac..0000000
--- a/bundles/org.eclipse.ui/schema/fontDefinitions.exsd
+++ /dev/null
@@ -1,157 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="fontDefinitions" name="Font Definitions"/>

-   </appInfo>

-   <documentation>

-      This extension point is used to register fonts with the JFace FontRegistry and with the workbench preference store for use by the Fonts preference page.

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="fontDefinition" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="fontDefinition">

-      <complexType>

-         <sequence>

-            <element ref="description" minOccurs="0" maxOccurs="1"/>

-         </sequence>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique name that can be used to identify this font definition.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="label" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name of the font to be presented to the user.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="defaultsTo" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the id of another  font definition that is the default setting for the receiver. When there is no preference for this font the font registry will have the value of defaultsTo set for it in the registry.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="description" type="string">

-      <annotation>

-         <documentation>

-            a short description of the fonts usage

-         </documentation>

-      </annotation>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         Release 2.1

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         Following is an example of an a font definition extension:
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point="org.eclipse.ui.fontDefinition"&gt; 
-      &lt;fontDefinition 
-         id="org.eclipse.examples.textFont" 
-         label="Text"&gt; 
-         &lt;description&gt;
-            The text font
-         &lt;/description&gt;
-      &lt;/fontDefinition&gt; 
-
-      &lt;fontDefinition 
-        id="org.eclipse.examples.userFont" 
-        label="User"
-        defaultsTo="org.eclipse.jface.textFont"&gt; 
-        &lt;description&gt;
-           The user font
-        &lt;/description&gt;
-      &lt;/fontDefinition&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The defaultsTo tag is used as a directive by
-the Workbench to set the value of the font definition to the value of defaultsTo
-whenever the defaultsTo fontDefinition is updated. This only occurs if the
-fontDefinition is at its default value - once it is set by the user this updates
-will not occur. The workbench provides 4 fonts: 
-&lt;P&gt;&lt;b&gt;org.eclipse.jface.bannerfont&lt;/b&gt;. The banner font is used in wizard banners.&lt;br&gt;
-&lt;b&gt;org.eclipse.jface.dialogfont&lt;/b&gt;. The dialog font is the font for widgets in dialogs.&lt;br&gt;
-&lt;b&gt;org.eclipse.jface.headerfont&lt;/b&gt;. The header font is used for section headers in composite text pages.&lt;br&gt;
-&lt;b&gt;org.eclipse.jface.textfont&lt;/b&gt;. The text font is used by text editors.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         The workbench provides the font
-definitions for the text, dialog, banner and header fonts.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         &lt;p&gt;
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/importWizards.exsd b/bundles/org.eclipse.ui/schema/importWizards.exsd
deleted file mode 100644
index e0b8bee..0000000
--- a/bundles/org.eclipse.ui/schema/importWizards.exsd
+++ /dev/null
@@ -1,185 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="importWizards" name="Import Wizards"/>

-   </appInfo>

-   <documentation>

-      This extension point is used to register import wizard extensions. Import wizards appear as choices within the "Import Dialog" and are used to import resources into the workbench. 
-&lt;P&gt;
-Wizards may optionally specify a description subelement whose body should contain short text about the wizard.

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="wizard" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="wizard">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="name" icon="icon"/>

-         </appInfo>

-         <documentation>

-            an element that will be used to create import wizard

-         </documentation>

-      </annotation>

-      <complexType>

-         <sequence>

-            <element ref="description" minOccurs="0" maxOccurs="1"/>

-            <element ref="selection" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique name that will be used to identify this wizard

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name that will be used in the dialog box to represent this wizard

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified name of the class that implements &lt;samp&gt;org.eclipse.ui.IImportWizard&lt;/samp&gt; interface

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.jface.wizard.Wizard:org.eclipse.ui.IImportWizard"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="icon" type="string">

-            <annotation>

-               <documentation>

-                  a relative name of the icon that will be used alongside the wizard name in the import engine listing.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="resource"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="description" type="string">

-      <annotation>

-         <documentation>

-            an optional subelement whose body should represent a short description of the import engine functionality.

-         </documentation>

-      </annotation>

-   </element>

-

-   <element name="selection">

-      <annotation>

-         <documentation>

-            an optional element that restricts the types and names of objects that can be selected when the wizard is invoked.

-         </documentation>

-      </annotation>

-      <complexType>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name filter.  Each object in the workbench selection must match the name filter to be passed to the wizard.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  fully qualified class name.  If each object in the workbench selection implements this interface the selection will be passed to the wizard.  Otherwise, an empty selection is passed.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is an example of an import extension definition: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension 
-       point="org.eclipse.ui.importWizards"&gt; 
-      &lt;wizard 
-         id="com.xyz.ImportWizard1" 
-         name="XYZ Web Scraper" 
-         class="com.xyz.imports.ImportWizard1" 
-         icon="./icons/import1.gif"&gt; 
-         &lt;description&gt; 
-            A simple engine that searches the Web and imports files 
-         &lt;/description&gt; 
-         &lt;selection class="org.eclipse.core.resources.IResource"/&gt; 
-      &lt;/wizard&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The value of the &lt;samp&gt;class&lt;/samp&gt; attribute must represent a name of the class that implements 
- &lt;samp&gt;org.eclipse.ui.IImportWizard&lt;/samp&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         The workbench comes preloaded with the basic import engines for files and directories.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2002,2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/markerHelp.exsd b/bundles/org.eclipse.ui/schema/markerHelp.exsd
deleted file mode 100644
index 5ffa482..0000000
--- a/bundles/org.eclipse.ui/schema/markerHelp.exsd
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="markerHelp" name="Marker Help"/>

-   </appInfo>

-   <documentation>

-      This extension point is used to associate a help context id with a specific "kind" of marker (a marker of a certain type or having certain attribute values).

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="markerHelp" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="markerHelp">

-      <complexType>

-         <sequence>

-            <element ref="attribute" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="markerType" type="string">

-            <annotation>

-               <documentation>

-                  the unique type of the marker for which the help context applies.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="helpContextId" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the unique id of the help context.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="attribute">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="name"/>

-         </appInfo>

-      </annotation>

-      <complexType>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the name of the attribute whose value is being specified.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="value" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the specified value of the attribute.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         Release 2.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is an example of a marker help extension (not the sub-element and the way attributes are used):
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point="org.eclipse.ui.markerHelp"&gt;
-  &lt;markerHelp
-   markerType="org.eclipse.ui.examples.readmetool.readmemarker"
-   helpContextId="org.eclipse.ui.examples.readmetool.marker_example1_context"&gt;
-   &lt;attribute name="org.eclipse.ui.examples.readmetool.id" value="1234"/&gt;
-  &lt;/markerHelp&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, a help context id is associated with markers of type org.eclipse.ui.examples.readmetool.readmemarker
-whose org.eclipse.ui.examples.readmetool.id attribute has a value of 1234.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         It is up to the developer to ensure that only a single help context id is supplied for a given marker.
-If two or more help context ids are supplied for a given kind of marker, the workbench does not define which will be returned.
-However the workbench does define that the "most specific" context id will always be returned for a given marker.
-That is, a context id associated with three matching attribute values will be returned before a context id associated with only two.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2002,2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2002, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/markerResolution.exsd b/bundles/org.eclipse.ui/schema/markerResolution.exsd
deleted file mode 100644
index faeb1af..0000000
--- a/bundles/org.eclipse.ui/schema/markerResolution.exsd
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="markerResolution" name="Marker Resolutions"/>

-   </appInfo>

-   <documentation>

-      This extension point is used to associate a marker resolution generator with a specific "kind" of marker.
-(a marker of a certain type or having certain attribute values).

-   </documentation>

-</annotation>

-

- <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         Release 2.0

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="markerResolutionGenerator" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="markerResolutionGenerator">

-      <complexType>

-         <sequence>

-            <element ref="attribute" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the name of the class implementing IMarkerResolutionGenerator

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.IMarkerResolutionGenerator"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="markerType" type="string">

-            <annotation>

-               <documentation>

-                  the type of marker for which the help context applies.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="attribute">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="name"/>

-         </appInfo>

-      </annotation>

-      <complexType>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the name of the attribute whose value is being specified.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="value" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the specified value of the attribute.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is an example of a marker resolution generator extension (note the sub-element and the way attributes are used):
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point="org.eclipse.ui.markerResolution"&gt;
-  &lt;markerResolutionGenerator
-   class="org.eclipse.ui.examples.readmetool.ReadmeMarkerResolutionGenerator"
-   markerType="org.eclipse.ui.examples.readmetool.readmemarker"&gt;
-   &lt;attribute name="org.eclipse.ui.examples.readmetool.id" value="1234"/&gt;
-  &lt;/markerResolutionGenerator&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, a marker resolution generator is associated with markers of type org.eclipse.ui.examples.readmetool.readmemarker
-whose org.eclipse.ui.examples.redmetool.id attribute has a value of 1234.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         More than one marker help generator may be supplied for a given marker.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-Copyright (c) 2002, 2003 IBM Corporation and others.

-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/markerUpdaters.exsd b/bundles/org.eclipse.ui/schema/markerUpdaters.exsd
deleted file mode 100644
index 89c9bb0..0000000
--- a/bundles/org.eclipse.ui/schema/markerUpdaters.exsd
+++ /dev/null
@@ -1,144 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="markerUpdaters" name="Marker Updaters"/>

-   </appInfo>

-   <documentation>

-      This extension point is used for registering marker update strategies with marker annotation models. A resource that is opened in a text editor is associated with a marker annotation model. For each marker attached to the resource this model manages a position that is updated with each change applied to the text in the editor. If the resource is saved, the text in the editor and the position managed for a marker are passed over to the registered marker update strategies. These strategies can then update the marker's attributes based on the text and the position. Marker update strategies are requested to implement the interface &lt;samp&gt;org.eclipse.ui.texteditor.IMarkerUpdater&lt;/samp&gt;. The update strategies can be registered either for a particular marker type or all marker types. The latter by omitting any marker type in the extension.

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="updater" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="updater">

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the unique id of this provider

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="markerType" type="string">

-            <annotation>

-               <documentation>

-                  the name of the marker type

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the qualified name of the marker updater class

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         Release 1.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         &lt;pre&gt;
-&lt;extension point= "org.eclipse.ui.markerUpdaters"&gt; 
-    &lt;updater 
-        id="org.eclipse.jdt.ui.markerUpdaters.JavaSearchMarkerUpdater" 
-        class="org.eclipse.jdt.internal.ui.search.JavaSearchMarkerUpdater" 
-        markerType="org.eclipse.search.searchmarker"&gt; 
-    &lt;/updater&gt; 
-&lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;p&gt;
-This example registers &lt;samp&gt;org.eclipse.jdt.internal.ui.search.JavaSearchMarkerUpdater&lt;/samp&gt; as a marker updater for all markers of the 
-type &lt;samp&gt;org.eclipse.search.searchmarker&lt;/samp&gt; including all its derived types.
-&lt;/p&gt;
-&lt;pre&gt;
-&lt;extension point= "org.eclipse.ui.markerUpdaters"&gt; 
-    &lt;updater 
-        id="org.eclipse.ui.texteditor.BasicMarkerUpdater" 
-        class="org.eclipse.ui.texteditor.BasicMarkerUpdater"&gt; 
-    &lt;/updater&gt; 
-&lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;p&gt;
-This example registers &lt;samp&gt;org.eclipse.ui.texteditor.BasicMarkerUpdater&lt;/samp&gt; as a marker updater independent from the type of the marker. 
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         Registered marker updaters have to implement the interface &lt;samp&gt;org.eclipse.ui.texteditor.IMarkerUpdater&lt;/samp&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         &lt;p&gt;

-&lt;a href="hglegal.htm"&gt;

- &lt;img SRC="ngibmcpy.gif"

-   ALT="Copyright IBM Corp. 2000, 2003. All Rights Reserved."

-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;

-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/newWizards.exsd b/bundles/org.eclipse.ui/schema/newWizards.exsd
deleted file mode 100644
index ab44da7..0000000
--- a/bundles/org.eclipse.ui/schema/newWizards.exsd
+++ /dev/null
@@ -1,253 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="newWizards" name="Creation Wizards"/>

-   </appInfo>

-   <documentation>

-      This extension point is used to register resource creation wizard extensions. Creation wizards appear as choices within the "New Dialog", and are typically used to create folders and files. 
-&lt;p&gt;
-In the "New Dialog", wizards are organized into categories which usually reflect a particular problem domain.  For instance, a Java oriented plugin may define a category called "Java" which is appropriate for "Class" or "Package" creation wizards.  The categories defined by one plug-in can be referenced by other plug-ins using the category attribute. Uncategorized wizards, as well as wizards with invalid category paths, will end up in an "Other" category. 
-&lt;p&gt;
-Wizards may optionally specify a description subelement whose body should contain short text about the wizard.

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <choice minOccurs="0" maxOccurs="unbounded">

-            <element ref="category"/>

-            <element ref="wizard"/>

-         </choice>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="category">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="name"/>

-         </appInfo>

-      </annotation>

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique name that can be used to identify this category

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name of the category that will be used in the dialog box

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="parentCategory" type="string">

-            <annotation>

-               <documentation>

-                  a path to another category if this category should be added as a child

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="wizard">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="name" icon="icon"/>

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

-            <element ref="description" minOccurs="0" maxOccurs="1"/>

-            <element ref="selection" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique name that can be used to identify this wizard

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name of the wizard that will be used in the dialog box

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="icon" type="string">

-            <annotation>

-               <documentation>

-                  a relative path of an icon that will be used together with the name to represent the wizard 
-as one of the choices in the creation dialog box.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="category" type="string">

-            <annotation>

-               <documentation>

-                  a slash-delimited path ('/') of category IDs. Each token in the
-path must represent a valid category ID previously defined
-by this or some other plug-in. If omitted, the wizard will be
-added to the "Other" category.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified name of the Java class implementing &lt;samp&gt;org.eclipse.ui.INewWizard&lt;/samp&gt;.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.jface.wizard.Wizard:org.eclipse.ui.INewWizard"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="finalPerspective" type="string">

-            <annotation>

-               <documentation>

-                  an optional attribute which identifies a perspective to activate when IProject resource creation is finished.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="project" type="boolean">

-            <annotation>

-               <documentation>

-                  an optional attribute indicating the wizard will create an IProject resource.
-Also cause the wizard to appear as a choice within the "New Project Dialog".

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="description" type="string">

-      <annotation>

-         <documentation>

-            an optional subelement whose body contains a short text describing what the wizard will do when started

-         </documentation>

-      </annotation>

-   </element>

-

-   <element name="selection">

-      <complexType>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified class name.  If each object in the workbench selection implements this interface the selection will be passed to the wizard.  Otherwise, an empty selection is passed

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name filter.  Each object in the workbench selection must match the name filter to be passed to the wizard

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         Following is an example of creation wizard configuration: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point="org.eclipse.ui.newWizards"&gt; 
-      &lt;category 
-        id="com.xyz.XYZ" 
-        name="XYZ Wizards"&gt; 
-      &lt;/category&gt; 
-      &lt;category 
-        id="com.xyz.XYZ.Web" 
-        name="Web Wizards" 
-        parentCategory="com.xyz.XYZ"&gt; 
-      &lt;/category&gt; 
-      &lt;wizard 
-          id="com.xyz.wizard1" 
-          name="XYZ artifact" 
-          category="com.xyz.XYZ/com.xyz.XYZ.Web" 
-          icon="./icons/XYZwizard1.gif" 
-          class="com.xyz.XYZWizard1"&gt; 
-          &lt;description&gt; 
-              Create a simple XYZ artifact and set initial content 
-          &lt;/description&gt; 
-           &lt;selection class="org.eclipse.core.resources.IResource"/&gt;          
-      &lt;/wizard&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The value of the class attribute must represent a class 
-that implements &lt;samp&gt;org.eclipse.ui.INewWizard&lt;/samp&gt;. 
-If the wizard is created from within the 
-New Wizard it will be inserted into the existing wizard.  
-If the wizard is launched as a shortcut 
-(from the File New menu or a toolbar button) it will 
-appear standalone as a separate dialog box.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         The workbench comes with wizards for creating empty 
-resources of the following types: 
-project, folder and file. These wizards are registered 
-using the same mechanism as described above. 
-Additional wizards may also appear, subject to 
-particular platform installation.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2002, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/perspectiveExtensions.exsd b/bundles/org.eclipse.ui/schema/perspectiveExtensions.exsd
deleted file mode 100644
index 723a2c9..0000000
--- a/bundles/org.eclipse.ui/schema/perspectiveExtensions.exsd
+++ /dev/null
@@ -1,267 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="perspectiveExtensions" name="Perspective Extensions"/>

-   </appInfo>

-   <documentation>

-      This extension point is used to extend perspectives 
-registered by other plug-ins. A perspective defines 
-the initial contents of the window action bars 
-(menu and toolbar) and the initial set of views 
-and their layout within a workbench page.  
-Other plug-ins may contribute actions or views to 
-the perspective which appear when the perspective 
-is selected.  Optional additions by other plug-ins 
-are appended to the initial definition.

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="perspectiveExtension" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="perspectiveExtension">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="targetID"/>

-         </appInfo>

-      </annotation>

-      <complexType>

-         <choice minOccurs="0" maxOccurs="unbounded">

-            <element ref="actionSet"/>

-            <element ref="viewShortcut"/>

-            <element ref="perspectiveShortcut"/>

-            <element ref="newWizardShortcut"/>

-            <element ref="view"/>

-         </choice>

-         <attribute name="targetID" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the unique identifier of the perspective (as specified in the registry) into which the contribution is made.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="actionSet">

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the unique identifier of the action set which will be added to the perspective.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="viewShortcut">

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the unique identifier of the view which will be added to the perspective's "Show View" submenu of the "Window" menu.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="perspectiveShortcut">

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the unique identifier of the perspective which will be added to the perspective's "Open Perspective" submenu of the "Window" menu.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="newWizardShortcut">

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the unique identifier of the new wizard which will be added to the perspective's "New" submenu of the "File" menu.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="showInPart">

-      <complexType>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  the unique identifier of the view which will be added to the perspective's "Show In..." prompter in the Navigate menu.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="view">

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the unique identifier of the view which will be added to the perspective layout.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="relative" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the unique identifier of a view which already exists in the perspective.  This will be used as a reference point for placement of the view.  The relationship between these two views is defined by &lt;samp&gt;relationship&lt;/samp&gt;.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="relationship" use="required">

-            <annotation>

-               <documentation>

-                  specifies the relationship between &lt;samp&gt;id&lt;/samp&gt; and
-&lt;samp&gt;relative&lt;/samp&gt;. 
-The following values are supported:
-&lt;ul&gt;
-&lt;b&gt;fast&lt;/b&gt; - the view extension will be created as a fast view.
-&lt;br&gt;&lt;b&gt;stack&lt;/b&gt; - the view extension will be stacked with the relative
-view in a folder.
-&lt;br&gt;&lt;b&gt;left, right, top, bottom&lt;/b&gt; - the view extension will be placed
-beside the relative view. In this case a &lt;samp&gt;ratio&lt;/samp&gt; must also
-be defined.&lt;/ul&gt;

-               </documentation>

-            </annotation>

-            <simpleType>

-               <restriction base="string">

-                  <enumeration value="stack">

-                  </enumeration>

-                  <enumeration value="left">

-                  </enumeration>

-                  <enumeration value="right">

-                  </enumeration>

-                  <enumeration value="top">

-                  </enumeration>

-                  <enumeration value="bottom">

-                  </enumeration>

-                  <enumeration value="fast">

-                  </enumeration>

-               </restriction>

-            </simpleType>

-         </attribute>

-         <attribute name="ratio" type="string">

-            <annotation>

-               <documentation>

-                  the percentage of area within the relative view which will be donated to the view extension. If the view extension is a fast view, the ratio is the percentage of the workbench the fast view will cover when active. This must be defined as a floating point value and lie between 0.05 and 0.95.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="visible" type="boolean">

-            <annotation>

-               <documentation>

-                  whether the view is initially visible when the perspective is opened.  This attribute should have a value of "true" or "false" if used.
-If this attribute is not used, the view will be initially visible by default.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is an example of a perspective extension (note the subelements and the way attributes are used):
-&lt;p&gt;
-&lt;pre&gt;
-    &lt;extension point="org.eclipse.ui.perspectiveExtensions"&gt; 
-        &lt;perspectiveExtension 
-            targetID="org.eclipse.ui.resourcePerspective"&gt; 
-            &lt;actionSet id="org.eclipse.jdt.ui.JavaActionSet"/&gt; 
-            &lt;viewShortcut id="org.eclipse.jdt.ui.PackageExplorer"/&gt; 
-            &lt;newWizardShortcut id="org.eclipse.jdt.ui.wizards.NewProjectCreationWizard"/&gt; 
-            &lt;perspectiveShortcut id="org.eclipse.jdt.ui.JavaPerspective"/&gt; 
-            &lt;view id="org.eclipse.jdt.ui.PackageExplorer" 
-                relative="org.eclipse.ui.views.ResourceNavigator" 
-                relationship="stack"/&gt; 
-            &lt;view id="org.eclipse.jdt.ui.TypeHierarchy" 
-                relative="org.eclipse.ui.views.ResourceNavigator" 
-                relationship="left" 
-                ratio="0.50"/&gt; 
-        &lt;/perspectiveExtension&gt; 
-    &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-&lt;p&gt;
-In the example above, an action set, view shortcut, 
-new wizard shortcut, and perspective shortcut are 
-contributed to the initial contents of the 
-Resource Perspective.  In addition, the 
-Package Explorer view is stacked on the 
-Resource Navigator and the Type Hierarchy View is 
-added beside the Resource Navigator. 
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The items defined within the perspective extension are contributed to the initial contents of the target perspective.  Following this, the user may remove any contribution or add others to a perspective from within the workbench user interface.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         &lt;p&gt;
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/perspectives.exsd b/bundles/org.eclipse.ui/schema/perspectives.exsd
deleted file mode 100644
index 21fc4ce..0000000
--- a/bundles/org.eclipse.ui/schema/perspectives.exsd
+++ /dev/null
@@ -1,161 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="perspective" name="Perspectives"/>

-   </appInfo>

-   <documentation>

-      This extension point is used to add perspective factories to the workbench.  A perspective factory is used to define the initial layout and visible action sets for a perspective.  The user can select a perspective by invoking the "Open Perspective" submenu of the "Window" menu.

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="perspective" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="perspective">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="name" icon="icon"/>

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

-            <element ref="description" minOccurs="0" maxOccurs="1"/>

-         </sequence>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique name that will be used to identify this perspective.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name that will be used in the workbench window menu bar to represent this perspective.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified name of the class that implements 
-&lt;samp&gt;org.eclipse.ui.IPerspectiveFactory&lt;/samp&gt; interface.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.IPerspectiveFactory"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="icon" type="string">

-            <annotation>

-               <documentation>

-                  a relative name of the icon that will be associated 
-with this perspective.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="resource"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="description" type="string">

-      <annotation>

-         <documentation>

-            an optional subelement whose body should contain text providing short description of the perspective.

-         </documentation>

-      </annotation>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is an example of a perspective extension: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension 
-        point="org.eclipse.ui.perspectives"&gt; 
-        &lt;perspective 
-            id="org.eclipse.ui.resourcePerspective" 
-            name="Resource" 
-            class="org.eclipse.ui.internal.ResourcePerspective" 
-            icon="icons/MyIcon.gif"&gt; 
-        &lt;/perspective&gt; 
-    &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The value of the &lt;samp&gt;class&lt;/samp&gt; attribute must be the 
-fully qualified name of a class that implements 
-&lt;samp&gt;org.eclipse.ui.IPerspectiveFactory&lt;/samp&gt;. 
-The class must supply the initial layout for a 
-perspective when asked by the workbench.
-&lt;p&gt;
-The &lt;samp&gt;plugin_customization.ini&lt;/samp&gt; file is used to define the default perspective.  The &lt;i&gt;default perspective&lt;/i&gt; is the first perspective which appears when the product is launched after install.  It is also used when the user opens a page or window with no specified perspective.  The default perspective is defined as a property within the plugin_customization.ini, as shown below.  The user may also override this perspective from the workbench perspectives preference page. 
-&lt;pre&gt;
-    defaultPerspectiveId = org.eclipse.ui.resourcePerspective 
-&lt;/pre&gt;
-The perspectives which appear in the "Open Perspective" menu are shortcuts for perspective selection.  This set is defined by the active perspective itself, and extensions made through the perspectiveExtensions extension point.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         The workbench provides a "Resource Perspective".  
-Additional perspectives may be added by plug-ins. 
-They are selected using the "Open Perspective" submenu of the "Window" menu.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2002, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/popupMenus.exsd b/bundles/org.eclipse.ui/schema/popupMenus.exsd
deleted file mode 100644
index edbe054..0000000
--- a/bundles/org.eclipse.ui/schema/popupMenus.exsd
+++ /dev/null
@@ -1,535 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.ui" id="popupMenus" name="Pop-up Menus"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to add new actions to context menus owned by other plug-ins.  Action contribution may be made against a specific object type (&lt;samp&gt;objectContribution&lt;/samp&gt;) or against a specific context menu of a view or editor part (&lt;samp&gt;viewerContribution&lt;/samp&gt;). When using &lt;samp&gt;objectContribution&lt;/samp&gt;, the contribution will appear in all view or editor part context menus where objects of the specified type are selected. In contrast, using &lt;samp&gt;viewerContribution&lt;/samp&gt;, the contribution will only appear in the specified view or editor part context menu, regardless of the selection.
-&lt;p&gt;
-When selection is heterogeneous, contribution will be applied if registered against a common type of the selection, if possible. If a direct match is not possible, matching against superclasses and superinterfaces will be attempted. 
-&lt;p&gt;
-Selection can be further constrained through the use of a name filter. If used, all the objects in the selection must match the filter in order to apply the contribution. 
-&lt;p&gt;
-Individual actions in an object contribution can use attribute enablesFor to specify if it should only apply for a single, multiple, or any other selection type. 
-&lt;p&gt;
-If these filtering mechanisms are inadequate an action contribution may use the &lt;samp&gt;filter&lt;/samp&gt; mechanism.  In this case the attributes of the target object are described in a series of name value pairs.  The attributes which apply to the selection are type specific and beyond the domain of the workbench itself, so the workbench will delegate filtering at this level to the actual selection.

-      </documentation>

-   </annotation>

-

-   <include schemaLocation="commonAction.mxsd"/>

-

-   <include schemaLocation="commonExpression.mxsd"/>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="objectContribution" minOccurs="1" maxOccurs="unbounded"/>

-            <element ref="viewerContribution" minOccurs="1" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="objectContribution">

-      <annotation>

-         <documentation>

-            This element is used to define a group of actions and/or menus for any viewer context menus for which the objects of the specified type are selected.

-         </documentation>

-      </annotation>

-      <complexType>

-         <sequence>

-            <element ref="filter" minOccurs="0" maxOccurs="unbounded"/>

-            <element ref="visibility" minOccurs="0" maxOccurs="1"/>

-            <element ref="menu" minOccurs="0" maxOccurs="unbounded"/>

-            <element ref="action" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique identifier used to reference this contribution

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="objectClass" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified name of the class or interface that all objects in the 
-selection must subclass or implement.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="java.lang.object"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="nameFilter" type="string">

-            <annotation>

-               <documentation>

-                  an optional wild card filter for the name that can be applied to all objects in the selection. No contribution will take place if there is no match.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="adaptable" type="boolean" use="default" value="false">

-            <annotation>

-               <documentation>

-                  a flag that indicates if types that adapt to IResource should use this object contribution. This flag is used only if objectClass adapts to IResource.  Default value is false.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="viewerContribution">

-      <annotation>

-         <documentation>

-            This element is used to define a group of actions and/or menus for a specific view or editor part context menu.

-         </documentation>

-      </annotation>

-      <complexType>

-         <sequence>

-            <element ref="visibility" minOccurs="0" maxOccurs="1"/>

-            <element ref="menu" minOccurs="0" maxOccurs="unbounded"/>

-            <element ref="action" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique identifier used to reference this contribution

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="targetID" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the unique identifier of a context menu inside a view or editor part.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="action">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="label" icon="icon"/>

-         </appInfo>

-         <documentation>

-            This element defines an action that the user can invoke in the UI.

-         </documentation>

-      </annotation>

-      <complexType>

-         <sequence>

-            <element ref="selection" minOccurs="0" maxOccurs="unbounded"/>

-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>

-         </sequence>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique identifier used as a reference for this action.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="label" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name used as the menu item text. The name can include mnenomic information.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="menubarPath" type="string">

-            <annotation>

-               <documentation>

-                  a slash-delimited path (&apos;/&apos;) used to specify the location of this action in the context menu. Each token in the path, except the last one, must represent a valid identifier of an existing menu in the hierarchy. The last token represents the named group into which this action will be added. If the path is omitted, this action will be added to the standard additions group defined by &lt;samp&gt;IWorkbenchActionConstants.MB_ADDITIONS&lt;/samp&gt;.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="icon" type="string">

-            <annotation>

-               <documentation>

-                  a relative path of an icon used to visually represent the action in its context.
-The path is relative to the location of the plugin.xml file of the contributing plug-in.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="resource"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="helpContextId" type="string">

-            <annotation>

-               <documentation>

-                  a unique identifier indicating the help context for this action. If the action appears as a menu item, then pressing F1 while the menu item is highlighted will display help.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="style">

-            <annotation>

-               <documentation>

-                  an optional attribute to define the user interface style type for the action. If defined, the attribute value will be one of the following:
-    &lt;table border=&quot;0&quot; width=&quot;80%&quot;&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;push&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a regular menu item or tool item.&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;radio&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a radio style menu item or tool item. Actions with the radio style within the same menu or toolbar group behave as a radio set. The initial value is specified by the &lt;samp&gt;state&lt;/samp&gt; attribute.&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;toggle&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a checked style menu item or as a toggle tool item. The initial value is specified by the &lt;samp&gt;state&lt;/samp&gt; attribute.&lt;/td&gt;
-      &lt;/tr&gt;
-    &lt;/table&gt;

-               </documentation>

-            </annotation>

-            <simpleType>

-               <restriction base="string">

-                  <enumeration value="push">

-                  </enumeration>

-                  <enumeration value="radio">

-                  </enumeration>

-                  <enumeration value="toggle">

-                  </enumeration>

-               </restriction>

-            </simpleType>

-         </attribute>

-         <attribute name="state" type="boolean">

-            <annotation>

-               <documentation>

-                  an optional attribute indicating the initial state (either &lt;samp&gt;true&lt;/samp&gt; or &lt;samp&gt;false&lt;/samp&gt;), used when the &lt;samp&gt;style&lt;/samp&gt; attribute has the value &lt;samp&gt;radio&lt;/samp&gt; or &lt;samp&gt;toggle&lt;/samp&gt;.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a name of the fully qualified class that implements &lt;samp&gt;org.eclipse.ui.IObjectActionDelegate&lt;/samp&gt; (for object contributions), &lt;samp&gt;org.eclipse.ui.IViewActionDelegate&lt;/samp&gt; (for viewer contributions to a view part), or &lt;samp&gt;org.eclipse.ui.IEditorActionDelegate&lt;/samp&gt; (for viewer contributions to an editor part).  For backwards compatibility, &lt;samp&gt;org.eclipse.ui.IActionDelegate&lt;/samp&gt; may be implemented for object contributions.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="enablesFor" type="string">

-            <annotation>

-               <documentation>

-                  a value indicating the selection count which must be met to enable the action.
-If this attribute is specified and the condition is met, the action is enabled.
-If the condition is not met, the action is disabled.
-If no attribute is specified, the action is enabled for any number of items selected.
-The following attribute formats are supported: 
-    &lt;table border=&quot;0&quot; width=&quot;80%&quot;&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;!&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 0 items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;?&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 0 or 1 items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;+&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 1 or more items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;multiple, 2+&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 2 or more items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;n&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- a precise number of items selected.a precise number of items selected.&amp;nbsp;
-          For example: enablesFor=&amp;quot; 4&amp;quot; enables the action only when 4
-          items are selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;*&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- any number of items selected&lt;/td&gt;
-      &lt;/tr&gt;
-    &lt;/table&gt;
-&lt;p&gt;
-The enablement criteria for an action extension are initially defined 
-by &lt;samp&gt;enablesFor&lt;/samp&gt;, &lt;samp&gt;selection&lt;/samp&gt; and &lt;samp&gt;enablement&lt;/samp&gt;.  However, once the action
-delegate has been instantiated it may control the action enable state directly 
-within its &lt;samp&gt;selectionChanged&lt;/samp&gt; method.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="filter">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="name"/>

-         </appInfo>

-         <documentation>

-            This element is used to evaluate the attribute state of each object in the current selection. A match only if each object in the selection has the specified attribute state. Each object in the selection must implement, or adapt to, <samp>org.eclipse.ui.IActionFilter</samp>. Ignored if the <samp>visibility</samp> element is specified for the contribution.

-

-         </documentation>

-      </annotation>

-      <complexType>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the name of an object&apos;s attribute. Acceptable names reflect the object type, and should be publicly declared by the plug-in where the object type is declared.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="value" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the required value of the object&apos;s attribute. The acceptable values for the object&apos;s attribute should be publicly declared.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is an example of a pop-up menu extension point: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.popupMenus&quot;&gt; 
-      &lt;objectContribution 
-         id=&quot;com.xyz.C1&quot; 
-         objectClass=&quot;org.eclipse.core.resources.IFile&quot; 
-         nameFilter=*.java&quot;&gt; 
-         &lt;menu
-            id=&quot;com.xyz.xyzMenu&quot; 
-            path=&quot;additions&quot; 
-            label=&quot;&amp;amp;XYZ Java Tools&quot;&gt; 
-            &lt;separator name=&quot;group1&quot;/&gt; 
-         &lt;/menu&gt; 
-         &lt;action
-            id=&quot;com.xyz.runXYZ&quot; 
-            label=&quot;&amp;amp;Run XYZ Tool&quot;
-            style=&quot;push&quot;
-            menubarPath=&quot;com.xyz.xyzMenu/group1&quot; 
-            icon=&quot;icons/runXYZ.gif&quot; 
-            helpContextId=&quot;com.xyz.run_action_context&quot; 
-            class=&quot;com.xyz.actions.XYZToolActionDelegate&quot; 
-            enablesFor=&quot;1&quot;&gt; 
-         &lt;/action&gt; 
-      &lt;/objectContribution&gt; 
-      &lt;viewerContribution 
-         id=&quot;com.xyz.C2&quot; 
-         targetID=&quot;org.eclipse.ui.views.TaskList&quot;&gt; 
-         &lt;action
-            id=&quot;com.xyz.showXYZ&quot; 
-            label=&quot;&amp;amp;Show XYZ&quot;
-            style=&quot;toggle&quot;
-            state=&quot;true&quot;
-            menubarPath=&quot;additions&quot; 
-            icon=&quot;icons/showXYZ.gif&quot; 
-            helpContextId=&quot;com.xyz.show_action_context&quot; 
-            class=&quot;com.xyz.actions.XYZShowActionDelegate&quot;&gt; 
-         &lt;/action&gt; 
-      &lt;/viewerContribution&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-In the example above, the specified object contribution action will only enable for a single selection (&lt;samp&gt;enablesFor&lt;/samp&gt; attribute). In addition, each object in the selection must implement the specified interface (&lt;samp&gt;IFile&lt;/samp&gt;) and must be a Java file. This action will be added into a submenu previously created. This contribution 
-will be effective in any view that has the required selection. 
-&lt;p&gt;
-In contrast, the viewer contribution above will only appear in the Tasks view context menu, and will not be affected by the selection in the view. 
-&lt;p&gt;
-The following is an example of the filter mechanism. In this case the action will only appear for IMarkers which are completed and have high priority. 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.popupMenus&quot;&gt; 
-      &lt;objectContribution 
-         id=&quot;com.xyz.C3&quot; 
-         objectClass=&quot;org.eclipse.core.resources.IMarker&quot;&gt; 
-         &lt;filter name=&quot;done&quot; value=&quot;true&quot;/&gt; 
-         &lt;filter name=&quot;priority&quot; value=&quot;2&quot;/&gt; 
-         &lt;action
-            id=&quot;com.xyz.runXYZ&quot; 
-            label=&quot;High Priority Completed Action Tool&quot; 
-            icon=&quot;icons/runXYZ.gif&quot; 
-            class=&quot;com.xyz.actions.MarkerActionDelegate&quot;&gt; 
-         &lt;/action&gt; 
-      &lt;/objectContribution&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-The following is an other example of using the visibility element: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.popupMenus&quot;&gt; 
-      &lt;viewerContribution 
-         id=&quot;com.xyz.C4&quot; 
-         targetID=&quot;org.eclipse.ui.views.TaskList&quot;&gt;
-         &lt;visibility&gt;
-            &lt;and&gt;
-               &lt;pluginState id=&quot;com.xyz&quot; value=&quot;activated&quot;/&gt;
-               &lt;systemProperty name=&quot;ADVANCED_MODE&quot; value=&quot;true&quot;/&gt;
-            &lt;/and&gt;
-         &lt;/visibility&gt;
-         &lt;action
-            id=&quot;com.xyz.showXYZ&quot; 
-            label=&quot;&amp;amp;Show XYZ&quot;
-            style=&quot;push&quot;
-            menubarPath=&quot;additions&quot; 
-            icon=&quot;icons/showXYZ.gif&quot; 
-            helpContextId=&quot;com.xyz.show_action_context&quot; 
-            class=&quot;com.xyz.actions.XYZShowActionDelegate&quot;&gt; 
-         &lt;/action&gt; 
-      &lt;/viewerContribution&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-&lt;p&gt;
-In the example above, the specified action will appear as a menu item in the Task view context menu, but only if the &quot;com.xyz&quot; plug-in is active and the specified system property is set to true.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The value of the action attribute &lt;samp&gt;class&lt;/samp&gt;
-must be a fully qualified class name of a Java class 
-that implements &lt;samp&gt;org.eclipse.ui.IObjectActionDelegate&lt;/samp&gt;
-in the case of object contributions, 
-&lt;samp&gt;org.eclipse.ui.IViewActionDelegate&lt;/samp&gt;
-for contributions to context menus that belong to views, 
-or &lt;samp&gt;org.eclipse.ui.IEditorActionDelegate&lt;/samp&gt;
-for contributions to context menus that belong to editors.  
-In all cases, the implementing class is loaded as late 
-as possible to avoid loading the entire plug-in before 
-it is really needed. 
-&lt;p&gt;
-Note: For backwards compatibility, 
-&lt;samp&gt;org.eclipse.ui.IActionDelegate&lt;/samp&gt; may be 
-implemented for object contributions. 
-&lt;p&gt;
-Conext menu extension within a part is only possible 
-when the target part publishes a menu for extension.  
-This is strongly encouraged, as it improves the 
-extensibility of the product. To accomplish this 
-each part should publish any context menus which are 
-defined by calling 
-&lt;samp&gt;IWorkbenchPartSite.registerContextMenu&lt;/samp&gt;.  
-Once this has been done the workbench will 
-automatically insert any action extensions which exist. 
-&lt;p&gt;
-A menu id must be provided for each registered menu.  
-For consistency across parts the following strategy 
-should be adopted by all part implementors. 
-&lt;p&gt;
-&lt;ul&gt;
-&lt;li&gt;
-If the target part has only one context menu it 
-should be registered with id == part id.  This can be 
-done easily by calling 
-&lt;samp&gt;registerContextMenu(MenuManager, ISelectionProvider)&lt;/samp&gt;.  
-Extenders may use the part id itself as the targetID for 
-the action extension. &lt;/li&gt;
-&lt;li&gt;
-If the target part has more than one context menu a 
-unique id should be defined for each.  Prefix each id 
-with the part id and publish these id&apos;s within 
-the javadoc for the target part.  Register each 
-menu at runtime by calling 
-&lt;samp&gt;registerContextMenu(String, MenuManager, ISelectionProvider)&lt;/samp&gt;. 
-Extenders will use the unique menu id as the targetID 
-for the action extension. &lt;/li&gt;&lt;/ul&gt;
-&lt;p&gt;
-Any context menu which is registered with the workbench 
-also should contain a standard insertion point with id 
-&lt;samp&gt;IWorkbenchActionConstants.MB_ADDITIONS&lt;/samp&gt;.  
-Other plug-ins will use this value as a reference 
-point for insertion.  The insertion point may be 
-defined by adding a GroupMarker to the menu at an 
-appropriate location for insertion. 
-&lt;p&gt;
-An object in the workbench which is the selection 
-in a context menu may define an 
-&lt;samp&gt;org.eclipse.ui.IActionFilter&lt;/samp&gt;.  This is a 
-filtering strategy which can perform type specific 
-filtering.  The workbench will retrieve the filter 
-for the selection by testing to see if it implements 
-&lt;samp&gt;IActionFilter&lt;/samp&gt;.  If that fails, the 
-workbench will ask for a filter through the 
-&lt;samp&gt;IAdaptable&lt;/samp&gt; mechanism.
-&lt;p&gt;
-Action and menu labels may contain special characters that encode mnemonics which are specified using the ampersand (&apos;&amp;amp;&apos;) character in front of a selected character in the translated text. Since ampersand is not allowed in XML strings, use &lt;samp&gt;&amp;amp;amp;&lt;/samp&gt; character entity. 
-&lt;p&gt;
-If two or more actions are contributed to a menu by a single extension the actions will appear in the reverse order of how they are listed in the plugin.xml file. This behavior is admittedly unintuitive.  However, it was discovered after the  Eclipse Platform API was frozen.  Changing the behavior now would break every plug-in which relies upon the existing behavior.
-&lt;p&gt;
-The &lt;samp&gt;selection&lt;/samp&gt; and &lt;samp&gt;enablement&lt;/samp&gt; elements are mutually exclusive. The &lt;samp&gt;enablement&lt;/samp&gt; element can replace the &lt;samp&gt;selection&lt;/samp&gt; element using the sub-elements &lt;samp&gt;objectClass&lt;/samp&gt; and &lt;samp&gt;objectState&lt;/samp&gt;. For example, the following:
-&lt;pre&gt;
- &lt;selection
-  class=&quot;org.eclipse.core.resources.IFile&quot;
-  name=&quot;*.java&quot;&gt;
- &lt;/selection&gt;
-&lt;/pre&gt;
-can be expressed using:
-&lt;pre&gt;
- &lt;enablement&gt;
-  &lt;and&gt;
-   &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-   &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-  &lt;/and&gt;
- &lt;/enablement&gt;
-&lt;/pre&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         The workbench views have built-in context menus 
-that already come loaded with a number of actions. 
-Plug-ins can contribute to these menus. If a viewer 
-has reserved slots for these contributions and they 
-are made public, slot names can be used as paths. 
-Otherwise, actions and submenus will be added at 
-the end of the pop-up menu.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/preferencePages.exsd b/bundles/org.eclipse.ui/schema/preferencePages.exsd
deleted file mode 100644
index 397ca1d..0000000
--- a/bundles/org.eclipse.ui/schema/preferencePages.exsd
+++ /dev/null
@@ -1,156 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="preferencePages" name="Preference Pages"/>

-   </appInfo>

-   <documentation>

-      The workbench provides one common dialog box for preferences.
-The purpose of this extension point is to allow plug-ins to add
-pages to the preference dialog box. When preference dialog box
-is opened (initiated from the menu bar), pages contributed in
-this way will be added to the dialog box. 
-
-&lt;p&gt;
-The preference dialog
-box provides for hierarchical grouping of the pages. For this
-reason, a page can optionally specify a &lt;samp&gt;category&lt;/samp&gt; attribute.
-This
-attribute represents a path composed of parent page IDs separated
-by '/'. If this attribute is omitted or if any of the parent
-nodes in the path cannot be found, the page will be added at
-the root level.

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="page" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="page">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="name"/>

-         </appInfo>

-      </annotation>

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique name that will be used to identify this page.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name that will be used in the UI for this page.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a name of the fully qualified class that implements 
-&lt;samp&gt;org.eclipse.ui.IWorkbenchPreferencePage&lt;/samp&gt;.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.jface.preference.PreferencePage:org.eclipse.ui.IWorkbenchPreferencePage"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="category" type="string">

-            <annotation>

-               <documentation>

-                  a path indicating the location of the page in the preference tree. The path may either be a parent node ID or a sequence
-     of IDs separated by '/', representing the full path from the root node.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is an example for the preference extension point: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension 
-       point="org.eclipse.ui.preferencePages"&gt; 
-      &lt;page 
-         id="com.xyz.prefpage1" 
-         name="XYZ" 
-         class="com.xyz.prefpages.PrefPage1"&gt; 
-      &lt;/page&gt; 
-      &lt;page 
-         id="com.xyz.prefpage2" 
-         name="Keyboard Settings" 
-         class="com.xyz.prefpages.PrefPage2" 
-         category="com.xyz.prefpage1"&gt; 
-      &lt;/page&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The value of the attribute class must represent a fully qualified name of the class that implements
-&lt;samp&gt;org.eclipse.ui.IWorkbenchPreferencePage&lt;/samp&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         The workbench adds several pages for setting the preferences of the platform. Pages registered
-through this extension will be added after them according to their category information.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         &lt;p&gt;
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/projectNatureImages.exsd b/bundles/org.eclipse.ui/schema/projectNatureImages.exsd
deleted file mode 100644
index 0af038e..0000000
--- a/bundles/org.eclipse.ui/schema/projectNatureImages.exsd
+++ /dev/null
@@ -1,133 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="projectNatureImages" name="Project Nature Images"/>

-   </appInfo>

-   <documentation>

-      This extension point is used to associate an image with a project nature.
-The supplied image is used to form a composite image consisting of the standard project image combined with the image of its nature.
-The supplied image is drawn over the top right corner of the base image.

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="image" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="image">

-      <complexType>

-         <sequence>

-            <element ref="description" minOccurs="0" maxOccurs="1"/>

-         </sequence>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique name that will be used to identify this nature image.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="natureId" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the unique name of the nature for which the image is being supplied.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="icon" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a relative name of the image that will be associated with this perspective.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="resource"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="description" type="string">

-      <annotation>

-         <documentation>

-            a short description of what this image represents.

-         </documentation>

-      </annotation>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is an example of a nature image extension:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point="org.eclipse.ui.projectNatureImages"&gt;
-  &lt;image 
-    id="org.eclipse.ui.javaNatureImage"
-    natureId="Resource"
-    icon="icons/javaNature.gif"&gt;
-  &lt;/image&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The value of the &lt;samp&gt;natureId&lt;/samp&gt; attribute is the nature id as defined by the plugin creating the project.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2002, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/propertyPages.exsd b/bundles/org.eclipse.ui/schema/propertyPages.exsd
deleted file mode 100644
index 5f7b579..0000000
--- a/bundles/org.eclipse.ui/schema/propertyPages.exsd
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="propertyPages" name="Property Pages"/>

-   </appInfo>

-   <documentation>

-      This extension point is used to add additional property page for objects of a given type.  Once defined, these property pages will appear in the Properties Dialog for objects of that type. 
-&lt;p&gt;
-A property page is a user friendly way to interact with the properties of an object.  Unlike the Properties view, which restricts the space available for editing an object property, a property page may benefit from the freedom to define larger, more complex controls with labels, icons, etc.  Properties which logically go together may also be clustered in a page, rather than scattered in the property sheet. However, in most applications it will be appropriate to expose some properties of an object via the property sheet and some via the property pages. 
-&lt;p&gt;
-Property pages are shown in a dialog box that is normally visible when the "Properties" menu item is selected on a pop-up menu for an object. In addition to the object class, the name filter can optionally be supplied to register property pages only for specific object types. 
-&lt;p&gt;
-If these filtering mechanisms are inadequate a property page may use the filter mechanism.  In this case the attributes of the target object are described in a series of key value pairs.  The attributes which apply to the selection are type specific and beyond the domain of the workbench itself, so the workbench will delegate filtering at this level to the actual selection.

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="page" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="page">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="name" icon="icon"/>

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

-            <element ref="filter" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique name that will be used to identify this page

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name that will be used in the UI for this page

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="icon" type="string">

-            <annotation>

-               <documentation>

-                  a relative path to an icon that will be used in the UI in addition to the page name

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="resource"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="objectClass" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified name of the class for which the page is registered.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified name of the class that implements &lt;tt&gt;org.eclipse.ui.IWorkbenchPropertyPage&lt;/tt&gt;.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.dialogs.PropertyPage:org.eclipse.ui.IWorkbenchPropertyPage"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="nameFilter" type="string">

-            <annotation>

-               <documentation>

-                  an optional attribute that allows registration conditional on
-wild card match applied to the target object name.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="adaptable" type="boolean">

-            <annotation>

-               <documentation>

-                  a flag that indicates if types that adapt to IResource should use this property page.
-This flag is used if objectClass adapts to IResource.  Default value is false.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="filter">

-      <complexType>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the name of an object attribute.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="value" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the value of an object attribute.  In combination with
-the name attribute, the name value pair is used to 
-define the target object for a property page.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is an example of the property page definition: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point="org.eclipse.ui.propertyPages"&gt; 
-        &lt;page 
-            id="com.xyz.projectPage" 
-            name="XYZ Java Properties" 
-            objectClass="org.eclipse.core.resources.IFile" 
-            class="com.xyz.ppages.JavaPropertyPage" 
-            nameFilter="*.java"&gt; 
-            &lt;filter name="readOnly" value="true"/&gt; 
-        &lt;/page&gt; 
-    &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The attribute &lt;samp&gt;class&lt;/samp&gt; must specify a fully qualified name 
-of the class that implements 
-&lt;samp&gt;org.eclipse.ui.IWorkbenchPropertyPage&lt;/samp&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         Some objects provided by the workbench may have 
-property pages registered. Plug-ins are allowed 
-to add more property pages for these objects. 
-Property pages are not limited to workbench 
-resources: all objects showing up in the workbench 
-(even domain specific objects created by the plug-ins) 
-may have property pages and other plug-ins are 
-allowed to register property pages for them.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         &lt;p&gt;
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/resourceFilters.exsd b/bundles/org.eclipse.ui/schema/resourceFilters.exsd
deleted file mode 100644
index d263059..0000000
--- a/bundles/org.eclipse.ui/schema/resourceFilters.exsd
+++ /dev/null
@@ -1,118 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="resourceFilters" name="Resource Filters"/>

-   </appInfo>

-   <documentation>

-      This extension point is used to add predefined filters to views which show resources, such as the Navigator view.
-These filters can be selected to hide resources whose names match the filter's pattern.

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="filter" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="filter">

-      <complexType>

-         <sequence>

-            <element ref="description" minOccurs="0" maxOccurs="1"/>

-         </sequence>

-         <attribute name="pattern" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the pattern to match.  May contain * and ? wildcards.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="selected" type="boolean" use="default" value="false">

-            <annotation>

-               <documentation>

-                  "true" if the pattern should be selected by default, "false" or undefined if not.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="description" type="string">

-      <annotation>

-         <documentation>

-            the description of the purpose of this filter.

-         </documentation>

-      </annotation>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is an example of a resource filter extension, which filters out class files, and is selected by default:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point="org.eclipse.ui.resourceFilters"&gt;
-  &lt;filter pattern="*.class" selected="true"/&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2002, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/startup.exsd b/bundles/org.eclipse.ui/schema/startup.exsd
deleted file mode 100644
index 99fa911..0000000
--- a/bundles/org.eclipse.ui/schema/startup.exsd
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="startup" name="Startup"/>

-   </appInfo>

-   <documentation>

-      This extension point is used to register plugins that want to be activated on startup. The plugin class must implement the interface &lt;samp&gt;org.eclipse.ui.IStartup&lt;/samp&gt;. Once the workbench is started, the method earlyStartup() will be called from a separated thread. 
-
-These plugins are listed in the workbench preferences and the user may disable any plugin from early starting up.

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="startup" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="startup" type="string">

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         Release 2.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         Following is an example of a startup extension: 
-&lt;pre&gt;
-&lt;p&gt;
-   &lt;extension point="org.eclipse.ui.startup"/&gt; 
-&lt;/p&gt;
-&lt;/pre&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         See interface &lt;samp&gt;org.eclipse.ui.IStartup&lt;/samp&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         &lt;p&gt;
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/viewActions.exsd b/bundles/org.eclipse.ui/schema/viewActions.exsd
deleted file mode 100644
index 993d9ff..0000000
--- a/bundles/org.eclipse.ui/schema/viewActions.exsd
+++ /dev/null
@@ -1,405 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.ui" id="viewActions" name="View Menus,Toolbars and Actions"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to add actions to the pulldown menu and toolbar for views registered by other plug-ins. Each view has a local pulldown menu normally activated 
-by clicking on the top right triangle button. Other plug-ins can contribute submenus and actions to this menu. Plug-ins may also contribute actions to a view toolbar. View owners are first given a chance to populate these areas. Optional additions by other plug-ins are appended.

-      </documentation>

-   </annotation>

-

-   <include schemaLocation="commonAction.mxsd"/>

-

-   <include schemaLocation="commonExpression.mxsd"/>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="viewContribution" minOccurs="1" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="viewContribution">

-      <annotation>

-         <documentation>

-            This element is used to define a group of view actions and/or menus.

-         </documentation>

-      </annotation>

-      <complexType>

-         <sequence>

-            <element ref="menu" minOccurs="0" maxOccurs="unbounded"/>

-            <element ref="action" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique identifier used to reference this contribution.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="targetID" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique identifier of a registered view that is the target of this contribution.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="action">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="label" icon="icon"/>

-         </appInfo>

-         <documentation>

-            This element defines an action that the user can invoke in the UI.

-         </documentation>

-      </annotation>

-      <complexType>

-         <choice>

-            <element ref="selection" minOccurs="0" maxOccurs="unbounded"/>

-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>

-         </choice>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique identifier used as a reference for this action.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="label" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name used either as the menu item text or toolbar button label. The name can include mnenomic information.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="menubarPath" type="string">

-            <annotation>

-               <documentation>

-                  a slash-delimited path (&apos;/&apos;) used to specify the location of this action in the pulldown menu. Each token in the path, except the last one, must represent a valid identifier of an existing menu in the hierarchy. The last token represents the named group into which this action will be added. If the path is omitted, this action will not appear in the pulldown menu.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="toolbarPath" type="string">

-            <annotation>

-               <documentation>

-                  a named group within the local toolbar of the target view. If the group does not exist, it will be created. If omitted, the action will not appear in the local toolbar.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="icon" type="string">

-            <annotation>

-               <documentation>

-                  a relative path of an icon used to visually represent the action in its context.
-If omitted and the action appears in the toolbar, the Workbench will use a placeholder icon. The path is relative to the location of the plugin.xml file of the contributing plug-in. The icon will appear in the toolbar but not in the pulldown menu.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="resource"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="disabledIcon" type="string">

-            <annotation>

-               <documentation>

-                  a relative path of an icon used to visually represent the action in its context when the action is disabled. If omitted, the normal icon will simply appear greyed out. The path is relative to the location of the plugin.xml file of the contributing plug-in. The disabled icon will appear in the toolbar but not in the pulldown menu.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="resource"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="hoverIcon" type="string">

-            <annotation>

-               <documentation>

-                  a relative path of an icon used to visually represent the action in its context when the mouse pointer is over the action. If omitted, the normal icon will be used. The path is relative to the location of the plugin.xml file of the contributing plug-in.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="resource"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="tooltip" type="string">

-            <annotation>

-               <documentation>

-                  a translatable text representing the action&apos;s tool tip. Only used if the action appears in the toolbar.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="helpContextId" type="string">

-            <annotation>

-               <documentation>

-                  a unique identifier indicating the help context for this action. If the action appears as a menu item, then pressing F1 while the menu item is highlighted will display help.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="style" use="default" value="push">

-            <annotation>

-               <documentation>

-                  an optional attribute to define the user interface style type for the action. If defined, the attribute value will be one of the following:
-    &lt;table border=&quot;0&quot; width=&quot;80%&quot;&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;push&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a regular menu item or tool item.&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;radio&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a radio style menu item or tool item. Actions with the radio style within the same menu or toolbar group behave as a radio set. The initial value is specified by the &lt;samp&gt;state&lt;/samp&gt; attribute.&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;toggle&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a checked style menu item or as a toggle tool item. The initial value is specified by the &lt;samp&gt;state&lt;/samp&gt; attribute.&lt;/td&gt;
-      &lt;/tr&gt;
-    &lt;/table&gt;

-               </documentation>

-            </annotation>

-            <simpleType>

-               <restriction base="string">

-                  <enumeration value="push">

-                  </enumeration>

-                  <enumeration value="radio">

-                  </enumeration>

-                  <enumeration value="toggle">

-                  </enumeration>

-               </restriction>

-            </simpleType>

-         </attribute>

-         <attribute name="state" type="boolean">

-            <annotation>

-               <documentation>

-                  an optional attribute indicating the initial state (either &lt;samp&gt;true&lt;/samp&gt; or &lt;samp&gt;false&lt;/samp&gt;), used when the &lt;samp&gt;style&lt;/samp&gt; attribute has the value &lt;samp&gt;radio&lt;/samp&gt; or &lt;samp&gt;toggle&lt;/samp&gt;.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  name of the fully qualified class that implements &lt;samp&gt;org.eclipse.ui.IViewActionDelegate&lt;/samp&gt;.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.IViewActionDelegate"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="enablesFor" type="string">

-            <annotation>

-               <documentation>

-                  a value indicating the selection count which must be met to enable the action.
-If this attribute is specified and the condition is met, the action is enabled.
-If the condition is not met, the action is disabled.
-If no attribute is specified, the action is enabled for any number of items selected.
-The following attribute formats are supported: 
-    &lt;table border=&quot;0&quot; width=&quot;80%&quot;&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;!&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 0 items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;?&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 0 or 1 items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;+&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 1 or more items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;multiple, 2+&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 2 or more items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;n&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- a precise number of items selected.a precise number of items selected.&amp;nbsp;
-          For example: enablesFor=&amp;quot; 4&amp;quot; enables the action only when 4
-          items are selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;*&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- any number of items selected&lt;/td&gt;
-      &lt;/tr&gt;
-    &lt;/table&gt;

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is an example of a view action extension:
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.viewActions&quot;&gt; 
-      &lt;viewContribution 
-         id=&quot;com.xyz.xyzViewC1&quot; 
-         targetID=&quot;org.eclipse.ui.views.navigator.ResourceNavigator&quot;&gt; 
-         &lt;menu
-            id=&quot;com.xyz.xyzMenu&quot; 
-            label=&quot;XYZ Menu&quot; 
-            path=&quot;additions&quot;&gt; 
-            &lt;separator name=&quot;group1&quot;/&gt; 
-         &lt;/menu&gt; 
-         &lt;action
-            id=&quot;com.xyz.runXYZ&quot; 
-            label=&quot;&amp;amp;Run XYZ Tool&quot; 
-            menubarPath=&quot;com.xyz.xyzMenu/group1&quot; 
-            toolbarPath=&quot;Normal/additions&quot;
-            style=&quot;toggle&quot;
-            state=&quot;true&quot; 
-            icon=&quot;icons/runXYZ.gif&quot; 
-            tooltip=&quot;Run XYZ Tool&quot; 
-            helpContextId=&quot;com.xyz.run_action_context&quot; 
-            class=&quot;com.xyz.actions.RunXYZ&quot;&gt; 
-            &lt;selection class=&quot;org.eclipse.core.resources.IFile&quot; name=&quot;*.java&quot;/&gt; 
-         &lt;/action&gt; 
-     &lt;/viewContribution&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-&lt;p&gt;
-In the example above, the specified action will only enable for a single selection (&lt;samp&gt;enablesFor&lt;/samp&gt; attribute). In addition, the object in the selection must be a Java file resource.
-&lt;/p&gt;
-&lt;p&gt;
-The following is an other example of a view action extension: 
-&lt;/p&gt;
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.viewActions&quot;&gt; 
-      &lt;viewContribution 
-         id=&quot;com.xyz.xyzViewC1&quot; 
-         targetID=&quot;org.eclipse.ui.views.navigator.ResourceNavigator&quot;&gt; 
-         &lt;menu
-            id=&quot;com.xyz.xyzMenu&quot; 
-            label=&quot;XYZ Menu&quot; 
-            path=&quot;additions&quot;&gt; 
-            &lt;separator name=&quot;group1&quot;/&gt; 
-         &lt;/menu&gt; 
-         &lt;action 
-            id=&quot;com.xyz.runXYZ2&quot; 
-            label=&quot;&amp;amp;Run XYZ2 Tool&quot; 
-            menubarPath=&quot;com.xyz.xyzMenu/group1&quot;
-            style=&quot;push&quot;
-            icon=&quot;icons/runXYZ2.gif&quot; 
-            tooltip=&quot;Run XYZ2 Tool&quot; 
-            helpContextId=&quot;com.xyz.run_action_context2&quot; 
-            class=&quot;com.xyz.actions.RunXYZ2&quot;&gt; 
-            &lt;enablement&gt;
-               &lt;and&gt;
-                  &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-                  &lt;not&gt;
-                     &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-                  &lt;/not&gt;
-               &lt;/and&gt;
-            &lt;/enablement&gt;
-         &lt;/action&gt; 
-      &lt;/editorContribution&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-&lt;p&gt;
-In the example above, the specified action will appear as a menu item. The action is enabled if the selection contains no Java file resources.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The value of the &lt;samp&gt;class&lt;/samp&gt; attribute must be a fully qualified name of a Java class that implements &lt;samp&gt;org.eclipse.ui.IViewActionDelegate&lt;/samp&gt;. This class is loaded as late as possible to avoid loading the entire plug-in before it is really needed.
-&lt;p&gt;
-The interface &lt;samp&gt;org.eclipse.ui.IViewActionDelegate&lt;/samp&gt; extends &lt;samp&gt;org.eclipse.ui.IActionDelegate&lt;/samp&gt; and adds an additional method that allows the 
-delegate to initialize with the view instance it is contributing into.
-&lt;/p&gt;
-&lt;p&gt;
-This extension point can be used to contribute actions into menus previously created by the target view. Omitting the menu path attribute will result in adding the new menu or action at the end of the pulldown menu.
-&lt;/p&gt;
-&lt;p&gt;
-The enablement criteria for an action extension is initially defined by &lt;samp&gt;enablesFor&lt;/samp&gt;, and also either &lt;samp&gt;selection&lt;/samp&gt; or &lt;samp&gt;enablement&lt;/samp&gt;. However, once the action delegate has been instantiated, it may control the action enable state directly within its &lt;samp&gt;selectionChanged&lt;/samp&gt; method.
-&lt;/p&gt;
-&lt;p&gt;
-Action and menu labels may contain special characters that encode mnemonics using the following rules:
-&lt;ol&gt;
-&lt;li&gt;
-Mnemonics are specified using the ampersand (&apos;&amp;amp;&apos;) character in front
-of a selected character in the translated text. Since ampersand is not
-allowed in XML strings, use &lt;samp&gt;&amp;amp;amp;&lt;/samp&gt; character entity.&lt;/li&gt;
-&lt;/ol&gt;
-If two or more actions are contributed to a menu or toolbar by a single extension the actions will appear in the reverse order of how they are listed in the plugin.xml file. This behavior is admittedly unintuitive.  However, it was discovered after the  Eclipse Platform API was frozen.  Changing the behavior now would break every plug-in which relies upon the existing behavior.
-&lt;p&gt;
-The &lt;samp&gt;selection&lt;/samp&gt; and &lt;samp&gt;enablement&lt;/samp&gt; elements are mutually exclusive. The &lt;samp&gt;enablement&lt;/samp&gt; element can replace the &lt;samp&gt;selection&lt;/samp&gt; element using the sub-elements &lt;samp&gt;objectClass&lt;/samp&gt; and &lt;samp&gt;objectState&lt;/samp&gt;. For example, the following:
-&lt;pre&gt;
- &lt;selection
-  class=&quot;org.eclipse.core.resources.IFile&quot;
-  name=&quot;*.java&quot;&gt;
- &lt;/selection&gt;
-&lt;/pre&gt;
-can be expressed using:
-&lt;pre&gt;
- &lt;enablement&gt;
-  &lt;and&gt;
-   &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-   &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-  &lt;/and&gt;
- &lt;/enablement&gt;
-&lt;/pre&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         Each view normally comes with a number of standard items on the pulldown menu and local toolbar. Additions from other plug-ins will be appended to the standard complement.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2000, 2003 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/views.exsd b/bundles/org.eclipse.ui/schema/views.exsd
deleted file mode 100644
index 7766435..0000000
--- a/bundles/org.eclipse.ui/schema/views.exsd
+++ /dev/null
@@ -1,209 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="views" name="Views"/>

-   </appInfo>

-   <documentation>

-      This extension point is used to define additional views 
-for the workbench.  A view is a visual component 
-within a workbench page.  It is typically used to 
-navigate a hierarchy of information (like the workspace), 
-open an editor,  or display properties for 
-the active editor.  The user can make a view 
-visible from the View menu or close it from the 
-view local title bar. 
-&lt;p&gt;
-In order to reduce the visual clutter in the Show View Dialog, views should be grouped using categories.

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <choice minOccurs="0" maxOccurs="unbounded">

-            <element ref="category"/>

-            <element ref="view"/>

-         </choice>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="category">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="name"/>

-         </appInfo>

-      </annotation>

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique name that will be used to identify this category

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name that will be used in the UI for this category

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="parentCategory" type="string">

-            <annotation>

-               <documentation>

-                  an optional path composed of category IDs separated by '/'. This
-attribute provides for creating category hierarchy.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="view">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="name" icon="icon"/>

-         </appInfo>

-      </annotation>

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique name that will be used to identify this view

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a translatable name that will be used in the UI for this view

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="category" type="string">

-            <annotation>

-               <documentation>

-                  an optional attribute that is composed of the category IDs separated
-by '/'. Each referenced category must exist prior to being referenced
-in this attribute.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified name of the class the implements 
-&lt;samp&gt;org.eclipse.ui.IViewPart&lt;/samp&gt;. A common practice 
-is to subclass &lt;samp&gt;org.eclipse.ui.part.ViewPart&lt;/samp&gt; 
-in order to inherit the default functionality.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.part.ViewPart"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="icon" type="string">

-            <annotation>

-               <documentation>

-                  a relative name of the icon that will 
-be associated with the view.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="resource"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="fastViewWidthRatio" type="string">

-            <annotation>

-               <documentation>

-                  the percentage of the width of the workbench that the view will take up as an active fast view.
-This must be defined as a floating point value and lie between 0.05 and 0.95.
-If no value is supplied, a default ratio will be used.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is an example of the extension point: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point="org.eclipse.ui.views"&gt; 
-      &lt;category 
-         id="com.xyz.views.XYZviews" 
-         name="XYZ"&gt; 
-      &lt;/category&gt; 
-      &lt;view 
-         id="com.xyz.views.XYZView" 
-         name="XYZ View" 
-         category="com.xyz.views.XYZviews" 
-         class="com.xyz.views.XYZView" 
-         icon="icons/XYZ.gif"&gt; 
-      &lt;/view&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The value of the &lt;samp&gt;class&lt;/samp&gt; attribute must be a 
-fully qualified name of the class that implements 
-&lt;samp&gt;org.eclipse.ui.IViewPart&lt;/samp&gt;.  It is common 
-practice to subclass &lt;samp&gt;org.eclipse.ui.part.ViewPart&lt;/samp&gt;
- when developing a new view.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         The workbench provides a number of standard views including Navigator, Properties, Outline and Tasks. From the user point of view, these views are no different from any other view provided by the plug-ins. All the views can be shown from the "Show View" submenu of the "Window" menu. The position of a view is persistent: it is saved when the view is closed and restored when the view is reopened in a single session.  The position is also persisted between workbench sessions.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         &lt;p&gt;
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/workingSets.exsd b/bundles/org.eclipse.ui/schema/workingSets.exsd
deleted file mode 100644
index 9ade7a3..0000000
--- a/bundles/org.eclipse.ui/schema/workingSets.exsd
+++ /dev/null
@@ -1,148 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.ui">

-<annotation>

-   <appInfo>

-      <meta.schema plugin="org.eclipse.ui" id="workingSets" name="Working Sets"/>

-   </appInfo>

-   <documentation>

-      This extension point is used to define a working set wizard page. Working sets contain a number of elements of type IAdaptable and can be used to group elements for presentation to the user or for operations on a set of elements. A working set wizard page is used to create and edit working sets that contain elements of a specific type.
-&lt;p&gt;
-To select a working set the user is presented with a list of working sets that exist in the workbench. From that list a working set can be selected and edited using one of the wizard pages defined using this extension point. An existing working set is always edited with the wizard page that was used to create it or with the default resource based working set page if the original page is not available.
-&lt;p&gt;
-A new working set can be defined by the user from the same working set selection dialog. When a new working set is defined, the plugin provided wizard page is preceded by a page listing all available working set types. This list is made up of the name attribute values of each working set extension. 
-&lt;p&gt;
-Views provide a user interface to open the working set selection dialog and must store the selected working set.
-&lt;p&gt;
-The resource navigator uses a working set to filter elements from the navigator view. Only parents and children of working set elements are shown in the view, in addition to the working set elements themselves.

-   </documentation>

-</annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="workingSet" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="workingSet">

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a unique name that can be used to identify this working set dialog.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the name of the element type that will be displayed and edited by the working set page. This should be a descriptive name like "Resource" or "Java Element".

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="icon" type="string">

-            <annotation>

-               <documentation>

-                  the relative path of an image that will be displayed in the working set type list on the first page of the working set creation wizard as well as in the working set selection dialog.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="resource"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="pageClass" type="string" use="required">

-            <annotation>

-               <documentation>

-                  the fully qualified name of a Java class implementing &lt;samp&gt;org.eclipse.ui.dialogs.IWorkingSetPage&lt;/samp&gt;.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         Release 2.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         Following is an example of how the resource working set dialog extension is defined to display and edit generic IResource elements: 
-&lt;p&gt;
-&lt;pre&gt;
-    &lt;extension point="org.eclipse.ui.workingSets"&gt;
-        &lt;workingSet
-            id="org.eclipse.ui.resourceWorkingSetPage"
-            name="Resource"
-            icon="icons/resworkset.gif"
-            pageClass="org.eclipse.ui.internal.dialogs.ResourceWorkingSetPage"&gt;
-        &lt;/workingSet&gt;
-    &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         The value of the pageClass attribute must represent a class that implements the &lt;samp&gt;org.eclipse.ui.dialogs.IWorkingSetPage&lt;/samp&gt; interface.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         The workbench provides a working set wizard page for creating and editing resource based working sets.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         &lt;p&gt;
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved.   This program and the accompanying materials are 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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/scripts/exportplugin.xml b/bundles/org.eclipse.ui/scripts/exportplugin.xml
deleted file mode 100644
index 317590e..0000000
--- a/bundles/org.eclipse.ui/scripts/exportplugin.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<!-- build script to create a plugin from org.eclipse.ui -->
-<project name="Export Eclipse UI" default="exportAll" basedir="..">
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="plugin"  value="org.eclipse.ui" />
-		<property name="version"  value="_2.1.0" />
-		<property name="dest"  value="${destdir}/${plugin}${version}" />
-	</target>
-
-	<target name="build" depends="init">
-    	<eclipse.incrementalBuild project="${plugin}" kind="incr"/>
-	</target>
-
-	<target name="export" depends="build">
-		<mkdir dir="${destdir}" />
-		<delete dir="${dest}" />
-		<mkdir dir="${dest}" />
-		<jar 
-			jarfile="${dest}/ui.jar"
-			basedir="bin"
-		/>
-		<copy file="plugin.xml" todir="${dest}"/>
-		<copy file="plugin.properties" todir="${dest}"/>
-		<copy todir="${dest}/icons">
-			<fileset dir="icons" />
-		</copy>
-		<zip zipfile="${dest}/uisrc.zip">
-		    <fileset dir="src" />
-  		</zip>				
-	</target>
-
-	<target name="exportAll">
-		<antcall target="export"/>
-		<ant antfile="scripts/exportplugin.xml" dir="../org.eclipse.text" target="export"/>
-		<ant antfile="scripts/exportplugin.xml" dir="../org.eclipse.jface" target="export"/>
-		<ant antfile="scripts/exportplugin.xml" dir="../org.eclipse.jface.text" target="export"/>
-		<ant antfile="scripts/exportplugin.xml" dir="../org.eclipse.ui.views" target="export"/>
-		<ant antfile="scripts/exportplugin.xml" dir="../org.eclipse.ui.editors" target="export"/>
-		<ant antfile="scripts/exportplugin.xml" dir="../org.eclipse.ui.workbench" target="export"/>
-		<ant antfile="scripts/exportplugin.xml" dir="../org.eclipse.ui.workbench.texteditor" target="export"/>
-	</target>
-
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui/src/org/eclipse/ui/internal/UIPlugin.java b/bundles/org.eclipse.ui/src/org/eclipse/ui/internal/UIPlugin.java
deleted file mode 100644
index ba306f3..0000000
--- a/bundles/org.eclipse.ui/src/org/eclipse/ui/internal/UIPlugin.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package org.eclipse.ui.internal;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.ui.IWorkbenchPreferenceConstants;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * This class represents the TOP of the workbench UI world
- * A plugin class is effectively an application wrapper
- * for a plugin & its classes. This class should be thought
- * of as the workbench UI's application class.
- *
- * This class is responsible for tracking various registries
- * font, preference, graphics, dialog store.
- *
- * This class is explicitly referenced by the 
- * workbench plugin's  "plugin.xml" and places it
- * into the UI start extension point of the main
- * overall application harness
- *
- * When is this class started?
- *      When the Application
- *      calls createExecutableExtension to create an executable
- *      instance of our workbench class.
- */
-public class UIPlugin extends AbstractUIPlugin {
-	
-	private static UIPlugin inst;
-	
-	/**
-	 * Create an instance of the WorkbenchPlugin.
-	 * The workbench plugin is effectively the "application" for the workbench UI.
-	 * The entire UI operates as a good plugin citizen.
-	 */
-	public UIPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		inst = this;
-	}
-	/**
-	 * Returns the image registry for this plugin.
-	 *
-	 * Where are the images?  The images (typically gifs) are found in the 
-	 * same plugins directory.
-	 *
-	 * @see JFace's ImageRegistry
-	 *
-	 * Note: The workbench uses the standard JFace ImageRegistry to track its images. In addition 
-	 * the class WorkbenchGraphicResources provides convenience access to the graphics resources 
-	 * and fast field access for some of the commonly used graphical images.
-	 */
-	protected ImageRegistry createImageRegistry() {
-		/* Just to be sure that we don't access this
-		 * plug-ins image registry.
-		 */
-		Assert.isLegal(false);
-		return WorkbenchImages.getImageRegistry();
-	}
-	
-	public ImageRegistry getImageRegistry() {
-		/* Just to be sure that we don't access this
-		 * plug-ins image registry.
-		 */
-		Assert.isLegal(false);
-		return null;
-	}
-
-	/* Return the default instance of the receiver. This represents the runtime plugin.
-	 *
-	 * @see AbstractPlugin for the typical implementation pattern for plugin classes.
-	 */
-	public static UIPlugin getDefault() {
-		return inst;
-	}
-
-	/** 
-	 * Set default preference values.
-	 * This method must be called whenever the preference store is initially loaded
-	 * because the default values are not stored in the preference store.
-	 */
-	protected void initializeDefaultPreferences(IPreferenceStore store) {
-		
-		store.setDefault(IWorkbenchPreferenceConstants.DEFAULT_PERSPECTIVE_ID, IWorkbenchConstants.DEFAULT_LAYOUT_ID); 
-		store.setDefault(IWorkbenchPreferenceConstants.OPEN_NEW_PERSPECTIVE, IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_REPLACE);
-		store.setDefault(IWorkbenchPreferenceConstants.PROJECT_OPEN_NEW_PERSPECTIVE, IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_REPLACE);
-
-		//Deprecated but kept for backwards compatibility
-		store.setDefault(IWorkbenchPreferenceConstants.SHIFT_OPEN_NEW_PERSPECTIVE, IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_REPLACE);
-		store.setDefault(IWorkbenchPreferenceConstants.ALTERNATE_OPEN_NEW_PERSPECTIVE, IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_REPLACE);
-		store.setDefault(IWorkbenchPreferenceConstants.LINK_NAVIGATOR_TO_EDITOR, true);
-		
-		store.addPropertyChangeListener(new PlatformUIPreferenceListener());
-	}
-
-	}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/.classpath b/examples/org.eclipse.ui.examples.multipageeditor/.classpath
deleted file mode 100644
index 4845f2d..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="Eclipse UI Examples MultiPageEditor"/>
-    <classpathentry kind="src" path="/org.eclipse.ui"/>
-    <classpathentry kind="src" path="/org.eclipse.swt"/>
-    <classpathentry kind="src" path="/org.eclipse.core.resources"/>
-    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/.cvsignore b/examples/org.eclipse.ui.examples.multipageeditor/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/.project b/examples/org.eclipse.ui.examples.multipageeditor/.project
deleted file mode 100644
index c070d8d..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/.project
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.ui.examples.multipageeditor</name>

-	<comment></comment>

-	<projects>

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

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

-		<project>org.eclipse.swt</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/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MessageUtil.java b/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MessageUtil.java
deleted file mode 100644
index dd14ee4..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MessageUtil.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*

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

- * All Rights Reserved.

- */

-package org.eclipse.ui.examples.multipageeditor;

-

-import java.text.MessageFormat;

-import java.util.MissingResourceException;

-import java.util.ResourceBundle;

-

-/**

- * Utility class which helps with managing messages.

- */

-/* package */ class MessageUtil {

-

-	private static final String RESOURCE_BUNDLE= "org.eclipse.ui.examples.multipageeditor.messages";//$NON-NLS-1$

-

-	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);

-

-	private MessageUtil() {

-		// prevent instantiation of class

-	}

-

-	/**

-	 * Returns the formatted message for the given key in

-	 * the resource bundle. 

-	 *

-	 * @param key the resource name

-	 * @param args the message arguments

-	 * @return the string

-	 */	

-	public static String format(String key, Object[] args) {

-		return MessageFormat.format(getString(key),args);

-	}

-

-	/**

-	 * Returns the resource object with the given key in

-	 * the resource bundle. If there isn't any value under

-	 * the given key, the key is returned, surrounded by '!'s.

-	 *

-	 * @param key the resource name

-	 * @return the string

-	 */	

-	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/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MultiPageContributor.java b/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MultiPageContributor.java
deleted file mode 100644
index 8be8e85..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MultiPageContributor.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.ui.examples.multipageeditor;

-

-/*

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

- * All Rights Reserved.

- */

- 

-import org.eclipse.jface.action.IAction;

-import org.eclipse.ui.*;

-import org.eclipse.ui.part.MultiPageEditorActionBarContributor;

-import org.eclipse.ui.texteditor.ITextEditor;

-import org.eclipse.ui.texteditor.ITextEditorActionConstants;

-

-/**

- * Manages the installation/deinstallation of global actions for multi-page editors.

- * Responsible for the redirection of global actions to the active editor.

- * Multi-page contributor replaces the contributors for the individual editors in the multi-page editor.

- */

-public class MultiPageContributor extends MultiPageEditorActionBarContributor {

-	private IEditorPart activeEditorPart;

-/**

- * Creates a multi-page contributor.

- */

-public MultiPageContributor() {

-	super();

-}

-/**

- * Returns the action registed with the given text editor.

- * @return IAction or null if editor is null.

- */

-protected IAction getAction(ITextEditor editor, String actionID) {

-	return (editor == null ? null : editor.getAction(actionID));

-}

-/* (non-JavaDoc)

- * Method declared in AbstractMultiPageEditorActionBarContributor.

- */

- 

-public void setActivePage(IEditorPart part) {

-	if (activeEditorPart == part)

-		return;

-

-	activeEditorPart = part;

-

-	IActionBars actionBars = getActionBars();

-	if (actionBars != null) {

-

-		ITextEditor editor = (part instanceof ITextEditor) ? (ITextEditor) part : null;

-

-		actionBars.setGlobalActionHandler(IWorkbenchActionConstants.DELETE, getAction(editor, ITextEditorActionConstants.DELETE));

-		actionBars.setGlobalActionHandler(IWorkbenchActionConstants.UNDO, getAction(editor, ITextEditorActionConstants.UNDO));

-		actionBars.setGlobalActionHandler(IWorkbenchActionConstants.REDO, getAction(editor, ITextEditorActionConstants.REDO));

-		actionBars.setGlobalActionHandler(IWorkbenchActionConstants.CUT, getAction(editor, ITextEditorActionConstants.CUT));

-		actionBars.setGlobalActionHandler(IWorkbenchActionConstants.COPY, getAction(editor, ITextEditorActionConstants.COPY));

-		actionBars.setGlobalActionHandler(IWorkbenchActionConstants.PASTE, getAction(editor, ITextEditorActionConstants.PASTE));

-		actionBars.setGlobalActionHandler(IWorkbenchActionConstants.SELECT_ALL, getAction(editor, ITextEditorActionConstants.SELECT_ALL));

-		actionBars.setGlobalActionHandler(IWorkbenchActionConstants.FIND, getAction(editor, ITextEditorActionConstants.FIND));

-		actionBars.setGlobalActionHandler(IWorkbenchActionConstants.BOOKMARK, getAction(editor, ITextEditorActionConstants.BOOKMARK));

-		actionBars.updateActionBars();

-	}

-}

-}

diff --git a/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MultiPageEditorExample.java b/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MultiPageEditorExample.java
deleted file mode 100644
index 15f0a80..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MultiPageEditorExample.java
+++ /dev/null
@@ -1,197 +0,0 @@
-package org.eclipse.ui.examples.multipageeditor;

-

-/*

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

- * All Rights Reserved.

- */

-

-import java.io.StringWriter;

-import java.text.Collator;

-import java.util.*;

-

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

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

-import org.eclipse.jface.dialogs.ErrorDialog;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.custom.StyledText;

-import org.eclipse.swt.events.SelectionAdapter;

-import org.eclipse.swt.events.SelectionEvent;

-import org.eclipse.swt.graphics.Font;

-import org.eclipse.swt.graphics.FontData;

-import org.eclipse.swt.layout.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.ui.*;

-import org.eclipse.ui.editors.text.TextEditor;

-import org.eclipse.ui.part.MultiPageEditorPart;

-

-/**

- * An example showing how to create a multi-page editor.

- * This example has 3 pages:

- * <ul>

- * <li>page 0 contains a nested text editor.

- * <li>page 1 allows you to change the font used in page 2

- * <li>page 2 shows the words in page 0 in sorted order

- * </ul>

- */

-public class MultiPageEditorExample extends MultiPageEditorPart {

-

-	/** The text editor used in page 0. */

-	private TextEditor editor;

-

-	/** The font chosen in page 1. */

-	private Font font;

-	

-	/** The text widget used in page 2. */

-	private StyledText text;

-/**

- * Creates a multi-page editor example.

- */

-public MultiPageEditorExample() {

-	super();

-}

-/**

- * Creates page 0 of the multi-page editor,

- * which contains a text editor.

- */

-void createPage0() {

-	try {

-		editor = new TextEditor();

-		int index = addPage(editor, getEditorInput());

-		setPageText(index, MessageUtil.getString("Source")); //$NON-NLS-1$

-	}

-	catch (PartInitException e) {

-		ErrorDialog.openError(getSite().getShell(), MessageUtil.getString("ErrorCreatingNestedEditor"), null, e.getStatus()); //$NON-NLS-1$

-	}

-}

-/**

- * Creates page 1 of the multi-page editor,

- * which allows you to change the font used in page 2.

- */

-void createPage1() {

-

-	Composite composite = new Composite(getContainer(), SWT.NONE);

-	GridLayout layout = new GridLayout();

-	composite.setLayout(layout);

-	layout.numColumns = 2;

-

-	Button fontButton = new Button(composite, SWT.NONE);

-	GridData gd = new GridData(GridData.BEGINNING);

-	gd.horizontalSpan = 2;

-	fontButton.setLayoutData(gd);

-	fontButton.setText(MessageUtil.getString("ChangeFont")); //$NON-NLS-1$

-

-	fontButton.addSelectionListener(new SelectionAdapter() {

-		public void widgetSelected(SelectionEvent event) {

-			setFont();

-		}

-	});

-

-	int index = addPage(composite);

-	setPageText(index, MessageUtil.getString("Properties")); //$NON-NLS-1$

-}

-/**

- * Creates page 2 of the multi-page editor,

- * which shows the sorted text.

- */

-void createPage2() {

-	Composite composite = new Composite(getContainer(), SWT.NONE);

-	FillLayout layout = new FillLayout();

-	composite.setLayout(layout);

-	text = new StyledText(composite, SWT.H_SCROLL | SWT.V_SCROLL);

-	text.setEditable(false);

-	

-	int index = addPage(composite);

-	setPageText(index, MessageUtil.getString("Preview")); //$NON-NLS-1$

-}

-/**

- * Creates the pages of the multi-page editor.

- */

-protected void createPages() {

-	createPage0();

-	createPage1();

-	createPage2();

-}

-/**

- * Saves the multi-page editor's document.

- */

-public void doSave(IProgressMonitor monitor) {

-	getEditor(0).doSave(monitor);

-}

-/**

- * Saves the multi-page editor's document as another file.

- * Also updates the text for page 0's tab, and updates this multi-page editor's input

- * to correspond to the nested editor's.

- */

-public void doSaveAs() {

-	IEditorPart editor = getEditor(0);

-	editor.doSaveAs();

-	setPageText(0, editor.getTitle());

-	setInput(editor.getEditorInput());

-}

-/* (non-Javadoc)

- * Method declared on IEditorPart

- */

-public void gotoMarker(IMarker marker) {

-	setActivePage(0);

-	getEditor(0).gotoMarker(marker);

-}

-/**

- * The <code>MultiPageEditorExample</code> implementation of this method

- * checks that the input is an instance of <code>IFileEditorInput</code>.

- */

-public void init(IEditorSite site, IEditorInput editorInput) throws PartInitException {

-	if (!(editorInput instanceof IFileEditorInput)) 

-		throw new PartInitException(MessageUtil.getString("InvalidInput")); //$NON-NLS-1$

-	super.init(site, editorInput);

-}

-/* (non-Javadoc)

- * Method declared on IEditorPart.

- */

-public boolean isSaveAsAllowed() {

-	return true;

-}

-/**

- * Calculates the contents of page 2 when the it is activated.

- */

-protected void pageChange(int newPageIndex) {

-	super.pageChange(newPageIndex);

-	if (newPageIndex == 2) {

-		sortWords();

-	}

-}

-/**

- * Sets the font related data to be applied to the text in page 2.

- */

-void setFont() {

-	FontDialog fontDialog = new FontDialog(getSite().getShell());

-	fontDialog.setFontData(text.getFont().getFontData()[0]);

-	FontData fontData = fontDialog.open();

-	if (fontData != null) {

-		if (font != null)

-			font.dispose();

-		font = new Font(text.getDisplay(), fontData);

-		text.setFont(font);

-	}

-}

-/**

- * Sorts the words in page 0, and shows them in page 2.

- */

-void sortWords() {

-

-	String editorText = editor.getDocumentProvider().getDocument(editor.getEditorInput()).get();

-

-	StringTokenizer tokenizer = new StringTokenizer(editorText, " \t\n\r\f!@#$%^&*()-_=+`~[]{};:'\",.<>/?|\\"); //$NON-NLS-1$

-	ArrayList editorWords = new ArrayList();

-	while (tokenizer.hasMoreTokens()) {

-		editorWords.add(tokenizer.nextToken());

-	}

-

-	Collections.sort(editorWords, Collator.getInstance());

-	StringWriter displayText = new StringWriter();

-	for (int i = 0; i < editorWords.size(); i++) {

-		displayText.write(((String) editorWords.get(i)));

-		displayText.write("\n"); //$NON-NLS-1$

-	}

-	text.setText(displayText.toString());

-}

-}

diff --git a/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/messages.properties b/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/messages.properties
deleted file mode 100644
index 7950e00..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/messages.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-ErrorCreatingNestedEditor=Error creating nested text editor

-ChangeFont=Change Font...

-InvalidInput=Invalid Input: Must be IFileEditorInput

-Preview=Preview

-Properties=Properties

-Source=Source

diff --git a/examples/org.eclipse.ui.examples.multipageeditor/about.html b/examples/org.eclipse.ui.examples.multipageeditor/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/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/examples/org.eclipse.ui.examples.multipageeditor/build.properties b/examples/org.eclipse.ui.examples.multipageeditor/build.properties
deleted file mode 100644
index afa232c..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/build.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-source.multipageeditor.jar = Eclipse UI Examples MultiPageEditor/

-

-bin.includes = doc-html/,\

-				icons/,\

-				.options,\

-				about.html,\

-				plugin.properties,\

-				plugin.xml,\

-				*.jar

-

-src.includes = about.html

diff --git a/examples/org.eclipse.ui.examples.multipageeditor/doc-html/hglegal.htm b/examples/org.eclipse.ui.examples.multipageeditor/doc-html/hglegal.htm
deleted file mode 100644
index b071dbd..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/doc-html/hglegal.htm
+++ /dev/null
@@ -1,14 +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="GENERATOR" content="Mozilla/4.73 [en] (Win98; U) [Netscape]">

-   <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/examples/org.eclipse.ui.examples.multipageeditor/doc-html/ngibmcpy.gif b/examples/org.eclipse.ui.examples.multipageeditor/doc-html/ngibmcpy.gif
deleted file mode 100644
index 360f8e9..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/doc-html/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/doc-html/ui_multipageeditor_ex.html b/examples/org.eclipse.ui.examples.multipageeditor/doc-html/ui_multipageeditor_ex.html
deleted file mode 100644
index a610d18..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/doc-html/ui_multipageeditor_ex.html
+++ /dev/null
@@ -1,50 +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>Desktop - Multi-page Editor Example</title>

-</head>

-<body>

-

-<h2>

-<b>Example - Multi-page Editor</b></h2>

-

-<h3>

-Introduction</h3>

-The&nbsp; Multi Page Editor Example adds an editor for files with the .mpe

-extension. It shows how to create an editor that uses multiple pages by

-defining both an editor and a page contributor that can add entries to

-an action bar.

-<h3>

-Running the example</h3>

-To start using the Multi-page Editor Example, create a new file with .mpe

-extension.&nbsp; Select the file, bring up the popup menu, select the Open

-With menu and from the sub-menu select the Multi Page Editor Example menu

-item. You can then select the different editors by selecting the different

-tabs.

-<h4>

-<b>Creating a new mpe file</b></h4>

-Create a new file with file extension .mpe.&nbsp; From the File menu, select

-New and then select Other... from the sub-menu.&nbsp; Click on Simple in

-the wizard, then select

-<br>File in the list on the left.&nbsp; Click on Next to supply the file

-name (make sure the extension is .mpe) and the folder in which the file

-should be contained.

-<br>&nbsp;

-<h3>

-Details</h3>

-The&nbsp; Multi Page Editor Example demonstrates how to create an multi

-page editor with a custom page contributor.

-<p>The Multi Page Editor Example is constructed with two extensions - a

-document contributor (MultiPageContributor) and an editor (MultiPageEditor).

-The document contributor is a subclass of <tt>org.eclipse.ui.part.MultiPageEditorActionBarContributor</tt>

-and defines the actions that are added to an editor when the <tt>setActivePage</tt>

-method is called. The editor is an <tt>org.eclipse.ui.part.MultiPageEditorPart</tt>

-that creates 3 pages whose activation is handled by the <tt>pageChange</tt>

-method that in turn sends <tt>setActivePage</tt>

-to the contributor. These two classes do not refer to each other directly

-- the contributor for the editor is set using the contributorClass tag

-in the plugin.xml

-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2001.  All Rights Reserved." BORDER=0 height=12 width=195></a>

-</body>

-</html>

diff --git a/examples/org.eclipse.ui.examples.multipageeditor/icons/copy.gif b/examples/org.eclipse.ui.examples.multipageeditor/icons/copy.gif
deleted file mode 100644
index f962255..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/icons/copy.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/plugin.properties b/examples/org.eclipse.ui.examples.multipageeditor/plugin.properties
deleted file mode 100644
index 6d46d27..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-Plugin.name = MultiPage Editor Example

-Plugin.providerName = Eclipse.org

-Editors.MultiPageEditorExample = Multi-Page Editor Example

diff --git a/examples/org.eclipse.ui.examples.multipageeditor/plugin.xml b/examples/org.eclipse.ui.examples.multipageeditor/plugin.xml
deleted file mode 100644
index 328714a..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/plugin.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-

-<!-- ======================================================================= -->

-<!-- The MultiPage Editor Example is a sample plugin which demonstrates the  -->

-<!-- implementation of a multi-page editor.                                  -->

-<!-- ======================================================================= -->

-<plugin

-   name = "%Plugin.name"

-   id = "org.eclipse.ui.examples.multipageeditor"

-   version = "2.1.0"

-   provider-name = "%Plugin.providerName">

-

-   <requires>

-      <import plugin="org.eclipse.ui"/>

-      <import plugin="org.eclipse.core.resources"/>

-   </requires>

-

-   <runtime>

-     <library name="multipageeditor.jar">

-     	<export name="*"/>

-     </library>

-   </runtime>

-

-   <extension

-      point = "org.eclipse.ui.editors">

-	<editor

-		id = "org.eclipse.ui.examples.multipageeditor.MultiPageEditorExample"

-		name="%Editors.MultiPageEditorExample"

-		icon="icons/copy.gif"     	  

-		extensions="mpe"

-		class="org.eclipse.ui.examples.multipageeditor.MultiPageEditorExample"

-		contributorClass="org.eclipse.ui.examples.multipageeditor.MultiPageContributor" >                              

-	</editor>

-   </extension>

-</plugin>

diff --git a/examples/org.eclipse.ui.examples.propertysheet/.classpath b/examples/org.eclipse.ui.examples.propertysheet/.classpath
deleted file mode 100644
index 912219c..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="Eclipse UI Examples PropertySheet"/>
-    <classpathentry kind="src" path="/org.eclipse.ui"/>
-    <classpathentry kind="src" path="/org.eclipse.swt"/>
-    <classpathentry kind="src" path="/org.eclipse.core.resources"/>
-    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.ui.examples.propertysheet/.cvsignore b/examples/org.eclipse.ui.examples.propertysheet/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.propertysheet/.project b/examples/org.eclipse.ui.examples.propertysheet/.project
deleted file mode 100644
index 1fab398..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/.project
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.ui.examples.propertysheet</name>

-	<comment></comment>

-	<projects>

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

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

-		<project>org.eclipse.swt</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/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Address.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Address.java
deleted file mode 100644
index 0cd1806..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Address.java
+++ /dev/null
@@ -1,323 +0,0 @@
-package org.eclipse.ui.examples.propertysheet;

-

-/*

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

- * All Rights Reserved.

- */

-import java.util.Vector;

-

-import org.eclipse.jface.viewers.ICellEditorValidator;

-import org.eclipse.jface.viewers.LabelProvider;

-import org.eclipse.ui.views.properties.*;

-

-/**

- * Example IPropertySource who itself is NOT editable, but whose children are.

- * The values of the children determine the value of the address.

- */

-public class Address implements IPropertySource {

-

-	//properties

-	private String city;

-	private Integer province;

-	private String postalCode;

-	private StreetAddress street;

-

-	//Property unique keys

-	public static final String P_ID_STREET = "Address.Street"; //$NON-NLS-1$

-	public static final String P_ID_CITY = "Address.City"; //$NON-NLS-1$

-	public static final String P_ID_PROVINCE = "Address.Province"; //$NON-NLS-1$

-	public static final String P_ID_POSTALCODE = "Address.PostalCode"; //$NON-NLS-1$

-

-	//Property display keys

-	public static final String P_STREET = MessageUtil.getString("Street"); //$NON-NLS-1$

-	public static final String P_CITY = MessageUtil.getString("City"); //$NON-NLS-1$

-	public static final String P_PROVINCE = MessageUtil.getString("Province"); //$NON-NLS-1$

-	public static final String P_POSTALCODE = MessageUtil.getString("PostalCode"); //$NON-NLS-1$

-	public static final String P_DESCRIPTORS = "properties"; //$NON-NLS-1$

-

-

-	//default values	

-	private static final StreetAddress STREET_DEFAULT = new StreetAddress();

-	private static final String CITY_DEFAULT = MessageUtil.getString("unspecified_city"); //$NON-NLS-1$

-	private static final Integer PROVINCE_DEFAULT = new Integer(0);

-	private static final String POSTALCODE_DEFAULT = "A1B2C3"; //$NON-NLS-1$

-

-	//

-	static private class ProvinceLabelProvider extends LabelProvider {

-		public String getText(Object element) {

-			String[] provinceValues = new String[] {MessageUtil.getString("British_Columbia"), MessageUtil.getString("Alberta"), MessageUtil.getString("Saskatchewan"), MessageUtil.getString("Manitoba"), MessageUtil.getString("Ontario"), MessageUtil.getString("Quebec"), MessageUtil.getString("Newfoundland"), MessageUtil.getString("Prince_Edward_Island"), MessageUtil.getString("Nova_Scotia"), MessageUtil.getString("New_Brunswick"), MessageUtil.getString("Yukon"), MessageUtil.getString("North_West_Territories"), MessageUtil.getString("Nunavut")}; //$NON-NLS-13$ //$NON-NLS-12$ //$NON-NLS-11$ //$NON-NLS-10$ //$NON-NLS-9$ //$NON-NLS-8$ //$NON-NLS-7$ //$NON-NLS-6$ //$NON-NLS-5$ //$NON-NLS-4$ //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$

-			return provinceValues[((Integer)element).intValue()];

-		}

-	}

-

-	//

-	private static Vector descriptors;

-	private static String[] provinceValues;

-	static {

-		descriptors = new Vector();

-		provinceValues = new String[] {MessageUtil.getString("British_Columbia"), MessageUtil.getString("Alberta"), MessageUtil.getString("Saskatchewan"), MessageUtil.getString("Manitoba"), MessageUtil.getString("Ontario"), MessageUtil.getString("Quebec"), MessageUtil.getString("Newfoundland"), MessageUtil.getString("Prince_Edward_Island"), MessageUtil.getString("Nova_Scotia"), MessageUtil.getString("New_Brunswick"), MessageUtil.getString("Yukon"), MessageUtil.getString("North_West_Territories"), MessageUtil.getString("Nunavut")}; //$NON-NLS-13$ //$NON-NLS-12$ //$NON-NLS-11$ //$NON-NLS-10$ //$NON-NLS-9$ //$NON-NLS-8$ //$NON-NLS-7$ //$NON-NLS-6$ //$NON-NLS-5$ //$NON-NLS-4$ //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$

-		descriptors.addElement(new PropertyDescriptor(P_ID_STREET, P_STREET));

-		descriptors.addElement(new TextPropertyDescriptor(P_ID_CITY, P_CITY));

-

-

-		//PostalCode

-		PropertyDescriptor propertyDescriptor = new TextPropertyDescriptor(P_ID_POSTALCODE, P_POSTALCODE);

-		//add custom validator to propertyDescriptor limiting postalcode

-		//values to XYXYXY, where X is a letter and Y is a digit

-		propertyDescriptor.setValidator(new ICellEditorValidator() {

-			public String isValid(Object value) {

-				if (value == null)

-					return MessageUtil.getString("postal_code_is_incomplete"); //$NON-NLS-1$

-

-				//

-				String testPostalCode = ((String) value).toUpperCase();

-				final int length = testPostalCode.length();

-				final char space = ' ';

-

-				//removes white space

-				StringBuffer postalCodeBuffer = new StringBuffer(6);

-				char current;

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

-					current = testPostalCode.charAt(i);

-					if (current != space)

-						postalCodeBuffer.append(current);

-				}

-				testPostalCode = postalCodeBuffer.toString();

-

-				//check for proper length

-				if (testPostalCode.length() != 6) {

-					return MessageUtil.getString("postal_code_is_incomplete"); //$NON-NLS-1$

-				}

-

-				//check for proper format

-				if (

-					testPostalCode.charAt(1) < '0' || testPostalCode.charAt(1) > '9' || 

-					testPostalCode.charAt(3) < '0' || testPostalCode.charAt(3) > '9' ||

-					testPostalCode.charAt(5) < '0' || testPostalCode.charAt(5) > '9' || 

-					testPostalCode.charAt(0) < 'A' || testPostalCode.charAt(0) > 'Z' ||

-					testPostalCode.charAt(2) < 'A' || testPostalCode.charAt(2) > 'Z' ||

-					testPostalCode.charAt(4) < 'A' || testPostalCode.charAt(4) > 'Z'

-				) {

-					//fail

-					return MessageUtil.format("_is_an_invalid_format_for_a_postal_code", new Object[] {testPostalCode}); //$NON-NLS-1$

-				}

-

-				//all pass

-				return null;

-			}

-		});

-		descriptors.addElement(propertyDescriptor);

-

-		//

-		ComboBoxPropertyDescriptor desc = new ComboBoxPropertyDescriptor(P_ID_PROVINCE, P_PROVINCE, provinceValues);

-		desc.setLabelProvider(new ProvinceLabelProvider());

-		descriptors.addElement(desc);

-	}

-/**

- * Address Default Constructor

- */

-Address() {

-	super();

-}

-/**

- * Creates a new address.

- *

- * @param street the street 

- * @param city the city

- * @param province the province

- * @param postalCode has the form XYXYXY: where X is a letter and Y is a digit

- * @exception IllegalArgumentException, if postalcode not in above form

- */

-public Address(StreetAddress street, String city, Integer province, String postalCode) {

-	super();

-	setStreet(street);

-	setCity(city);

-	setPostalCode(postalCode);

-	setProvince(province);

-}

-/**

- * Returns the city

- */

-private String getCity() {

-	if(city == null)

-		city = CITY_DEFAULT;

-	return city;

-}

-/* 

- * Standard Accessor

- */

-private static Vector getDescriptors() {

-	return descriptors;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public Object getEditableValue() {

-	return this.toString();

-}

-/**

- * Returns the postal code

- */

-private String getPostalCode() {

-	if(postalCode == null)

-		postalCode = POSTALCODE_DEFAULT;

-	return postalCode;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public IPropertyDescriptor[] getPropertyDescriptors() {

-	return (IPropertyDescriptor[])getDescriptors().toArray(new IPropertyDescriptor[getDescriptors().size()]);

-}

-/** 

- * The <code>Address</code> implementation of this

- * <code>IPropertySource</code> method returns the following properties

- *

- * 	1) P_CITY returns java.lang.String

- * 	2) P_POSTALCODE returns java.lang.String

- *  3) P_PROVINCE returns java.lang.String

- *	4) P_STREET returns StreetAddress

- */

-public Object getPropertyValue(Object propKey) {

-	if (propKey.equals(P_ID_PROVINCE))

-		return getProvince();

-	if (propKey.equals(P_ID_STREET))

-		return getStreet();

-	if (propKey.equals(P_ID_CITY))

-		return getCity();

-	if (propKey.equals(P_ID_POSTALCODE))

-		return getPostalCode();

-	return null;

-}

-/**

- * Returns the province

- */

-private Integer getProvince() {

-	if(province == null)

-		province = PROVINCE_DEFAULT;

-	return province;

-}

-/**

- * Returns the street

- */

-public StreetAddress getStreet() {

-	if(street == null)

-		street = new StreetAddress();

-	return street;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public boolean isPropertySet(Object property) {

-	if (property.equals(P_ID_PROVINCE))

-		return getProvince() != PROVINCE_DEFAULT;

-	if (property.equals(P_ID_STREET))

-		return !STREET_DEFAULT.equals(getStreet());

-	if (property.equals(P_ID_CITY))

-		return getCity() != CITY_DEFAULT;

-	if (property.equals(P_ID_POSTALCODE))

-		return getPostalCode() != POSTALCODE_DEFAULT;

-	return false;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public void resetPropertyValue(Object property) {

-	if (P_ID_POSTALCODE.equals(property)) {

-		setPostalCode(POSTALCODE_DEFAULT);

-		return;

-	}

-	if (P_ID_CITY.equals(property)) {

-		setCity(CITY_DEFAULT);

-		return;

-	}

-	if (P_ID_PROVINCE.equals(property)) {

-		setProvince(PROVINCE_DEFAULT);

-		return;

-	};

-	if (P_ID_STREET.equals(property)) {

-		setStreet(new StreetAddress());

-		return;

-	}

-}

-/**

- * Sets the city

- */

-private void setCity(String newCity) {

-	city = newCity;

-}

-/**

- * Sets the postal code

- */

-private void setPostalCode(String newPostalCode) {

-	//validation in ICellEditorValidator registered in PropertyDescriptor

-	this.postalCode = newPostalCode.toUpperCase();		

-}

-/** 

- * The <code>Address</code> implementation of this

- * <code>IPropertySource</code> method 

- * defines the following Setable properties

- *

- * 	1) P_CITY expects java.lang.String

- * 	2) P_POSTALCODE expects java.lang.String

- *  3) P_PROVINCE expects java.lang.String

- * 

- * <p>P_ID_STREET is not set here since it is referenced 

- * and set directly in StreetAddress.

- * According to IPropertySource, StreetAddress.getEditableValue

- * should return a String which will be passed to this method  

- * as the value. A new StreetAddress object should then be 

- * created from the string. 

- * An alternative would be to return the StreetAddress 

- * directly in StreetAddress.getEditableValue and define a 

- * cell editor for the StreetAddress property.

- * This was ommitted for the sake of simplicity. 

- */

-public void setPropertyValue(Object name, Object value) {

-	if (P_ID_POSTALCODE.equals(name)) {

-		setPostalCode((String) value);

-		return;

-	}

-	if (P_ID_CITY.equals(name)) {

-		setCity((String) value);

-		return;

-	}

-	if (P_ID_PROVINCE.equals(name)) {

-		setProvince((Integer) value);

-		return;

-	}

-}

-/**

- * Sets the province

- */

-private void setProvince(Integer newProvince) {

-	province = newProvince;

-}

-/**

- * Sets the street

- */

-private void setStreet(StreetAddress newStreet) {

-	street = newStreet;

-}

-/**

- * The value as displayed in the Property Sheet.

- * @return java.lang.String

- */

-public String toString() {

-	StringBuffer outStringBuffer = new StringBuffer();

-	final String comma_space = ", "; //$NON-NLS-1$

-	final String space = " "; //$NON-NLS-1$

-	if (!getStreet().equals(STREET_DEFAULT)) {

-		outStringBuffer.append(getStreet());

-		outStringBuffer.append(comma_space);

-	}

-	

-	outStringBuffer.append(getCity());

-	outStringBuffer.append(space);

-	outStringBuffer.append(provinceValues[getProvince().intValue()]);

-	outStringBuffer.append(comma_space);

-	outStringBuffer.append(getPostalCode());

-	

-	return outStringBuffer.toString();

-}

-}

diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Birthday.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Birthday.java
deleted file mode 100644
index 2ef84b5..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Birthday.java
+++ /dev/null
@@ -1,232 +0,0 @@
-package org.eclipse.ui.examples.propertysheet;

-

-/*

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

- * All Rights Reserved.

- */

-import java.text.DateFormat;

-import java.text.SimpleDateFormat;

-import java.util.*;

-

-import org.eclipse.jface.viewers.LabelProvider;

-import org.eclipse.ui.views.properties.*;

-

-/**

- * Example IPropertySource who itself is NOT editable, but whose children are.

- * The values of the children determine the value of the birthday.

- */

-public class Birthday implements IPropertySource {

-

-	//Properties

-	private Integer day, month, year;

-

-	//Property unique keys

-	public static final String P_ID_DAY = "Birthday.day"; //$NON-NLS-1$

-	public static final String P_ID_MONTH = "Birthday.month"; //$NON-NLS-1$

-	public static final String P_ID_YEAR = "Birthday.year"; //$NON-NLS-1$

-	

-	//Property display keys

-	public static final String P_DAY = MessageUtil.getString("day"); //$NON-NLS-1$

-	public static final String P_MONTH = MessageUtil.getString("month"); //$NON-NLS-1$

-	public static final String P_YEAR = MessageUtil.getString("year"); //$NON-NLS-1$

-

-	//default values	

-	private static final Integer DAY_DEFAULT = new Integer(1);

-	private static final Integer MONTH_DEFAULT = new Integer(1);

-	private static final Integer YEAR_DEFAULT = new Integer(2000);

-

-	//static date formater

-	private static final DateFormat formatter  = new SimpleDateFormat("EEEE, MMMM d, yyyy"); //$NON-NLS-1$

-

-	static private class DayLabelProvider extends LabelProvider {

-		public String getText(Object element) {

-			String[] dayValues = new String[] {"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31"}; //$NON-NLS-31$ //$NON-NLS-30$ //$NON-NLS-29$ //$NON-NLS-28$ //$NON-NLS-27$ //$NON-NLS-26$ //$NON-NLS-25$ //$NON-NLS-24$ //$NON-NLS-23$ //$NON-NLS-22$ //$NON-NLS-21$ //$NON-NLS-20$ //$NON-NLS-19$ //$NON-NLS-18$ //$NON-NLS-17$ //$NON-NLS-16$ //$NON-NLS-15$ //$NON-NLS-14$ //$NON-NLS-13$ //$NON-NLS-12$ //$NON-NLS-11$ //$NON-NLS-10$ //$NON-NLS-9$ //$NON-NLS-8$ //$NON-NLS-7$ //$NON-NLS-6$ //$NON-NLS-5$ //$NON-NLS-4$ //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$

-			return dayValues[((Integer)element).intValue()];

-		}

-	}

-	

-	static private class MonthLabelProvider extends LabelProvider {

-		public String getText(Object element) {

-			String[] monthValues = new String[] {MessageUtil.getString("January"), MessageUtil.getString("February"), MessageUtil.getString("March"), MessageUtil.getString("April"), MessageUtil.getString("May"), MessageUtil.getString("June"), MessageUtil.getString("July"), MessageUtil.getString("August"), MessageUtil.getString("September"), MessageUtil.getString("October"), MessageUtil.getString("November"), MessageUtil.getString("December")}; //$NON-NLS-12$ //$NON-NLS-11$ //$NON-NLS-10$ //$NON-NLS-9$ //$NON-NLS-8$ //$NON-NLS-7$ //$NON-NLS-6$ //$NON-NLS-5$ //$NON-NLS-4$ //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$

-			return monthValues[((Integer)element).intValue()];

-		}

-	}

-

-	//

-	private static Vector descriptors;

-	static {

-		descriptors = new Vector();

-

-		///

-		String[] dayValues = new String[] {"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31"}; //$NON-NLS-31$ //$NON-NLS-30$ //$NON-NLS-29$ //$NON-NLS-28$ //$NON-NLS-27$ //$NON-NLS-26$ //$NON-NLS-25$ //$NON-NLS-24$ //$NON-NLS-23$ //$NON-NLS-22$ //$NON-NLS-21$ //$NON-NLS-20$ //$NON-NLS-19$ //$NON-NLS-18$ //$NON-NLS-17$ //$NON-NLS-16$ //$NON-NLS-15$ //$NON-NLS-14$ //$NON-NLS-13$ //$NON-NLS-12$ //$NON-NLS-11$ //$NON-NLS-10$ //$NON-NLS-9$ //$NON-NLS-8$ //$NON-NLS-7$ //$NON-NLS-6$ //$NON-NLS-5$ //$NON-NLS-4$ //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$

-		ComboBoxPropertyDescriptor days = new ComboBoxPropertyDescriptor(P_ID_DAY, P_DAY, dayValues);

-		days.setLabelProvider(new DayLabelProvider());

-		descriptors.addElement(days);

-

-		///

-		String[] monthValues = new String[] {MessageUtil.getString("January"), MessageUtil.getString("February"), MessageUtil.getString("March"), MessageUtil.getString("April"), MessageUtil.getString("May"), MessageUtil.getString("June"), MessageUtil.getString("July"), MessageUtil.getString("August"), MessageUtil.getString("September"), MessageUtil.getString("October"), MessageUtil.getString("November"), MessageUtil.getString("December")}; //$NON-NLS-12$ //$NON-NLS-11$ //$NON-NLS-10$ //$NON-NLS-9$ //$NON-NLS-8$ //$NON-NLS-7$ //$NON-NLS-6$ //$NON-NLS-5$ //$NON-NLS-4$ //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$

-		ComboBoxPropertyDescriptor months = new ComboBoxPropertyDescriptor(P_ID_MONTH, P_MONTH, monthValues);

-		months.setLabelProvider(new MonthLabelProvider());

-		descriptors.addElement(months);

-

-		///

-		descriptors.addElement(new TextPropertyDescriptor(P_ID_YEAR, P_YEAR));

-	}

-/**

- * Address Default Constructor

- */

-Birthday() {

-	super();

-}

-/**

- * Convenience Address Constructor

- */

-public Birthday(int day, int month, int year) {

-	super();

-	setDay(new Integer(day));

-	setMonth(new Integer(month)); 

-	setYear(new Integer(year));

-}

-/**

- * Returns the day

- */

-private Integer getDay() {

-	if(day == null)

-		day = DAY_DEFAULT;

-	return day;

-}

-/**

- * Standard Accessor

- */

-private static Vector getDescriptors() {

-	return descriptors;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public Object getEditableValue() {

-	return this.toString();

-}

-/**

- * Returns the month

- */

-private Integer getMonth() {

-	if(month == null)

-		month = MONTH_DEFAULT;

-	return month;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public IPropertyDescriptor[] getPropertyDescriptors() {

-	return (IPropertyDescriptor[])getDescriptors().toArray(new IPropertyDescriptor[getDescriptors().size()]);

-}

-/** 

- * The <code>Birthday</code> implementation of this

- * <code>IPropertySource</code> method returns the following properties

- *

- * 	1) P_DAY returns java.lang.Integer

- * 	2) P_MONTH returns java.lang.Integer

- *  3) P_YEAR returns java.lang.Integer

- *	4) P_STREET returns java.lang.String

- */

-public Object getPropertyValue(Object propKey) {

-	if (propKey.equals(P_ID_DAY))

-		return new Integer(getDay().intValue() - 1);

-	if (propKey.equals(P_ID_MONTH))

-		return new Integer(getMonth().intValue() - 1);

-	if (propKey.equals(P_ID_YEAR))

-		return getYear().toString();

-	return null;

-}

-/**

- * Returns the year

- */

-private Integer getYear() {

-	if(year == null)

-		year = YEAR_DEFAULT;

-	return year;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public boolean isPropertySet(Object property) {

-	if (P_ID_DAY.equals(property))

-		return getDay() != DAY_DEFAULT;

-	if (P_ID_MONTH.equals(property))

-		return getMonth() != MONTH_DEFAULT;

-	if (P_ID_YEAR.equals(property))

-		return getYear() != YEAR_DEFAULT;

-	return false;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public void resetPropertyValue(Object property) {

-	if (P_ID_DAY.equals(property)) {

-		setDay(DAY_DEFAULT);

-		return;

-	}

-	if (P_ID_MONTH.equals(property)) {

-		setMonth(MONTH_DEFAULT);

-		return;

-	}

-	if (P_ID_YEAR.equals(property)) {

-		setYear(YEAR_DEFAULT);

-		return;

-	};

-}

-/**

- * Sets the day

- */

-private void setDay(Integer newDay) {

-	day = newDay;

-}

-/**

- * Sets the month

- */

-private void setMonth(Integer newMonth) {

-	month = newMonth;

-}

-/** 

- * The <code>Birthday</code> implementation of this

- * <code>IPropertySource</code> method 

- * defines the following Setable properties

- *

- * 	1) P_DAY expects java.lang.Integer

- * 	2) P_MONTH expects java.lang.Integer

- *  3) P_YEAR expects java.lang.Integer

- */

-public void setPropertyValue(Object name, Object value) {

-	if (P_ID_DAY.equals(name)) {

-		setDay(new Integer(((Integer)value).intValue() + 1));

-		return;

-	}

-	if (P_ID_MONTH.equals(name)) {

-		setMonth(new Integer(((Integer)value).intValue() + 1));

-		return;

-	}

-	if (P_ID_YEAR.equals(name)) {

-		try {

-			setYear(new Integer((String)value));

-		} catch (NumberFormatException e) {

-			setYear(YEAR_DEFAULT);

-		}

-		return;

-	}

-}

-/**

- * Sets the year

- */

-private void setYear(Integer newYear) {

-	year = newYear;

-}

-/**

- * The value as displayed in the Property Sheet.

- * @return java.lang.String

- */

-public String toString() {

-	Date bday =(new GregorianCalendar(getYear().intValue(), getMonth().intValue() - 1, getDay().intValue())).getTime();

-	return formatter.format(bday);

-}

-}

diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/EmailAddress.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/EmailAddress.java
deleted file mode 100644
index f219f52..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/EmailAddress.java
+++ /dev/null
@@ -1,181 +0,0 @@
-package org.eclipse.ui.examples.propertysheet;

-

-/*

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

- * All Rights Reserved.

- */

-import java.util.Vector;

-

-import org.eclipse.ui.views.properties.*;

-

-/**

- * Example IPropertySource is editable and whose childern properties are itself not editable.

- * The values of "userid" and "mailserver" are parsed from setting "email"

- */

-public class EmailAddress implements IPropertySource {

-

-	//Property-Value

-	private String userid;

-	private String domain;

-

-	//Default Property-Value

-	private static final String USERID_DEFAULT = MessageUtil.getString("unknownUser"); //$NON-NLS-1$

-	private static final String DOMAIN_DEFAULT = MessageUtil.getString("unknownDomain"); //$NON-NLS-1$

-	

-	//Property unique keys

-	public static final String P_ID_USERID = "EmailAddress.userid"; //$NON-NLS-1$

-	public static final String P_ID_DOMAIN = "EmailAddress.domain"; //$NON-NLS-1$

-	

-	//Property display keys

-	public static final String P_USERID = MessageUtil.getString("userid"); //$NON-NLS-1$

-	public static final String P_DOMAIN = MessageUtil.getString("domain"); //$NON-NLS-1$

-

-	//Property-Descriptors

-	private static Vector descriptors;

-

-	static{

-		descriptors = new Vector(2,2);

-		//non-editable child properties --> provide no editors

-		descriptors.addElement(new PropertyDescriptor(P_ID_USERID, P_USERID));

-		descriptors.addElement(new PropertyDescriptor(P_ID_DOMAIN, P_DOMAIN));	

-	}

-/**

- * EmailAddress Default Constructor

- */

-public EmailAddress() {

-	super();

-}

-/**

- * Convience EmailAddress constructor.

- * Calls setEmailAddress() to parse emailAddress

- * @param emailAddress java.lang.String, in the form userid@domain

- * @throws java.lang.IllegalArgumentException, if does not subscribe to form

- */

-public EmailAddress(String emailAddress) throws IllegalArgumentException{

-	super();

-	setEmailAddress(emailAddress);

-

-}

-/**

- * Returns the descriptors

- */

-private static Vector getDescriptors() {

-	return descriptors;

-}

-/**

- * Returns the domain

- */

-private String getDomain() {

-	if(domain == null)

-		domain = DOMAIN_DEFAULT;

-	return domain;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public Object getEditableValue() {

-	return this.toString();

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public IPropertyDescriptor[] getPropertyDescriptors() {

-	return (IPropertyDescriptor[])getDescriptors().toArray(new IPropertyDescriptor[getDescriptors().size()]);

-}

-/** 

- * The <code>EmailAddress</code> implementation of this

- * <code>IPropertySource</code> method returns the following properties

- *

- * 	1) P_USERID returns String, values before "@"

- *	2) P_DOMAIN returns String, values after "@"

- *

- * Observe the available properties must always equal those listed

- * in the property descriptors

- */

-public Object getPropertyValue(Object propKey) {

-	if (propKey.equals(P_ID_USERID))

-		return getUserid();

-	if (propKey.equals(P_ID_DOMAIN))

-		return getDomain();

-	return null;

-}

-/**

- * Returns the userid

- */

-private String getUserid() {

-	if(userid == null)

-		userid = USERID_DEFAULT;

-	return userid;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public boolean isPropertySet(Object property) {

-	return false;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public void resetPropertyValue(Object property) {

-	return;

-}

-/**

- * Sets the domain

- */

-private void setDomain(java.lang.String newDomain) {

-	domain = newDomain;

-}

-/**

- * Parses emailAddress into domain and userid. Throws SetPropertyVetoException

- * if emailAddress does not contain an userid and domain seperated by '@'.

- *

- * @param emailAddress the email address

- * @throws IllegalArgumentException

- */

-private void setEmailAddress(String emailAddress) throws IllegalArgumentException {

-	if(emailAddress == null)

-		throw new IllegalArgumentException(MessageUtil.getString("emailaddress_cannot_be_set_to_null")); //$NON-NLS-1$

-	int index = emailAddress.indexOf('@');

-	int length = emailAddress.length();

-	if (index > 0 && index < length) {

-		setUserid(emailAddress.substring(0, index));

-		setDomain(emailAddress.substring(index + 1));

-		return;

-	}

-	throw new IllegalArgumentException(MessageUtil.getString("invalid_email_address_format_should_have_been_validated")); //$NON-NLS-1$

-}

-/** 

- * The <code>Address</code> implementation of this

- * <code>IPropertySource</code> method 

- * defines the following Setable properties

- *

- *	1) P_USERID, expects String

- *	2) P_DOMAIN, expects String

- */

-public void setPropertyValue(Object name, Object value) {

-	if (name.equals(P_ID_USERID)) {

-		setUserid((String) value);

-		return;

-	}

-	if (name.equals(P_ID_DOMAIN)) {

-		setDomain((String) value);

-		return;

-	}

-}

-/**

- * Sets the userid

- */

-private void setUserid(String newUserid) {

-	userid = newUserid;

-}

-/**

- * The value as displayed in the Property Sheet.

- * @return java.lang.String

- */

-public String toString() {

-	StringBuffer strbuffer = new StringBuffer(getUserid());

-	strbuffer.append('@');

-	strbuffer.append(getDomain());

-	return strbuffer.toString();

-}

-}

diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/EmailAddressValidator.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/EmailAddressValidator.java
deleted file mode 100644
index f91d8c6..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/EmailAddressValidator.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.ui.examples.propertysheet;

-

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.jface.viewers.ICellEditorValidator;

-/**

- * Validator for email addresses

- */

-public class EmailAddressValidator implements ICellEditorValidator {

-/** 

- * The <code>EmailAddressValidator</code> implementation of this

- * <code>ICellEditorValidator</code> method 

- * determines if the value is a valid email address.

- * (check to see if it is non-null and contains an @)

- */

-public String isValid(Object value) {

-	if (value == null) {

-		return MessageUtil.getString("email_address_is_incomplete"); //$NON-NLS-1$

-	}

-	String emailAddress = (String)value;

-	int index = emailAddress.indexOf('@');

-	int length = emailAddress.length();

-	if (index > 0 && index < length) {

-		return null;

-	}

-	return MessageUtil.getString("email_address_does_not_have_a_valid_format"); //$NON-NLS-1$

-}

-}

diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/GroupElement.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/GroupElement.java
deleted file mode 100644
index 4ac0544..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/GroupElement.java
+++ /dev/null
@@ -1,139 +0,0 @@
-package org.eclipse.ui.examples.propertysheet;

-

-/*

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

- * All Rights Reserved.

- */

-import java.util.Vector;

-

-/**

- * A Group Element

- */

-public class GroupElement extends OrganizationElement {

-	public static String P_USERS = "users"; //$NON-NLS-1$

-	public static String P_SUBGROUPS = "subgroups"; //$NON-NLS-1$

-	public static String P_CONTENTS = "contents"; //$NON-NLS-1$

-	private Vector subGroups;

-	private Vector users;

-	// must be synchronized to contain both the references of subGroups and users

-	private Vector contents;

-/**

- * Constructor.

- * Creates a new GroupElement within the passed parent GroupElement,

- * gives it the passed name property, sets Icon.

- *

- * @param name the name 

- * @param parent the parent

- */

-public GroupElement(String name, GroupElement parent) {

-	super(name, parent);

-}

-/**

- * Adds an OrganizationElement to this GroupElement.

- *

- * @param userGroup The Organization Element

- */

-public void add(OrganizationElement userGroup) {

-	if (userGroup.isUser() || userGroup.isGroup()) {

-		getContents().add(userGroup);		

-	}

-	if (userGroup.isGroup()) {

-		getSubGroups().add(userGroup);

-		// synchronizes backpointer of userGroup: defensive

-		userGroup.setParent(this);

-	}

-	if (userGroup.isUser()) {

-		getUsers().add(userGroup);

-		// synchronizes backpointer of userGroup: defensive

-		userGroup.setParent(this);

-	}

-

-}

-/**

- * Creates a new <code>GroupElement</code>

- * nested in this <code>GroupElement<code>

- *

- * @param name the name of the sub group

- */

-public GroupElement createSubGroup(String name) {

-	GroupElement newGroup = new GroupElement(name, this);

-	add(newGroup);

-	return newGroup;

-}

-/**

- * Creates a new <code>UserElement</code>

- *

- * @param the name of the user element

- */

-public UserElement createUser(String name) {

-	UserElement newUser = new UserElement(name, this);

-	add(newUser);

-	return newUser;

-}

-/**

- * Deletes an OrganizationElement from this GroupElement.

- *

- * @param userGroup the Organization Element

- */

-public void delete(OrganizationElement userGroup) {

-	if (userGroup.isUser() || userGroup.isGroup()) {

-		getContents().remove(userGroup);

-	}

-	if (userGroup.isGroup()) {

-		getSubGroups().remove(userGroup);

-		// synchronizes backpointer of userGroup: defensive

-	}

-	if (userGroup.isUser()) {

-		getUsers().remove(userGroup);

-		// synchronizes backpointer of userGroup: defensive

-	}

-}

-/* (non-Javadoc)

- * Method declared on IWorkbenchAdapter

- */

-public Object[] getChildren(Object o) {

-	return getContents().toArray();

-}

-/**

- * Returns the content

- */

-private Vector getContents() {

-	if (contents == null)

-		contents = new Vector();

-	return contents;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public Object getEditableValue() {

-	return this.toString();

-}

-/**

- * Returns the error message

- */

-public String getErrorMessage() {

-	return null;

-}

-/**

- * Returns the subgroups

- */

-private Vector getSubGroups() {

-	if (subGroups == null)

-		subGroups = new Vector();

-	return subGroups;

-}

-/**

- * Returns the users

- */

-private Vector getUsers() {

-	if (users == null)

-		users = new Vector();

-	return users;

-}

-/* (non-Javadoc)

- * Method declared on OrganizationElement

- */

-public boolean isGroup() {

-	return true;

-}

-}

diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/IUserConstants.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/IUserConstants.java
deleted file mode 100644
index 6484841..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/IUserConstants.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.eclipse.ui.examples.propertysheet;

-

-/*

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

- * All Rights Reserved.

- */

-/**

- * This interface contains constants for use only within the

- * property sheet example.

- */

-public interface IUserConstants {

-	public static final String PLUGIN_ID = "org.eclipse.ui.examples.propertysheet"; //$NON-NLS-1$

-	public static final String PREFIX = PLUGIN_ID + "."; //$NON-NLS-1$

-	public static final String P_CONTENT_OUTLINE = PREFIX + "content_outline"; //$NON-NLS-1$

-	public static final String EXTENSION = "usr"; //$NON-NLS-1$

-	public static final String ATT_CLASS = "class"; //$NON-NLS-1$

-}

diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/MessageUtil.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/MessageUtil.java
deleted file mode 100644
index 034b0ce..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/MessageUtil.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*

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

- * All Rights Reserved.

- */

-package org.eclipse.ui.examples.propertysheet;

-

-import java.text.MessageFormat;

-import java.util.MissingResourceException;

-import java.util.ResourceBundle;

-

-/**

- * Utility class which helps with managing messages.

- */

-/* package */ class MessageUtil {

-

-	private static final String RESOURCE_BUNDLE= "org.eclipse.ui.examples.propertysheet.messages";//$NON-NLS-1$

-

-	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);

-

-	private MessageUtil() {

-	}

-

-	/**

-	 * Returns the formatted message for the given key in

-	 * the resource bundle. 

-	 *

-	 * @param key the resource name

-	 * @param args the message arguments

-	 * @return the string

-	 */	

-	public static String format(String key, Object[] args) {

-		return MessageFormat.format(getString(key),args);

-	}

-

-	/**

-	 * Returns the resource object with the given key in

-	 * the resource bundle. If there isn't any value under

-	 * the given key, the key is returned, surrounded by '!'s.

-	 *

-	 * @param key the resource name

-	 * @return the string

-	 */	

-	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/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Name.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Name.java
deleted file mode 100644
index f3acba1..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Name.java
+++ /dev/null
@@ -1,215 +0,0 @@
-package org.eclipse.ui.examples.propertysheet;

-

-/*

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

- * All Rights Reserved.

- */

-import java.util.Vector;

-

-import org.eclipse.ui.views.properties.*;

-

-/**

- * Example IPropertySource whose value as well as its children are editable.

- */

-public class Name implements IPropertySource

-{

-	private String firstName = ""; //$NON-NLS-1$

-	private String lastName = ""; //$NON-NLS-1$

-	private String initial = ""; //$NON-NLS-1$

-	

-	// property unique keys

-	public static String P_ID_FIRSTNAME = "Name.FirstName"; //$NON-NLS-1$

-	public static String P_ID_LASTNAME = "Name.LastName"; //$NON-NLS-1$

-	public static String P_ID_MIDDLENAME = "Name.Middle"; //$NON-NLS-1$

-

-	// property display keys

-	public static String P_FIRSTNAME = MessageUtil.getString("FirstName"); //$NON-NLS-1$

-	public static String P_LASTNAME = MessageUtil.getString("LastName"); //$NON-NLS-1$

-	public static String P_MIDDLENAME = MessageUtil.getString("Middle"); //$NON-NLS-1$

-	

-	// default values

-	//

-	private static final String FIRSTNAME_DEFAULT = null;

-	private static final String LASTNAME_DEFAULT = null;

-	private static final String MIDDLENAME_DEFAULT = null;

-	

-	public static final String P_DESCRIPTORS = "properties"; //$NON-NLS-1$

-	static private Vector descriptors;	

-	static

-	{

-		descriptors = new Vector();

-		descriptors.addElement(new TextPropertyDescriptor(P_ID_FIRSTNAME, P_FIRSTNAME));

-		descriptors.addElement(new TextPropertyDescriptor(P_ID_LASTNAME, P_LASTNAME));

-		descriptors.addElement(new TextPropertyDescriptor(P_ID_MIDDLENAME, P_MIDDLENAME));

-	}

-/**

- * Creates a new Name.

- * @param name String in the form "firstname initial lastname"

- */

-public Name(String name) {

-	int index1, index2, length;

-	index1 = name.indexOf(' ');

-	if (index1 < 0)

-		index1 = name.length();

-	index2 = name.lastIndexOf(' ');

-	length = name.length();

-	if (index2 > 0)

-		lastName = name.substring(index2 + 1);

-	firstName = name.substring(0, index1);

-	if (index1 < index2)

-		initial = name.substring(index1 + 1, index2);

-}

-/**

- * Returns the descriptors

- */

-private static Vector getDescriptors() {

-	return descriptors;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public Object getEditableValue() {

-	return this.toString();

-}

-/**

- * Returns the first name

- */

-private String getFirstName()

-{	

-	return firstName;

-}

-/**

- * Returns the initial

- */

-private String getInitial()

-{	

-	return initial;

-}

-/**

- * Returns the last name

- */

-private String getLastName()

-{	

-	return lastName;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public IPropertyDescriptor[] getPropertyDescriptors() {

-	return (IPropertyDescriptor[])getDescriptors().toArray(new IPropertyDescriptor[getDescriptors().size()]);

-}

-/** 

- * The <code>Name</code> implementation of this

- * <code>IPropertySource</code> method returns the following properties

- *

- * 	1) P_FIRSTNAME returns String, firstname

- * 	2) P_LASTNAME returns String, lastname

- *  3) P_MIDDLENAME returns String, middle

- */

-public Object getPropertyValue(Object propKey) {

-	if (P_ID_FIRSTNAME.equals(propKey))

-		return getFirstName();

-	if (P_ID_LASTNAME.equals(propKey))

-		return getLastName();

-	if (P_ID_MIDDLENAME.equals(propKey))

-		return getInitial();

-	return null;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public boolean isPropertySet(Object key) {

-	if (key.equals(P_ID_FIRSTNAME))

-		return getFirstName() != FIRSTNAME_DEFAULT;

-	if (key.equals(P_ID_LASTNAME))

-		return getLastName() != LASTNAME_DEFAULT;

-	if (key.equals(P_ID_MIDDLENAME))

-		return getInitial() != MIDDLENAME_DEFAULT;

-	return false;

-}

-/**

- * Implemented as part of IPropertySource framework. Sets the specified property 

- * to its default value.

- * 

- * @see 	IPropertySource#resetPropertyValue(Object)

- * @param 	property 	The property to reset.

- */

-public void resetPropertyValue(Object property) {

-	if (P_ID_FIRSTNAME.equals(property)) {

-		setFirstName(FIRSTNAME_DEFAULT);

-		return;

-	}

-	if (P_ID_LASTNAME.equals(property)) {

-		setLastName(LASTNAME_DEFAULT);

-		return;

-	}

-	if (P_ID_MIDDLENAME.equals(property)) {

-		setInitial(MIDDLENAME_DEFAULT);

-		return;

-	}

-}

-/**

- * Sets the first name

- */

-private void setFirstName(String newFirstName)

-{	

-	firstName = newFirstName;

-}

-/**

- * Sets the initial

- */

-private void setInitial(String newInitial)

-{	

-	initial = newInitial;

-}

-/**

- * Sets the last name

- */

-private void setLastName(String newLastName)

-{	

-	lastName = newLastName;

-}

-/** 

- * The <code>Name</code> implementation of this

- * <code>IPropertySource</code> method 

- * defines the following Setable properties

- *

- *	1) P_FIRST, expects String, sets the firstname of this OrganizationElement

- *  2) P_MIDDLENAME, expects String, sets middlename of this OrganizationElement

- *  3) P_LASTNAME, expects String, sets lastname of this OrganizationElement

- */

-public void setPropertyValue(Object propName, Object val) {

-	if (P_ID_FIRSTNAME.equals(propName)) {

-		setFirstName((String) val);

-		return;

-	}

-	if (P_ID_LASTNAME.equals(propName)) {

-		setLastName((String) val);

-		return;

-	}

-	if (P_ID_MIDDLENAME.equals(propName)) {

-		setInitial((String) val);

-		return;

-	}

-}

-/**

- * The value as displayed in the Property Sheet. Will not print default values

- * @return java.lang.String

- */

-public String toString(){

-	StringBuffer outStringBuffer = new StringBuffer();

-	if(getFirstName()!=FIRSTNAME_DEFAULT) {

-		outStringBuffer.append(getFirstName());

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

-	}

-	if(getInitial()!=MIDDLENAME_DEFAULT) {

-		outStringBuffer.append(getInitial());

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

-	}

-	if(getLastName()!=LASTNAME_DEFAULT) {

-		outStringBuffer.append(getLastName());

-	}

-	

-	return outStringBuffer.toString();

-}

-}

diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/OrganizationElement.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/OrganizationElement.java
deleted file mode 100644
index b0195d1..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/OrganizationElement.java
+++ /dev/null
@@ -1,173 +0,0 @@
-package org.eclipse.ui.examples.propertysheet;

-

-/*

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

- * All Rights Reserved.

- */

-import java.util.Vector;

-

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

-import org.eclipse.jface.resource.ImageDescriptor;

-import org.eclipse.jface.viewers.IBasicPropertyConstants;

-import org.eclipse.ui.model.IWorkbenchAdapter;

-import org.eclipse.ui.views.properties.*;

-

-/**

- * An Organization Element

- */

-public abstract class OrganizationElement implements IAdaptable, IPropertySource, IWorkbenchAdapter {

-	//

-	private GroupElement parent;

-	private String name;

-	private ImageDescriptor imageDescriptor;

-	

-	//

-	private static Vector descriptors;

-	static {

-		descriptors = new Vector();

-		PropertyDescriptor name = new TextPropertyDescriptor(IBasicPropertyConstants.P_TEXT, MessageUtil.getString("name")); //$NON-NLS-1$

-		descriptors.addElement(name);

-	}

-/**

- * Constructor.

- * Creates a new OrganizationElement within the passed parent GroupElement,

- *

- * @param name the name 

- * @param parent the parent

- */

-OrganizationElement(String name, GroupElement parent) {

-	this.name = name;

-	this.parent = parent;

-}

-/**

- * Deletes this OrganizationElement from its parentGroup

- */

-public void delete()

-{	parent.delete(this);

-}

-/* (non-Javadoc)

- * Method declared on IAdaptable

- */

-public Object getAdapter(Class adapter) {

-	if (adapter == IPropertySource.class) {

-		return this;

-	}

-	if (adapter == IWorkbenchAdapter.class) {

-		return this;

-	}

-	return null;

-}

-/**

- * Returns the descriptors

- */

-static Vector getDescriptors()

-{	

-	return descriptors;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public Object getEditableValue() {

-	return this;

-}

-/* (non-Javadoc)

- * Method declared on IWorkbenchAdapter

- */

-public ImageDescriptor getImageDescriptor(Object object) {

-	return imageDescriptor;

-}

-/* (non-Javadoc)

- * Method declared on IWorkbenchAdapter

- */

-public String getLabel(Object o) {

-	return getName();

-}

-/**

- * Returns the name

- */

-String getName()

-{

-	return name;

-}

-/**

- * Returns the parent

- */

-public Object getParent(Object o)

-{	

-	return parent;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public IPropertyDescriptor[] getPropertyDescriptors()

-{	return (IPropertyDescriptor[])getDescriptors().toArray(new IPropertyDescriptor[getDescriptors().size()]);

-}

-/** 

- * The <code>OrganizationElement</code> implementation of this

- * <code>IPropertySource</code> method returns the following properties

- *

- * 	1) P_NAME returns String, name of this element

- *  this property key is defined in <code>IBasicPropertyConstants</code>

- */

-public Object getPropertyValue(Object propKey)

-{

-	if (propKey.equals(IBasicPropertyConstants.P_TEXT))

-		return getName();

-	return null;

-}

-/**

- * Hook. Implemented by <code>GroupElement</code> for use instead of instanceof

- * @return boolean

- */

-public boolean isGroup() {

-	return false;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public boolean isPropertySet(Object property) {

-	return false;

-}

-/**

- * Hook. Implemented by <code>UserElement</code> for use instead of instanceof

- * @return boolean

- */

-public boolean isUser() {

-	return false;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public void resetPropertyValue(Object property){}

-/**

- * Sets the image descriptor

- */

-void setImageDescriptor(ImageDescriptor desc) {

-	imageDescriptor = desc;

-}

-/**

- * Sets the name

- */

-void setName(String newName) {

-	name = newName;

-}

-/**

- * Sets this instance's parent back pointer.

- */

-void setParent(GroupElement newParent){

-	parent = newParent;

-}

-/** 

- * The <code>OrganizationElement</code> implementation of this

- * <code>IPropertySource</code> method returns the following properties

- * defines the following Setable properties

- *

- *	1) P_NAME, expects String, sets the name of this OrganizationElement

- */

-public void setPropertyValue(Object name, Object value) {

-	if (name.equals(IBasicPropertyConstants.P_TEXT)) {

-		setName((String) value);

-		return;

-	}

-}

-}

diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PopupMenuActionDelegate.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PopupMenuActionDelegate.java
deleted file mode 100644
index 3c329fc..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PopupMenuActionDelegate.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.ui.examples.propertysheet;

-

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.jface.action.IAction;

-import org.eclipse.jface.dialogs.MessageDialog;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.ui.IObjectActionDelegate;

-import org.eclipse.ui.IWorkbenchPart;

- 

-/**

- * Action delegate for handling popup menu actions.

- */

-public class PopupMenuActionDelegate implements IObjectActionDelegate {

-

-	private IWorkbenchPart part;

-/** (non-Javadoc)

- * Method declared on IDropActionDelegate

- */

-public void run(IAction action) {

-	MessageDialog.openInformation(

-		this.part.getSite().getShell(),

-		MessageUtil.getString("Property_Sheet_Example"), //$NON-NLS-1$

-		MessageUtil.getString("Popup_Menu_Action_executed")); //$NON-NLS-1$

-}

-/** (non-Javadoc)

- * Method declared on IActionDelegate

- */

-public void selectionChanged(IAction action, ISelection selection) {

-	//Ignored for this example

-}

-/** (non-Javadoc)

- * Method declared on IObjectActionDelegate

- */

-public void setActivePart(IAction action, IWorkbenchPart targetPart) {

-	this.part = targetPart;

-}

-}

diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PropertySheetContentOutlinePage.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PropertySheetContentOutlinePage.java
deleted file mode 100644
index f5e94d6..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PropertySheetContentOutlinePage.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.eclipse.ui.examples.propertysheet;

-

-/*

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

- * All Rights Reserved.

- */

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

-import org.eclipse.jface.action.MenuManager;

-import org.eclipse.jface.action.Separator;

-import org.eclipse.jface.viewers.TreeViewer;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.Menu;

-import org.eclipse.ui.IWorkbenchActionConstants;

-import org.eclipse.ui.model.WorkbenchContentProvider;

-import org.eclipse.ui.model.WorkbenchLabelProvider;

-import org.eclipse.ui.views.contentoutline.ContentOutlinePage;

-

-/**

- * Page for the content outliner

- */

-public class PropertySheetContentOutlinePage extends ContentOutlinePage {

-

-	private IAdaptable model;

-/**

- * Create a new instance of the reciver using adapatable

- * as the model.

- */

-public PropertySheetContentOutlinePage(IAdaptable adaptable) {

-	this.model = adaptable;

-}

-/** 

- * Creates the control and registers the popup menu for this page

- * Menu id "org.eclipse.ui.examples.propertysheet.outline"

- */

-public void createControl(Composite parent) {

-	super.createControl(parent);

-	TreeViewer viewer = getTreeViewer();

-	viewer.setContentProvider(new WorkbenchContentProvider());

-	viewer.setLabelProvider(new WorkbenchLabelProvider());

-	viewer.setInput(this.model); 

-	viewer.expandAll();

-	

-	// Configure the context menu.

-	MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$

-	menuMgr.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));	

-	menuMgr.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS+"-end"));	 //$NON-NLS-1$

-

-	Menu menu = menuMgr.createContextMenu(viewer.getTree());

-	viewer.getTree().setMenu(menu);

-	// Be sure to register it so that other plug-ins can add actions.

-	getSite().registerContextMenu("org.eclipse.ui.examples.propertysheet.outline", menuMgr, viewer); //$NON-NLS-1$

-}

-}

diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PropertySheetPlugin.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PropertySheetPlugin.java
deleted file mode 100644
index 666721d..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PropertySheetPlugin.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.ui.examples.propertysheet;

-

-/*

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

- * All Rights Reserved.

- */

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

-import org.eclipse.ui.plugin.AbstractUIPlugin;

-

-/**

- * This is the top-level class of the property sheet example.

- *

- * @see AbstractUIPlugin for additional information on UI plugins

- */

-public class PropertySheetPlugin extends AbstractUIPlugin {

-	// Default instance of the receiver

-	private static PropertySheetPlugin inst;

-/**

- * Create the PropertySheet plugin and cache its default instance

- *

- * @param descriptor  the plugin descriptor which the receiver is made from

- */

-public PropertySheetPlugin(IPluginDescriptor descriptor) {

-	super(descriptor);

-	if (inst==null) inst = this;

-}

-/**

- * Returns the plugin singleton.

- *

- * @return the default PropertySheetPlugin instance

- */

-static public PropertySheetPlugin getDefault() {

-	return inst;

-}

-}

diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/StreetAddress.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/StreetAddress.java
deleted file mode 100644
index 7d336f5..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/StreetAddress.java
+++ /dev/null
@@ -1,232 +0,0 @@
-package org.eclipse.ui.examples.propertysheet;

-

-/*

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

- * All Rights Reserved.

- */

-import java.util.Vector;

-

-import org.eclipse.ui.views.properties.*;

-

-/**

- * PropertySource containing street information pertenant to Address

- */

-public class StreetAddress implements IPropertySource {

-	

-	//properties

-	private Integer buildNo;

-	private String aptBox;

-	private String streetName;

-

-	//default property values

-	private static final Integer BUILD_NO_DEFAULT = new Integer(0);

-	private static final String APTBOX_DEFAULT = MessageUtil.getString("unspecified"); //$NON-NLS-1$

-	private static final String STREETNAME_DEFAULT = MessageUtil.getString("unspecified"); //$NON-NLS-1$

-

-	//property unique keys

-	public static final String P_ID_BUILD_NO = "Street.buildingNo"; //$NON-NLS-1$

-	public static final String P_ID_APTBOX = "Street.aptNo"; //$NON-NLS-1$

-	public static final String P_ID_STREET = "Street.street"; //$NON-NLS-1$

-	

-	//property display keys

-	public static final String P_BUILD_NO = MessageUtil.getString("building_number"); //$NON-NLS-1$

-	public static final String P_APTBOX = MessageUtil.getString("apt.no_or_box.no"); //$NON-NLS-1$

-	public static final String P_STREET = MessageUtil.getString("street"); //$NON-NLS-1$

-

-	//

-	private static Vector descriptors;

-

-	static {

-		descriptors = new Vector();

-		descriptors.addElement(new TextPropertyDescriptor(P_ID_BUILD_NO, P_BUILD_NO));

-		descriptors.addElement(new TextPropertyDescriptor(P_ID_APTBOX, P_APTBOX));

-		descriptors.addElement(new TextPropertyDescriptor(P_ID_STREET, P_STREET));

-	}

-/**

- * Street Default Constructor.

- */

-public StreetAddress() {

-	super();

-}

-/**

- * Convenience Street constructor. AptBox set to default

- */

-public StreetAddress(int buildNo, String streetName) {

-	super();

-	setBuildNo(new Integer(buildNo));

-	setStreetName(streetName);

-}

-/**

- * Convenience Street constructor.

- */

-public StreetAddress(int buildNo, String aptBox, String streetName) {

-	super();

-	setBuildNo(new Integer(buildNo));

-	setAptBox(aptBox);

-	setStreetName(streetName);

-}

-/* (non-Javadoc)

- * Method declared on Object

- */

-public boolean equals(Object ob) {

-	return toString().equals(ob.toString());

-}

-/**

- * the appartment number

- */

-private String getAptBox() {

-	if(aptBox == null)

-		aptBox = APTBOX_DEFAULT;

-	return aptBox;

-}

-/**

- * Returns the building number

- */

-private Integer getBuildNo() {

-	if(buildNo == null)

-		buildNo = BUILD_NO_DEFAULT;

-	return buildNo;

-}

-/**

- * Returns the descriptors

- */

-private static Vector getDescriptors() {

-	return descriptors;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public Object getEditableValue() {

-	return this.toString();

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public IPropertyDescriptor[] getPropertyDescriptors() {

-	return (IPropertyDescriptor[])getDescriptors().toArray(new IPropertyDescriptor[getDescriptors().size()]);

-}

-/** 

- * The <code>Name</code> implementation of this

- * <code>IPropertySource</code> method returns the following properties

- *

- * 	1) P_BUILD_NO returns java.lang.Integer

- * 	2) P_APTBOX returns java.lang.String

- *	3) P_STREET returns java.lang.String

- */

-public Object getPropertyValue(Object propKey) {

-	if (propKey.equals(P_ID_BUILD_NO))

-		return getBuildNo().toString();

-	if (propKey.equals(P_ID_APTBOX))

-		return getAptBox();

-	if (propKey.equals(P_ID_STREET))

-		return getStreetName();

-	return null;

-}

-/**

- * Returns the street name

- */

-private String getStreetName() {

-	if(streetName == null)

-		streetName = STREETNAME_DEFAULT;

-	return streetName;

-}

-/* (non-Javadoc)

- * Method declared on Object

- */

-public int hashCode()

-{	return toString().hashCode();

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public boolean isPropertySet(Object property) {

-	if (property.equals(P_ID_BUILD_NO))

-		return getBuildNo() != BUILD_NO_DEFAULT;

-	if (property.equals(P_ID_APTBOX))

-		return getAptBox() != APTBOX_DEFAULT;

-	if (property.equals(P_ID_STREET))

-		return getStreetName() != STREETNAME_DEFAULT;

-	return false;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public void resetPropertyValue(Object property) {

-	if (property.equals(P_ID_BUILD_NO)) {

-		setBuildNo(BUILD_NO_DEFAULT);

-		return;

-	}

-	if (property.equals(P_ID_APTBOX)) {

-		setAptBox(APTBOX_DEFAULT);

-		return;

-	}

-	if (property.equals(P_ID_STREET)) {

-		setStreetName(STREETNAME_DEFAULT);

-		return;

-	}

-}

-/**

- * Sets the appartment number

- */

-private void setAptBox(String newAptBox) {

-	aptBox = newAptBox;

-}

-/**

- * Sets the building number

- */

-private void setBuildNo(Integer newBuildNo) {

-	buildNo = newBuildNo;

-}

-/** 

- * The <code>Name</code> implementation of this

- * <code>IPropertySource</code> method 

- * defines the following Setable properties

- *

- * 	1) P_BUILD_NO expects java.lang.Integer

- * 	2) P_APTBOX expects java.lang.String

- *	3) P_STREET expects java.lang.String

- */

-public void setPropertyValue(Object name, Object value) {

-	if (name.equals(P_ID_BUILD_NO)) {

-		try {

-			setBuildNo(new Integer(Integer.parseInt((String)value)));

-		} catch (NumberFormatException e) {

-			setBuildNo(BUILD_NO_DEFAULT);

-		}

-		return;

-	}

-	if (name.equals(P_ID_APTBOX)) {

-		setAptBox((String) value);

-		return;

-	}

-	if (name.equals(P_ID_STREET)){

-		setStreetName((String) value);

-		return;

-	}

-}

-/**

- * Sets the street name

- */

-private void setStreetName(String newStreetName) {

-	streetName = newStreetName;

-}

-/**

- * The value as displayed in the Property Sheet. Will not print default values

- * @return java.lang.String

- */

-public String toString() {

-	StringBuffer outStringBuffer = new StringBuffer();

-	if (!getAptBox().equals(APTBOX_DEFAULT)) {

-		outStringBuffer.append(getAptBox());

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

-	}

-	if (!getBuildNo().equals(BUILD_NO_DEFAULT)) {

-		outStringBuffer.append(getBuildNo());

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

-	}

-	if (!getStreetName().equals(STREETNAME_DEFAULT)) {

-		outStringBuffer.append(getStreetName());

-	}

-	return outStringBuffer.toString();

-}

-}

diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserEditor.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserEditor.java
deleted file mode 100644
index 16f86b4..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserEditor.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.ui.examples.propertysheet;

-

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.jface.text.Document;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.ui.editors.text.TextEditor;

-import org.eclipse.ui.views.contentoutline.ContentOutlinePage;

-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;

-import org.eclipse.ui.views.properties.IPropertySheetPage;

-import org.eclipse.ui.views.properties.PropertySheetPage;

-

-/**

- * This class implements the User editor.

- */

-public class UserEditor extends TextEditor {

-	private ContentOutlinePage userContentOutline;

-/**

- * UserEditor default Constructor

- */

-public UserEditor() {

-	super();

-}

-/* (non-Javadoc)

- * Method declared on WorkbenchPart

- */

-public void createPartControl(Composite parent) {

-	super.createPartControl(parent);

-	getSourceViewer().setDocument(new Document(MessageUtil.getString("Editor_instructions"))); //$NON-NLS-1$

-}

-/* (non-Javadoc)

- * Method declared on IAdaptable

- */

-public Object getAdapter(Class adapter) {

-	if (adapter.equals(IContentOutlinePage.class)) {

-			return getContentOutline();

-	}

-	if (adapter.equals(IPropertySheetPage.class)) {

-			return getPropertySheet();

-	}

-	return super.getAdapter(adapter);

-}

-/**

- * Returns the content outline.

- */

-protected ContentOutlinePage getContentOutline() {

-	if (userContentOutline == null) {

-		//Create a property outline page using the parsed result of passing in the document provider.

-		userContentOutline =

-			new PropertySheetContentOutlinePage(

-				new UserFileParser().parse(getDocumentProvider()));

-	}

-	return userContentOutline;

-}

-/**

- * Returns the property sheet.

- */

-protected IPropertySheetPage getPropertySheet() {

-	return new PropertySheetPage();

-}

-}

diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserElement.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserElement.java
deleted file mode 100644
index 67e3a0f..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserElement.java
+++ /dev/null
@@ -1,505 +0,0 @@
-package org.eclipse.ui.examples.propertysheet;

-

-/*

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

- * All Rights Reserved.

- */

-import java.util.Vector;

-

-import org.eclipse.jface.viewers.ICellEditorValidator;

-import org.eclipse.jface.viewers.LabelProvider;

-import org.eclipse.swt.graphics.RGB;

-import org.eclipse.ui.views.properties.*;

-

-/**

- * A User Element

- */

-public class UserElement extends OrganizationElement {

-

-	// Properties

-	private Name fullName;

-	private Address address;

-	private String phoneNumber;

-	private EmailAddress emailAddress;

-	private Boolean coop;

-	private Birthday birthday;

-	private Float salary;

-	private RGB hairColor;

-	private RGB eyeColor;

-

-	// Property default values

-	private Name fullName_Default;

-	private Address address_Default;

-	private String phoneNumber_Default= "555-1111"; //$NON-NLS-1$

-	private EmailAddress emailAddress_Default;

-	private Boolean coop_Default;

-	private Birthday birthday_Default;

-	private Float salary_Default;

-	private RGB hairColor_Default;

-	private RGB eyeColor_Default;

-

-	// Property unique keys

-	public static final String P_ID_PHONENUMBER = "User.phonenumber"; //$NON-NLS-1$

-	public static final String P_ID_ADDRESS = "User.address"; //$NON-NLS-1$

-	public static final String P_ID_FULLNAME = "User.fullname"; //$NON-NLS-1$

-	public static final String P_ID_EMAIL = "User.email"; //$NON-NLS-1$

-	public static final String P_ID_COOP = "User.coop student"; //$NON-NLS-1$

-	public static final String P_ID_BDAY = "User.birthday"; //$NON-NLS-1$

-	public static final String P_ID_SALARY = "User.salary"; //$NON-NLS-1$

-	public static final String P_ID_HAIRCOLOR = "User.haircolor"; //$NON-NLS-1$

-	public static final String P_ID_EYECOLOR = "User.eyecolor"; //$NON-NLS-1$

-

-	// Property display keys

-	public static final String P_PHONENUMBER = MessageUtil.getString("phonenumber"); //$NON-NLS-1$

-	public static final String P_ADDRESS = MessageUtil.getString("address"); //$NON-NLS-1$

-	public static final String P_FULLNAME = MessageUtil.getString("fullname"); //$NON-NLS-1$

-	public static final String P_EMAIL = MessageUtil.getString("email"); //$NON-NLS-1$

-	public static final String P_COOP = MessageUtil.getString("coop_student"); //$NON-NLS-1$

-	public static final String P_BDAY = MessageUtil.getString("birthday"); //$NON-NLS-1$

-	public static final String P_SALARY = MessageUtil.getString("salary"); //$NON-NLS-1$

-	public static final String P_HAIRCOLOR = MessageUtil.getString("haircolor"); //$NON-NLS-1$

-	public static final String P_EYECOLOR = MessageUtil.getString("eyecolor"); //$NON-NLS-1$

-

-	// Help context ids

-	private static final String PHONE_NUMBER_CONTEXT ="org.eclipse.ui.examples.propertysheet.phone_number_context"; //$NON-NLS-1$

-	private static final String ADDRESS_CONTEXT ="org.eclipse.ui.examples.propertysheet.address_context"; //$NON-NLS-1$

-	private static final String FULL_NAME_CONTEXT ="org.eclipse.ui.examples.propertysheet.full_name_context"; //$NON-NLS-1$

-	private static final String EMAIL_CONTEXT ="org.eclipse.ui.examples.propertysheet.email_context"; //$NON-NLS-1$

-	private static final String COOP_CONTEXT ="org.eclipse.ui.examples.propertysheet.coop_context"; //$NON-NLS-1$

-	private static final String BIRTHDAY_CONTEXT ="org.eclipse.ui.examples.propertysheet.birthday_context"; //$NON-NLS-1$

-	private static final String SALARY_CONTEXT ="org.eclipse.ui.examples.propertysheet.salary_context"; //$NON-NLS-1$

-	private static final String HAIR_COLOR__CONTEXT ="org.eclipse.ui.examples.propertysheet.hair_color_context"; //$NON-NLS-1$

-	private static final String EYE_COLOR_CONTEXT ="org.eclipse.ui.examples.propertysheet.eye_color_context"; //$NON-NLS-1$

-

-	// Property Category

-	public static final String P_CONTACTINFO = MessageUtil.getString("contact"); //$NON-NLS-1$

-	public static final String P_PERSONELINFO = MessageUtil.getString("personel"); //$NON-NLS-1$

-	public static final String P_PERSONALINFO = MessageUtil.getString("personal"); //$NON-NLS-1$

-

-	// Property Values

-	public static final Integer P_VALUE_TRUE = new Integer(0);

-	public static final Integer P_VALUE_FALSE = new Integer(1);

-	public static final String P_VALUE_TRUE_LABEL = MessageUtil.getString("true"); //$NON-NLS-1$

-	public static final String P_VALUE_FALSE_LABEL = MessageUtil.getString("false"); //$NON-NLS-1$

-

-

-	static private class BooleanLabelProvider extends LabelProvider {

-		public String getText(Object element) {

-			String[] values = new String[] {P_VALUE_TRUE_LABEL, P_VALUE_FALSE_LABEL};

-			return values[((Integer)element).intValue()];

-		}

-	}

-

-

-	//

-	static private Vector descriptors;

-	static {

-		descriptors = new Vector();

-		PropertyDescriptor propertyDescriptor;

-		

-		///

-		propertyDescriptor = new TextPropertyDescriptor(P_ID_PHONENUMBER, P_PHONENUMBER);

-		propertyDescriptor.setCategory(P_CONTACTINFO);

-		propertyDescriptor.setHelpContextIds(PHONE_NUMBER_CONTEXT);

-		descriptors.addElement(propertyDescriptor);

-

-		///

-		propertyDescriptor = new PropertyDescriptor(P_ID_ADDRESS, P_ADDRESS);

-		propertyDescriptor.setCategory(P_CONTACTINFO);

-		propertyDescriptor.setHelpContextIds(ADDRESS_CONTEXT);

-		descriptors.addElement(propertyDescriptor);

-

-		///

-		propertyDescriptor = new TextPropertyDescriptor(P_ID_EMAIL, P_EMAIL);

-		propertyDescriptor.setCategory(P_CONTACTINFO);

-		propertyDescriptor.setHelpContextIds(EMAIL_CONTEXT);

-		propertyDescriptor.setValidator(new EmailAddressValidator());

-		descriptors.addElement(propertyDescriptor);

-

-		///

-		propertyDescriptor = new TextPropertyDescriptor(P_ID_FULLNAME, P_FULLNAME);

-		propertyDescriptor.setCategory(P_PERSONELINFO);

-		propertyDescriptor.setHelpContextIds(FULL_NAME_CONTEXT);

-		descriptors.addElement(propertyDescriptor);

-

-		///

-		propertyDescriptor = new PropertyDescriptor(P_ID_BDAY, P_BDAY);

-		propertyDescriptor.setCategory(P_PERSONELINFO);

-		propertyDescriptor.setHelpContextIds(BIRTHDAY_CONTEXT);

-		descriptors.addElement(propertyDescriptor);

-

-		///

-		propertyDescriptor = new ComboBoxPropertyDescriptor(P_ID_COOP, P_COOP, new String[] {P_VALUE_TRUE_LABEL, P_VALUE_FALSE_LABEL});

-		propertyDescriptor.setCategory(P_PERSONELINFO);

-		propertyDescriptor.setHelpContextIds(COOP_CONTEXT);

-		propertyDescriptor.setLabelProvider(new BooleanLabelProvider());

-		descriptors.addElement(propertyDescriptor);

-

-		///

-		propertyDescriptor = new TextPropertyDescriptor(P_ID_SALARY, P_SALARY);

-		//add custom validator to propertyDescriptor limiting salary values to be

-		//greator than zero

-		propertyDescriptor.setHelpContextIds(new Object[] {SALARY_CONTEXT});

-		propertyDescriptor.setFilterFlags(new String[] {IPropertySheetEntry.FILTER_ID_EXPERT});

-		propertyDescriptor.setValidator(

-			new ICellEditorValidator(){

-				public String isValid(Object value){

-					if(value == null)

-						return MessageUtil.getString("salary_is_invalid"); //$NON-NLS-1$

-					//

-					Float trySalary;

-					try {

-						trySalary = new Float(Float.parseFloat((String)value));

-					} catch (NumberFormatException e) {

-						return MessageUtil.getString("salary_is_invalid"); //$NON-NLS-1$

-					}

-					if(trySalary.floatValue() < 0.0)

-						return MessageUtil.getString("salary_must_be_greator_than_zero"); //$NON-NLS-1$

-					return null;

-				}	

-		});			

-		propertyDescriptor.setCategory(P_PERSONELINFO);

-		descriptors.addElement(propertyDescriptor);

-

-		/// HairColor

-		propertyDescriptor = new ColorPropertyDescriptor(P_ID_HAIRCOLOR, P_HAIRCOLOR);

-		propertyDescriptor.setCategory(P_PERSONALINFO);

-		propertyDescriptor.setHelpContextIds(HAIR_COLOR__CONTEXT);

-		descriptors.addElement(propertyDescriptor);

-		

-		/// EyeColor

-		propertyDescriptor = new ColorPropertyDescriptor(P_ID_EYECOLOR, P_EYECOLOR);

-		propertyDescriptor.setCategory(P_PERSONALINFO);

-		propertyDescriptor.setHelpContextIds(EYE_COLOR_CONTEXT);

-		descriptors.addElement(propertyDescriptor);

-

-		//gets descriptors from parent, warning name-space collision may occur

-		Vector parentDescriptors = OrganizationElement.getDescriptors();

-		for (int i = 0; i < parentDescriptors.size(); i++) {

-			descriptors.addElement(parentDescriptors.elementAt(i));

-		}

-	}

-/**

- * Constructor. Default visibility only called from GroupElement.createSubGroup()

- * Creates a new UserElement within the passed parent GroupElement,

- * *

- * @param name the name 

- * @param parent the parent

- */

-UserElement(String name, GroupElement parent) {

-	super(name, parent);

-}

-/**

- * Returns the address

- */

-private Address getAddress() {

-	if (address == null)

-		address = new Address();

-	return address;

-}

-/**

- * Returns the birthday

- */

-private Birthday getBirthday() {

-	if(birthday == null)

-		birthday = new Birthday();

-	return birthday;

-}

-/* (non-Javadoc)

- * Method declared on IWorkbenchAdapter

- */

-public Object[] getChildren(Object o) {

-	return new Object[0];

-}

-/**

- * Returns the coop

- */

-private Boolean getCoop() {

-	if(coop == null)

-		coop = new Boolean(false);

-	return coop;

-}

-/**

- * Returns the descriptors

- */

-static Vector getDescriptors()

-{

-	return descriptors;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public Object getEditableValue() {

-	return this.toString();

-}

-/**

- * Returns the email address

- */

-EmailAddress getEmailAddress() {

-	if(emailAddress == null)

-		emailAddress = new EmailAddress();

-	return emailAddress;

-}

-/**

- * Returns the eye color

- */

-private RGB getEyeColor() {

-	if (eyeColor == null)

-		eyeColor = new RGB(60, 60, 60);	

-	return eyeColor;

-}

-/**

- * Returns the full name

- */

-private Name getFullName() {

-	if (fullName == null)

-		fullName = new Name(getName());	

-	return fullName;

-}

-/**

- * Returns the hair color

- */

-private RGB getHairColor() 	{

-	if (hairColor == null)

-		hairColor = new RGB(255, 255, 255);	

-	return hairColor;

-}

-/**

- * Returns the phone number

- */

-private String getPhoneNumber(){

-	return phoneNumber;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public IPropertyDescriptor[] getPropertyDescriptors() {

-	return (IPropertyDescriptor[])getDescriptors().toArray(new IPropertyDescriptor[getDescriptors().size()]);

-}

-/** 

- * The <code>Userment</code> implementation of this

- * <code>IPropertySource</code> method returns the following properties

- *

- *	1) P_ADDRESS returns Address (IPropertySource), the address of this user

- * 	2) P_FULLNAME returns Name (IPropertySource), the full name of this user

- *  3) P_PHONENUMBER returns String, the phone number of this user

- *  4) P_EMAIL returns EmailAddress (IPropertySource), the email address of this user

- *  5) P_COOP returns Boolean, whether the individual is a coop student or not

- *  6) P_BDAY returns Birthday

- *  7) P_SALARY return java.lang.Float

- *  8) P_HAIRCOLOR, expects RGB

- *  9) P_EYECOLOR, expects RGB

- */

-public Object getPropertyValue(Object propKey) {

-	if (propKey.equals(P_ID_ADDRESS))

-		return getAddress();

-	if (propKey.equals(P_ID_FULLNAME))

-		return getFullName();

-	if (propKey.equals(P_ID_PHONENUMBER))

-		return getPhoneNumber();

-	if (propKey.equals(P_ID_EMAIL))

-		return getEmailAddress();

-	if (propKey.equals(P_ID_COOP))

-		return getCoop().equals(Boolean.TRUE) ? P_VALUE_TRUE : P_VALUE_FALSE;

-	if (propKey.equals(P_ID_BDAY))

-		return getBirthday();

-	if (propKey.equals(P_ID_SALARY))

-		return getSalary().toString();

-	if (propKey.equals(P_ID_HAIRCOLOR))

-		return getHairColor();

-	if (propKey.equals(P_ID_EYECOLOR))

-		return getEyeColor();

-	return super.getPropertyValue(propKey);

-}

-/**

- * Returns the salary

- */

-private Float getSalary() {

-	if(salary==null)

-		salary = new Float(0);

-	return salary;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public boolean isPropertySet(Object property) {

-	if (property.equals(P_ID_ADDRESS))

-		return getAddress() != address_Default;

-	if (property.equals(P_ID_FULLNAME))

-		return getFullName() != fullName_Default;

-	if (property.equals(P_ID_PHONENUMBER))

-		return getPhoneNumber() != phoneNumber_Default;

-	if (property.equals(P_ID_EMAIL))

-		return getEmailAddress() != emailAddress_Default;

-	if (property.equals(P_ID_COOP))

-		return getCoop() != coop_Default;

-	if (property.equals(P_ID_BDAY))

-		return getBirthday() != birthday_Default;

-	if (property.equals(P_ID_SALARY))

-		return getSalary() != salary_Default;

-	if (property.equals(P_ID_HAIRCOLOR))

-		return getHairColor() != hairColor_Default;

-	if (property.equals(P_ID_EYECOLOR))

-		return getEyeColor() != eyeColor_Default;

-	return false;

-}

-/* (non-Javadoc)

- * Method declared on OrganizationElement

- */

-public boolean isUser() {

-	return true;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public void resetPropertyValue(Object property) {

-	if (property.equals(P_ID_ADDRESS)) {

-		setAddress(address_Default);

-		return;

-	}

-	if (property.equals(P_ID_FULLNAME)) {

-		setFullName(fullName_Default);

-		return;

-	}

-	if (property.equals(P_ID_PHONENUMBER)) {

-		setPhoneNumber(phoneNumber_Default);

-		return;

-	}

-	if (property.equals(P_ID_EMAIL)) {

-		setEmailAddress(emailAddress_Default);

-		return;

-	}

-	if (property.equals(P_ID_COOP)) {

-		setCoop(coop_Default);

-	}

-	if (property.equals(P_ID_BDAY)) {

-		setBirthday(birthday_Default);

-		return;

-	}

-	if (property.equals(P_ID_SALARY)) {

-		setSalary(salary_Default);

-		return;

-	}

-	if (property.equals(P_ID_HAIRCOLOR)) {

-		setHairColor(hairColor_Default);

-		return;

-	}

-	if (property.equals(P_ID_EYECOLOR)) {

-		setEyeColor(eyeColor_Default);

-		return;

-	}

-	super.resetPropertyValue(property);

-}

-/**

- * Sets the address

- */

-public void setAddress(Address newAddress) {

-	address = newAddress;

-}

-/**

- * Sets the birthday

- */

-public void setBirthday(Birthday newBirthday) {

-	birthday = new Birthday();

-}

-/**

- * Sets the coop

- */

-public void setCoop(Boolean newCoop) {

-	coop = newCoop;

-}

-/**

- *Sets the email address

- */

-public void setEmailAddress(EmailAddress newEmailAddress){

-	emailAddress = newEmailAddress;

-}

-/**

- * Sets eye color

- */

-public void setEyeColor(RGB newEyeColor) {

-	eyeColor = newEyeColor;

-}

-/**

- * Sets full name

- */

-public void setFullName(Name newFullName)

-{	fullName = newFullName;

-}

-/**

- * Sets hair color

- */

-public void setHairColor(RGB newHairColor) {

-	hairColor = newHairColor;

-}

-/**

- * Sets phone number

- */

-public void setPhoneNumber(String newPhoneNumber)

-{	phoneNumber = newPhoneNumber;

-}

-/** 

- * The <code>OrganizationElement</code> implementation of this

- * <code>IPropertySource</code> method 

- * defines the following Setable properties

- *

- *	1) P_ADDRESS, expects Address

- *	2) P_FULLNAME, expects Name

- *	3) P_PHONENUMBER, expects String

- *  4) P_EMAIL, expects EmailAddress.

- *  5) P_BOOLEAN, expects Boolean, whether the individual is a coop student or not

- *  6) P_BDAY, expects Birthday

- *  7) P_SALARY, expects java.lang.Float

- *  8) P_HAIRCOLOR, expects RGB

- *  9) P_EYECOLOR, expects RGB

- */

-public void setPropertyValue(Object propKey, Object val) {

-	// need to convert from String to domain objects

-	if (propKey.equals(P_ID_ADDRESS)) {

-		//setAddress((Address)val);

-		return;

-	}

-	if (propKey.equals(P_ID_FULLNAME)) {

-		setFullName(new Name((String)val));

-		return;

-	}

-	if (propKey.equals(P_ID_PHONENUMBER)) {

-		setPhoneNumber((String) val);

-		return;

-	}

-	if (propKey.equals(P_ID_EMAIL)) {

-		setEmailAddress(new EmailAddress((String)val));

-		return;

-	}

-	if (propKey.equals(P_ID_COOP)) {

-		setCoop(((Integer)val).equals(P_VALUE_TRUE) ? Boolean.TRUE : Boolean.FALSE);

-	}

-	if (propKey.equals(P_ID_BDAY)) {

-		//setBirthday((Birthday)val);

-		return;

-	}

-	if (propKey.equals(P_ID_SALARY)) {

-		try {

-			setSalary(new Float(Float.parseFloat((String)val)));

-		} catch (NumberFormatException e) {

-			setSalary(salary_Default);

-		}

-		return;

-	}

-	if (propKey.equals(P_ID_HAIRCOLOR)) {

-		setHairColor((RGB) val);

-		return;

-	}

-	if (propKey.equals(P_ID_EYECOLOR)) {

-		setEyeColor((RGB) val);

-		return;

-	}

-	super.setPropertyValue(propKey, val);

-}

-/**

- * Sets the salary

- */

-void setSalary(Float newSalary) {

-	salary = newSalary;

-}

-}

diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserFileParser.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserFileParser.java
deleted file mode 100644
index a381941..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserFileParser.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package org.eclipse.ui.examples.propertysheet;

-

-/*

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

- * All Rights Reserved.

- */

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

-import org.eclipse.swt.graphics.RGB;

-import org.eclipse.ui.texteditor.IDocumentProvider;

-

-/**

- * This class is an example of the implementation of a simple parser.

- */

-public class UserFileParser {

-/**

- * Return the fabricated result for this example.

- *

- */

-private static IAdaptable getFabricatedResult() {

-	// returns fabricated input. 

-	GroupElement root = new GroupElement(MessageUtil.getString("Everybody"), null); //$NON-NLS-1$

-	GroupElement userGroup = root.createSubGroup(MessageUtil.getString("Company_Inc")); //$NON-NLS-1$

-	GroupElement ottGroup = userGroup.createSubGroup(MessageUtil.getString("Waterloo_Lab")); //$NON-NLS-1$

-	userGroup.createSubGroup(MessageUtil.getString("Toronto_Lab")); //$NON-NLS-1$

-	userGroup.createSubGroup(MessageUtil.getString("Hamilton_Lab")); //$NON-NLS-1$

-	userGroup.createSubGroup(MessageUtil.getString("London_Lab")); //$NON-NLS-1$

-	userGroup.createSubGroup(MessageUtil.getString("Grimsby_Lab")); //$NON-NLS-1$

-	GroupElement uiTeam = ottGroup.createSubGroup(MessageUtil.getString("Team1")); //$NON-NLS-1$

-	//

-	UserElement user1 = uiTeam.createUser("richard"); //$NON-NLS-1$

-	user1.setFullName(new Name(MessageUtil.getString("Richard_Zokol"))); //$NON-NLS-1$

-	user1.setEmailAddress(new EmailAddress(MessageUtil.getString("rzokol@company.com"))); //$NON-NLS-1$

-	user1.setPhoneNumber("x789"); //$NON-NLS-1$

-	user1.setAddress(new Address(new StreetAddress(232, MessageUtil.getString("Champlain")), MessageUtil.getString("Hull"), new Integer(5), MessageUtil.getString("A1B2C3"))); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$

-	user1.setBirthday(new Birthday(18, 1, 1981));

-	user1.setCoop(new Boolean(true));

-	user1.setHairColor(new RGB(0, 0, 0));

-	user1.setEyeColor(new RGB(0, 0, 0));

-	//

-	UserElement user2 = uiTeam.createUser("george"); //$NON-NLS-1$

-	user2.setFullName(new Name(MessageUtil.getString("George_Knudson"))); //$NON-NLS-1$

-	user2.setEmailAddress(new EmailAddress(MessageUtil.getString("gknudson@company.com"))); //$NON-NLS-1$

-	user2.setPhoneNumber("x678"); //$NON-NLS-1$

-	user2.setAddress(new Address(new StreetAddress(), MessageUtil.getString("Toronto"), new Integer(4), MessageUtil.getString("A1B2C3"))); //$NON-NLS-2$ //$NON-NLS-1$

-	user2.setBirthday(new Birthday(7, 5, 1978));

-	user2.setCoop(new Boolean(true));

-	user2.setHairColor(new RGB(0, 0, 0));

-	user2.setEyeColor(new RGB(0, 0, 0));

-

-	//

-	UserElement user3 = uiTeam.createUser("arnold"); //$NON-NLS-1$

-	user3.setFullName(new Name(MessageUtil.getString("Arnold_Palmer"))); //$NON-NLS-1$

-	user3.setEmailAddress(new EmailAddress(MessageUtil.getString("apalmer@company.com"))); //$NON-NLS-1$

-	user3.setPhoneNumber("x567"); //$NON-NLS-1$

-	user3.setAddress(new Address(new StreetAddress(), MessageUtil.getString("Ottawa"), new Integer(4), MessageUtil.getString("A1B2C3"))); //$NON-NLS-2$ //$NON-NLS-1$

-	user3.setBirthday(new Birthday(11, 23, 1962));

-	user3.setHairColor(new RGB(0, 0, 0));

-	user3.setEyeColor(new RGB(0, 0, 0));

-	

-	//

-	UserElement user4 = uiTeam.createUser("lee"); //$NON-NLS-1$

-	user4.setFullName(new Name(MessageUtil.getString("Lee_Trevino"))); //$NON-NLS-1$

-	user4.setEmailAddress(new EmailAddress(MessageUtil.getString("ltrevino@company.com"))); //$NON-NLS-1$

-	user4.setPhoneNumber("x456"); //$NON-NLS-1$

-	user4.setAddress(new Address(new StreetAddress(), MessageUtil.getString("Ottawa"), new Integer(4), MessageUtil.getString("A1B2C3"))); //$NON-NLS-2$ //$NON-NLS-1$

-	//

-	UserElement user5 = uiTeam.createUser("tiger"); //$NON-NLS-1$

-	user5.setFullName(new Name(MessageUtil.getString("Tiger_Woods"))); //$NON-NLS-1$

-	user5.setEmailAddress(new EmailAddress(MessageUtil.getString("twoods@company.com"))); //$NON-NLS-1$

-	user5.setPhoneNumber("x345"); //$NON-NLS-1$

-	user5.setAddress(new Address(new StreetAddress(), MessageUtil.getString("Ottawa"), new Integer(4), MessageUtil.getString("A1B2C3"))); //$NON-NLS-2$ //$NON-NLS-1$

-	//

-	UserElement user6 = uiTeam.createUser("jack"); //$NON-NLS-1$

-	user6.setFullName(new Name(MessageUtil.getString("Jack_Nicklaus"))); //$NON-NLS-1$

-	user6.setEmailAddress(new EmailAddress(MessageUtil.getString("jnicklaus@company.com"))); //$NON-NLS-1$

-	user6.setPhoneNumber("x234 "); //$NON-NLS-1$

-	user6.setAddress(new Address(new StreetAddress(), MessageUtil.getString("Ottawa"), new Integer(4), MessageUtil.getString("A1B2C3"))); //$NON-NLS-2$ //$NON-NLS-1$

-	//

-	UserElement greg = uiTeam.createUser("weslock"); //$NON-NLS-1$

-	greg.setFullName(new Name(MessageUtil.getString("Weslock"))); //$NON-NLS-1$

-	greg.setEmailAddress(new EmailAddress(MessageUtil.getString("weslock@company.com"))); //$NON-NLS-1$

-	greg.setPhoneNumber("x123"); //$NON-NLS-1$

-	greg.setAddress(new Address(new StreetAddress(), MessageUtil.getString("Ottawa"), new Integer(4), MessageUtil.getString("A1B2C3"))); //$NON-NLS-2$ //$NON-NLS-1$

-

-	return root;

-}

-/**

- * Parse the input given by the argument. For this example we do no parsing and return

- * a fabricated result.

- *

- */

-public IAdaptable parse(IDocumentProvider documentProvider) {

-

-	return getFabricatedResult();

-}

-}

diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/messages.properties b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/messages.properties
deleted file mode 100644
index f0076fa..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/messages.properties
+++ /dev/null
@@ -1,98 +0,0 @@
-Alberta=Alberta

-British_Columbia=British Columbia

-City=City

-Manitoba=Manitoba

-New_Brunswick=New Brunswick

-Newfoundland=Newfoundland

-North_West_Territories=North West Territories

-Nova_Scotia=Nova Scotia

-Nunavut=Nunavut

-Ontario=Ontario

-PostalCode=PostalCode

-Prince_Edward_Island=Prince Edward Island

-Province=Province

-Quebec=Quebec

-Saskatchewan=Saskatchewan

-Street=Street

-Yukon=Yukon

-_is_an_invalid_format_for_a_postal_code={0} is an invalid format for a postal code

-postal_code_is_incomplete=postal code is incomplete

-unspecified_city=unspecified city

-April=April

-August=August

-December=December

-February=February

-January=January

-July=July

-June=June

-March=March

-May=May

-November=November

-October=October

-September=September

-day=day

-month=month

-year=year

-domain=domain

-emailaddress_cannot_be_set_to_null=emailaddress cannot be set to null

-invalid_email_address_format_should_have_been_validated=invalid email address format, should have been validated

-unknownDomain=unknownDomain

-unknownUser=unknownUser

-userid=userid

-email_address_does_not_have_a_valid_format=email address does not have a valid format

-email_address_is_incomplete=email address is incomplete

-FirstName=FirstName

-LastName=LastName

-Middle=Middle

-name=name

-apt.no_or_box.no=apt.no or box.no

-building_number=building number

-street=street

-unspecified=unspecified

-Editor_instructions=Click on the items in the content outline\nto see their properties

-address=address

-birthday=birthday

-contact=contact

-coop_student=coop student

-email=email

-eyecolor=eyecolor

-false=false

-fullname=fullname

-haircolor=haircolor

-personal=personal

-personel=personel

-phonenumber=phonenumber

-salary=salary

-salary_is_invalid=salary is invalid

-salary_must_be_greator_than_zero=salary must be greator than zero

-true=true

-A1B2C3=A1B2C3

-Arnold_Palmer=Arnold Palmer

-Champlain=Champlain

-Company_Inc=Company Inc.

-Everybody=Everybody

-George_Knudson=George Knudson

-Grimsby_Lab=Grimsby Lab

-Hamilton_Lab=Hamilton Lab

-Hull=Hull

-Jack_Nicklaus=Jack Nicklaus

-Lee_Trevino=Lee Trevino

-London_Lab=London Lab

-Ottawa=Ottawa

-Richard_Zokol=Richard Zokol

-Team1=Team1

-Tiger_Woods=Tiger Woods

-Toronto=Toronto

-Toronto_Lab=Toronto Lab

-Waterloo_Lab=Waterloo Lab

-Weslock=Weslock

-apalmer@company.com=apalmer@company.com

-gknudson@company.com=gknudson@company.com

-jnicklaus@company.com=jnicklaus@company.com

-ltrevino@company.com=ltrevino@company.com

-rzokol@company.com=rzokol@company.com

-twoods@company.com=twoods@company.com

-weslock@company.com=weslock@company.com

-Popup_Menu_Action_executed=Popup Menu Action executed

-Property_Sheet_Example=Property Sheet Example

-

diff --git a/examples/org.eclipse.ui.examples.propertysheet/HelpContexts.xml b/examples/org.eclipse.ui.examples.propertysheet/HelpContexts.xml
deleted file mode 100644
index a5a47bc..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/HelpContexts.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-

-<contexts>

-

-   <context  id="phone_number_context" >

-      <description>Help for phone number</description>

-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 1"/>

-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 2"/>

-   </context>

-   <context  id="address_context" >

-      <description>Help for address </description>

-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 1"/>

-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 2"/>

-   </context>

-   <context  id="full_name_context" >

-      <description>Help for full name </description>

-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 1"/>

-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 2"/>

-   </context>

-   <context  id="email_context" >

-      <description>Help for email address </description>

-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 1"/>

-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 2"/>

-   </context>

-   <context  id="coop_context" >

-      <description>Help for coop </description>

-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 1"/>

-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 2"/>

-   </context>

-   <context  id="birthday_context" >

-      <description>Help for birthday </description>

-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 1"/>

-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 2"/>

-   </context>

-   <context  id="salary_context" >

-      <description>Help for salary </description>

-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 1"/>

-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 2"/>

-   </context>

-   <context  id="hair_color_context" >

-      <description>Help for hair color </description>

-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 1"/>

-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 2"/>

-   </context>

-   <context  id="eye_color_context" >

-      <description>Help for eye color </description>

-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 1"/>

-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 2"/>

-   </context>

-

-</contexts>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.propertysheet/about.html b/examples/org.eclipse.ui.examples.propertysheet/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/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/examples/org.eclipse.ui.examples.propertysheet/build.properties b/examples/org.eclipse.ui.examples.propertysheet/build.properties
deleted file mode 100644
index 9427026..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/build.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-source.propertysheet.jar = Eclipse UI Examples PropertySheet/

-

-bin.includes = doc-html/,\

-				icons/,\

-				.options,\

-				about.html,\

-				doc.zip,\

-				HelpContexts.xml,\

-				plugin.properties,\

-				plugin.xml,\

-				*.jar

-

-src.includes = about.html

diff --git a/examples/org.eclipse.ui.examples.propertysheet/doc-html/hglegal.htm b/examples/org.eclipse.ui.examples.propertysheet/doc-html/hglegal.htm
deleted file mode 100644
index b071dbd..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/doc-html/hglegal.htm
+++ /dev/null
@@ -1,14 +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="GENERATOR" content="Mozilla/4.73 [en] (Win98; U) [Netscape]">

-   <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/examples/org.eclipse.ui.examples.propertysheet/doc-html/ngibmcpy.gif b/examples/org.eclipse.ui.examples.propertysheet/doc-html/ngibmcpy.gif
deleted file mode 100644
index 360f8e9..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/doc-html/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.propertysheet/doc-html/ui_propertysheet_ex.html b/examples/org.eclipse.ui.examples.propertysheet/doc-html/ui_propertysheet_ex.html
deleted file mode 100644
index 00ba3eb..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/doc-html/ui_propertysheet_ex.html
+++ /dev/null
@@ -1,47 +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>Desktop - Property Sheet Example</title>

-</head>

-<body>

-

-<h2>

-<b>Example - Property Sheet</b></h2>

-

-<h3>

-Introduction</h3>

-The Property Sheet Example adds an editor for files with the .usr extension

-and also demonstrates how to add properties and outline views on a file.

-<br>&nbsp;

-<h3>

-Running the example</h3>

-To start using the Property Sheet Example, create a file with extension

-.usr.&nbsp;&nbsp; Open the file and the Outline and Properties views to

-see the example in action.&nbsp; Click on items in the Outline view and

-look in the Properties view for details of the selected item in the Outline

-view.&nbsp; The people items in the list show the most detail in the Properties

-view.

-<h4>

-<b>Creating a new usr file</b></h4>

-Create a new file with file extension .usr.&nbsp; From the File menu, select

-New and then select Other... from the sub-menu.&nbsp; Click on Simple in

-the wizard, then select

-<br>File in the list on the left.&nbsp; Click on Next to supply the file

-name (make sure the extension is .usr) and the folder in which the file

-should be contained.

-<br>&nbsp;

-<h3>

-Details</h3>

-The Property Sheet Example demonstrates how to provide properties to the

-Property Sheet View.

-<p>The tree viewer of the Content Outline View contains and presents OrganizationElements.

-When an element is selected in the Content Outline View the Workspace will

-invoke <tt>getAdapter</tt>

-on the selected OrganizationElement. If an adapter is requested for IPropertySource,

-the OrganizationElement returns itself as it impements IPropertySource

-The Property Sheet View then use the Organization Element as it source.

-<br>&nbsp;

-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2001.  All Rights Reserved." BORDER=0 height=12 width=195></a>

-</body>

-</html>

diff --git a/examples/org.eclipse.ui.examples.propertysheet/doc.zip b/examples/org.eclipse.ui.examples.propertysheet/doc.zip
deleted file mode 100644
index 41e8aa9..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/doc.zip
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.propertysheet/icons/obj16/usereditor.gif b/examples/org.eclipse.ui.examples.propertysheet/icons/obj16/usereditor.gif
deleted file mode 100644
index 64d7907..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/icons/obj16/usereditor.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.propertysheet/plugin.properties b/examples/org.eclipse.ui.examples.propertysheet/plugin.properties
deleted file mode 100644
index caa55e8..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/plugin.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-Plugin.name = User File Editor

-Plugin.providerName = Eclipse.org

-Editors.UserEditor = User File Editor

-PopupMenus.action = Show Action

diff --git a/examples/org.eclipse.ui.examples.propertysheet/plugin.xml b/examples/org.eclipse.ui.examples.propertysheet/plugin.xml
deleted file mode 100644
index c59df0c..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/plugin.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-

-<plugin

-   name = "%Plugin.name"

-   id = "org.eclipse.ui.examples.propertysheet"

-   version = "2.1.0"

-   provider-name = "%Plugin.providerName"

-   class="org.eclipse.ui.examples.propertysheet.PropertySheetPlugin">

-

-<requires>

-   <import plugin="org.eclipse.ui"/>

-   <import plugin="org.eclipse.core.resources"/>

-</requires>

-

-

-<runtime>

-  <library name="propertysheet.jar" /> 

-</runtime>

-

-<extension

-   point = "org.eclipse.ui.editors">

-   <editor

-      id = "org.eclipse.ui.examples.propertysheet.UserEditor"

-      name="%Editors.UserEditor"

-      icon="icons/obj16/usereditor.gif"

-      extensions="usr"

-      class="org.eclipse.ui.examples.propertysheet.UserEditor">

-   </editor>

-</extension>

-

-<extension point = "org.eclipse.ui.popupMenus">

-   	<objectContribution

-	  	id="org.eclipse.ui.examples.propertysheet"

-	    objectClass="org.eclipse.ui.examples.propertysheet.UserElement">

-	    <action id="org.eclipse.ui.examples.propertysheet.action1"

-    	   	label="%PopupMenus.action"

-       		menubarPath="additions"

-       		class="org.eclipse.ui.examples.propertysheet.PopupMenuActionDelegate"	

-       		enablesFor="1">

-	    </action>

-   </objectContribution>

-</extension>

-

-<extension point="org.eclipse.help.contexts"> 

-   <contexts name="HelpContexts.xml"/> 

-</extension>

-

-</plugin>

diff --git a/examples/org.eclipse.ui.examples.readmetool/.classpath b/examples/org.eclipse.ui.examples.readmetool/.classpath
deleted file mode 100644
index 72dfb48..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="Eclipse UI Examples Readme Tool"/>
-    <classpathentry kind="src" path="/org.eclipse.ui"/>
-    <classpathentry kind="src" path="/org.eclipse.swt"/>
-    <classpathentry kind="src" path="/org.eclipse.core.resources"/>
-    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.ui.examples.readmetool/.cvsignore b/examples/org.eclipse.ui.examples.readmetool/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/.project b/examples/org.eclipse.ui.examples.readmetool/.project
deleted file mode 100644
index eff1d50..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/.project
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.ui.examples.readmetool</name>

-	<comment></comment>

-	<projects>

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

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

-		<project>org.eclipse.swt</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/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AdaptableList.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AdaptableList.java
deleted file mode 100644
index d2841dd..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AdaptableList.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

-import java.util.*;

-

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

-import org.eclipse.jface.resource.ImageDescriptor;

-import org.eclipse.ui.model.IWorkbenchAdapter;

-

-/**

- * A list of adaptable objects.  This is a generic list that can

- * be used to display an arbitrary set of adaptable objects in the workbench.

- * Also implements the IWorkbenchAdapter interface for simple display

- * and navigation.

- */

-public class AdaptableList implements IWorkbenchAdapter, IAdaptable {

-	protected List children = new ArrayList();

-/**

- * Creates a new adaptable list with the given children.

- */

-public AdaptableList() {

-}

-/**

- * Creates a new adaptable list with the given children.

- */

-public AdaptableList(IAdaptable[] newChildren) {

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

-		children.add(newChildren[i]);

-	}

-}

-/**

- * Adds all the adaptable objects in the given enumeration to this list.

- * Returns this list.

- */

-public AdaptableList add(Iterator iterator) {

-	while (iterator.hasNext()) {

-		add((IAdaptable)iterator.next());

-	}

-	return this;

-}

-/**

- * Adds the given adaptable object to this list.

- * Returns this list.

- */

-public AdaptableList add(IAdaptable adaptable) {

-	children.add(adaptable);

-	return this;

-}

-/* (non-Javadoc)

- * Method declared on IAdaptable

- */

-public Object getAdapter(Class adapter) {

-	if (adapter == IWorkbenchAdapter.class) return this;

-	return null;

-}

-/**

- * Returns the elements in this list.

- */

-public Object[] getChildren() {

-	return children.toArray();

-}

-/* (non-Javadoc)

- * Method declared on IWorkbenchAdapter

- */

-public Object[] getChildren(Object o) {

-	return children.toArray();

-}

-/* (non-Javadoc)

- * Method declared on IWorkbenchAdapter

- */

-public ImageDescriptor getImageDescriptor(Object object) {

-	return null;

-}

-/* (non-Javadoc)

- * Method declared on IWorkbenchAdapter

- */

-public String getLabel(Object object) {

-	return object == null ? "" : object.toString(); //$NON-NLS-1$

-}

-/* (non-Javadoc)

- * Method declared on IWorkbenchAdapter

- */

-public Object getParent(Object object) {

-	return null;

-}

-/**

- * Removes the given adaptable object from this list.

- */

-public void remove(IAdaptable adaptable) {

-	children.remove(adaptable);

-}

-/**

- * Returns the number of items in the list

- */

-public int size() {

-	return children.size();

-}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AddReadmeMarkerAction.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AddReadmeMarkerAction.java
deleted file mode 100644
index 2736422..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AddReadmeMarkerAction.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

-

-

-import java.util.HashMap;

-import java.util.Map;

-

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

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

-import org.eclipse.jface.action.Action;

-import org.eclipse.jface.dialogs.ErrorDialog;

-import org.eclipse.jface.text.ITextSelection;

-import org.eclipse.swt.widgets.Shell;

-import org.eclipse.ui.IEditorInput;

-import org.eclipse.ui.PlatformUI;

-import org.eclipse.ui.texteditor.ITextEditor;

-import org.eclipse.ui.texteditor.MarkerUtilities;

-

-

-

-/**

- * Action for creating a readme marker with a specfic id 

- * attribute value.

- */

-public class AddReadmeMarkerAction extends Action {

-	private ITextEditor textEditor;

-	private Object[][] customAttributes;

-	private String message;

-	private final static String MARKER_TYPE = "org.eclipse.ui.examples.readmetool.readmemarker"; //$NON-NLS-1$

-	

-	/**

-	 * Creates a new action for the given text editor.

-	 *

-	 * @param editor the text editor

-	 * @param label the label for the action

-	 * @param attributes the custom attributes for this marker

-	 * @param message the message for the marker

-	 */

-	public AddReadmeMarkerAction(ITextEditor editor, String label, Object[][] attributes, String message) {

-		textEditor = editor;

-		setText(label);

-		this.customAttributes = attributes;

-		this.message = message;

-	}

-	

-	/*

-	 * @see IAction#run()

-	 */

-	public void run() {

-		Map attributes= new HashMap(11);

-		

-		ITextSelection selection= (ITextSelection) textEditor.getSelectionProvider().getSelection();

-		if (!selection.isEmpty()) {

-

-			int start= selection.getOffset();

-			int length= selection.getLength();

-

-			if (length < 0) {

-				length= -length;

-				start -= length;

-			}

-

-			MarkerUtilities.setCharStart(attributes, start);

-			MarkerUtilities.setCharEnd(attributes, start + length);

-						

-			// marker line numbers are 1-based

-			int line= selection.getStartLine();

-			MarkerUtilities.setLineNumber(attributes, line == -1 ? -1 : line + 1);

-			

-			// set custom attribute values

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

-				attributes.put(customAttributes[i][0], customAttributes[i][1]);

-			}

-

-			MarkerUtilities.setMessage(attributes, message);

-		}

-		

-		try {

-			MarkerUtilities.createMarker(getResource(), attributes, MARKER_TYPE);

-		} catch (CoreException x) {

-			Platform.getPlugin(PlatformUI.PLUGIN_ID).getLog().log(x.getStatus());

-			

-			Shell shell= textEditor.getSite().getShell();

-			String title= MessageUtil.getString("Add_readme_marker_error_title"); //$NON-NLS-1$

-			String msg= MessageUtil.getString("Add_readme_marker_error_message"); //$NON-NLS-1$

-			

-			ErrorDialog.openError(shell, title, msg, x.getStatus());

-		}

-	}

-	

-	/** 

-	 * Returns the resource on which to create the marker, 

-	 * or <code>null</code> if there is no applicable resource. This

-	 * queries the editor's input using <code>getAdapter(IResource.class)</code>.

-	 *

-	 * @return the resource to which to attach the newly created marker

-	 */

-	protected IResource getResource() {

-		IEditorInput input= textEditor.getEditorInput();

-		return (IResource) ((IAdaptable) input).getAdapter(IResource.class);

-	}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AddSentenceResolution.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AddSentenceResolution.java
deleted file mode 100644
index 1e0afe3..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AddSentenceResolution.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

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

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

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

-import org.eclipse.jface.dialogs.MessageDialog;

-import org.eclipse.jface.text.BadLocationException;

-import org.eclipse.jface.text.IDocument;

-import org.eclipse.ui.*;

-import org.eclipse.ui.part.FileEditorInput;

-

-/**

- * A resolution which inserts a sentence into the readme file 

- */

-public class AddSentenceResolution implements IMarkerResolution {

-	/* (non-Javadoc)

-	 * Method declared on IMarkerResolution.

-	 */

-	public String getLabel() {

-		return MessageUtil.getString("Add_Sentence"); //$NON-NLS-1$

-	}

-

-	/* (non-Javadoc)

-	 * Method declared on IMarkerResolution.

-	 */

-	public void run(IMarker marker) {

-		// Se if there is an open editor on the file containing the marker

-		IWorkbenchWindow w = PlatformUI.getWorkbench().getActiveWorkbenchWindow();

-		if (w == null)

-			return;

-		IWorkbenchPage page = w.getActivePage();

-		if (page == null)

-			return;

-		IFileEditorInput input = new FileEditorInput((IFile)marker.getResource());

-		IEditorPart editorPart = page.findEditor(input);

-

-		if (editorPart == null) {

-			// open an editor

-			try {

-				editorPart = page.openEditor((IFile)marker.getResource());

-			} catch (PartInitException e) {

-				MessageDialog.openError(

-					w.getShell(),

-					MessageUtil.getString("Resolution_Error"), //$NON-NLS-1$

-					MessageUtil.getString("Unable_to_open_file_editor"));  //$NON-NLS-1$

-			}

-		}

-		if (editorPart == null || !(editorPart instanceof ReadmeEditor))

-			return;

-		// insert the sentence

-		ReadmeEditor editor = (ReadmeEditor)editorPart;

-		IDocument doc = editor.getDocumentProvider().getDocument(editor.getEditorInput());

-		String s = MessageUtil.getString("Simple_sentence"); //$NON-NLS-1$

-		try {

-			doc.replace(marker.getAttribute(IMarker.CHAR_START, -1), 0, s);

-		} catch (BadLocationException e) {

-			// ignore

-			return;

-		}

-		// delete the marker

-		try {

-			marker.delete();

-		} catch (CoreException e) {

-			e.printStackTrace();

-			// ignore

-		}

-		

-	}

-

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/DefaultSectionsParser.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/DefaultSectionsParser.java
deleted file mode 100644
index c176075..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/DefaultSectionsParser.java
+++ /dev/null
@@ -1,154 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

-import java.io.*;

-import java.util.Hashtable;

-import java.util.Vector;

-

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

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

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

-

-/**

- * This class is a simple parser implementing the IReadmeFileParser

- * interface. It parses a Readme file into sections based on the

- * existence of numbered section tags in the input. A line beginning

- * with a number followed by a dot will be taken as a section indicator

- * (for example, 1., 2., or 12.). 

- * As well, a line beginning with a subsection-style series of numbers

- * will also be taken as a section indicator, and can be used to 

- * indicate subsections (for example, 1.1, or 1.1.12).

- */

-public class DefaultSectionsParser implements IReadmeFileParser {

-/**

- * Returns the mark element that is the logical parent

- * of the given mark number.  Each dot in a mark number

- * represents a parent-child separation.  For example,

- * the parent of 1.2 is 1, the parent of 1.4.1 is 1.4.

- * Returns null if there is no appropriate parent.

- */

-protected IAdaptable getParent(Hashtable toc, String number) {

-	int lastDot = number.lastIndexOf('.');

-	if (lastDot < 0)

-		return null;

-	String parentNumber = number.substring(0, lastDot);

-	return (IAdaptable) toc.get(parentNumber);

-}

-/**

- * Returns a string containing the contents of the given

- * file.  Returns an empty string if there were any errors

- * reading the file.

- */

-protected String getText(IFile file) {

-	try {

-		InputStream in = file.getContents();

-		ByteArrayOutputStream out = new ByteArrayOutputStream();

-		byte[] buf = new byte[1024];

-		int read = in.read(buf);

-		while (read > 0) {

-			out.write(buf, 0, read);

-			read = in.read(buf);

-		}

-		return out.toString();

-	} catch (CoreException e) {

-	} catch (IOException e) {

-	}

-	return ""; //$NON-NLS-1$

-}

-/**

- * Parses the input given by the argument.

- *

- * @param file  the element containing the input text

- * @return an element collection representing the parsed input

- */

-public MarkElement[] parse(IFile file) {

-	Hashtable markTable = new Hashtable(40);

-	Vector topLevel = new Vector();

-	String s = getText(file);

-	int start = 0;

-	int end = -1;

-	int lineno = 0;

-	int lastlineno = 0;

-	MarkElement lastme = null;

-	int ix;

-

-	// parse content for headings

-	ix = s.indexOf('\n', start);

-	while (ix != -1) {

-		start = end + 1;

-		end = ix = s.indexOf('\n', start);

-		lineno++;

-		if (ix != -1) {

-			// skip blanks

-			while (s.charAt(start) == ' ' || s.charAt(start) == '\t') {

-				start++;

-			}

-			if (Character.isDigit(s.charAt(start))) {

-				if (lastme != null) {

-					lastme.setNumberOfLines(lineno - lastlineno - 1);

-				}

-				lastlineno = lineno;

-			    String markName = parseHeading(s, start, end);

-

-			    //get the parent mark, if any.

-			    String markNumber = parseNumber(markName);

-			    IAdaptable parent = getParent(markTable, markNumber);

-			    if (parent == null)

-				    parent = file;

-

-				MarkElement me = new MarkElement(parent, markName, start, end - start);

-				lastme = me;

-				

-				markTable.put(markNumber, me);

-				if (parent == file) {

-					topLevel.add(me);

-				}

-			}

-		}

-	}

-	if (lastme != null) {

-		// set the number of lines for the last section

-		lastme.setNumberOfLines(lineno - lastlineno - 1);

-	}

-	MarkElement[] results = new MarkElement[topLevel.size()];

-	topLevel.copyInto(results);

-	return results;

-}

-/**

- * Creates a section name from the buffer and trims trailing

- * space characters.

- *

- * @param buffer  the string from which to create the section name

- * @param start  the start index

- * @param end  the end index

- * @return a section name

- */

-private String parseHeading(String buffer, int start, int end) {

-	while (Character.isWhitespace(buffer.charAt(end-1)) && end >start) {

-		end--;

-	}

-	return buffer.substring(start, end);

-}

-/**

- * Returns the number for this heading.  A heading consists

- * of a number (an arbitrary string of numbers and dots), followed by

- * arbitrary text.

- */

-protected String parseNumber(String heading) {

-	int start = 0;

-	int end = heading.length();

-	char c;

-	do {

-		c = heading.charAt(start++);

-	} while ((c == '.' || Character.isDigit(c)) && start < end);

-

-	//disregard trailing dots

-	while (heading.charAt(start-1) == '.' && start > 0) {

-		start--;

-	}

-	return heading.substring(0, start);

-}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/DirtyStateContribution.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/DirtyStateContribution.java
deleted file mode 100644
index 4049f17..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/DirtyStateContribution.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.jface.action.ControlContribution;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.ui.IEditorPart;

-import org.eclipse.ui.IPropertyListener;

-

-/**

- * This class demonstrates the contribution of a custom control to the 

- * status line for the readme editor.  The control shows the

- * dirty status of the editor.

- */

-public class DirtyStateContribution extends ControlContribution

-	implements IPropertyListener

-{

-	private Composite composite;

-	private Label label;

-	private IEditorPart activeEditor;

-/**

- * Creates a new DirtyStateContribution.

- */

-protected DirtyStateContribution() {

-	super("DirtyState"); //$NON-NLS-1$

-}

-/* (non-Javadoc)

- * Method declared on ControlContribution

- */

-protected Control createControl(Composite parent) {

-	// If the composite is good just return it.

-	if (composite != null && !composite.isDisposed())

-		return composite;

-		

-	// Create composite for border.

-	composite = new Composite(parent, SWT.BORDER);

-	composite.setData(this);

-

-	// Create label inside composite.	

-	label = new Label(composite, SWT.NONE);

-	label.setSize(80, 15);

-	

-	updateState();

-	return composite;

-}

-/**

- * Called when an editor is activated.

- *

- * @see ReadmeEditorActionBarContributor#setActiveEditor(IEditorPart)

- */

-public void editorChanged(IEditorPart part) {

-	if (activeEditor != null) {

-		activeEditor.removePropertyListener(this);

-	}

-	activeEditor = part;

-	if (activeEditor != null) {

-		activeEditor.addPropertyListener(this);

-	}

-	updateState();

-}

-/* (non-Javadoc)

- * Method declared on IPropertyListener

- */

-public void propertyChanged(Object source, int propID) {

-	if (source instanceof IEditorPart)

-		updateState();

-}

-/**

- * Updates the state of the label.

- */

-private void updateState() {

-	if (label == null || label.isDisposed())

-		return;

-		

-	boolean saveNeeded = false;

-	if (activeEditor != null)

-		saveNeeded = activeEditor.isDirty();

-	if (saveNeeded)

-		label.setText(MessageUtil.getString("Save_Needed")); //$NON-NLS-1$

-	else

-		label.setText(MessageUtil.getString("Clean")); //$NON-NLS-1$

-}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/EditorActionDelegate.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/EditorActionDelegate.java
deleted file mode 100644
index 3997bf8..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/EditorActionDelegate.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.jface.action.IAction;

-import org.eclipse.jface.dialogs.MessageDialog;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.ui.IEditorActionDelegate;

-import org.eclipse.ui.IEditorPart;

-

-/**

- * This class is used to demonstrate editor action extensions.

- * An extension should be defined in the readme plugin.xml.

- */

-public class EditorActionDelegate implements IEditorActionDelegate {

-	private IEditorPart editor;

-/**

- * Creates a new EditorActionDelegate.

- */

-public EditorActionDelegate() {

-}

-/* (non-Javadoc)

- * Method declared on IActionDelegate

- */

-public void run(IAction action) {

-	MessageDialog.openInformation(editor.getSite().getShell(),

-		MessageUtil.getString("Readme_Editor"),  //$NON-NLS-1$

-		MessageUtil.getString("Editor_Action_executed")); //$NON-NLS-1$

-}

-/** 

- * The <code>EditorActionDelegate</code> implementation of this

- * <code>IActionDelegate</code> method 

- *

- * Selection in the desktop has changed. Plugin provider

- * can use it to change the availability of the action

- * or to modify other presentation properties.

- *

- * <p>Action delegate cannot be notified about

- * selection changes before it is loaded. For that reason,

- * control of action's enable state should also be performed

- * through simple XML rules defined for the extension

- * point. These rules allow enable state control before

- * the delegate has been loaded.</p>

- */

-public void selectionChanged(IAction action, ISelection selection) {

-}

-/** 

- * The <code>EditorActionDelegate</code> implementation of this

- * <code>IEditorActionDelegate</code> method 

- *

- * The matching editor has been activated. Notification

- * guarantees that only editors that match the type for which 

- * this action has been registered will be tracked.

- *

- * @param action action proxy that represents this delegate in the desktop

- * @param editor the matching editor that has been activated

- */

-public void setActiveEditor(IAction action, IEditorPart editor) {

-	this.editor = editor;

-}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/IReadmeConstants.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/IReadmeConstants.java
deleted file mode 100644
index 5869b87..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/IReadmeConstants.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

-/**

- * This interface contains constants for use only within the

- * Readme example.

- */

-public interface IReadmeConstants {

-	public static final String PLUGIN_ID ="org.eclipse.ui.examples.readmetool"; //$NON-NLS-1$

-	public static final String PREFIX = PLUGIN_ID+"."; //$NON-NLS-1$

-	public static final String P_CONTENT_OUTLINE=PREFIX+"content_outline"; //$NON-NLS-1$

-	public static final String P_SECTIONS=PREFIX+"sections"; //$NON-NLS-1$

-	public static final String EXTENSION = "readme"; //$NON-NLS-1$

-	public static final String TAG_PARSER = "parser"; //$NON-NLS-1$

-	public static final String ATT_CLASS = "class"; //$NON-NLS-1$

-	public static final String PP_SECTION_PARSER = "sectionParser"; //$NON-NLS-1$

-

-	// Global actions

-	public static final String RETARGET2 = PREFIX + "retarget2";

-	public static final String LABELRETARGET3 = PREFIX + "labelretarget3";

-

-	public static final String ACTION_SET_RETARGET4 = "org_eclipse_ui_examples_readmetool_readmeRetargetAction";

-	public static final String ACTION_SET_LABELRETARGET5 = "org_eclipse_ui_examples_readmetool_readmeRelabelRetargetAction";

-

-	// Preference constants

-	public static final String PRE_CHECK1=PREFIX+"check1"; //$NON-NLS-1$

-	public static final String PRE_CHECK2=PREFIX+"check2"; //$NON-NLS-1$

-	public static final String PRE_CHECK3=PREFIX+"check3"; //$NON-NLS-1$

-	public static final String PRE_RADIO_CHOICE = PREFIX+"radio_choice"; //$NON-NLS-1$

-	public static final String PRE_TEXT = PREFIX+"text"; //$NON-NLS-1$

-

-	// Help context ids

-	public static final String EDITOR_ACTION1_CONTEXT = PREFIX+"editor_action1_context"; //$NON-NLS-1$

-	public static final String EDITOR_ACTION2_CONTEXT = PREFIX+"editor_action2_context"; //$NON-NLS-1$

-	public static final String EDITOR_ACTION3_CONTEXT = PREFIX+"editor_action3_context"; //$NON-NLS-1$

-	public static final String SECTIONS_VIEW_CONTEXT = PREFIX+"sections_view_context"; //$NON-NLS-1$

-	public static final String PREFERENCE_PAGE_CONTEXT = PREFIX+"preference_page_context"; //$NON-NLS-1$

-	public static final String PROPERTY_PAGE_CONTEXT = PREFIX+"property_page_context"; //$NON-NLS-1$

-	public static final String PROPERTY_PAGE2_CONTEXT = PREFIX+"property_page2_context"; //$NON-NLS-1$

-	public static final String EDITOR_CONTEXT = PREFIX+"editor_context"; //$NON-NLS-1$

-	public static final String SECTIONS_DIALOG_CONTEXT = PREFIX+"sections_dialog_context"; //$NON-NLS-1$

-	public static final String CONTENT_OUTLINE_PAGE_CONTEXT = PREFIX+"content_outline_page_context"; //$NON-NLS-1$

-	public static final String CREATION_WIZARD_PAGE_CONTEXT = PREFIX+"creation_wizard_page_context"; //$NON-NLS-1$

-	

-	// Marker attributes

-	public static final String MARKER_ATT_ID = PREFIX+"id"; //$NON-NLS-1$

-	public static final String MARKER_ATT_LEVEL = PREFIX+"level"; //$NON-NLS-1$

-	public static final String MARKER_ATT_DEPT = PREFIX+"department"; //$NON-NLS-1$

-	public static final String MARKER_ATT_CODE = PREFIX+"code"; //$NON-NLS-1$

-	public static final String MARKER_ATT_LANG = PREFIX+"language"; //$NON-NLS-1$

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/IReadmeFileParser.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/IReadmeFileParser.java
deleted file mode 100644
index 3f51c06..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/IReadmeFileParser.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

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

-

-/**

- * This interface is used as API for the Readme parser extension 

- * point. The default implementation simply looks for lines

- * in the file that start with a number and assumes that they

- * represent sections. Tools are allowed to replace this 

- * algorithm by defining an extension and supplying an 

- * alternative that implements this interface.

- */

-public interface IReadmeFileParser {

-/**

- * Parses the contents of the provided file

- * and generates a collection of sections.

- */

-public MarkElement[] parse(IFile readmeFile);

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MarkElement.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MarkElement.java
deleted file mode 100644
index 24b2274..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MarkElement.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

-import java.util.Vector;

-

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

-import org.eclipse.jface.resource.ImageDescriptor;

-import org.eclipse.ui.model.IWorkbenchAdapter;

-import org.eclipse.ui.views.properties.IPropertySource;

-

-/**

- * This class represents a marked location in the Readme

- * file text.  

- *

- * TIP: By implementing the <code>IWorkbenchAdapter</code> interface,

- * we can easily add objects of this type to viewers and parts in

- * the workbench.  When a viewer contains <code>IWorkbenchAdapter</code>,

- * the generic <code>WorkbenchContentProvider</code> and

- * <code>WorkbenchLabelProvider</code> can be used to provide

- * navigation and display for that viewer.

- */

-public class MarkElement implements IWorkbenchAdapter,IAdaptable {

-	private String headingName;

-	private IAdaptable parent;

-	private int offset;

-	private int numberOfLines;

-	private int length;

-	private Vector children;

-/**

- * Creates a new MarkElement and stores parent element and

- * location in the text.

- *

- * @param parent  the parent of this element

- * @param heading text corresponding to the heading

- * @param offset  the offset into the Readme text

- * @param length  the length of the element

- */

-public MarkElement(IAdaptable parent, String heading, int offset, int length) {

-	this.parent = parent;

-	if (parent instanceof MarkElement) {

-		((MarkElement)parent).addChild(this);

-	}

-	this.headingName = heading;

-	this.offset = offset;

-	this.length = length;

-}

-/**

- * Adds a child to this element

- */

-private void addChild(MarkElement child) {

-	if (children == null) {

-		children = new Vector();

-	}

-	children.add(child);

-}

-/* (non-Javadoc)

- * Method declared on IAdaptable

- */

-public Object getAdapter(Class adapter) {

-	if (adapter == IWorkbenchAdapter.class)

-		return this;

-	if (adapter == IPropertySource.class)

-		return new MarkElementProperties(this);

-	return null;

-}

-/* (non-Javadoc)

- * Method declared on IWorkbenchAdapter

- */

-public Object[] getChildren(Object object) {

-	if (children != null) {

-		return children.toArray();

-	}

-	return new Object[0];

-}

-/* (non-Javadoc)

- * Method declared on IWorkbenchAdapter

- */

-public ImageDescriptor getImageDescriptor(Object object) {

-	IWorkbenchAdapter parentElement = (IWorkbenchAdapter)parent.getAdapter(IWorkbenchAdapter.class);

-	if (parentElement != null) {

-		return parentElement.getImageDescriptor(object);

-	}

-	return null;

-}

-/* (non-Javadoc)

- * Method declared on IWorkbenchAdapter

- */

-public String getLabel(Object o) {

-	return headingName;

-}

-/**

- * Returns the number of characters in this section.

- */

-public int getLength() {

-	return length;

-}

-/**

- * Returns the number of lines in the element.

- *

- * @return the number of lines in the element

- */

-public int getNumberOfLines() {

-	return numberOfLines;

-}

-/* (non-Javadoc)

- * Method declared on IWorkbenchAdapter

- */

-public Object getParent(Object o) {

-	return null;

-}

-/**

- * Returns the offset of this section in the file.

- */

-public int getStart() {

-	return offset;

-}

-/**

- * Sets the number of lines in the element

- *

- * @param newNumberOfLines  the number of lines in the element

- */

-public void setNumberOfLines(int newNumberOfLines) {

-	numberOfLines = newNumberOfLines;

-}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MarkElementProperties.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MarkElementProperties.java
deleted file mode 100644
index 0136157..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MarkElementProperties.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.ui.views.properties.*;

-

-/**

- * This class encapsulates property sheet properties

- * for MarkElement.  This will display properties for

- * the MarkElement when selected in the readme editor's

- * content outline.

- */

-public class MarkElementProperties implements IPropertySource {

-	protected MarkElement element;

-

-	protected static final String PROPERTY_LINECOUNT = "lineno"; //$NON-NLS-1$

-	protected static final String PROPERTY_START = "start"; //$NON-NLS-1$

-	protected static final String PROPERTY_LENGTH = "length"; //$NON-NLS-1$

-/**

- * Creates a new MarkElementProperties.

- *

- * @param element  the element whose properties this instance represents

- */

-public MarkElementProperties(MarkElement element) {

-	super();

-	this.element = element;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public Object getEditableValue() {

-	return this;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public IPropertyDescriptor[] getPropertyDescriptors() {

-	// Create the property vector.

-	IPropertyDescriptor[] propertyDescriptors = new IPropertyDescriptor[3];

-

-	// Add each property supported.

-	PropertyDescriptor descriptor;

-

-	descriptor = new PropertyDescriptor(PROPERTY_LINECOUNT, MessageUtil.getString("Line_count")); //$NON-NLS-1$

-	propertyDescriptors[0] = descriptor;

-	descriptor = new PropertyDescriptor(PROPERTY_START, MessageUtil.getString("Title_start")); //$NON-NLS-1$

-	propertyDescriptors[1] = descriptor;

-	descriptor = new PropertyDescriptor(PROPERTY_LENGTH, MessageUtil.getString("Title_length")); //$NON-NLS-1$

-	propertyDescriptors[2] = descriptor;

-

-	// Return it.

-	return propertyDescriptors;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public Object getPropertyValue(Object name) {

-	if (name.equals(PROPERTY_LINECOUNT))

-		return new Integer(element.getNumberOfLines());

-	if (name.equals(PROPERTY_START))

-		return new Integer(element.getStart());

-	if (name.equals(PROPERTY_LENGTH))

-		return new Integer(element.getLength());

-	return null;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public boolean isPropertySet(Object property) {

-	return false;

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public void resetPropertyValue(Object property) {

-}

-/* (non-Javadoc)

- * Method declared on IPropertySource

- */

-public void setPropertyValue(Object name, Object value) {

-}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MessageUtil.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MessageUtil.java
deleted file mode 100644
index 75d1815..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MessageUtil.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*

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

- * All Rights Reserved.

- */

-package org.eclipse.ui.examples.readmetool;

-

-import java.text.MessageFormat;

-import java.util.MissingResourceException;

-import java.util.ResourceBundle;

-

-/**

- * Utility class which helps with managing messages.

- */

-/* package */ class MessageUtil {

-

-	private static final String RESOURCE_BUNDLE= "org.eclipse.ui.examples.readmetool.messages";//$NON-NLS-1$

-

-	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);

-

-	private MessageUtil() {

-		// prevent instantiation of class

-	}

-

-	/**

-	 * Returns the formatted message for the given key in

-	 * the resource bundle. 

-	 *

-	 * @param key the resource name

-	 * @param args the message arguments

-	 * @return the string

-	 */	

-	public static String format(String key, Object[] args) {

-		return MessageFormat.format(getString(key),args);

-	}

-

-	/**

-	 * Returns the resource object with the given key in

-	 * the resource bundle. If there isn't any value under

-	 * the given key, the key is returned, surrounded by '!'s.

-	 *

-	 * @param key the resource name

-	 * @return the string

-	 */	

-	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/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/PopupMenuActionDelegate.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/PopupMenuActionDelegate.java
deleted file mode 100644
index d9e53d1..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/PopupMenuActionDelegate.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.jface.action.IAction;

-import org.eclipse.jface.dialogs.MessageDialog;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.ui.IObjectActionDelegate;

-import org.eclipse.ui.IWorkbenchPart;

- 

-/**

- * Action delegate for handling popup menu actions on a readme file.

- */

-public class PopupMenuActionDelegate implements IObjectActionDelegate {

-

-	private IWorkbenchPart part;

-/** (non-Javadoc)

- * Method declared on IDropActionDelegate

- */

-public void run(IAction action) {

-	MessageDialog.openInformation(

-		this.part.getSite().getShell(),

-		MessageUtil.getString("Readme_Example"), //$NON-NLS-1$

-		MessageUtil.getString("Popup_Menu_Action_executed")); //$NON-NLS-1$

-}

-/** (non-Javadoc)

- * Method declared on IActionDelegate

- */

-public void selectionChanged(IAction action, ISelection selection) {

-	//Ignored for this example

-}

-/** (non-Javadoc)

- * Method declared on IObjectActionDelegate

- */

-public void setActivePart(IAction action, IWorkbenchPart targetPart) {

-	this.part = targetPart;

-}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeContentOutlineDragListener.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeContentOutlineDragListener.java
deleted file mode 100644
index 00ed544..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeContentOutlineDragListener.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.swt.dnd.*;

-import org.eclipse.ui.part.PluginTransfer;

-import org.eclipse.ui.part.PluginTransferData;

-

-/**

- * A drag listener for the readme editor's content outline page.

- * Allows dragging of content segments into views that support

- * the <code>TextTransfer</code> or <code>PluginTransfer</code> transfer types.

- */

-public class ReadmeContentOutlineDragListener extends DragSourceAdapter {

-	private ReadmeContentOutlinePage page;

-/**

- * Creates a new drag listener for the given page.

- */

-public ReadmeContentOutlineDragListener(ReadmeContentOutlinePage page) {

-	this.page = page;

-}

-/* (non-Javadoc)

- * Method declared on DragSourceListener

- */

-public void dragSetData(DragSourceEvent event) {

-	if (PluginTransfer.getInstance().isSupportedType(event.dataType)) {

-		byte[] segmentData = getSegmentText().getBytes();

-		event.data = new PluginTransferData(ReadmeDropActionDelegate.ID, segmentData);

-		return;

-	}

-	if (TextTransfer.getInstance().isSupportedType(event.dataType)) {

-		event.data = getSegmentText();

-		return;

-	}

-}

-/**

- * Returns the text of the currently selected readme segment.

- */

-private String getSegmentText() {

-	StringBuffer result = new StringBuffer();

-	ISelection selection = page.getSelection();

-	if (selection instanceof org.eclipse.jface.viewers.IStructuredSelection) {

-		Object[] selected = ((IStructuredSelection) selection).toArray();

-		result.append("\n"); //$NON-NLS-1$

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

-			if (selected[i] instanceof MarkElement) {

-				result.append(((MarkElement) selected[i]).getLabel(selected[i]));

-				result.append("\n"); //$NON-NLS-1$

-			}

-		}

-	}

-	return result.toString();

-}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeContentOutlinePage.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeContentOutlinePage.java
deleted file mode 100644
index 8ab305b..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeContentOutlinePage.java
+++ /dev/null
@@ -1,125 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

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

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

-import org.eclipse.jface.action.*;

-import org.eclipse.jface.dialogs.MessageDialog;

-import org.eclipse.jface.viewers.*;

-import org.eclipse.swt.dnd.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.ui.IWorkbenchActionConstants;

-import org.eclipse.ui.help.WorkbenchHelp;

-import org.eclipse.ui.model.WorkbenchContentProvider;

-import org.eclipse.ui.model.WorkbenchLabelProvider;

-import org.eclipse.ui.part.PluginTransfer;

-import org.eclipse.ui.views.contentoutline.ContentOutlinePage;

-

-/**

- * Content outline page for the readme editor.

- */

-public class ReadmeContentOutlinePage extends ContentOutlinePage {

-	protected IFile input;

-	

-	class OutlineAction extends Action {

-		private Shell shell;

-		public OutlineAction(String label) {

-			super(label);

-			getTreeViewer().addSelectionChangedListener(new ISelectionChangedListener() {

-				public void selectionChanged(SelectionChangedEvent event) {

-					setEnabled(!event.getSelection().isEmpty());

-				}

-			});

-		}

-		public void setShell(Shell shell) {

-			this.shell = shell;

-		}

-		public void run() {

-			MessageDialog.openInformation(shell,

-				MessageUtil.getString("Readme_Outline"),  //$NON-NLS-1$

-				MessageUtil.getString("ReadmeOutlineActionExecuted")); //$NON-NLS-1$

-		}

-	}

-	

-/**

- * Creates a new ReadmeContentOutlinePage.

- */

-public ReadmeContentOutlinePage(IFile input) {

-	super();

-	this.input = input;

-}

-/**  

- * Creates the control and registers the popup menu for this page

- * Menu id "org.eclipse.ui.examples.readmetool.outline"

- */

-public void createControl(Composite parent) {

-	super.createControl(parent);

-

-	WorkbenchHelp.setHelp(getControl(), IReadmeConstants.CONTENT_OUTLINE_PAGE_CONTEXT);

-

-	TreeViewer viewer = getTreeViewer();

-	viewer.setContentProvider(new WorkbenchContentProvider());

-	viewer.setLabelProvider(new WorkbenchLabelProvider());

-	viewer.setInput(getContentOutline(input));

-	initDragAndDrop();

-	

-	// Configure the context menu.

-	MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$

-	menuMgr.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));	

-	menuMgr.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS+"-end"));	 //$NON-NLS-1$

-

-	Menu menu = menuMgr.createContextMenu(viewer.getTree());

-	viewer.getTree().setMenu(menu);

-	// Be sure to register it so that other plug-ins can add actions.

-	getSite().registerContextMenu("org.eclipse.ui.examples.readmetool.outline", menuMgr, viewer);  //$NON-NLS-1$

-

-	getSite().getActionBars().setGlobalActionHandler(

-		IReadmeConstants.RETARGET2, 

-		new OutlineAction(MessageUtil.getString("Outline_Action2")));  //$NON-NLS-1$

-

-	OutlineAction action = new OutlineAction(MessageUtil.getString("Outline_Action3")); //$NON-NLS-1$

-	action.setToolTipText(MessageUtil.getString("Readme_Outline_Action3")); //$NON-NLS-1$

-	getSite().getActionBars().setGlobalActionHandler(

-		IReadmeConstants.LABELRETARGET3, 

-		action);  

-	action = new OutlineAction(MessageUtil.getString("Outline_Action4")); //$NON-NLS-1$

-	getSite().getActionBars().setGlobalActionHandler(

-		IReadmeConstants.ACTION_SET_RETARGET4, 

-		action);  

-	action = new OutlineAction(MessageUtil.getString("Outline_Action5")); //$NON-NLS-1$

-	action.setToolTipText(MessageUtil.getString("Readme_Outline_Action5")); //$NON-NLS-1$

-	getSite().getActionBars().setGlobalActionHandler(

-		IReadmeConstants.ACTION_SET_LABELRETARGET5, 

-		action);  

-}

-/**

- * Gets the content outline for a given input element.

- * Returns the outline (a list of MarkElements), or null

- * if the outline could not be generated.

- */

-private IAdaptable getContentOutline(IAdaptable input) {

-	return ReadmeModelFactory.getInstance().getContentOutline(input);

-}

-/**

- * Initializes drag and drop for this content outline page.

- */

-private void initDragAndDrop() {

-	int ops = DND.DROP_COPY | DND.DROP_MOVE;

-	Transfer[] transfers = new Transfer[] {TextTransfer.getInstance(), PluginTransfer.getInstance()};

-	getTreeViewer().addDragSupport(ops, transfers, new ReadmeContentOutlineDragListener(this));

-}

-/**

- * Forces the page to update its contents.

- *

- * @see ReadmeEditor#doSave(IProgressMonitor)

- */

-public void update() {

-	getControl().setRedraw(false);

-	getTreeViewer().setInput(getContentOutline(input));

-	getTreeViewer().expandAll();

-	getControl().setRedraw(true);

-}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeCreationPage.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeCreationPage.java
deleted file mode 100644
index 0cac25b..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeCreationPage.java
+++ /dev/null
@@ -1,173 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

-import java.io.ByteArrayInputStream;

-import java.io.InputStream;

-

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

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.layout.GridData;

-import org.eclipse.swt.layout.GridLayout;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.ui.*;

-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;

-import org.eclipse.ui.help.WorkbenchHelp;

-

-/**

- * This class is the only page of the Readme file resource creation wizard.  

- * It subclasses the standard file resource creation page class, 

- * and consequently inherits the file resource creation functionality.

- *

- * This page provides users with the choice of creating sample headings for

- * sections and subsections.  Additionally, the option is presented to open

- * the file immediately for editing after creation.

- */

-public class ReadmeCreationPage extends WizardNewFileCreationPage {

-	private IWorkbench	workbench;

-	

-	// widgets

-	private Button  sectionCheckbox;

-	private Button  subsectionCheckbox;

-	private Button  openFileCheckbox;

-

-	// constants

-	private static int nameCounter = 1;

-/**

- * Creates the page for the readme creation wizard.

- *

- * @param workbench  the workbench on which the page should be created

- * @param selection  the current selection

- */

-public ReadmeCreationPage(IWorkbench workbench, IStructuredSelection selection) {

-	super("sampleCreateReadmePage1", selection); //$NON-NLS-1$

-	this.setTitle(MessageUtil.getString("Create_Readme_File")); //$NON-NLS-1$

-	this.setDescription(MessageUtil.getString("Create_a_new_Readme_file_resource")); //$NON-NLS-1$

-	this.workbench = workbench;

-}

-/** (non-Javadoc)

- * Method declared on IDialogPage.

- */

-public void createControl(Composite parent) {

-	// inherit default container and name specification widgets

-	super.createControl(parent);

-	Composite composite = (Composite)getControl();

-	

-	WorkbenchHelp.setHelp(composite, IReadmeConstants.CREATION_WIZARD_PAGE_CONTEXT);

-	

-	GridData data = (GridData)composite.getLayoutData();

-	this.setFileName("sample" + nameCounter + ".readme"); //$NON-NLS-1$ //$NON-NLS-2$

-

-	// sample section generation group

-	Group group = new Group(composite,SWT.NONE);

-	group.setLayout(new GridLayout());

-	group.setText(MessageUtil.getString("Automatic_sample_section_generation")); //$NON-NLS-1$

-	group.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL));

-

-	// sample section generation checkboxes

-	sectionCheckbox = new Button(group,SWT.CHECK);

-	sectionCheckbox.setText(MessageUtil.getString("Generate_sample_section_titles")); //$NON-NLS-1$

-	sectionCheckbox.setSelection(true);

-	sectionCheckbox.addListener(SWT.Selection,this);

-	

-	subsectionCheckbox = new Button(group,SWT.CHECK);

-	subsectionCheckbox.setText(MessageUtil.getString("Generate_sample_subsection_titles")); //$NON-NLS-1$

-	subsectionCheckbox.setSelection(true);

-	subsectionCheckbox.addListener(SWT.Selection,this);

-

-	// open file for editing checkbox

-	openFileCheckbox = new Button(composite,SWT.CHECK);

-	openFileCheckbox.setText(MessageUtil.getString("Open_file_for_editing_when_done")); //$NON-NLS-1$

-	openFileCheckbox.setSelection(true);

-

-	setPageComplete(validatePage());

-	

-}

-/**

- * Creates a new file resource as requested by the user. If everything

- * is OK then answer true. If not, false will cause the dialog

- * to stay open.

- *

- * @return whether creation was successful

- * @see ReadmeCreationWizard#performFinish()

- */

-public boolean finish() {

-	// create the new file resource

-	IFile newFile = createNewFile();

-	if (newFile == null)

-		return false;	// ie.- creation was unsuccessful

-

-	// Since the file resource was created fine, open it for editing

-	// if requested by the user

-	try {

-	if (openFileCheckbox.getSelection()) {

-		IWorkbenchWindow dwindow = workbench.getActiveWorkbenchWindow();

-		IWorkbenchPage page = dwindow.getActivePage();

-		if (page != null)

-			page.openEditor(newFile);

-	}

-	} catch (PartInitException e) {

-		e.printStackTrace();

-		return false;

-	}

-	nameCounter++;

-	return true;

-}

-/** 

- * The <code>ReadmeCreationPage</code> implementation of this

- * <code>WizardNewFileCreationPage</code> method 

- * generates sample headings for sections and subsections in the

- * newly-created Readme file according to the selections of self's

- * checkbox widgets

- */

-protected InputStream getInitialContents() {

-	if (!sectionCheckbox.getSelection())

-		return null;

-

-	StringBuffer sb = new StringBuffer();

-	sb.append(MessageUtil.getString("SAMPLE_README_FILE")); //$NON-NLS-1$

-	sb.append(MessageUtil.getString("SECTION_1")); //$NON-NLS-1$

-	sb.append(MessageUtil.getString("SECTION_1_BODY_1")); //$NON-NLS-1$

-	

-	if (subsectionCheckbox.getSelection()) {

-		sb.append(MessageUtil.getString("Subsection_1_1")); //$NON-NLS-1$

-		sb.append(MessageUtil.getString("Subsection_1_1_Body_1")); //$NON-NLS-1$

-	}

-	

-	sb.append(MessageUtil.getString("SECTION_2")); //$NON-NLS-1$

-	sb.append(MessageUtil.getString("SECTION_2_BODY_1")); //$NON-NLS-1$

-	sb.append(MessageUtil.getString("SECTION_2_BODY_2")); //$NON-NLS-1$

-	

-	if (subsectionCheckbox.getSelection()) {

-		sb.append(MessageUtil.getString("Subsection_2_1")); //$NON-NLS-1$

-		sb.append(MessageUtil.getString("Subsection_2_1_BODY_1")); //$NON-NLS-1$

-		sb.append(MessageUtil.getString("Subsection_2_2")); //$NON-NLS-1$

-		sb.append(MessageUtil.getString("Subsection_2_2_BODY_1")); //$NON-NLS-1$

-	}

-	

-	return new ByteArrayInputStream(sb.toString().getBytes());

-}

-/** (non-Javadoc)

- * Method declared on WizardNewFileCreationPage.

- */

-protected String getNewFileLabel() {

-	return MessageUtil.getString("Readme_file_name"); //$NON-NLS-1$

-}

-/** (non-Javadoc)

- * Method declared on WizardNewFileCreationPage.

- */

-public void handleEvent(Event e) {

-	Widget source = e.widget;

-

-	if (source == sectionCheckbox) {

-		if (!sectionCheckbox.getSelection())

-			subsectionCheckbox.setSelection(false);

-		subsectionCheckbox.setEnabled(sectionCheckbox.getSelection());

-	}

-	

-	super.handleEvent(e);

-}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeCreationWizard.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeCreationWizard.java
deleted file mode 100644
index b93170f..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeCreationWizard.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.jface.wizard.Wizard;

-import org.eclipse.ui.INewWizard;

-import org.eclipse.ui.IWorkbench;

-

-/**

- * This class implements the interface required by the desktop

- * for all 'New' wizards.  This wizard creates readme files.

- */

-public class ReadmeCreationWizard extends Wizard implements INewWizard {

-	private IStructuredSelection selection;

-	private IWorkbench workbench;

-	private ReadmeCreationPage mainPage;

-/** (non-Javadoc)

- * Method declared on Wizard.

- */

-public void addPages() {

-	mainPage = new ReadmeCreationPage(workbench, selection);

-	addPage(mainPage);

-}

-/** (non-Javadoc)

- * Method declared on INewWizard

- */

-public void init(IWorkbench workbench,IStructuredSelection selection) {

-	this.workbench = workbench;

-	this.selection = selection;

-	setWindowTitle(MessageUtil.getString("New_Readme_File")); //$NON-NLS-1$

-	setDefaultPageImageDescriptor(ReadmeImages.README_WIZARD_BANNER);

-}

-/** (non-Javadoc)

- * Method declared on IWizard

- */

-public boolean performFinish() {

-	return mainPage.finish();

-}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeDropActionDelegate.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeDropActionDelegate.java
deleted file mode 100644
index 20a69d4..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeDropActionDelegate.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

-import java.io.ByteArrayInputStream;

-

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

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

-import org.eclipse.ui.part.IDropActionDelegate;

-

-/**

- * Adapter for handling the dropping of readme segments into

- * another plugin.  In this case, we expect the segments

- * to be dropped onto <code>IFile</code> object, or an adapter 

- * that supports <code>IFile</code>.

- */

-public class ReadmeDropActionDelegate implements IDropActionDelegate {

-	public static final String ID = "org_eclipse_ui_examples_readmetool_drop_actions"; //$NON-NLS-1$

-/** (non-Javadoc)

- * Method declared on IDropActionDelegate

- */

-public boolean run(Object source, Object target) {

-	if (source instanceof byte[] && target instanceof IFile) {

-		IFile file = (IFile)target;

-		try {

-			file.appendContents(new ByteArrayInputStream((byte[])source), false, true, null);

-		} catch (CoreException e) {

-			System.out.println(MessageUtil.getString("Exception_in_readme_drop_adapter") + e.getStatus().getMessage()); //$NON-NLS-1$

-			return false;

-		}

-		return true;

-	}

-	return false;

-}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeEditor.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeEditor.java
deleted file mode 100644
index 3dd8a9e..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeEditor.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

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

-import org.eclipse.jface.action.*;

-import org.eclipse.ui.IEditorInput;

-import org.eclipse.ui.IFileEditorInput;

-import org.eclipse.ui.editors.text.TextEditor;

-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;

-

-/**

- * This class implements the Readme editor.  Since the readme

- * editor is mostly just a text editor, there is very little

- * implemented in this actual class.  It can be regarded as

- * simply decorating the text editor with a content outline.

- */

-public class ReadmeEditor extends TextEditor {

-	protected ReadmeContentOutlinePage page;

-	

-	private final static String ATT_1 = IReadmeConstants.PREFIX + "attribute1"; //$NON-NLS-1$

-	private final static String ATT_2 = IReadmeConstants.PREFIX + "attribute2"; //$NON-NLS-1$

-	private final static String ATT_3 = IReadmeConstants.PREFIX + "attribute3"; //$NON-NLS-1$

-	private final static String ATT_4 = IReadmeConstants.PREFIX + "attribute4"; //$NON-NLS-1$

-	private final static String ATT_5 = IReadmeConstants.PREFIX + "attribute5"; //$NON-NLS-1$

-	

-	/**

-	 * Creates a new ReadmeEditor.

-	 */

-	public ReadmeEditor() {

-		super();

-	}

-	/** (non-Javadoc)

-	 * Method declared on IEditorPart

-	 */

-	public void doSave(IProgressMonitor monitor) {

-		super.doSave(monitor);

-		if (page != null)

-			page.update();

-	}

-	/** (non-Javadoc)

-	 * Method declared on IAdaptable

-	 */

-	public Object getAdapter(Class key) {

-		if (key.equals(IContentOutlinePage.class)) {

-			IEditorInput input = getEditorInput();

-			if (input instanceof IFileEditorInput) {

-				page = new ReadmeContentOutlinePage(((IFileEditorInput)input).getFile());

-				return page;

-			}

-		}

-		return super.getAdapter(key);

-	}

-	

-	/** (non-Javadoc)

-	 * Method declared on AbstractTextEditor

-	 */

-	protected void editorContextMenuAboutToShow(IMenuManager parentMenu) {

-		super.editorContextMenuAboutToShow(parentMenu);

-		parentMenu.add(new Separator());

-		IMenuManager subMenu = new MenuManager(MessageUtil.getString("Add"));

-		parentMenu.add(subMenu);

-		if (subMenu != null) {

-			// Add readme actions with various attributes

-			Object[][] att = new Object[][] {{IReadmeConstants.MARKER_ATT_ID, new Integer(1234)}}; 

-			subMenu.add(new AddReadmeMarkerAction(this, 

-				MessageUtil.getString("Add_readme_marker_action_label") + "1", //$NON-NLS-1$ //$NON-NLS-2$

-				att, 

-				MessageUtil.getString("Readme_marker_message_example") + " id=1234")); //$NON-NLS-1$ //$NON-NLS-2$

-

-			att = new Object[][] {{IReadmeConstants.MARKER_ATT_LEVEL, new Integer(7)}}; 

-			subMenu.add(new AddReadmeMarkerAction(this, 

-				MessageUtil.getString("Add_readme_marker_action_label") + "2", //$NON-NLS-1$ //$NON-NLS-2$

-				att, 

-				MessageUtil.getString("Readme_marker_message_example") + " level=7")); //$NON-NLS-1$ //$NON-NLS-2$

-

-			att = new Object[][] {{IReadmeConstants.MARKER_ATT_LEVEL, new Integer(7)},

-					 {IReadmeConstants.MARKER_ATT_DEPT, "infra"}}; //$NON-NLS-1$

-			subMenu.add(new AddReadmeMarkerAction(this, 

-				MessageUtil.getString("Add_readme_marker_action_label") + "3", //$NON-NLS-1$ //$NON-NLS-2$

-				att, 

-				MessageUtil.getString("Readme_marker_message_example") + " level=7, department=infra")); //$NON-NLS-1$ //$NON-NLS-2$

-

-			att = new Object[][] {{IReadmeConstants.MARKER_ATT_CODE, "red"}}; //$NON-NLS-1$

-			subMenu.add(new AddReadmeMarkerAction(this, 

-				MessageUtil.getString("Add_readme_marker_action_label") + "4", //$NON-NLS-1$ //$NON-NLS-2$

-				att, 

-				MessageUtil.getString("Readme_marker_message_example") + " code=red")); //$NON-NLS-1$ //$NON-NLS-2$

-

-			att = new Object[][] {{IReadmeConstants.MARKER_ATT_LANG, "english"}}; //$NON-NLS-1$

-			subMenu.add(new AddReadmeMarkerAction(this, 

-				MessageUtil.getString("Add_readme_marker_action_label") + "5", //$NON-NLS-1$ //$NON-NLS-2$

-				att, 

-				MessageUtil.getString("Readme_marker_message_example") + " language=english")); //$NON-NLS-1$ //$NON-NLS-2$

-

-			att = new Object[][] {{IReadmeConstants.MARKER_ATT_ID, new Integer(1234)},

-					{IReadmeConstants.MARKER_ATT_LEVEL, new Integer(7)},

-					{IReadmeConstants.MARKER_ATT_DEPT, "infra"}, //$NON-NLS-1$

-					{IReadmeConstants.MARKER_ATT_CODE, "red"}, //$NON-NLS-1$

-					{IReadmeConstants.MARKER_ATT_LANG, "english"}}; //$NON-NLS-1$

-			subMenu.add(new AddReadmeMarkerAction(this, 

-				MessageUtil.getString("Add_readme_marker_action_label") + "6", //$NON-NLS-1$ //$NON-NLS-2$

-				att, 

-				MessageUtil.getString("Readme_marker_message_example") + //$NON-NLS-1$

-				" id=1234, level=7, department=infra, code=red, language=english")); //$NON-NLS-1$

-

-			att = new Object[0][0];

-			subMenu.add(new AddReadmeMarkerAction(this, 

-				MessageUtil.getString("Add_readme_marker_action_label") + "7", //$NON-NLS-1$ //$NON-NLS-2$

-				att, 

-				MessageUtil.getString("Readme_marker_message_example") + " No attributes specified")); //$NON-NLS-1$ //$NON-NLS-2$

-		}

-	}

-

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeEditorActionBarContributor.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeEditorActionBarContributor.java
deleted file mode 100644
index 657cf7d..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeEditorActionBarContributor.java
+++ /dev/null
@@ -1,178 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.jface.action.*;

-import org.eclipse.jface.dialogs.MessageDialog;

-import org.eclipse.jface.resource.ImageRegistry;

-import org.eclipse.swt.widgets.Shell;

-import org.eclipse.ui.*;

-import org.eclipse.ui.actions.LabelRetargetAction;

-import org.eclipse.ui.actions.RetargetAction;

-import org.eclipse.ui.help.WorkbenchHelp;

-import org.eclipse.ui.texteditor.BasicTextEditorActionContributor;

-

-/**

- * This class demonstrates action contribution for the readme editor.

- * A number of menu, toolbar, and status line contributions are defined

- * in the workbench window.  These actions are shared among all 

- * readme editors, and are only visible when a readme editor is 

- * active.  Otherwise, they are invisible.

- */

-public class ReadmeEditorActionBarContributor extends BasicTextEditorActionContributor 

-{

-	private EditorAction action1;

-	private RetargetAction action2;

-	private LabelRetargetAction action3;

-	private EditorAction handler2;

-	private EditorAction handler3;

-	private EditorAction handler4;

-	private EditorAction handler5;

-	private DirtyStateContribution dirtyStateContribution;

-	

-	class EditorAction extends Action {

-		private Shell shell;

-		private IEditorPart activeEditor;

-		public EditorAction(String label) {

-			super(label);

-		}

-		public void setShell(Shell shell) {

-			this.shell = shell;

-		}

-		public void run() {

-			String editorName = MessageUtil.getString("Empty_Editor_Name"); //$NON-NLS-1$

-			if (activeEditor != null)

-				editorName = activeEditor.getTitle();

-			MessageDialog.openInformation(shell,

-				MessageUtil.getString("Readme_Editor"),  //$NON-NLS-1$

-				MessageUtil.format("ReadmeEditorActionExecuted", new Object[] {getText(), editorName})); //$NON-NLS-1$

-		}

-		public void setActiveEditor(IEditorPart part) {

-			activeEditor = part;

-		}

-	}

-/**

- * Creates a new ReadmeEditorActionBarContributor.

- */

-public ReadmeEditorActionBarContributor() {

-	ImageRegistry registry = ReadmePlugin.getDefault().getImageRegistry();

-	action1 = new EditorAction(MessageUtil.getString("Editor_Action1")); //$NON-NLS-1$

-	action1.setToolTipText(MessageUtil.getString("Readme_Editor_Action1")); //$NON-NLS-1$

-	action1.setDisabledImageDescriptor(ReadmeImages.EDITOR_ACTION1_IMAGE_DISABLE);

-	action1.setImageDescriptor(ReadmeImages.EDITOR_ACTION1_IMAGE_ENABLE);

-	action1.setHoverImageDescriptor(ReadmeImages.EDITOR_ACTION1_IMAGE);

-	WorkbenchHelp.setHelp(action1, IReadmeConstants.EDITOR_ACTION1_CONTEXT);

-	

-	action2 = new RetargetAction(IReadmeConstants.RETARGET2, MessageUtil.getString("Editor_Action2")); //$NON-NLS-1$

-	action2.setToolTipText(MessageUtil.getString("Readme_Editor_Action2")); //$NON-NLS-1$

-	action2.setDisabledImageDescriptor(ReadmeImages.EDITOR_ACTION2_IMAGE_DISABLE);

-	action2.setImageDescriptor(ReadmeImages.EDITOR_ACTION2_IMAGE_ENABLE);

-	action2.setHoverImageDescriptor(ReadmeImages.EDITOR_ACTION2_IMAGE);

-

-	action3 = new LabelRetargetAction(IReadmeConstants.LABELRETARGET3, MessageUtil.getString("Editor_Action3")); //$NON-NLS-1$

-	action3.setDisabledImageDescriptor(ReadmeImages.EDITOR_ACTION3_IMAGE_DISABLE);

-	action3.setImageDescriptor(ReadmeImages.EDITOR_ACTION3_IMAGE_ENABLE);

-	action3.setHoverImageDescriptor(ReadmeImages.EDITOR_ACTION3_IMAGE);

-

-	handler2 = new EditorAction(MessageUtil.getString("Editor_Action2")); //$NON-NLS-1$

-	WorkbenchHelp.setHelp(action2, IReadmeConstants.EDITOR_ACTION2_CONTEXT);

-

-	handler3 = new EditorAction(MessageUtil.getString("Editor_Action3")); //$NON-NLS-1$

-	handler3.setToolTipText(MessageUtil.getString("Readme_Editor_Action3")); //$NON-NLS-1$

-	WorkbenchHelp.setHelp(action3, IReadmeConstants.EDITOR_ACTION3_CONTEXT);

-

-	handler4 = new EditorAction(MessageUtil.getString("Editor_Action4")); //$NON-NLS-1$

-	handler5 = new EditorAction(MessageUtil.getString("Editor_Action5")); //$NON-NLS-1$

-	handler5.setToolTipText(MessageUtil.getString("Readme_Editor_Action5")); //$NON-NLS-1$

-

-	dirtyStateContribution = new DirtyStateContribution();

-}

-/** (non-Javadoc)

- * Method declared on EditorActionBarContributor

- */

-public void contributeToMenu(IMenuManager menuManager) {

-	// Run super.

-	super.contributeToMenu(menuManager);

-	

-	// Editor-specitic menu

-	MenuManager readmeMenu = new MenuManager(MessageUtil.getString("Readme_Menu")); //$NON-NLS-1$

-	// It is important to append the menu to the

-	// group "additions". This group is created

-	// between "Project" and "Tools" menus

-	// for this purpose.

-	menuManager.insertAfter("additions", readmeMenu); //$NON-NLS-1$

-	readmeMenu.add(action1);

-	readmeMenu.add(action2);

-	readmeMenu.add(action3);

-}

-/** (non-Javadoc)

- * Method declared on EditorActionBarContributor

- */

-public void contributeToStatusLine(IStatusLineManager statusLineManager) {

-	// Run super.

-	super.contributeToStatusLine(statusLineManager);

-	// Test status line.	

-	statusLineManager.setMessage(MessageUtil.getString("Editor_is_active")); //$NON-NLS-1$

-	statusLineManager.add(dirtyStateContribution);

-}

-	

-/** (non-Javadoc)

- * Method declared on EditorActionBarContributor

- */

-public void contributeToToolBar(IToolBarManager toolBarManager) {

-	// Run super.

-	super.contributeToToolBar(toolBarManager);

-	

-	// Add toolbar stuff.

-	toolBarManager.add(new Separator("ReadmeEditor")); //$NON-NLS-1$

-	toolBarManager.add(action1);

-	toolBarManager.add(action2);

-	toolBarManager.add(action3);

-}

-/** (non-Javadoc)

- * Method declared on IEditorActionBarContributor

- */

-public void dispose() {

-	// Remove retarget actions as page listeners

-	getPage().removePartListener(action2);

-	getPage().removePartListener(action3);

-}

-

-/** (non-Javadoc)

- * Method declared on IEditorActionBarContributor

- */

-public void init(IActionBars bars, IWorkbenchPage page) {

-	super.init(bars, page);

-	bars.setGlobalActionHandler(IReadmeConstants.RETARGET2, handler2);

-	bars.setGlobalActionHandler(IReadmeConstants.LABELRETARGET3, handler3);

-	bars.setGlobalActionHandler(IReadmeConstants.ACTION_SET_RETARGET4, handler4);

-	bars.setGlobalActionHandler(IReadmeConstants.ACTION_SET_LABELRETARGET5, handler5);

-	

-	// Hook retarget actions as page listeners

-	page.addPartListener(action2);

-	page.addPartListener(action3);

-	IWorkbenchPart activePart = page.getActivePart();

-	if (activePart != null) {

-		action2.partActivated(activePart);

-		action3.partActivated(activePart);

-	}

-}

-

-/** (non-Javadoc)

- * Method declared on IEditorActionBarContributor

- */

-public void setActiveEditor(IEditorPart editor) {

-	// Run super.

-	super.setActiveEditor(editor);

-	

-	// Target shared actions to new editor

-	action1.setActiveEditor(editor);

-	handler2.setActiveEditor(editor);

-	handler3.setActiveEditor(editor);

-	handler4.setActiveEditor(editor);

-	handler5.setActiveEditor(editor);

-	dirtyStateContribution.editorChanged(editor);

-}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeFilePropertyPage.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeFilePropertyPage.java
deleted file mode 100644
index 5f8b41b..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeFilePropertyPage.java
+++ /dev/null
@@ -1,173 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

-import java.io.*;

-

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

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

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

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.layout.GridData;

-import org.eclipse.swt.layout.GridLayout;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.ui.dialogs.PropertyPage;

-import org.eclipse.ui.help.WorkbenchHelp;

-

-/**

- * This page will be added to the property page dialog

- * when the "Properties..." popup menu item is selected

- * for Readme files. 

- */

-public class ReadmeFilePropertyPage extends PropertyPage {

-

-/**

- * Utility method that creates a new composite and

- * sets up its layout data.

- *

- * @param parent  the parent of the composite

- * @param numColumns  the number of columns in the new composite

- * @return the newly-created composite

- */

-protected Composite createComposite(Composite parent, int numColumns) {

-	Composite composite = new Composite(parent, SWT.NULL);

-	GridLayout layout = new GridLayout();

-	layout.numColumns = numColumns;

-	composite.setLayout(layout);

-	GridData data = new GridData();

-	data.verticalAlignment = GridData.FILL;

-	data.horizontalAlignment = GridData.FILL;

-	composite.setLayoutData(data);

-	return composite;

-}

-/** (non-Javadoc)

- * Method declared on PreferencePage

- */

-public Control createContents(Composite parent) {

-

-	// ensure the page has no special buttons

-	noDefaultAndApplyButton();

-	Composite panel = createComposite(parent, 2);

-

-	WorkbenchHelp.setHelp(panel, IReadmeConstants.PROPERTY_PAGE_CONTEXT);

-

-	// layout the page

-

-	IResource resource = (IResource) getElement();

-	IStatus result = null;

-	if (resource.getType() == IResource.FILE) {

-		Label l = createLabel(panel, MessageUtil.getString("File_name")); //$NON-NLS-1$

-		l = createLabel(panel, resource.getName());

-		grabExcessSpace(l);

-

-		//

-		createLabel(panel, MessageUtil.getString("Path")); //$NON-NLS-1$

-		l = createLabel(panel, resource.getFullPath().setDevice(null).toString());

-		grabExcessSpace(l);

-

-		//

-		createLabel(panel, MessageUtil.getString("Size")); //$NON-NLS-1$

-		InputStream contentStream = null;

-		try {

-			IFile file = (IFile) resource;

-			if (!file.isLocal(IResource.DEPTH_ZERO))

-				l = createLabel(panel,MessageUtil.getString("<file_contents_not_local>")); //$NON-NLS-1$

-			else {

-				contentStream = file.getContents();

-				Reader in = new InputStreamReader(contentStream);

-				int chunkSize = contentStream.available();

-				StringBuffer buffer = new StringBuffer(chunkSize);

-				char[] readBuffer = new char[chunkSize];

-				int n = in.read(readBuffer);

-				

-				while (n > 0) {

-					buffer.append(readBuffer);

-					n = in.read(readBuffer);

-				}

-				

-				contentStream.close();

-				l = createLabel(panel, Integer.toString(buffer.length()));

-			}

-		} catch (CoreException e) {

-			result = e.getStatus();

-			String message = result.getMessage();

-			if (message == null)

-				l = createLabel(panel, MessageUtil.getString("<Unknown>")); //$NON-NLS-1$

-			else

-				l = createLabel(panel, message);

-		} catch (IOException e) {

-			l = createLabel(panel, MessageUtil.getString("<Unknown>")); //$NON-NLS-1$

-		} finally {

-			if (contentStream != null) {

-				try {

-					contentStream.close();

-				} catch (IOException e) {

-				}

-			}

-		}

-		grabExcessSpace(l);

-		createLabel(panel, MessageUtil.getString("Number_of_sections")); //$NON-NLS-1$

-		// We will get the sections property and simply

-		// report number of elements found.

-		IAdaptable sections = getSections(resource);

-		if (sections instanceof AdaptableList) {

-			AdaptableList list = (AdaptableList)sections;

-			l = createLabel(panel, String.valueOf(list.size()));

-			grabExcessSpace(l);

-		}

-	}

-

-	//

-	Label l = createLabel(panel, MessageUtil.getString("Additional_information")); //$NON-NLS-1$

-	grabExcessSpace(l);

-	GridData gd = (GridData) l.getLayoutData();

-	gd.horizontalSpan = 2;

-	return new Canvas(panel, 0);

-}

-/**

- * Utility method that creates a new label and sets up its layout data.

- *

- * @param parent  the parent of the label

- * @param text  the text of the label

- * @return the newly-created label

- */

-protected Label createLabel(Composite parent, String text) {

-	Label label = new Label(parent, SWT.LEFT);

-	label.setText(text);

-	GridData data = new GridData();

-	data.horizontalAlignment = GridData.FILL;

-	label.setLayoutData(data);

-	return label;

-}

-/**

- * Returns the readme sections for this resource, or null

- * if not applicable (resource is not a readme file).

- */

-private AdaptableList getSections(IAdaptable adaptable) {

-	if (adaptable instanceof IFile)

-		return ReadmeModelFactory.getInstance().getSections((IFile)adaptable);

-	else

-		return null;

-}

-/**

- * Sets this control to grab any excess horizontal space

- * left in the window.

- *

- * @param control  the control for which to grab excess space

- */

-private void grabExcessSpace(Control control) {

-	GridData gd = (GridData) control.getLayoutData();

-	if (gd != null) {

-		gd.grabExcessHorizontalSpace = true;

-	}

-}

-/** (non-Javadoc)

- * Method declared on PreferencePage

- */

-public boolean performOk() {

-	// nothing to do - read-only page

-	return true;

-}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeFilePropertyPage2.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeFilePropertyPage2.java
deleted file mode 100644
index 110db62..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeFilePropertyPage2.java
+++ /dev/null
@@ -1,205 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

-import java.io.*;

-

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

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

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

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.layout.GridData;

-import org.eclipse.swt.layout.GridLayout;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.ui.dialogs.PropertyPage;

-import org.eclipse.ui.help.WorkbenchHelp;

-

-/**

- * This page will be added to the property page dialog

- * when "Properties..." popup menu item is selected

- * for Readme files. 

- *

- * This page demonstrates conditional property pages which look

- * different depending on the state of the element. In this example,

- * the arbitrary condition chosen is whether the Readme file is

- * greater than 256 bytes in length. If it is smaller than 256 bytes

- * in length, this will be a placeholder page containing 

- * a simple message. If it is 256 bytes or larger, additional 

- * information will be provided. This information is determined at

- * runtime.

- *

- * This class may be reused to implement a conditional property page.

- * The getPageIndex() method tests the condition and returns the

- * index of the page to create. The createPage*() methods are called

- * upon to create the actual pages.

- */

-public class ReadmeFilePropertyPage2 extends PropertyPage {

-

-/**

- * Utility method that creates a new composite and

- * sets up its layout data.

- *

- * @param parent  the parent of the composite

- * @param numColumns  the number of columns in the new composite

- * @return the newly-created composite

- */

-protected Composite createComposite(Composite parent, int numColumns) {

-	Composite composite = new Composite(parent, SWT.NULL);

-	GridLayout layout = new GridLayout();

-	layout.numColumns = numColumns;

-	composite.setLayout(layout);

-	GridData data = new GridData();

-	data.verticalAlignment = GridData.FILL;

-	data.horizontalAlignment = GridData.FILL;

-	composite.setLayoutData(data);

-	return composite;

-}

-/** (non-Javadoc)

- * Method declared on PreferencePage

- */

-public Control createContents(Composite parent) {

-	// ensure the page has no special buttons

-	noDefaultAndApplyButton();

-	Composite panel = createComposite(parent, 2);

-

-	WorkbenchHelp.setHelp(panel, IReadmeConstants.PROPERTY_PAGE2_CONTEXT);

-

-	// layout the page

-	int page = getPageIndex();

-	switch (page) {

-		case 1: 

-			createPageOne(panel);

-			break;

-		case 2: 

-			createPageTwo(panel);

-			break;

-		default:

-	}

-	return new Canvas(panel, 0);

-}

-/**

- * Utility method that creates a new label and sets up

- * its layout data.

- *

- * @param parent  the parent of the label

- * @param text  the text of the label

- * @return the newly-created label

- */

-protected Label createLabel(Composite parent, String text) {

-	Label label = new Label(parent, SWT.LEFT);

-	label.setText(text);

-	GridData data = new GridData();

-	data.horizontalAlignment = GridData.FILL;

-	label.setLayoutData(data);

-	return label;

-}

-/**

- * Creates the first version of the page. This is a placeholder page which

- * notified the user that the page is not available.

- *

- * @param panel  the panel in which to create the page

- */

-protected void createPageOne(Composite panel) {

-	Label l = createLabel(panel, MessageUtil.getString("Additional_Readme_properties_not_available.")); //$NON-NLS-1$

-	GridData gd = (GridData) l.getLayoutData();

-	gd.horizontalSpan = 2;

-	gd.grabExcessHorizontalSpace = true;

-	l = createLabel(panel, MessageUtil.getString("This_illustrates_a_property_page_that_is_dynamically_determined")); //$NON-NLS-1$

-	gd = (GridData) l.getLayoutData();

-	gd.horizontalSpan = 2;

-	gd.grabExcessHorizontalSpace = true;

-	l = createLabel(panel, MessageUtil.getString("not_to_be_available_based_on_the_state_of_the_object.")); //$NON-NLS-1$

-	gd = (GridData) l.getLayoutData();

-	gd.horizontalSpan = 2;

-	gd.grabExcessHorizontalSpace = true;

-}

-/**

- * Creates the second version of the page. This page might contain more information

- * about the file or other information.

- *

- * @param panel  the panel in which to create the page

- */

-protected void createPageTwo(Composite panel) {

-	Label l = createLabel(panel, MessageUtil.getString("The_size_of_the_Readme_file_is_at_least_256_bytes.")); //$NON-NLS-1$

-	GridData gd = (GridData) l.getLayoutData();

-	gd.horizontalSpan = 2;

-	gd.grabExcessHorizontalSpace = true;

-	l = createLabel(panel, MessageUtil.getString("Had_it_been_less_than_256_bytes_this_page_would_be_a_placeholder_page.")); //$NON-NLS-1$

-	gd = (GridData) l.getLayoutData();

-	gd.horizontalSpan = 2;

-	gd.grabExcessHorizontalSpace = true;

-	l = createLabel(panel, MessageUtil.getString("Additional_information")); //$NON-NLS-1$

-	gd = (GridData) l.getLayoutData();

-	gd.horizontalSpan = 2;

-	gd.grabExcessHorizontalSpace = true;

-	l = createLabel(panel, MessageUtil.getString("This_illustrates_a_property_page_that_is_dynamically_determined")); //$NON-NLS-1$

-	gd = (GridData) l.getLayoutData();

-	gd.horizontalSpan = 2;

-	gd.grabExcessHorizontalSpace = true;

-	l = createLabel(panel, MessageUtil.getString("to_be_available_based_on_the_state_of_the_object.")); //$NON-NLS-1$

-	gd = (GridData) l.getLayoutData();

-	gd.horizontalSpan = 2;

-	gd.grabExcessHorizontalSpace = true;

-}

-/**

- * Returns which page to display. This implementation

- * answers 1 if the size of the Readme file is less than 256 bytes

- * and 2 otherwise.

- *

- * @return the index of the page to display

- */

-protected int getPageIndex() {

-	IResource resource = (IResource) getElement();

-	

-	if (resource.getType() == IResource.FILE) {

-		InputStream contentStream = null;

-		int length = 0;

-		try {

-			IFile file = (IFile) resource;

-			

-			if (file.isLocal(IResource.DEPTH_ZERO)) {

-				contentStream = file.getContents();

-				Reader in = new InputStreamReader(contentStream);

-				int chunkSize = contentStream.available();

-				StringBuffer buffer = new StringBuffer(chunkSize);

-				char[] readBuffer = new char[chunkSize];

-				int n = in.read(readBuffer);

-				

-				while (n > 0) {

-					buffer.append(readBuffer);

-					n = in.read(readBuffer);

-				}

-				

-				contentStream.close();

-				length = buffer.length();

-			}

-		} catch (CoreException e) {

-			length = 0;

-		} catch (IOException e) {

-		} finally {

-			if (contentStream != null) {

-				try {

-					contentStream.close();

-				} catch (IOException e) {

-				}

-			}

-		}

-		

-		if (length < 256)

-			return 1;

-		else

-			return 2;

-	}

-	

-	return 0;

-}

-/** (non-Javadoc)

- * Method declared on PreferencePage

- */

-public boolean performOk() {

-	// nothing to do - read-only page

-	return true;

-}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeImages.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeImages.java
deleted file mode 100644
index e957acd..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeImages.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

-import java.net.MalformedURLException;

-import java.net.URL;

-

-import org.eclipse.jface.resource.ImageDescriptor;

-/**

- * Convenience class for storing references to image descriptors

- * used by the readme tool.

- */

-public class ReadmeImages {

-	static final URL BASE_URL = ReadmePlugin.getDefault().getDescriptor().getInstallURL();

-	static final ImageDescriptor EDITOR_ACTION1_IMAGE;

-	static final ImageDescriptor EDITOR_ACTION2_IMAGE;

-	static final ImageDescriptor EDITOR_ACTION3_IMAGE;

-	static final ImageDescriptor EDITOR_ACTION1_IMAGE_DISABLE;

-	static final ImageDescriptor EDITOR_ACTION2_IMAGE_DISABLE;

-	static final ImageDescriptor EDITOR_ACTION3_IMAGE_DISABLE;

-	static final ImageDescriptor EDITOR_ACTION1_IMAGE_ENABLE;

-	static final ImageDescriptor EDITOR_ACTION2_IMAGE_ENABLE;

-	static final ImageDescriptor EDITOR_ACTION3_IMAGE_ENABLE;

-	static final ImageDescriptor README_WIZARD_BANNER;

-

-	static {

-		String iconPath = "icons/";

-		

-		String prefix = iconPath + "ctool16/"; //$NON-NLS-1$

-		EDITOR_ACTION1_IMAGE = createImageDescriptor(prefix + "action1.gif"); //$NON-NLS-1$

-		EDITOR_ACTION2_IMAGE = createImageDescriptor(prefix + "action2.gif"); //$NON-NLS-1$

-		EDITOR_ACTION3_IMAGE = createImageDescriptor(prefix + "action3.gif"); //$NON-NLS-1$

-

-		prefix = iconPath + "dtool16/"; //$NON-NLS-1$

-		EDITOR_ACTION1_IMAGE_DISABLE = createImageDescriptor(prefix + "action1.gif"); //$NON-NLS-1$

-		EDITOR_ACTION2_IMAGE_DISABLE = createImageDescriptor(prefix + "action2.gif"); //$NON-NLS-1$

-		EDITOR_ACTION3_IMAGE_DISABLE = createImageDescriptor(prefix + "action3.gif"); //$NON-NLS-1$

-		

-		prefix = iconPath + "etool16/"; //$NON-NLS-1$

-		EDITOR_ACTION1_IMAGE_ENABLE = createImageDescriptor(prefix + "action1.gif"); //$NON-NLS-1$

-		EDITOR_ACTION2_IMAGE_ENABLE = createImageDescriptor(prefix + "action2.gif"); //$NON-NLS-1$

-		EDITOR_ACTION3_IMAGE_ENABLE = createImageDescriptor(prefix + "action3.gif"); //$NON-NLS-1$

-		

-		prefix = iconPath + "wizban/"; //$NON-NLS-1$

-		README_WIZARD_BANNER = createImageDescriptor(prefix + "newreadme_wiz.gif"); //$NON-NLS-1$

-	}

-/**

- * Utility method to create an <code>ImageDescriptor</code>

- * from a path to a file.

- */

-private static ImageDescriptor createImageDescriptor(String path) {

-	try {

-		URL url = new URL(BASE_URL, path);

-		return ImageDescriptor.createFromURL(url);

-	} catch (MalformedURLException e) {

-	}

-	return ImageDescriptor.getMissingImageDescriptor();

-}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeMarkerResolutionGenerator.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeMarkerResolutionGenerator.java
deleted file mode 100644
index 2b70120..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeMarkerResolutionGenerator.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

- * 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.ui.IMarkerResolution;

-import org.eclipse.ui.IMarkerResolutionGenerator;

-

-/**

- * Creates resolutions for readme markers.

- */

-public class ReadmeMarkerResolutionGenerator implements IMarkerResolutionGenerator {

-	/*(non-Javadoc)

-	 * Method declared on IMarkerResolutionGenerator.

-	 */

-	public IMarkerResolution[] getResolutions(IMarker marker) {

-		return new IMarkerResolution[] {new AddSentenceResolution()};

-	}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeModelFactory.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeModelFactory.java
deleted file mode 100644
index 470683d..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeModelFactory.java
+++ /dev/null
@@ -1,152 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

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

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

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.jface.viewers.IStructuredSelection;

-

-/**

- * Creates the sections used in the <code>ContentOutline</code>

- *

- * @see ReadmeContentOutlinePage#getContentOutline(IAdaptable)

- */

-public class ReadmeModelFactory {

-	private static ReadmeModelFactory instance = new ReadmeModelFactory();

-	private boolean registryLoaded = false;

-	IReadmeFileParser parser = null;

-/**

- * Creates a new ReadmeModelFactory.

- */

-private ReadmeModelFactory() {

-}

-/**

- * Adds all mark elements to the list for the subtree rooted

- * at the given mark element.

- */

-protected void addSections(AdaptableList list, MarkElement element) {

-	list.add(element);

-	Object[] children = element.getChildren(element);

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

-		addSections(list, (MarkElement) children[i]);

-	}

-}

-/**

- * Returns the content outline for the given Readme file.

- *

- * @param adaptable  the element for which to return the content outline

- * @return the content outline for the argument

- */

-public AdaptableList getContentOutline(IAdaptable adaptable) {

-	return new AdaptableList(getToc((IFile)adaptable));

-}

-/**

- * Returns the singleton readme adapter.

- */

-public static ReadmeModelFactory getInstance() {

-	return instance;

-}

-/**

- * Returns a list of all sections in this readme file.

- *

- * @param file  the file for which to return section heading and subheadings

- * @return A list containing headings and subheadings

- */

-public AdaptableList getSections(IFile file) {

-	MarkElement[] topLevel = getToc(file);

-	AdaptableList list = new AdaptableList();

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

-		addSections(list, topLevel[i]);

-	}

-	return list;

-}

-/**

- * Convenience method.  Looks for a readme file in the selection,

- * and if one is found, returns the sections for it.  Returns null

- * if there is no readme file in the selection.

- */

-public AdaptableList getSections(ISelection sel) {

-	// If sel is not a structured selection just return.

-	if (!(sel instanceof IStructuredSelection))

-		return null;

-	IStructuredSelection structured = (IStructuredSelection)sel;

-		

-	//if the selection is a readme file, get its sections.

-	Object object = structured.getFirstElement();

-	if (object instanceof IFile) {

-		IFile file = (IFile) object;

-		String extension = file.getFileExtension();

-		if (extension != null && extension.equals(IReadmeConstants.EXTENSION)) {

-			return getSections(file);

-		}

-	}

-	

-	//the selected object is not a readme file

-	return null;

-}

-/**

- * Parses the contents of the Readme file by looking for lines 

- * that start with a number.

- *

- * @param file  the file representing the Readme file

- * @return an element collection representing the table of contents

- */

-private MarkElement[] getToc(IFile file) {

-	if (registryLoaded == false) loadParser();

-	return parser.parse(file);

-}

-/**

- * Loads the parser from the registry by searching for

- * extensions that satisfy our published extension point.

- * For the sake of simplicity, we will pick the last extension,

- * allowing tools to override what is used. In a more

- * elaborate tool, all the extensions would be processed.

- */

-private void loadParser() {

-	IPluginRegistry pluginRegistry = Platform.getPluginRegistry();

-	IExtensionPoint point = pluginRegistry.getExtensionPoint(IReadmeConstants.PLUGIN_ID, IReadmeConstants.PP_SECTION_PARSER);

-	if (point != null) {

-		IExtension[] extensions = point.getExtensions();

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

-			IExtension currentExtension = extensions[i];

-			// in a real application, we would collection

-			// the entire list and probably expose it

-			// as a drop-down list. For the sake

-			// of simplicity, we will pick the last extension only.

-			if (i == extensions.length - 1) {

-				IConfigurationElement[] configElements = currentExtension.getConfigurationElements();

-				for (int j = 0; j < configElements.length; j++) {

-					IConfigurationElement config = configElements[i];

-					if (config.getName().equals(IReadmeConstants.TAG_PARSER)) {

-						// process the first 'parser' element and stop

-						processParserElement(config);

-						break;

-					}

-				}

-			}

-		}

-	}

-	if (parser == null)

-		parser = new DefaultSectionsParser();

-	registryLoaded = true;

-}

-/**

- * Tries to create the Readme file parser. If an error occurs during

- * the creation of the parser, print an error and set the parser

- * to null.

- *

- * @param element  the element to process

- */

-private void processParserElement(IConfigurationElement element) {

-	try {

-		parser = (IReadmeFileParser)element.createExecutableExtension(IReadmeConstants.ATT_CLASS);

-	} catch (CoreException e) {

-		// since this is an example just write to the console

-		System.out.println(MessageUtil.getString("Unable_to_create_file_parser") + e.getStatus().getMessage()); //$NON-NLS-1$

-		parser = null;

-	}

-}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePlugin.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePlugin.java
deleted file mode 100644
index c31de42..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePlugin.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

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

-import org.eclipse.jface.preference.IPreferenceStore;

-import org.eclipse.ui.plugin.AbstractUIPlugin;

-

-/**

- * This is the top-level class of the Readme plugin tool.

- *

- * @see AbstractUIPlugin for additional information on UI plugins

- */

-public class ReadmePlugin extends AbstractUIPlugin {

-	// Default instance of the receiver

-		

-	private static ReadmePlugin inst;

-/**

- * Creates the Readme plugin and caches its default instance

- *

- * @param descriptor  the plugin descriptor which the receiver is made from

- */

-public ReadmePlugin(IPluginDescriptor descriptor) {

-	super(descriptor);

-	if (inst==null) inst = this;

-}

-/**

- * Gets the plugin singleton.

- *

- * @return the default ReadmePlugin instance

- */

-static public ReadmePlugin getDefault() {

-	return inst;

-}

-/** 

- * Sets default preference values. These values will be used

- * until some preferences are actually set using Preference dialog.

- */

-protected void initializeDefaultPreferences(IPreferenceStore store) {

-	// These settings will show up when Preference dialog

-	// opens up for the first time.

-	store.setDefault(IReadmeConstants.PRE_CHECK1, true);

-	store.setDefault(IReadmeConstants.PRE_CHECK2, true);

-	store.setDefault(IReadmeConstants.PRE_CHECK3, false);

-	store.setDefault(IReadmeConstants.PRE_RADIO_CHOICE, 2);

-	store.setDefault(IReadmeConstants.PRE_TEXT, MessageUtil.getString("Default_text")); //$NON-NLS-1$

-}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePreferencePage.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePreferencePage.java
deleted file mode 100644
index 369a32d..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePreferencePage.java
+++ /dev/null
@@ -1,312 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.jface.preference.IPreferenceStore;

-import org.eclipse.jface.preference.PreferencePage;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.events.*;

-import org.eclipse.swt.layout.GridData;

-import org.eclipse.swt.layout.GridLayout;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.ui.IWorkbench;

-import org.eclipse.ui.IWorkbenchPreferencePage;

-import org.eclipse.ui.help.WorkbenchHelp;

-

-/**

- * This class implements a sample preference page that is 

- * added to the preference dialog based on the registration.

- */

-public class ReadmePreferencePage extends PreferencePage implements IWorkbenchPreferencePage, SelectionListener, ModifyListener {

-	private Button radioButton1;

-	private Button radioButton2;

-	private Button radioButton3;

-

-	private Button checkBox1;

-	private Button checkBox2;

-	private Button checkBox3;

-

-	private Text textField;

-	

-	private Button pushButton_textField;

-/**

- * Creates an new checkbox instance and sets the default

- * layout data.

- *

- * @param group  the composite in which to create the checkbox

- * @param label  the string to set into the checkbox

- * @return the new checkbox

- */ 

-private Button createCheckBox(Composite group, String label) {

-	Button button = new Button(group, SWT.CHECK | SWT.LEFT);

-	button.setText(label);

-	button.addSelectionListener(this);

-	GridData data = new GridData();

-	button.setLayoutData(data);

-	return button;

-}

-/**

- * Creates composite control and sets the default layout data.

- *

- * @param parent  the parent of the new composite

- * @param numColumns  the number of columns for the new composite

- * @return the newly-created coposite

- */

-private Composite createComposite(Composite parent, int numColumns) {

-	Composite composite = new Composite(parent, SWT.NULL);

-

-	//GridLayout

-	GridLayout layout = new GridLayout();

-	layout.numColumns = numColumns;

-	composite.setLayout(layout);

-

-	//GridData

-	GridData data = new GridData();

-	data.verticalAlignment = GridData.FILL;

-	data.horizontalAlignment = GridData.FILL;

-	composite.setLayoutData(data);

-	return composite;

-}

-/** (non-Javadoc)

- * Method declared on PreferencePage

- */

-protected Control createContents(Composite parent)

-{

-	WorkbenchHelp.setHelp(parent, IReadmeConstants.PREFERENCE_PAGE_CONTEXT);

-	

-	//composite_textField << parent

-	Composite composite_textField = createComposite(parent, 2);

-	Label label_textField = createLabel(composite_textField, MessageUtil.getString("Text_Field"));	 //$NON-NLS-1$

-	textField = createTextField(composite_textField);

-	pushButton_textField = createPushButton(composite_textField, MessageUtil.getString("Change")); //$NON-NLS-1$

-

-	//composite_tab << parent

-	Composite composite_tab = createComposite(parent, 2);

-	Label label1 = createLabel(composite_tab, MessageUtil.getString("Radio_Button_Options")); //$NON-NLS-1$

-

-	//

-	tabForward(composite_tab);

-	//radio button composite << tab composite

-	Composite composite_radioButton = createComposite(composite_tab, 1);

-	radioButton1 = createRadioButton(composite_radioButton, MessageUtil.getString("Radio_button_1")); //$NON-NLS-1$

-	radioButton2 = createRadioButton(composite_radioButton, MessageUtil.getString("Radio_button_2")); //$NON-NLS-1$

-	radioButton3 = createRadioButton(composite_radioButton, MessageUtil.getString("Radio_button_3")); //$NON-NLS-1$

-

-

-	//composite_tab2 << parent

-	Composite composite_tab2 = createComposite(parent, 2);

-	Label label2 = createLabel(composite_tab2, MessageUtil.getString("Check_Box_Options")); //$NON-NLS-1$

-

-	//

-	tabForward(composite_tab2);

-	//composite_checkBox << composite_tab2

-	Composite composite_checkBox = createComposite(composite_tab2, 1);

-	checkBox1 = createCheckBox(composite_checkBox, MessageUtil.getString("Check_box_1")); //$NON-NLS-1$

-	checkBox2 = createCheckBox(composite_checkBox, MessageUtil.getString("Check_box_2")); //$NON-NLS-1$

-	checkBox3 = createCheckBox(composite_checkBox, MessageUtil.getString("Check_box_3")); //$NON-NLS-1$

-

-	initializeValues();

-

-	//font = null;

-	return new Composite(parent, SWT.NULL);

-}

-/**

- * Utility method that creates a label instance

- * and sets the default layout data.

- *

- * @param parent  the parent for the new label

- * @param text  the text for the new label

- * @return the new label

- */

-private Label createLabel(Composite parent, String text) {

-	Label label = new Label(parent, SWT.LEFT);

-	label.setText(text);

-	GridData data = new GridData();

-	data.horizontalSpan = 2;

-	data.horizontalAlignment = GridData.FILL;

-	label.setLayoutData(data);

-	return label;

-}

-/**

- * Utility method that creates a push button instance

- * and sets the default layout data.

- *

- * @param parent  the parent for the new button

- * @param label  the label for the new button

- * @return the newly-created button

- */

-private Button createPushButton(Composite parent, String label) {

-	Button button = new Button(parent, SWT.PUSH);

-	button.setText(label);

-	button.addSelectionListener(this);

-	GridData data = new GridData();

-	data.horizontalAlignment = GridData.FILL;

-	button.setLayoutData(data);

-	return button;

-}

-/**

- * Utility method that creates a radio button instance

- * and sets the default layout data.

- *

- * @param parent  the parent for the new button

- * @param label  the label for the new button

- * @return the newly-created button

- */

-private Button createRadioButton(Composite parent, String label) {

-	Button button = new Button(parent, SWT.RADIO | SWT.LEFT);

-	button.setText(label);

-	button.addSelectionListener(this);

-	GridData data = new GridData();

-	button.setLayoutData(data);

-	return button;

-}

-/**

- * Create a text field specific for this application

- *

- * @param parent  the parent of the new text field

- * @return the new text field

- */

-private Text createTextField(Composite parent) {

-	Text text = new Text(parent, SWT.SINGLE | SWT.BORDER);

-	text.addModifyListener(this);

-	GridData data = new GridData();

-	data.horizontalAlignment = GridData.FILL;

-	data.grabExcessHorizontalSpace = true;

-	data.verticalAlignment = GridData.CENTER;

-	data.grabExcessVerticalSpace = false;

-	text.setLayoutData(data);

-	return text;

-}

-/** 

- * The <code>ReadmePreferencePage</code> implementation of this

- * <code>PreferencePage</code> method 

- * returns preference store that belongs to the our plugin.

- * This is important because we want to store

- * our preferences separately from the desktop.

- */

-protected IPreferenceStore doGetPreferenceStore() {

-	return ReadmePlugin.getDefault().getPreferenceStore();

-}

-/* (non-Javadoc)

- * Method declared on IWorkbenchPreferencePage

- */

-public void init(IWorkbench workbench){

-}

-/**

- * Initializes states of the controls using default values

- * in the preference store.

- */

-private void initializeDefaults() {

-	IPreferenceStore store = getPreferenceStore();

-	checkBox1.setSelection(store.getDefaultBoolean(IReadmeConstants.PRE_CHECK1));

-	checkBox2.setSelection(store.getDefaultBoolean(IReadmeConstants.PRE_CHECK2));

-	checkBox3.setSelection(store.getDefaultBoolean(IReadmeConstants.PRE_CHECK3));

-

-	radioButton1.setSelection(false);

-	radioButton2.setSelection(false);

-	radioButton3.setSelection(false);

-	int choice = store.getDefaultInt(IReadmeConstants.PRE_RADIO_CHOICE);

-	switch (choice) {

-		case 1:

-		   radioButton1.setSelection(true);

-		   break;

-		case 2:

-		   radioButton2.setSelection(true);

-		   break;

-		case 3:

-		   radioButton3.setSelection(true);

-		   break;

-	}

-	textField.setText(store.getDefaultString(IReadmeConstants.PRE_TEXT));

-}

-/**

- * Initializes states of the controls from the preference store.

- */

-private void initializeValues() {

-	IPreferenceStore store = getPreferenceStore();

-	checkBox1.setSelection(store.getBoolean(IReadmeConstants.PRE_CHECK1));

-	checkBox2.setSelection(store.getBoolean(IReadmeConstants.PRE_CHECK2));

-	checkBox3.setSelection(store.getBoolean(IReadmeConstants.PRE_CHECK3));

-

-	int choice = store.getInt(IReadmeConstants.PRE_RADIO_CHOICE);

-	switch (choice) {

-		case 1:

-		   radioButton1.setSelection(true);

-		   break;

-		case 2:

-		   radioButton2.setSelection(true);

-		   break;

-		case 3:

-		   radioButton3.setSelection(true);

-		   break;

-	}

-	textField.setText(store.getString(IReadmeConstants.PRE_TEXT));

-}

-/** (non-Javadoc)

- * Method declared on ModifyListener

- */

-public void modifyText(ModifyEvent event) {

-	//Do nothing on a modification in this example

-}

-/* (non-Javadoc)

- * Method declared on PreferencePage

- */

-protected void performDefaults() {

-	super.performDefaults();

-	initializeDefaults();

-}

-/* (non-Javadoc)

- * Method declared on PreferencePage

- */

-public boolean performOk() {

-	storeValues();

-	ReadmePlugin.getDefault().savePluginPreferences();

-	return true;

-}

-/**

- * Stores the values of the controls back to the preference store.

- */

-private void storeValues() {

-	IPreferenceStore store = getPreferenceStore();

-	store.setValue(IReadmeConstants.PRE_CHECK1, checkBox1.getSelection());

-	store.setValue(IReadmeConstants.PRE_CHECK2, checkBox2.getSelection());

-	store.setValue(IReadmeConstants.PRE_CHECK3, checkBox3.getSelection());

-

-	int choice = 1;

-

-	if (radioButton2.getSelection()) choice = 2;

-	else if (radioButton3.getSelection()) choice = 3;

-

-	store.setValue(IReadmeConstants.PRE_RADIO_CHOICE, choice);

-	store.setValue(IReadmeConstants.PRE_TEXT, textField.getText());

-}

-/**

- * Creates a tab of one horizontal spans.

- *

- * @param parent  the parent in which the tab should be created

- */

-private void tabForward(Composite parent) {

-	Label vfiller = new Label(parent, SWT.LEFT);

-	GridData gridData = new GridData();

-	gridData = new GridData();

-	gridData.horizontalAlignment = GridData.BEGINNING;

-	gridData.grabExcessHorizontalSpace = false;

-	gridData.verticalAlignment = GridData.CENTER;

-	gridData.grabExcessVerticalSpace = false;

-	vfiller.setLayoutData(gridData);

-}

-/** (non-Javadoc)

- * Method declared on SelectionListener

- */

-public void widgetDefaultSelected(SelectionEvent event) {

-	//Handle a default selection. Do nothing in this example

-}

-/** (non-Javadoc)

- * Method declared on SelectionListener

- */

-public void widgetSelected(SelectionEvent event) {

-	//Do nothing on selection in this example;

-}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeSectionsView.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeSectionsView.java
deleted file mode 100644
index 36487d4..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeSectionsView.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.jface.viewers.ListViewer;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.ui.ISelectionListener;

-import org.eclipse.ui.IWorkbenchPart;

-import org.eclipse.ui.help.WorkbenchHelp;

-import org.eclipse.ui.model.WorkbenchContentProvider;

-import org.eclipse.ui.model.WorkbenchLabelProvider;

-import org.eclipse.ui.part.ViewPart;

-

-/**

- * This class demonstrates a simple view containing a single viewer.

- */

-public class ReadmeSectionsView extends ViewPart implements ISelectionListener {

-	ListViewer viewer;

-/**

- * Creates a new ReadmeSectionsView .

- */

-public ReadmeSectionsView() {

-	super();

-}

-/* (non-Javadoc)

- * Method declared on IWorkbenchPart

- */

-public void createPartControl(Composite parent) {

-	viewer = new ListViewer(parent);

-

-	WorkbenchHelp.setHelp(viewer.getControl(), IReadmeConstants.SECTIONS_VIEW_CONTEXT);

-

-	// if the objects in the viewer implement the IDesktopElement adapter,

-	// these generic content and label providers can be used.

-	viewer.setContentProvider(new WorkbenchContentProvider());

-	viewer.setLabelProvider(new WorkbenchLabelProvider());

-

-	// add myself as a global selection listener

-	getSite().getPage().addSelectionListener(this);

-	

-	// prime the selection

-	selectionChanged(null, getSite().getPage().getSelection());

-}

-/**

- * The <code>ReadmeSectionView</code> implementation of this 

- * <code>IWorkbenchPart</code> method runs super

- * and removes itself from the global selection listener. 

- */

-public void dispose() {

-	super.dispose();

-	getSite().getPage().removeSelectionListener(this);

-}

-/* (non-Javadoc)

- * Method declared on ISelectionListener

- */

-public void selectionChanged(IWorkbenchPart part, ISelection sel) {

-	//if the selection is a readme file, get its sections.

-	AdaptableList input = ReadmeModelFactory.getInstance().getSections(sel);

-	viewer.setInput(input);

-}

-/* (non-Javadoc)

- * Method declared on IWorkbenchPart

- */

-public void setFocus() {

-	viewer.getControl().setFocus();

-}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/SectionsDialog.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/SectionsDialog.java
deleted file mode 100644
index 8e7c46e..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/SectionsDialog.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

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

-import org.eclipse.jface.dialogs.Dialog;

-import org.eclipse.jface.viewers.ListViewer;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.layout.GridData;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.ui.help.WorkbenchHelp;

-import org.eclipse.ui.model.WorkbenchContentProvider;

-import org.eclipse.ui.model.WorkbenchLabelProvider;

-/**

- * This dialog is an example of a detached window launched

- * from an action in the desktop.

- */

-public class SectionsDialog extends Dialog {

-	protected IAdaptable input;

-/**

- * Creates a new SectionsDialog.

- */

-public SectionsDialog(Shell parentShell, IAdaptable input) {

-	super(parentShell);

-	this.input = input;

-}

-/* (non-Javadoc)

- * Method declared on Window.

- */

-protected void configureShell(Shell newShell) {

-	super.configureShell(newShell);

-	newShell.setText(MessageUtil.getString("Readme_Sections")); //$NON-NLS-1$

-	WorkbenchHelp.setHelp(newShell, IReadmeConstants.SECTIONS_DIALOG_CONTEXT);

-}

-/* (non-Javadoc)

- * Method declared on Dialog

- */

-protected Control createDialogArea(Composite parent) {

-	Composite composite = (Composite)super.createDialogArea(parent);

-	

-	List list = new List(composite, SWT.BORDER);

-	GridData data = new GridData(GridData.FILL_BOTH);

-	list.setLayoutData(data);

-	ListViewer viewer = new ListViewer(list);

-	viewer.setContentProvider(new WorkbenchContentProvider());

-	viewer.setLabelProvider(new WorkbenchLabelProvider());

-	viewer.setInput(input);

-

-	return composite;

-}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ViewActionDelegate.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ViewActionDelegate.java
deleted file mode 100644
index 5174073..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ViewActionDelegate.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.jface.dialogs.MessageDialog;

-import org.eclipse.ui.IViewActionDelegate;

-import org.eclipse.ui.IViewPart;

-

-/**

- * This class is used to demonstrate view action extensions.

- * An extension should be defined in the readme plugin.xml.

- */

-public class ViewActionDelegate implements IViewActionDelegate {

-	public IViewPart view;

-/**

- * Creates a new ViewActionDelegate.

- */

-public ViewActionDelegate() {

-	super();

-}

-/* (non-Javadoc)

- * Method declared on IViewActionDelegate

- */

-public void init(IViewPart view) {

-	this.view = view;

-}

-/* (non-Javadoc)

- * Method declared on IActionDelegate

- */

-public void run(org.eclipse.jface.action.IAction action) {

-	MessageDialog.openInformation(view.getSite().getShell(),

-		MessageUtil.getString("Readme_Editor"),  //$NON-NLS-1$

-		MessageUtil.getString("View_Action_executed")); //$NON-NLS-1$

-}

-/* (non-Javadoc)

- * Method declared on IActionDelegate

- */

-public void selectionChanged(org.eclipse.jface.action.IAction action, org.eclipse.jface.viewers.ISelection selection) {}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/WindowActionDelegate.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/WindowActionDelegate.java
deleted file mode 100644
index 6d75955..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/WindowActionDelegate.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.eclipse.ui.examples.readmetool;

-

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.jface.action.IAction;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.ui.IWorkbenchWindow;

-import org.eclipse.ui.IWorkbenchWindowActionDelegate;

-

-/**

- * This class shows how <code>IActionDelegate</code> implementations

- * should be used for global action registration for menu 

- * and tool bars. Action proxy object is created in the 

- * desktop based on presentation information in the plugin.xml

- * file. Delegate is not loaded until the first time the user

- * presses the button or selects the menu. Based on the action

- * availability, it is possible that the button will disable

- * instead of executing.

- */

-public class WindowActionDelegate implements IWorkbenchWindowActionDelegate {

-	private IWorkbenchWindow window;

-	private ISelection selection;

-/* (non-Javadoc)

- * Method declared on IWorkbenchActionDelegate

- */

-public void dispose() {}

-/* (non-Javadoc)

- * Method declared on IWorkbenchActionDelegate

- */

-public void init(IWorkbenchWindow window) {

-	this.window = window;

-}

-/** 

- * The <code>WindowActionDelegate</code> implementation of this

- * <code>IActionDelegate</code> method 

- * launches a stand-alone dialog that contains a list of sections for

- * the selected readme file in the navigator.

- */

-public void run(IAction action) {

-	SectionsDialog dialog = new SectionsDialog(window.getShell(), 

-		ReadmeModelFactory.getInstance().getSections(selection));

-	dialog.open();

-}

-/** 

- * The <code>WindowActionDelegate</code> implementation of this

- * <code>IActionDelegate</code> method 

- * does nothing - we will let simple rules in the XML

- * config file react to selections.

- */

-public void selectionChanged(IAction action, ISelection selection) {

-	this.selection = selection;

-}

-}

diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/messages.properties b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/messages.properties
deleted file mode 100644
index 80368b8..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/messages.properties
+++ /dev/null
@@ -1,85 +0,0 @@
-Add=&Add

-Clean=Clean

-Save_Needed=Save Needed

-Editor_Action_executed=Editor Action executed

-Readme_Editor=Readme Editor

-Readme_Outline=Readme Outline

-Line_count=Line count

-Title_length=Title length

-Title_start=Title start

-Popup_Menu_Action_executed=Popup Menu Action executed

-Readme_Example=Readme Example

-Automatic_sample_section_generation=Automatic sample section generation

-Create_Readme_File=Create Readme File

-Create_a_new_Readme_file_resource=Create a new Readme file resource.

-Generate_sample_section_titles=&Generate sample section titles

-Generate_sample_subsection_titles=Generate sample subsection &titles

-Open_file_for_editing_when_done=&Open file for editing when done

-Readme_file_name=&Readme file name:

-SAMPLE_README_FILE=\n\n     SAMPLE README FILE\n\n

-SECTION_1=1. SECTION 1\n

-SECTION_1_BODY_1=This text is a placeholder for the section body.\n

-SECTION_2=2. SECTION 2\n

-SECTION_2_BODY_1=This text is a placeholder for the section body. It is\n

-SECTION_2_BODY_2=a bit longer in order to span two lines.\n

-Subsection_1_1=\ \ \ 1.1 Subsection\n

-Subsection_1_1_Body_1=\ \ \ This text is a placeholder for the subsection body\n

-Subsection_2_1=\ \ \ 2.1 Subsection\n

-Subsection_2_1_BODY_1=\ \ \ This text is a placeholder for the subsection body\n

-Subsection_2_2=\ \ \ 2.2 Subsection\n

-Subsection_2_2_BODY_1=\ \ \ This text is a placeholder for the subsection body\n

-New_Readme_File=New Readme File

-Exception_in_readme_drop_adapter=Exception in readme drop adapter: 

-Editor_Action1=Editor Action &1

-Editor_Action2=Editor Action &2

-Editor_Action3=Editor Action &3

-Editor_Action4=Editor Action &4

-Editor_Action5=Editor Action &5

-Outline_Action2=Outline Action &2

-Outline_Action3=Outline Action &3

-Outline_Action4=Outline Action &4

-Outline_Action5=Outline Action &5

-Editor_is_active=Editor is active

-Empty_Editor_Name=Empty

-Readme_Editor_Action1=Readme Editor Action 1

-Readme_Editor_Action2=Readme Retarget Editor Action 2

-Readme_Editor_Action3=Readme Label Retarget Editor Action 3

-Readme_Editor_Action5=Readme Label Retarget Editor Action 5

-Readme_Outline_Action3=Readme Label Retarget Outline Action 3

-Readme_Outline_Action5=Readme Label Retarget Outline Action 5

-Readme_Menu=&Readme

-ReadmeEditorActionExecuted=Readme Editor Action executed: {0} for: {1}

-ReadmeOutlineActionExecuted=Readme Outline Action executed

-<Unknown>=<Unknown>

-<file_contents_not_local>=<file contents not local>

-Additional_information=Additional information about the Readme file can go here.

-File_name=File name:

-Number_of_sections=Number of sections:

-Path=Path: 

-Size=Size: 

-Additional_Readme_properties_not_available.=Additional Readme properties not available.

-Had_it_been_less_than_256_bytes_this_page_would_be_a_placeholder_page.=Had it been less than 256 bytes, this page would be a placeholder page.

-The_size_of_the_Readme_file_is_at_least_256_bytes.=The size of the Readme file is at least 256 bytes.

-This_illustrates_a_property_page_that_is_dynamically_determined=This illustrates a property page that is dynamically determined

-not_to_be_available_based_on_the_state_of_the_object.=not to be available based on the state of the object.

-to_be_available_based_on_the_state_of_the_object.=to be available based on the state of the object.

-Unable_to_create_file_parser=Unable to create file parser.

-Default_text=Default text

-Change=Chan&ge

-Check_Box_Options=Check Box Options

-Check_box_1=&Check box 1

-Check_box_2=C&heck box 2

-Check_box_3=Check bo&x 3

-Radio_Button_Options=Radio Button Options

-Radio_button_1=&Radio button 1

-Radio_button_2=Rad&io button 2

-Radio_button_3=Radio b&utton 3

-Text_Field=&Text Field

-Readme_Sections=Readme Sections

-View_Action_executed=View Action executed

-Add_Sentence=Add Sentence

-Resolution_Error=Resolution Error

-Unable_to_open_file_editor=Unable to open file editor

-Simple_sentence=This is a simple sentence.\n

-Readme_marker_message_example=Readme marker example 

-Add_readme_marker_action_label=Readme Marker Example &
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/HelpContexts.xml b/examples/org.eclipse.ui.examples.readmetool/HelpContexts.xml
deleted file mode 100644
index 6bf7c3c..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/HelpContexts.xml
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-

-<contexts>

-

-   <context  id="open_browser_action_context" >

-      <description>Opens the readme browser </description>

-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>

-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>

-   </context>

-   <context  id="view_action_context" >

-      <description>Runs a readme view action <b>Help</b> </description>

-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>

-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>

-   </context>

-   <context  id="editor_action_context" >

-      <description>Runs a readme editor action <b>Help</b> </description>

-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>

-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>

-   </context>

-   <context  id="editor_action1_context" >

-      <description>Runs readme editor action 1 <b>Help</b> </description>

-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>

-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>

-   </context>

-   <context  id="editor_action2_context" >

-      <description>Runs readme editor action 2 <b>Help</b> </description>

-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>

-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>

-   </context>

-   <context  id="editor_action3_context" >

-      <description>Runs readme editor action 3 <b>Help</b> </description>

-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>

-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>

-   </context>

-

-   <context  id="sections_view_context" >

-      <description>Readme sections view <b>Help</b> </description>

-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>

-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>

-   </context>

-

-   <context  id="sections_dialog_context" >

-      <description>Readme sections dialog <b>Help</b> </description>

-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>

-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>

-   </context>

-

-   <context  id="preference_page_context" >

-      <description>Readme preference page <b>Help</b> </description>

-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>

-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>

-   </context>

-

-   <context  id="property_page_context" >

-      <description>Readme property page <b>Help</b> </description>

-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>

-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>

-   </context>

-   <context  id="property_page2_context" >

-      <description>Readme property page2 <b>Help</b> </description>

-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>

-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>

-   </context>

-

-   <context  id="editor_context" >

-      <description>Readme editor <b>Help</b> </description>

-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>

-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>

-   </context>

-

-   <context  id="content_outline_page_context" >

-      <description>Readme editor content outline <b>Help</b> </description>

-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>

-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>

-   </context>

-

-   <context  id="creation_wizard_page_context" >

-      <description>Readme file creation wizard <b>Help</b> </description>

-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>

-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>

-   </context>

-

-   <context  id="marker_example1_context" >

-      <description>Readme marker example 1 <b>Help</b> id = 1234 </description>

-   </context>

-   <context  id="marker_example2_context" >

-      <description>Readme marker example 2 <b>Help</b> level = 7 </description>

-   </context>

-   <context  id="marker_example3_context" >

-      <description>Readme marker example 3 <b>Help</b> level = 7, department = infra </description>

-   </context>

-   <context  id="marker_example4_context" >

-      <description>Readme marker example 4 <b>Help</b> code = red </description>

-   </context>

-   <context  id="marker_example5_context" >

-      <description>Readme marker example 5 <b>Help</b> language = english </description>

-   </context>

-   <context  id="marker_example6_context" >

-      <description>Readme marker example 6 <b>Help</b> id = 1234, level = 7, department = infra, code = red, language = english </description>

-   </context>

-   <context  id="marker_example7_context" >

-      <description>Readme marker example 7 <b>Help</b> No attributes specified </description>

-   </context>

-</contexts>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/about.html b/examples/org.eclipse.ui.examples.readmetool/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/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/examples/org.eclipse.ui.examples.readmetool/build.properties b/examples/org.eclipse.ui.examples.readmetool/build.properties
deleted file mode 100644
index 80dd4c0..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/build.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-source.readmetool.jar = Eclipse UI Examples Readme Tool/

-

-bin.includes = doc/,\

-				doc-html/,\

-				icons/,\

-				.options,\

-				about.html,\

-				doc.zip,\

-				HelpContexts.xml,\

-				plugin.properties,\

-				plugin.xml,\

-				*.jar

-

-src.includes = about.html

diff --git a/examples/org.eclipse.ui.examples.readmetool/doc-html/hglegal.htm b/examples/org.eclipse.ui.examples.readmetool/doc-html/hglegal.htm
deleted file mode 100644
index b071dbd..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/doc-html/hglegal.htm
+++ /dev/null
@@ -1,14 +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="GENERATOR" content="Mozilla/4.73 [en] (Win98; U) [Netscape]">

-   <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/examples/org.eclipse.ui.examples.readmetool/doc-html/ngibmcpy.gif b/examples/org.eclipse.ui.examples.readmetool/doc-html/ngibmcpy.gif
deleted file mode 100644
index 360f8e9..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/doc-html/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/doc-html/ui_readmetool_ex.html b/examples/org.eclipse.ui.examples.readmetool/doc-html/ui_readmetool_ex.html
deleted file mode 100644
index 796eb76..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/doc-html/ui_readmetool_ex.html
+++ /dev/null
@@ -1,165 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0//en">

-<html>

-<head>

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

-   <title>Desktop - Readme Tool Example</title>

-</head>

-<body>

-

-<h2>

-<b>Example - Readme Tool</b></h2>

-

-<h3>

-Introduction</h3>

-The Readme editor shows how to define your own extension points for use

-by other plugins. It also shows how to create extensions for resource popup

-menu entries, new resource wizards, file editors on an extension (.readme),

-a custom view and property pages.

-<h3>

-Running the example</h3>

-To start using this example create a file with the .readme extension using

-the file creation wizard or create one using the example creation wizard.

-The additional&nbsp; view provided by this example can be seen by selecting

-Perspectives > Show View > Other and expanding the Readme section. The

-view action can be seen by clicking on the readme icon on the Navigator

-View.

-<h4>

-Creating a new readme file</h4>

-Create a new file with file extension .readme.&nbsp; From the File menu,

-select New and then select Other... from the sub menu.&nbsp; Click on Simple

-in the wizard, then select File in the list on the left.&nbsp; Click on

-Next to supply the file name (make sure the extension is .readme) and the

-folder in which the file should be contained.

-<h4>

-Example creation wizards</h4>

-From the File menu, select New and from the sub menu select Other...&nbsp;

-Now select Example Creation Wizards. Select Readme File. Click Next. Select

-the folder in which you want the file to be created. Type the name of the

-file with a .readme extension. Click Finish.

-<h4>

-Readme view extension action</h4>

-In the Navigator View, select a file with extension .readme. If there isn't

-one create a file with that extension. On the local toolbar of the Navigator

-View, you will see a button whose hover help says Run Readme View Extension.&nbsp;

-Click on this button.&nbsp; A dialog will popup saying View Action executed.

-<h4>

-Popup menus</h4>

-In the Navigator View, select a file with extension .readme.&nbsp; If there

-isn't one create a file with that extension.&nbsp; Select the file to bring

-up the popup menu.&nbsp; Notice there is a menu item that says Show Readme

-Action in the popup menu.&nbsp; Choose this menu item to open a dialog

-that says Popup Menu Action Executed.

-<h4>

-Preference page</h4>

-From the Window menu, select Preferences.&nbsp; Click on the page called

-Readme Example.&nbsp; This shows an example of a preference page.

-<h4>

-Property page</h4>

-In the Navigator View, select a file with extension .readme.&nbsp; If there

-isn't one create a file with that extension.&nbsp; Select the file to bring

-up the popup menu, then select the Properties menu item.&nbsp; Click on

-the page called Readme Tool to see an example of a property page.

-<h4>

-Readme file editor</h4>

-The Readme File Editor is the default editor for files of type *.readme.&nbsp;

-Create a file with extension .readme and open the file by double clicking

-on it, or by bringing up the popup menu,&nbsp; selecting Open With, then

-selecting Readme File Editor from the sub menu.&nbsp; Notice the editor

-has an icon with a pencil.&nbsp; This is the editor that the readme tool

-uses by default for files of type *.readme.

-<h4>

-Readme Editor Actions</h4>

-This demonstrates an example of actions that are applicable only to a particular

-editor.&nbsp; When a readme file editor has focus, notice 4 additional

-tool bar buttons - Run Readme Editor Extension, Readme Editor Action 1,

-Readme Editor Action 2, Readme Editor Action 3.

-<p>A pull down menu named Readme appears when a readme file editor has

-focus.&nbsp; It contains the actions previously described: Readme Editor

-Action 1, Readme Editor Action 2, Readme Editor Action 3.

-<h4>

-Readme sections view</h4>

-To see this Readme Sections view, from the Window menu select Show

-View, then select Other... from the sub menu.&nbsp; Expand the Readme item

-and then select Readme Sections.&nbsp; This will show a list of the sections

-in the current *.readme file when a .readme file is selected in the Navigator

-View.&nbsp; You can also see the structure of a *.readme file in the Outline

-view.

-<p>A file with extension .readme can be broken down into sections when

-each section begins with a number.&nbsp; For example, if the following

-text were entered into the readme file editor, the readme tool would detect

-2 sections.&nbsp; To see how sections are detected in the readme tool,

-type some text in the readme file editor, save the file by either typing

-CTRL-S or selecting&nbsp; File->Save. Open the Readme Sections view and

-select the .readme file in the Navigator View.

-<p>Example text:

-<p>99.1 This is my first section

-<br>This is some text in my first section.

-<p>99.1.1 This is a sub section

-<br>This is some text in my sub-section.

-<h4>Drag and Drop</h4>

-<p>The Drag and Drop functionality can be seen by selecting a section in the

-Outline View and dragging the selection over top of a text file. The contents of

-the selection will be appended to the file.

-<h4>

-Help contribution</h4>

-The readme tool example also demonstrates how to use and implement context

-help on all of the extensions it supplies - a view, various actions and

-a wizard page.&nbsp; To get context help on an action, hover over the menu

-item, but do no select it, then hit the F1 key.&nbsp; You can also get

-context sensitive (F1) help on the Readme Sections view and the Example

-Creation Wizards page (in the New wizard).

-<br>&nbsp;

-<h3>

-Details</h3>

-The Readme Tool example declares one extension point and supplies a number

-of extensions.&nbsp; The extensions supplied are quite comprehensive in

-understanding how the Workbench functions, as it utilizes a number of the

-more interesting extension points declared by the workbench.&nbsp; Supplied

-extensions included in this example are views and view actions, preference

-pages, property pages, wizards, editors and editor actions, popup menus,

-action sets, help contributions, help contexts, and drop actions.

-<p>This example also supplies an extension point declared in the plug-in..

-The class IReadmeFileParser is required for any plug-in that uses the org.eclipse.ui.examples.readmetool.sectionParser

-extension that this example defines. The class DefaultSectionParser is

-an example implementation of IReadmeFileParser.

-<p>The class ReadmeEditor implements IEditorPart and is defined as an editor

-on files with the extension .readme in the plugin.xml using the org.eclipse.ui.editors

-extension point. The class ReadmeSectionsView implements IViewPart and

-is defined as a view using the org.eclipse.ui.views extension point. This

-extension point also defines a category for the view for use in view selection.

-<p>Two types of preference settings are defined in this example, workbench

-preferences and resource properties. The workbench preference is defined

-in class ReadmePreferencePage which implements IWorkbenchPreferencePage

-so that it will be added to the Workbench->Preferences dialog. The class

-is defined in the extension point org.eclipse.ui.preferencePages in the

-plugin.xml. The two resource properties pages are ReadmeFilePropertyPage

-and ReadmeFilePropertyPage2 both of which implement IWorkbenchPropertyPage.

-They are both defined to be invoked on the IFile type by the objectClass

-tag in the plugin.xml in the org.eclipse.ui.propertyPages extension point.

-<p>The class ReadmeCreationWizard implements INewWizard and is defined

-in the org.eclipse.ui.newWizards extension point in the plugin.xml. This

-extension point also defines the category that the wizard that is shown

-when the user selects File->New->Other....

-<p>Several action stubs are added to this example. The action set declares

-a menu labeled Readme File Editor<b> </b>to be included in the workbench

-window menu bar using the extension point org.eclipse.ui.actionSets. It

-also defines an action for the workbench toolbar and menu bar using the

-tags toolbarPath and menubarPath. It uses the class WindowActionDelegate

-which implements IWorkbenchWindowActionDelegate to implement the action.

-The action for the popup menu is defined as an objectContribution by the

-class PopupMenuActionDelegate in&nbsp; the extension point org.eclipse.ui.popupMenus.

-PopupMenuActionDelegate implements IObjectActionDelegate and uses the IWorkbenchPart

-provided to open a message dialog. The view action ViewActionDelegate is

-defined in the extension point org.eclipse.ui.viewActions and implements

-IViewActionDelegate. The View it appears in is defined by the tag targetID

-which in this example is org.eclipse.ui.views.ResourceNavigator. The editor

-action is defined by the class EditorActionDelegate which implements IEditorActionDelegate

-and is added using the org.eclipse.ui.editorActions extension point. The

-editor that it is applied to is defined by the tag targetID which in this

-example is defined on org.eclipse.ui.examples.readmetool.ReadmeEditor.<p>The

-class ReadmeDropActionDelegate implements IDropDelegate. IDropDelegates are

-informed every time there is a drop action performed in the workbench . The

-extension point for this action is org.eclipse.ui.dropActions.

-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2001.  All Rights Reserved." BORDER=0 height=12 width=195></a>

-</body>

-</html>

diff --git a/examples/org.eclipse.ui.examples.readmetool/doc.zip b/examples/org.eclipse.ui.examples.readmetool/doc.zip
deleted file mode 100644
index 41e8aa9..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/doc.zip
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/doc/hglegal.htm b/examples/org.eclipse.ui.examples.readmetool/doc/hglegal.htm
deleted file mode 100644
index b071dbd..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/doc/hglegal.htm
+++ /dev/null
@@ -1,14 +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="GENERATOR" content="Mozilla/4.73 [en] (Win98; U) [Netscape]">

-   <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/examples/org.eclipse.ui.examples.readmetool/doc/ngibmcpy.gif b/examples/org.eclipse.ui.examples.readmetool/doc/ngibmcpy.gif
deleted file mode 100644
index 360f8e9..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/doc/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/doc/org_eclipse_ui_examples_readmetool.html b/examples/org.eclipse.ui.examples.readmetool/doc/org_eclipse_ui_examples_readmetool.html
deleted file mode 100644
index aed1eca..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/doc/org_eclipse_ui_examples_readmetool.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0//en">

-<html>

-<head>

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

-   <title>Readme Tool Extension Points</title>

-</head>

-<body link="#0000FF" vlink="#800080">

-

-<center>

-<h1>

-Readme Tool</h1></center>

-The Readme Tool is provided as an example for tool developers. It demonstrates

-the extension of various aspects of the workbench, both visually and functionally.

-As well, the Readme Tool provides extension points of its own.

-<p>

-<hr WIDTH="100%">

-<h1>

-Extension Points</h1>

-The following extension points can be used to extend the Readme Tool:

-<ul>

-<li>

-<a href="org_eclipse_ui_examples_readmetool_sectionParser.html">org.eclipse.ui.readmetool.sectionParser</a></li>

-</ul>

-

-<p><a href="hglegal.htm"><img src="ngibmcpy.gif" alt="Copyright IBM Corp. 2000, 2001.  All Rights Reserved." width="195" height="12" border="0"></a></p>

-

-</body>

-</html>

diff --git a/examples/org.eclipse.ui.examples.readmetool/doc/org_eclipse_ui_examples_readmetool_sectionParser.html b/examples/org.eclipse.ui.examples.readmetool/doc/org_eclipse_ui_examples_readmetool_sectionParser.html
deleted file mode 100644
index 7c889f6..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/doc/org_eclipse_ui_examples_readmetool_sectionParser.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0//en">

-<html>

-<head>

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

-   <title>README Tool Extension Points</title>

-</head>

-<body link="#0000FF" vlink="#800080">

-

-<center>

-<h1>

-Section Parser</h1></center>

-<b><i>Identifier: </i></b>org.eclipse.ui.examples.readmetool.sectionParser

-<p><b><i>Description: </i></b>This extension point allows tools to provide

-a parser for Readme files which identifies the sections of the file.

-The sections determined by this parser will show up in the outliner when a

-Readme file is open in the editor. The sections will also appear in the 

-"Readme sections" view.

-<p>The default section parser provided with the Readme Tool is a simple parser

-which considers sections to be numbered at the beginning of a line. Top-level

-sections are signified by a number followed by a period, such as in the following

-regular expression: "[0-9]+\.". Examples are "1.", "0.", and "12345.".

-Subsections are signified by the regular expression: "([0-9]+\.)+[0-9]+". Examples

-of subsections are "1.1", "1.1.1.1", and "123.456.7890". Any level of subsection

-nesting may occur. Section and subsection markers must occur before any other

-non-whitespace characters on a line.

-<p><b><i>Configuration Markup:</i></b>

-<p><tt>&nbsp;&nbsp; &lt;!ATTLIST sectionParser</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name &nbsp;CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id &nbsp;&nbsp; CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp; ></tt>

-<ul>

-<li>

-<b>name</b> - a string describing this contribution.</li>

-

-<li>

-<b>id</b> - a unique identifier that can be used to reference this extension.</li>

-

-<li>

-<b>class</b> - a fully qualified name of the class which provides this extension.</li>

-</ul>

-

-<b><i>Examples:</i></b>

-<p>The following is an example of a sectionParser extension point:

-<p><tt>&nbsp;&nbsp;&lt;extension point="org.eclipse.ui.examples.readmetool.sectionParser"></tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;parser</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name="Custom README Section Parser"</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id="com.xyz.CustomSectionParser"</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class="com.xyz.CustomSectionParser"></tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/parser></tt>

-<br><tt>&nbsp;&nbsp;&lt;/extension></tt>

-<p>In the example above, the class com.xyz.CustomSectionParser will be used as

-the section parser for Readme files.

-<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 the interface

-org.eclipse.ui.examples.readmetool.IReadmeFileParser. This interface is loaded as 

-late as possible to avoid loading the entire tool before it is really needed.

-<p><b><i>Supplied Implementation: </i></b>As described above, the default section

-parser uses a simple grammar of sections identified by numbers followed by periods,

-and subsections identified by the pattern of a number followed by a period, repeated

-an arbitrary number of times, and ending with a number.

-<p><a href="hglegal.htm"><img src="ngibmcpy.gif" alt="Copyright IBM Corp. 2000, 2001.  All Rights Reserved." width="195" height="12" border="0"></a></p>

-

-</body>

-</html>

diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/ctool16/action1.gif b/examples/org.eclipse.ui.examples.readmetool/icons/ctool16/action1.gif
deleted file mode 100644
index 91077ef..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/ctool16/action1.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/ctool16/action2.gif b/examples/org.eclipse.ui.examples.readmetool/icons/ctool16/action2.gif
deleted file mode 100644
index c2a3e17..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/ctool16/action2.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/ctool16/action3.gif b/examples/org.eclipse.ui.examples.readmetool/icons/ctool16/action3.gif
deleted file mode 100644
index 9c14f74..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/ctool16/action3.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/ctool16/openbrwsr.gif b/examples/org.eclipse.ui.examples.readmetool/icons/ctool16/openbrwsr.gif
deleted file mode 100644
index 6d40439..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/ctool16/openbrwsr.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/dtool16/action1.gif b/examples/org.eclipse.ui.examples.readmetool/icons/dtool16/action1.gif
deleted file mode 100644
index 0c50830..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/dtool16/action1.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/dtool16/action2.gif b/examples/org.eclipse.ui.examples.readmetool/icons/dtool16/action2.gif
deleted file mode 100644
index 3f978df..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/dtool16/action2.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/dtool16/action3.gif b/examples/org.eclipse.ui.examples.readmetool/icons/dtool16/action3.gif
deleted file mode 100644
index f9f1e95..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/dtool16/action3.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/dtool16/openbrwsr.gif b/examples/org.eclipse.ui.examples.readmetool/icons/dtool16/openbrwsr.gif
deleted file mode 100644
index 02a2df8..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/dtool16/openbrwsr.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/etool16/action1.gif b/examples/org.eclipse.ui.examples.readmetool/icons/etool16/action1.gif
deleted file mode 100644
index 55fb1a6..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/etool16/action1.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/etool16/action2.gif b/examples/org.eclipse.ui.examples.readmetool/icons/etool16/action2.gif
deleted file mode 100644
index f801d2e..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/etool16/action2.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/etool16/action3.gif b/examples/org.eclipse.ui.examples.readmetool/icons/etool16/action3.gif
deleted file mode 100644
index 5e199b1..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/etool16/action3.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/etool16/openbrwsr.gif b/examples/org.eclipse.ui.examples.readmetool/icons/etool16/openbrwsr.gif
deleted file mode 100644
index bdbe8ca..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/etool16/openbrwsr.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/obj16/editor.gif b/examples/org.eclipse.ui.examples.readmetool/icons/obj16/editor.gif
deleted file mode 100644
index c48d9a9..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/obj16/editor.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/obj16/newreadme_wiz.gif b/examples/org.eclipse.ui.examples.readmetool/icons/obj16/newreadme_wiz.gif
deleted file mode 100644
index 293826d..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/obj16/newreadme_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/obj16/usereditor.gif b/examples/org.eclipse.ui.examples.readmetool/icons/obj16/usereditor.gif
deleted file mode 100644
index 64d7907..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/obj16/usereditor.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/view16/sections.gif b/examples/org.eclipse.ui.examples.readmetool/icons/view16/sections.gif
deleted file mode 100644
index 008fd7a..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/view16/sections.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/wizban/newreadme_wiz.gif b/examples/org.eclipse.ui.examples.readmetool/icons/wizban/newreadme_wiz.gif
deleted file mode 100644
index 3265aaf..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/wizban/newreadme_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/plugin.properties b/examples/org.eclipse.ui.examples.readmetool/plugin.properties
deleted file mode 100644
index 1c0dd7a..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/plugin.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-Plugin.name = Readme File Editing Tool

-Plugin.providerName = Eclipse.org

-ExtPoint.sectionParser = Section parser for Readme file editor

-SectionParser.name = Default section parser for Readme tool

-ActionSet.name = ReadMe Actions

-ActionSet.menu = Readme &File Editor

-ReadmeAction.label = &Open Readme Browser

-ReadmeAction.tooltip = Open Readme Browser

-ReadmeRetargetAction.label = &Open Readme Browser (Retarget)

-ReadmeRetargetAction.tooltip = Open Readme Browser (Retarget)

-ReadmeRelabelRetargetAction.label = &Open Readme Browser (Retarget - Label Update)

-ReadmeRelabelRetargetAction.tooltip = Open Readme Browser (Retarget - Label Update)

-NewWizard.category = Example Creation Wizards

-NewWizard.name = Readme File

-NewWizard.desc = An example of a wizard that creates sample Readme file

-Editors.ReadmeEditor = &Readme File Editor

-Views.category = &Readme

-Views.ReadmeSections = Readme Sections

-PreferencePage.name = Readme Example

-PropertiesPage.filePage = Readme Tool

-PropertiesPage.filePage2 = More Readme Info

-PopupMenus.action = &Show Readme Action

-PopupMenu.ResourceNav.label = &Readme View Extension

-PopupMenu.ResourceNav.tooltip = Run Readme View Extension

-Editors.Action.label = &Readme Editor Extension

-Editors.Action.tooltip = Run Readme Editor Extension

-ReadmeMarker.name = Readme Marker
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/plugin.xml b/examples/org.eclipse.ui.examples.readmetool/plugin.xml
deleted file mode 100644
index 58a0249..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/plugin.xml
+++ /dev/null
@@ -1,307 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-

-<!-- ======================================================================= -->

-<!-- The Readme tool is a sample plugin which demonstrates many available    -->

-<!-- extension points provided by the workbench, as well as providing its    -->

-<!-- own extension point for other plugins to use.                           -->

-<!-- ======================================================================= -->

-<plugin

-   name = "%Plugin.name"

-   id = "org.eclipse.ui.examples.readmetool"

-   version = "2.1.0"

-   provider-name = "%Plugin.providerName"

-   class="org.eclipse.ui.examples.readmetool.ReadmePlugin">

-

-   <requires>

-      <import plugin="org.eclipse.ui"/>

-      <import plugin="org.eclipse.core.resources"/>

-   </requires>

-

-   <runtime>

-     <library name="readmetool.jar"/> 

-   </runtime>

-

-   <!-- ================================================================== -->

-   <!-- Extension point: org.eclipse.ui.examples.readmetool.sectionParser  -->

-   <!-- Purpose: Provide a custom parser for Readme files which determines -->

-   <!--          the file's section and subsection structure               -->

-   <!-- Extension Implementation: must implement                           -->

-   <!--         org.eclipse.ui.examples.readmetool.IReadmeFileParser       -->

-   <!-- ================================================================== -->

-   <extension-point name="%ExtPoint.sectionParser" id="sectionParser"/>

-

-   <extension

-        point="org.eclipse.ui.examples.readmetool.sectionParser">

-      <parser

-          name="%SectionParser.name"

-          id="org.eclipse.ui.examples.readmetool.DefaultSectionsParser"

-          class="org.eclipse.ui.examples.readmetool.DefaultSectionsParser">

-      </parser>

-   </extension>

-

-   <extension point = "org.eclipse.ui.actionSets">

-	   <actionSet id="org_eclipse_ui_examples_readmetool_actionSet"

-		   label="%ActionSet.name"

-		   visible="true">

-		   <menu id="org_eclipse_ui_examples_readmetool"

-			   label="%ActionSet.menu"

-			   path="window/additions"> 

-			   <separator name="slot1"/>

-			   <separator name="slot2"/>

-			   <separator name="slot3"/>

-		   </menu>

-		   <action id="org_eclipse_ui_examples_readmetool_readmeAction"

-			   menubarPath="window/org_eclipse_ui_examples_readmetool/slot1"

-			   toolbarPath="readme"

-			   label="%ReadmeAction.label"

-			   tooltip="%ReadmeAction.tooltip"

-			   helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"

-			   icon="icons/ctool16/openbrwsr.gif"

-			   class="org.eclipse.ui.examples.readmetool.WindowActionDelegate"

-			   enablesFor="1">

-			   <selection class="org.eclipse.core.resources.IFile"

-					name="*.readme">

-			   </selection>

-		   </action>

-		   <action id="org_eclipse_ui_examples_readmetool_readmeRetargetAction"

-			   menubarPath="window/org_eclipse_ui_examples_readmetool/slot1"

-			   toolbarPath="readme"

-			   label="%ReadmeRetargetAction.label"

-			   tooltip="%ReadmeRetargetAction.tooltip"

-			   helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"

-			   icon="icons/ctool16/openbrwsr.gif"

-			   retarget="true">

-		   </action>

-		   <action id="org_eclipse_ui_examples_readmetool_readmeRelabelRetargetAction"

-			   menubarPath="window/org_eclipse_ui_examples_readmetool/slot1"

-			   toolbarPath="readme"

-			   label="%ReadmeRelabelRetargetAction.label"

-			   tooltip="%ReadmeRelabelRetargetAction.tooltip"

-			   helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"

-			   icon="icons/ctool16/openbrwsr.gif"

-			   retarget="true"	

-			   allowLabelUpdate="true">

-		   </action>

-	   </actionSet>

-   </extension>

-

-   <extension

-      point = "org.eclipse.ui.newWizards">

-	<category

-	   id = "org.eclipse.ui.examples.readmetool.new"

-	   parentCategory="org.eclipse.ui.Examples"

-	   name="%NewWizard.category">

-	</category>

- 	<wizard

-	   id = "org.eclipse.ui.examples.readmetool.wizards.new.file"

-      	   name = "%NewWizard.name"

-	   class="org.eclipse.ui.examples.readmetool.ReadmeCreationWizard"

-	   category="org.eclipse.ui.Examples/org.eclipse.ui.examples.readmetool.new"

-	   icon="icons/obj16/newreadme_wiz.gif">

-    	   <description>%NewWizard.desc</description>

-	   <selection class="org.eclipse.core.resources.IResource"/>

-	</wizard>

-   </extension>

-

-   <extension

-      point = "org.eclipse.ui.editors">

-	<editor

-  	   id = "org.eclipse.ui.examples.readmetool.ReadmeEditor"

-  	   name="%Editors.ReadmeEditor"

-      	   icon="icons/obj16/editor.gif"

-      	   class="org.eclipse.ui.examples.readmetool.ReadmeEditor"

-	   extensions="readme"

-           contributorClass="org.eclipse.ui.examples.readmetool.ReadmeEditorActionBarContributor">

-	</editor>

-   </extension>

-

-

-   <extension 

-      point="org.eclipse.ui.views">

-	<category 

-	   id="org.eclipse.ui.examples.readmetool"

-	   name="%Views.category">

-	</category>

-	<view

- 	   id="org.eclipse.ui.examples.readmetool.views.SectionsView"

-	   name="%Views.ReadmeSections"

-	   icon="icons/view16/sections.gif"

-	   category="org.eclipse.ui.examples.readmetool"

-	   class="org.eclipse.ui.examples.readmetool.ReadmeSectionsView">

-	</view>

-   </extension>

-  

-   <extension

-      point = "org.eclipse.ui.preferencePages">

-       <page id="org.eclipse.ui.examples.readmetool.Page1"

-	      class="org.eclipse.ui.examples.readmetool.ReadmePreferencePage"

-            name="%PreferencePage.name">

-       </page>

-   </extension>

-

-  <extension

-     point = "org.eclipse.ui.propertyPages">

-        <page

-           id="org.eclipse.ui.examples.readmetool.FilePage"

-           name="%PropertiesPage.filePage"

-	   objectClass="org.eclipse.core.resources.IFile"

-	   class="org.eclipse.ui.examples.readmetool.ReadmeFilePropertyPage"

-           nameFilter="*.readme">

-        </page>

-         <page

-            id="org.eclipse.ui.examples.readmetool.FilePage2"

-            name="%PropertiesPage.filePage2"

- 	   objectClass="org.eclipse.core.resources.IFile"

- 	   class="org.eclipse.ui.examples.readmetool.ReadmeFilePropertyPage2"

-            nameFilter="*.readme">

-         </page>

-  </extension>

-

-  <extension point = "org.eclipse.ui.popupMenus">

-     <objectContribution

-        id="org.eclipse.ui.examples.readmetool"

-        objectClass="org.eclipse.core.resources.IFile"

-	    nameFilter="*.readme">

-	    <action id="org.eclipse.ui.examples.readmetool.action1"

-	       label="%PopupMenus.action"

-	       icon="icons/ctool16/openbrwsr.gif"

-	       menubarPath="additions"

-	       helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"

-	       class="org.eclipse.ui.examples.readmetool.PopupMenuActionDelegate"	

-	       enablesFor="1">

-	    </action>

-	 </objectContribution>

-     <viewerContribution

-        id="org.eclipse.ui.examples.readmetool2"

-        targetID="org.eclipse.ui.examples.readmetool.outline">

-	    <action id="org.eclipse.ui.examples.readmetool.action1"

-	       label="%PopupMenus.action"

-	       icon="icons/ctool16/openbrwsr.gif"

-	       menubarPath="additions"

-	       helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"

-	       class="org.eclipse.ui.examples.readmetool.ViewActionDelegate">	

-	    </action>

-	 </viewerContribution>

-  </extension>

-

-<extension

-    point = "org.eclipse.ui.viewActions">

-      <viewContribution 

-         id="org.eclipse.ui.examples.readmetool.vc1" 

-         targetID="org.eclipse.ui.views.ResourceNavigator">        

-			<action id="org.eclipse.ui.examples.readmetool.va1" 

-              label="%PopupMenu.ResourceNav.label" 

-			  menubarPath="additions"

-              toolbarPath="additions" 

-              icon="icons/obj16/editor.gif" 

-              tooltip="%PopupMenu.ResourceNav.tooltip" 

-   	      helpContextId="org.eclipse.ui.examples.readmetool.view_action_context"

-              class="org.eclipse.ui.examples.readmetool.ViewActionDelegate" 

-              enablesFor="1"> 

-			  <selection class="org.eclipse.core.resources.IFile" name="*.readme"/> 

-			</action>

-		</viewContribution>

- </extension>

-

-<extension

-    point = "org.eclipse.ui.editorActions">

-      <editorContribution 

-         id="org.eclipse.ui.examples.readmetool.ec1" 

-         targetID="org.eclipse.ui.examples.readmetool.ReadmeEditor">        

-			<action id="org.eclipse.ui.examples.readmetool.ea1" 

-              label="%Editors.Action.label" 

-	      toolbarPath="ReadmeEditor" 

-              icon="icons/obj16/editor.gif" 

-              tooltip="%Editors.Action.tooltip" 

-              class="org.eclipse.ui.examples.readmetool.EditorActionDelegate" 

-              /> 

-		</editorContribution>

- </extension>

-

-  <extension point="org.eclipse.help.contexts"> 

-    <contexts name="HelpContexts.xml"/> 

-  </extension>

-

-  <extension

-        point="org.eclipse.ui.dropActions">

-        <action

-	      id="org_eclipse_ui_examples_readmetool_drop_actions"                

-		class="org.eclipse.ui.examples.readmetool.ReadmeDropActionDelegate">

-        </action>

-  </extension>

-  

-  <extension id="readmemarker" point="org.eclipse.core.resources.markers" name="%ReadmeMarker.name">

-	<super type="org.eclipse.core.resources.taskmarker"/>

-	<super type="org.eclipse.core.resources.textmarker"/>

-	<persistent value="true"/>

-	<attribute name="org.eclipse.ui.examples.readmetool.id"/>

-	<attribute name="org.eclipse.ui.examples.readmetool.level"/>

-	<attribute name="org.eclipse.ui.examples.readmetool.department"/>

-	<attribute name="org.eclipse.ui.examples.readmetool.code"/>

-	<attribute name="org.eclipse.ui.examples.readmetool.language"/>

-  </extension>   

-

-  <extension point="org.eclipse.ui.markerHelp"> 

-   <markerHelp 

-      markerType="org.eclipse.ui.examples.readmetool.readmemarker" 

-      helpContextId="org.eclipse.ui.examples.readmetool.marker_example1_context"> 

-      <attribute name="org.eclipse.ui.examples.readmetool.id" value= "1234"/> 

-   </markerHelp> 

-   <markerHelp 

-      markerType="org.eclipse.ui.examples.readmetool.readmemarker" 

-      helpContextId="org.eclipse.ui.examples.readmetool.marker_example2_context"> 

-      <attribute name="org.eclipse.ui.examples.readmetool.level" value= "7"/> 

-   </markerHelp> 

-   <markerHelp 

-      markerType="org.eclipse.ui.examples.readmetool.readmemarker" 

-      helpContextId="org.eclipse.ui.examples.readmetool.marker_example3_context"> 

-      <attribute name="org.eclipse.ui.examples.readmetool.level" value= "7"/> 

-      <attribute name="org.eclipse.ui.examples.readmetool.department" value= "infra"/> 

-   </markerHelp> 

-   <markerHelp 

-      markerType="org.eclipse.ui.examples.readmetool.readmemarker" 

-      helpContextId="org.eclipse.ui.examples.readmetool.marker_example4_context"> 

-      <attribute name="org.eclipse.ui.examples.readmetool.code" value= "red"/> 

-   </markerHelp> 

-   <markerHelp 

-      markerType="org.eclipse.ui.examples.readmetool.readmemarker" 

-      helpContextId="org.eclipse.ui.examples.readmetool.marker_example5_context"> 

-      <attribute name="org.eclipse.ui.examples.readmetool.language" value= "english"/> 

-   </markerHelp> 

-   <markerHelp 

-      markerType="org.eclipse.ui.examples.readmetool.readmemarker" 

-      helpContextId="org.eclipse.ui.examples.readmetool.marker_example6_context"> 

-      <attribute name="org.eclipse.ui.examples.readmetool.id" value= "1234"/> 

-      <attribute name="org.eclipse.ui.examples.readmetool.level" value= "7"/> 

-      <attribute name="org.eclipse.ui.examples.readmetool.department" value= "infra"/> 

-      <attribute name="org.eclipse.ui.examples.readmetool.code" value= "red"/> 

-      <attribute name="org.eclipse.ui.examples.readmetool.language" value= "english"/> 

-   </markerHelp> 

-   <markerHelp 

-      markerType="org.eclipse.ui.examples.readmetool.readmemarker" 

-      helpContextId="org.eclipse.ui.examples.readmetool.marker_example7_context"> 

-   </markerHelp> 

-  </extension> 

-

-  <extension point="org.eclipse.ui.markerResolution"> 

-   <markerResolutionGenerator 

-      class="org.eclipse.ui.examples.readmetool.ReadmeMarkerResolutionGenerator" 

-      markerType="org.eclipse.ui.examples.readmetool.readmemarker"> 

-      <attribute name="org.eclipse.ui.examples.readmetool.id" value= "1234"/> 

-   </markerResolutionGenerator> 

-   <markerResolutionGenerator 

-      class="org.eclipse.ui.examples.readmetool.ReadmeMarkerResolutionGenerator" 

-      markerType="org.eclipse.ui.examples.readmetool.readmemarker"> 

-      <attribute name="org.eclipse.ui.examples.readmetool.level" value= "7"/> 

-   </markerResolutionGenerator> 

-   <markerResolutionGenerator

-      class="org.eclipse.ui.examples.readmetool.ReadmeMarkerResolutionGenerator" 

-      markerType="org.eclipse.ui.examples.readmetool.readmemarker"> 

-      <attribute name="org.eclipse.ui.examples.readmetool.code" value= "red"/> 

-      <attribute name="org.eclipse.ui.examples.readmetool.language" value= "english"/> 

-   </markerResolutionGenerator> 

-</extension> 

-   

- 

-  

-</plugin>
\ No newline at end of file